Looking across the app landscape, I see still too many apps that persist data just on devices without synchronizing it to a service. While this approach makes app development straight forward – it lacks two major capabilities that I expect from a modern app:
- Seamless experience across devices –most of us have more than one device and expect a seamless experience across all of them. First and foremost I want to have the option to keep my data in-synch across my devices.
- Friction free device replacement/addition – my devices get replaced on an annual or bi-annual base and new devices join my portfolio. This has to be friction free. Losing data – and if it is just the state of a game – is just not an option. As a positive side effect – this makes losing a device just a bit less painful – at least the data is not lost.
Designing such apps
It’s crucial to focus on the user and it’s data and not on the device – it really is not the center of attention – the data and the users are. This is why apps should authenticate users and securely store it’s data on a service. Doing this is really no rocket science:
Windows Azure Mobile Services provide the service platform and the client sdk to authenticate users using OAuth and to store and retrieve data securely. And not to forget – this works for iOS and Android too!
There is no excuse for writing apps which don’t work seamless across devices or give me a headache when I replace my device – no excuse – I just won’t use them anymore.