The release of OneNote for the Mac and PC (for free) was a really interesting development today. I am realizing that creating a ubiquitous app like OneNote is only one step (an important one) in providing great user experiences. In todays world creating a platform that your app sits upon and freely allows others to integrate into provides much deeper and more meaningful value. Service layer design comes with a really interesting set of challenges and what I am starting to notice is that the best companies ensure not just a suite of apps on all devices but a rich platform on which others can build with them.
So the first steps include bringing your app, with feature parity, to every device (each browser counts as a device in the new world order).
- OneNote available on: Windows, Windows Store, Windows Phone, Mac, iPad, iPhone, Android, Web
- email@example.com for emailing notes to OneNote.
- OneNote Clipper (IE, Chrome, Fire Fox) – Save any webpage, clip anything from news articles to blog posts to recipes in just one click.
- Office Lens (for Windows Phone) - Office Lens is like having a scanner in your pocket. Never miss notes on whiteboards or blackboards.
- IFTTT OneNote Channel - The new OneNote Channel lets you create new pages, archive images, and save links for reading later.
OneNote Service API
OneNotes API follows much of the same basic RESTful approach as I noted with Xbox Music API i.e. authenticate to receive a access token, submit the token with the subsequent RESTful calls.
The Microsoft OneNote service API runs on the Microsoft globally-available cloud, and sends data from your apps into the user's OneDrive. While the service stores the data into the OneNote notebook, it also does things like running OCR on images, rendering Web pages as snapshot-images, and more.
To start writing your own apps with the OneNote cloud service API these resources have been provided:
- Android: Create an Android capture app, download code sample from GitHub here.
- iOS: An iOS capture app, download code sample from GitHub here.
- Windows Phone: A Windows Phone capture app, download code sample from GitHub here.
- Windows Store: A Windows Modern UI capture app, download code sample from GitHub here.
- REST: Use the apigee.com API console, open the interactive console here.
In each sample your essential steps are as follows:
- Authenticate the user - Shows you how to use the Windows Live Connect SDK to get the OAuth tokens that tie together user's permission for your app to access their OneNote data.
- Debug and handle errors - Shows how to code the exception handling for errors returned by the API, and what those errors mean to your app.
- Open the OneNote clients - Provides platform-specific code for using the links the API returns that point to a specific location in the user's OneNote notebook.
There is a very common (and comforting) thread appearing with Microsoft’s Services\Platform strategy.