It’s raining in New York City as Doron waits for the 525 bus. At the stop, he’s trying a new transport app which doesn’t seem to load offline. The ticket he bought yesterday isn’t showing, and even when he had service the real-time updates weren’t syncing.
As a mobile developer, he knows exactly why the app sucks:
- It’s not built to work offline.
- It doesn’t sync data in real time.
It’s a flop. He knows people won’t use it.
This is the real challenge — adoption. It’s all well and good to build an app, but how many people will actually use the thing? Users expect apps to run fast, be reliable, and there’s always a competitor’s alternative if they don’t.
Developers rely on us all having a positive experience. With top consumer apps (e.g. Whatsapp, Instagram, Netflix) setting new standards, it’s hard for new players — who may not have Netflix’s dev team and money — to match expectations.
But there’s hope — here’s how to build a great app without an army of developers.
Even 10 years after the rise of smartphones, we can’t assume devices will always be online. Developers must think offline-first when building an app.
The best ones take full advantage of connectivity when available, but understand it’s temporary.
For offline, apps need a way to store data on the device. That way they can still function when the service drops.
Unfortunately, most apps today use datastores not designed for mobile. Many use relational frameworks that aren’t intuitive for developers and slow down deployment.
Developers have to write lines upon lines of custom code. Rows and columns of data need custom mapping code to allow them to run with objects that the developers are working in.
This all impacts the app’s performance — screens take longer to load and the features become unusable…Read more>>