Hello there,
A product which we developed called onsite, is a mobile application for windows mobile. It is used primarily by field workers for large engineering companies, allowing them to remotely order products while out on the road over mobile networks.
A challenge which we faced during startup was how do you easily update 100's of mobile users without having to physically update each of their devices?
Something which compounded this problem a little more, infact probably led us to development an elegant solution was the fact that the mobile users did not have any knowledge of software, and did not have PC's to connect for messy manual updated.
The solution was to build a client update systems, which would automatically check our online upgrade system on startup each time the application started.
Application Updates
The update system has a number of options for app updates.
1. Enforcing updates (the end user cannot start their application until it has been updated)
1.1 The problem of enforcing updates was further compounded by the fact of "how do you enforce updates if the user has already connected / is already using their app". Time to add another layer... As with most mobile apps, ours has a big online aspect and comms over web services are where you can orchestrate more control over users.
We decided to allow for in-app enforcement of updates, simply adding update checks during the normal course of comms with our backend.
1. User Driven updates (the end user has the choice to update if they like)
Data Updates
Further to the above also you have the issue of data updates, our application sits on a mobile SQL lite database (lightening fast, very fault tolerant, as good as anything out there) , and it is very reasonable to imagine that if updating an application, also you may have to update a database.
So next to updating the database; we implemented a database version control system as part of our update server where on checking for updates the mobile application could download and run any SQL scripts necessary to bring the mobile app up to the latest version.
Deployment of 1 app :-)
One very nice thing that fell out of the update application was that in terms of deployment, our original installer (now 4 years old) can still be run on a mobile device, and on startup the application and database will be automatically updated to the latest and greatest version.
Mobile administration for mobile enterprise!
No comments:
Post a Comment