accidental api developer - the 12 month pregnancy to create new api
TRANSCRIPT
Accelerating Your SuccessAccelerating Your Success
”ACCIDENTAL API DEVELOPER”
Marjukka NiiniojaSenior Consultant & ManagerPlanMill Oy
Accelerating Your SuccessAccelerating Your Success
FROM LEGACY TO BRAVE NEW API WORLD
2.4.2014 2© 2014 PlanMill Ltd. I www.planmill.com
Accelerating Your SuccessAccelerating Your Success
In-house system”Nokia Planner”
Commercial project management
software
MS SQL Server based version
1988 1992
First Lotus Domino database connector in
the world with IBM
1998
TIME FLIES WHEN YOU DEVELOP ARCHITECTURE
1999
Java applet based user interfaces
First WAP-based time tracking system in the world co-developped
with Nokia
Java + XML & XSLT
20062004
From project management to
PSA
2010
Open API 1.0
Mobile touch interface
Expanding from On-premise to Cloud
2009
Atlassian Confluence plugin with Ambientia
using the API
2011 2014
Open API 2.0
ERP integraitng with lots of trad.
Web services
Accelerating Your SuccessAccelerating Your Success
25+COUNTRIES
100+CUSTOMERS
20 000+USERS
13YRS IN BUSINESS
25SKILLED EXPERTS
2 000+ NET SALES (T€)
PLANMILL TODAY
2.4.2014 4© 2014 PlanMill Ltd. I www.planmill.com
EXPENSES REQUESTS
SALES PROJECTS TIME
FINANCES
Our customers are the future makers and shakers. They are leading the way in their fields of expertise pushing the boundaries into new levels.
Connected to PlanMill
Accelerating Your SuccessAccelerating Your Success
BEFORE THE OPEN API
• Unique customer cases with propriatory XML formats (mainly invoices and accounting data)
• MS Excel Web Query• MS Project• Others• 40+ hours per new integration
Accelerating Your SuccessAccelerating Your Success
MOTHER OF A LOT OF APIS - FLICKR
Blog post from 2009: “But really, I just wanted to toy around with the Flickr API
since I’d seen so many web-applications making use of it and had heard good things
of the API in general.”
PlanMill Open API was inspired by some ideas and examples in the Flickr API
Accelerating Your SuccessAccelerating Your Success
http://techcrunch.com/2012/02/10/2011-api-trends-government-apis-quintuple-facebook-google-twitter-most-popular/
PlanMill API was born
PLANMILL API WAS BORN IN THE DAWN OF APIS
PlanMill API is called ”Open API” – it’s a
partner API but also for customers
Accelerating Your SuccessAccelerating Your Success
THE ACCIDENTAL API DEVELOPER REACHES TODDLER AGE AND LEARNS HOW TO WALK
First 12 months
Devs have an idea
Consultants start speaking about it
to customers
API is born
API?? What is that??
Very quiet launch
”Productization”: Test environment, API key request form, usable dev
documentation, some idea of pricing
First real use cases by customers
around projects and time reporting
Amount of employees ”on the know”
First big API using application project
sold, massive improvements to API as
result
First partnership case (Atlassian Confluence with Ambientia) made
possible by API
API as major selling point compared to competitors
”Learning by supporting” ”Learning by coding and co-coding”
Accelerating Your SuccessAccelerating Your Success
API DOCUMENTATION DYNAMICALLY SUPPORTING CUSTOM FIELDS
Accelerating Your SuccessAccelerating Your Success
FIRST ”EAT YOUR OWN DOGFOOD” –CASE USING API TO BUILD LEAD QUALIFICATION
Accelerating Your SuccessAccelerating Your Success
FIRST PARTNER CASE - SHARING PROJECT DATA WITH CONFLUENCE
Accelerating Your SuccessAccelerating Your Success
SOME API STATISTICS
2009 2010 2011 2012 2013 2014
New Companies starting to use PlanMill open API Users are either real
persons or systems using the API as user
Accelerating Your SuccessAccelerating Your Success
PLANMILL OPENAPI - EXAMPLES
Project is created in PlanMill
Application X
https://online.planmill.com/acme/services/rest?method=project.insert&format=rest&PMVProject.Name=”Example%20project” &PMVProject.Type = ”3”…
https://server/instance/services/rest?method=account.get&format=rest&userid=12345 &authkey=531adbb3022a96e537b4e2a5289e128e
Project type is updated in
PlanMill
https://online.planmill.com/acme/services/rest?method=project.update&format=rest&PMVProject.Id = 123&PMVProject.Type = ”2”…
https://online.planmill.com/acme/services/rest?method=project.delete&format=rest&PMVProject.Id = 123
Project is deleted from
PlanMill
Accelerating Your SuccessAccelerating Your Success
APIFYING YOUR COMPANY - FROM CONSULTANT TO A.P.I. CONSULTANT
2.4.2014 14© 2014 PlanMill Ltd. I www.planmill.com
(A.P.I. “Actively Participating Integrator” )
Accelerating Your SuccessAccelerating Your Success
Building an API and API culture is like building Rome
– one brick, layer and person at the time
Accelerating Your SuccessAccelerating Your Success
API CHANGED THE WAY WE WORK
• TRAD: ”I’m selling an application – look how I demo by clicking the UI”
• API: ”I’m selling a application with API – look how quickly I can get some data out or develop this app”
• TRAD: ”Customer was asking for help using the system – I asked her for screen shots”
• API: ”I asked the customer to send info about the API requests and responses he was trying to use”
Accelerating Your SuccessAccelerating Your Success
OUTLEARNING FROM ”NEG-APIVE” THINKING
• API is something only ”techies” and only ”some API techies” should know about
• API is separate from the ”actual” system
• New features and changes can be implemented without ever thinking of API
• API is going to be used so little that we don’t need to think about traffic limits or pricing models
• Using API to automate testing of the system is difficult
• API doesn’t need user documentation
• It’s ok to expose our internal data model ”as is” to outside world
• All users of the same API in the same instance can see all data
• ”Open information” vs. ”Restricted information” in a business application – all data should be accessed by any API user
• API is only going to be used by ”outsiders”
Accelerating Your SuccessAccelerating Your Success
MY 5-YEAR API-MANTRA
”DON’T BE AFRAID OF THE API QUESTIONS”
”WIKI HAS SOME GREAT EXAMPLES OF USING THE API”
”HAVE YOU ADDED THAT TO API DOCUMENT”
”HAVE YOU TESTED THAT WITH API”
”YOU CAN DO THIS QUICKER AND CHEEPER USING API”
Accelerating Your SuccessAccelerating Your Success
If people don’t understand what API is about, they won’t
tell about it, sell it, use it, develop it or support it
SHARING IS CARING – ALSO WITH APIS
To employees To customers & partners
To students
Accelerating Your SuccessAccelerating Your Success
Towards the new API powered ecosystem
NEW IMPROVED PROCESS FOR THE API 2.0
Research project Customer & Partner needs and insights
Piloting technologies and preliminary services of
API by parallel developing client
software
Demos, knowlegde sharing and discussions
with whole company
Architecture vs. strategy – what services, how to
maintain, how to monetize
Internal beta Teach with the beta through real projects
Public beta + developer community
Feedback from developer community Publish 2.0
Eat our own dogfood with your own client
using API
Accelerating Your SuccessAccelerating Your Success
API & USER EXPERIENCE
2.4.2014 21© 2014 PlanMill Ltd. I www.planmill.com
Accelerating Your SuccessAccelerating Your Success
TO USE OR NOT TO USE API
USE
• Leads from websites, social media, external company registers
• Time reports, projects and tickets for invoicing to/from Jira, SAP etc.
• Commenting, email campaign members
• Change history
THINK TWICE
• Invoices to accounting systems – no support for APIs and existing XML based standards like Finvoice
• Situations where customers and their systems can handle files emerging to their server, but can’t handle API development
• Moving unstructured data which can easily be automated with f.eg. Emails
• Ad hoc data needs (unless the user knows how to code)
Accelerating Your SuccessAccelerating Your Success
API UX PROBLEMS
• UI usability problems we all know and love– This task takes too many clicks– System takes too long to save a new object– I can’t understand what this button does– I can’t find the documentation– I can’t make sense of this error message
• The API variety of usability problems we came to know– Why can’t I just do this thing with 1 API request instead of 5– Someone is sending 10 requests per ms – the system is stuck– I don’t understand how I get this location id which this request is wanting…– Yes this thing about filtering requests has been documented - didn’t you find it?– I don’t want to get stacktraces as error messages in the API response– I want to see the id in the response of the thing I just created
Accelerating Your SuccessAccelerating Your Success
HOW WE GOT FEEDBACK FROM DEVELOPERS
• Support requests• Uservoice• Twitter• Hands on co-located sessions (with donuts )• Thesis studies made by students employed by our customers
using our API• API seminar• In the future
– Formal usability testing– ”API usability days” for outside developers– Student projects
Accelerating Your SuccessAccelerating Your Success
MORE INFORMATION
Marjukka Niinioja, Senior Consultant & Manager
PlanMill Ltd.
Hämeentie 19, FI-00500 Helsinki
Tel: +358 40 558 5138
Email: [email protected]
Website: www.planmill.com
Twitter: @PlanMill