Scott S. left a comment on my blog discussing use cases across all industries
asking me to cover API use cases in the Software industry. I like to be responsive to requests, so Scott here it is.
Many of the use cases associated with businesses in the Software industry are the same as Retail. After all, companies that create software products, sell them. In the case of software, sometimes the software is installed on premise and other times it is used in the cloud as a service (XaaS). But, in either mode the basic retail use cases apply. For the retail use cases please see the Retail industry use case blog
. In this software industry blog I’ll look at use cases that are specific to the Software industry which are in addition to the retail scenarios. Once again I’ll use the structure I previously introduced (here
). Internal APIs
– Internal use cases have a huge overlap with the retail scenarios. APIs listing product offerings, pricing, options, order status, account management, etc. can all be used for various interfaces (e.g. mobile, web) to help customers acquire products, obtain support, etc.
Adding to this list:
- APIs within the software product – some software products may have user interface components on mobile devices, but also need to interface to a central IT system. This could be for App data storage or backup, analytic information on App usage, or other purposes. APIs can be used to pass the data from the mobile device to central IT systems. This can be expanded to two separate subareas. In many cases the data sent still belongs to the software purchaser and will be sent to their specific systems (either on their premise or in the cloud). A second scenario might use APIs to send data back to the software vendor. This could be for usage statistics, customer assistance, error conditions, or debugging.
- Domain APIs – this is a category that I see in many industries. These “domain” APIs are used to share information within the software company itself across domains. What are domains? Domains can be lines of business such as B2B vs B2C, or between sales, marketing, development, and finance. Mostly domains have their own work to do and function independently. However, there are points of interaction where one line of business needs information from the other or they all share information with a central corporate entity. APIs are a great way to make the information sharable without large efforts on the part of either the provider or consumer of the information.
What APIs are publicly available today in Software? Perhaps the most popular APIs that exist:
- Google Maps - Millions of websites and apps use Google Maps APIs to power location experiences for their users.
- Facebook – includes APIs for Login, posting on Facebook, analytics, and more.
- Uber – Uber APIs can be used to request a ride, but also market to people while they ride, use data from the ride (analytics) with permission, and integrate Uber into your delivery requirements.
- Twitter – Twitter provides programmatic access to read and write Twitter data. Create a new Tweet, read user profile and follower data, and more.
- Weather company – retrieve weather information by geolocation in various time frames (hourly, daily, etc.)
- Intuit – Intuit provides APIs to QuickBooks to allow your time tracking, job costing, inventory management, and other apps integrate with QuickBooks Online.
- Salesforce – A wide variety of APIs to access Salesforce functionality. Sample APIs include:
- Access objects in your organization
- Access Chatter feeds and social data such as users, groups, followers, and files
- Bulk data load or delete
- Provide a stream of data reflecting data changes in your organization
This is just a small sample, there are many more. Partnering
– Before jumping into the scenarios, let me define what I mean by Partnering with regard to APIs provided by Software vendors. In the Partnering scenarios I am referring to another company with whom you have a business relationship using your APIs. This other company has an agreement with your business and has been given access to consume your APIs. This is in contrast to internal APIs which are used by developers within your company or public APIs where any company without a prior defined business relationship can sign up to become a consumer of the APIs.
For software providers there are two primary models in this area:
- The provided API is imbedded in another software vendors App
- The provided API is used directly by a customer
Which option is applicable is dependent on the API function being provided. But as examples of the vendor option (using the sample APIs listed above) the Weather Company APIs or Google Maps APIs could be used as a part of another vendor solution perhaps for travel alerts (weather) or finding a restaurant (maps).
Intuit’s Quickbooks or the Salesforce APIs are examples where a customer of your software would benefit from directly accessing these APIs from their business processes or applications. Note that in either case the user experience is far greater than leaving one App and having to re-enter the data in another App.
The benefits to the software vendor’s business include:
- Financial – often referred to as monetization of the APIs (see my Monetization white paper for various business models)
- Customer acquisition – Facebook’s free login API requires that you are a Facebook user to be of value. So, this can generate additional sign ups.
- Marketing / Analytics – Data obtained from your API usage can be used to market to the customer, improve your product, or (with approval) be sold to partners.
- Stickiness – directly imbedding your APIs into a customer or another vendor’s solution makes your product an integral part of what they are doing. It takes far more effort to replace your software with a competitor’s when the APIs are programmed into their offering than if they are simply using your product’s user interface.
– The examples of existing public APIs listed above should give you a feel for what many software businesses are doing with
public APIs. In these cases and many others Public APIs are used to drive usage of your software. When you see the Twitter icon at the bottom of a web page or the Facebook symbol to share on Facebook, these are invoking the public APIs for these applications.
Often public APIs may be offered at free levels for low usage rates and then monetized for higher usage levels (see the same monetization paper referenced earlier). In some scenarios the benefit to the software provider can be through analytics obtained by the API usage or marketing to the customer of the App that used your API. Social
– As mentioned already, social media scenarios (Facebook, Twitter, Linkedin, etc.) are accessed very frequently through their APIs. Software vendors can use these APIs to spot opportunities for their software and promote the product via targeted advertising. Or, if an existing customer is commenting on your software product, you can take action to either promote a positive comment or handle a potential negative situation and turn it around. Devices
– Internet of Things (IoT) scenarios would be specific to the type of software business. Many of these solutions could support the other industry use cases defined in my other blogs. But as examples here this could be for connected cars, plant floor automation, employee safety, security, health monitors, and much more. APIs are used in these scenarios to either obtain information from the device or send commands or information to the device. Data
– Many of the prior examples referenced collecting data for analytics. APIs help leverage analytic data to deliver real time information in a role specific manner. Views of data can be tailored to the needs of executives, marketing, sales, development, etc. helping improve the effectiveness in each organization inside the company.
I would be remiss if I did not point out that IBM is in the Software business as well and share some of the many IBM examples where IBM is using APIs:
- IBM Watson – IBMs cognitive computing platform is accessed via APIs.
- IBM CIO office – IBM has an internal API portal for employees and a publicly visible portal crossing a wide variety of API use cases. Click here to see what is available on the public portal.
- Bluemix – IBMs platform as a service offers a wide variety of APIs and additional software and hardware assets. In addition to the predefined offerings you can use IBM API Connect on Bluemix, create your own APIs and add them back into your Bluemix palette.
- IBM Software Product portfolio – Too many IBM products to list are offering APIs and/or supporting customers creating or using APIs. Of course this includes our flagship product, IBM API Connect which clients can use to create, run, manage, and secure APIs.
To understand more about IBM’s thoughts on the API Economy visit the IBM API Economy website
. IBM API Connect is IBM’s complete foundation to Create, Run, Manage, and Secure APIs. You can find more information about IBM API Connect at the API Connect website
. And you can also experience a trial version
of API Connect.
If you have questions, please let me know. Connect with me through comments here or via twitter @Arglick
to continue the discussion.#FirstLook#api_management#experienceAPIs#apis#social#apistrategy#analytics#api_strategy#api_economy#APIConnect#BusinessStrategy#Software#APIConnect#think_apis#APIEconomy#APIManagement#apimgt#API#GettingStarted