Your API: A Big Enough Box of Crayons?

890 views
812 views

Published on

Presentation to Business of APIs Conference, NYC, 1 October 2013

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
890
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Your API: A Big Enough Box of Crayons?

  1. 1. Your API: A Big Enough Box of Crayons? Peter Coffee VP and Head of Platform Research salesforce.com inc. @petercoffee
  2. 2. Safe Harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operat ions, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, risks associated with possible mergers a nd acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivat e our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report and on our Form 10-Q for the most recent fiscal quarter: these documents and others are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  3. 3. We’re All Getting Over ‘The Cloud’ “Digital Camera”: every December, it’s still news to someone “Cloud Computing”: more use it, fewer ask about it
  4. 4. ‘Cloud’ is a Medium of Connection • Connecting Machines - GM’s ‘OnStar’ network daily handles 150k human requests …and 130k machine-originated requests - Some are critical, e.g. air-bag deployments - Others may be infotainment, e.g. Volt mileage ‘leader board’ • Connecting Processes - General Electric wind-farm management: 123 turbines - Field-wide speed optimization, anti-icing behaviors - 3% output increase  US$1.2M/year added revenue • Connecting People - Asics delivers RFID-triggered messages to marathoners
  5. 5. Connection Indicates Interest • ‘Social’ does not mean ‘non-professional’ or ‘non-serious’… …but rather means, ‘non-antisocial’ • ‘Social’ is a set of behaviors: - Awareness of context - Adaptation to past experience - Proactive outreach based on events or data • We make social connections to seek or offer value • The cost of finding and making connections is decreasing… …but the cost of preserving them is noteworthy • Social connections deliver value substantially greater than ongoing cost
  6. 6. Connection Invites Conversation When GE CMO Beth Comstock asks, “How do we connect customers and employees to our machines?” that’s a technology question. ( can do that for them.) When she asks, “What if my jet engine could talk to me? What would it say?” that’s a much more interesting question. Only GE can answer it.
  7. 7. Conversation Happens in Context • Old applications automate a business process • Old data records the by-products • New apps enable customer service… …and engender customer delight • New data reflects what the world is doing now, not what the business did yesterday •If your API can’t describe it, you can’t do it
  8. 8. Conversation Happens in Context • Old applications automate a business process • Old data records the by-products • New apps enable customer service… …and engender customer delight • New data reflects what the world is doing now, not what the business did yesterday •If your API can’t describe it, you can’t do it
  9. 9. Conversation Requires Shared Language • “The most common storage choice for business vocabularies is spreadsheets, trapped and hidden on user desktops.” - TopQuadrant Inc. • “Most of the developers I’ve worked with believe they are doing object-oriented programming… what they do is create some lightweight data objects that only have getters and setters, but no functionality.” - Loosely Connected • Language is not just a tool for expressing agreement. Naïve APIs assume that everyone is honest and cooperative. Language can be a tool for deception; APIs must support negotiation and verification.
  10. 10. APIs are Nouns and Verbs of Connection • “Which is the Service, the insurance policy entity or the approve policy task? In other words, should Services be nouns or verbs? It’s possible to design Services either way, as Entity Services, which predictably represent business entities, or as Task Services, that represent specific actions that implement some step in a process, in other words, verbs. Which approach is better?” - Jason Bloomberg • “Putting the noun first puts people in the mindset that their domain is the high order bit and they pick method names optimized for their domain. Putting the verb first makes it clear that the User Experience is the high order bit and the domain specifics are the low order bit. We want a very high level of verb reuse to provide a consistent, predictable user-experience.” - Jeffrey Snover
  11. 11. Lego Blocks? Or Puzzle Pieces? • The pieces of a jigsaw puzzle are modular, but they only fit together in one way. If you write an application… …break it into modules… …and write an API that documents the modules’ interactions… …why would anyone else find it useful for anything else? • If you have a “customer” object, what interactions should it enable? • If you have a “warehouse” object, what interactions must it anticipate? Remember Warehouse 13: When a ‘Warehouse’ class had no API for things getting lost or stolen, users created a new ‘warehouse’ (they could do that) where missing things could be ‘sent.’ Complications followed.
  12. 12. Does Your API Speak a Language of Value? • It’s easy to devise an API that’s the vocabulary of what the application does. • It’s an effort to learn what service consumers (know that they) want to accomplish • It’s visionary to create a vocabulary that creates unimagined customer value - printFile: what application does - fitDocumentOnPage: what user requests - summarizeAndSuggestRouting: stretch the envelope
  13. 13. Does the Conversation Lead to • It’s easy to devise an API that exposes functions of your product • It’s bolder to devise an API that invites interaction with customers • It’s leadership to devise an API that becomes the language of an ecosystem Action?
  14. 14. A Tiny Little Bit About Us • “September was another record month -- 31.5 billion transactions, up 50% from September’12, with average response time of 253 ms” - Today at 6:44 a.m. • Redefining “Done”: GA Criteria for New Functionality UI will be built on top of public API Thus, the API is functionally complete with the UI
  15. 15. @petercoffee /in/petercoffee /peter.coffee pcoffee@salesforce.com

×