Continuing on the previous post, but in the context of cloud services…
Here are some simple and everyday examples of what I mean by uninterrupted user experience:
- Go to any web based email service like gmail.com. Say, you have 10 unread emails in your inbox. You read 2 of them on your laptop and logged out. You went to office, opened gmail.com again and now you see 8 unread emails (assuming that no new emails came in). No brainer. However obvious, there is a continuity of experience. You would feel odd if you 10 unread emails again.
- Extending this to another obvious example Google Reader. No matter how many different devices you use, status of read articles is maintained. Note that some of these devices may be accessing this service via Google Reader API and some may be directly accessing web site. I personally use google reader from at least 3 devices (laptop, mobile, office desktop) on a daily basis
- Look at Amazon Kindle device and Amazon Kindle app. This is different and slightly sophisticated example. Unlike the previous services, Amazon Kindle controls the user experience. If you donot own a Kindle device, Amazon also provides a standalone application for all platforms including Linux, Windows, Mac, Windows Mobile and Android Mobile. The cool thing about this service is that it remembers the page you were last reading and opens it for you next time you open the app. It doesn’t matter if you were last reading a book on mobile and now you opened the same book in laptop. It just works. It is so seamless you don’t even realize it.
- Here is a futuristic example. Say, I am sitting in the backseat of a car (someone else is driving) and watching a movie streamed on my mobile (If you are not a movie buff, replace it with a live streamcast of your favorite rock star) over 4G (or 5G?). I reach home. Since my WiFi is always on at home, the movie streaming service detects this and switches to WiFi for better bandwidth. I pause the movie, grab a coffee and relax in front of the big screen home theater system. Once I switch on the TV and select the movie streaming app, it continues from where it left off.
I am sure you are seeing several more example of this seamless and uninterrupted user experience with cloud services. This is natural to think of and implementing it with cloud services. Yet, one of the biggest cloud service twitter fails to do this with tweets. Yeah, did you notice that there is no “read” or “unread” status of tweets. Yes, it sucks big time as I switch between mobile and laptop several times in a day.
To be able to achieve this uninterrupted user experience, one needs to address it various levels
Infrastructure(Network, Location etc) level – The movie streaming example.
API level – Google Reader and Gmail example. Once you have identified the key elements of the user experience, you need to expose right kind of API so that applications can leverage it.
User Interface level – Amazon Kindle example. Sometimes you need to control the whole user interface aspect to provide the seamless experience. Another interesting example in this category could be cloud based IDE. If there is ever one such IDE, I would like it to behave exactly like my Eclipse or Visual Studio (with all the files and windows open in the same position) no matter which device I use.
Platform coverage level – With multitudes of connected devices one is carrying these days, one cannot hope to achieve this uninterrupted user experience by sticking to a single platform/device. And if you combine this with User interface level, may be the device specific Apps are the way to go. Long live Apps.