Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Your API: A Big Enough Box of Crayons?
1. Your API:
A Big Enough Box of Crayons?
Peter Coffee
VP and Head of Platform Research
salesforce.com inc.
@petercoffee
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. 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. ‘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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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