Over the last few months, Microsoft has seen some important milestones for Windows including, Windows Server celebrating its 20th birthday and Windows 10 receiving its first major update, the Anniversary Update, a little over a year after being launched. So much has changed over the past 20 years and the speed of innovation is only increasing. The question for long standing software vendors is how do they ensure their software stays relevant in the modern world of 'apps'?
Most of the software houses, even those that deliver solutions rather than operating systems, have an 'App Store' now, but the idea of 'Apps' is nothing new. Since moving to a graphical user interface, Windows has had apps, albeit not through a store. There are now over 16 million 'old school apps' (Win32) that need to be made relevant in the world of 'App Stores'. The question is, how do you migrate your app so it works in the 'App Store' world?
On the face of it, it's not a small undertaking to update your app so depending on the platform that you want to move to, you may need to rewrite it completely, especially if you want to write for a platform that isn't Windows. Whilst you consider your options, one thing you may want to think about is moving it to the modern app platform on Windows at the same time.
There are many things to be gained by moving it to the App Store model. Firstly the store can provide your with telemetry data for you application (e.g. number of crashes) as well as demographic data (what types of operating systems, what types of devices, what types of users). This can be really useful when deciding what types of devices to build for beyond a mobile platform.
In the Windows app world, apps run across the 350+ million Windows 10 devices, with an average of 32 added every second!. The Universal Windows Platform (UWP) applications run across the complete Windows platform, including new devices types like HoloLens, Xbox and Surface Hub. As well as the telemetry and demographic data, app platforms normally bring a number of other useful and unique features. For example, Windows apps can have 'Live Tiles', enabling you to view information held inside the app without having to open it. Another key features is integration into the Personal Assistant (Cortana in the case of Windows).
When looking to migrate your old Windows app to the new Windows app platform, there are a few steps to migrate you to UWP, allowing you to migrate to the modern app world at your own pace.
Step 1 - Wrap the App
In order to get your old app in to the Windows Store, it needs to be in UWP format. One of the simplest ways to do this is to use 'Project Centennial' AKA 'Desktop App Converter' tool to wrap the app. This neat little tool creates a new UWP app that has two containers of code, one has the original app and the second contains any new code you choose to add. Once your old app has been wrapped, upload the newly created app to the store. Most Windows 10 machines running Anniversary Update will now be able to install the app from the store.
Step 2 - Extend the app
Now that you have converted you old app to the new modern app platform, you can start to add some of the new features mentioned above, for example Live Tiles. On an iPhone, app specific data might present itself as a red number in the Mail app telling you how many emails you have to read. On Windows, you are shown a snippet of the actual email. Translating this to your new app, it could be new work items, new invoices or pending payments. Just think of what information your users would want to see immediately rather than having to opening the app OR think of the information you might want to show in order to entice the user to open up the app. The other obvious thing to do is integrate into the platforms Personal Assistant. Whether that’s Siri, Google Now or Cortana, you can extend your app to accept and respond to voice commands. Wouldn’t it be great for your users to say 'Hey Cortana, how many support cases does Customer A have open right now?" and receive a response without even having to unlock the device. This is another important feature that came with the Anniversary update on Windows 10 as an example.
Important thing to understand here is that you are adding this new code to the second separate container, it won't adversely affect the original code you created, only extend the app to give it more functionality.
Step 3 - The final move to UWP
Now that you have converted you old app to work in the Windows Store and added some additional features, it's now time to start working on making it a fully-fledged UWP app.
As time goes by, you can take code from the original app container and move it into the new container, slowly rewriting your app. The great thing about this process is that you can do this at your own speed but the time it takes to get your app into the Windows Store is really quick. The question is, when will you start moving your apps?
Your next steps therefore should be to think broader about your application strategy. What apps have you created in the 'old world' that need to be moved to the new app world? You may be thinking about extending your app to the mobile platform, have you remembered to include your existing desktop user base in the move to the modern app world?
Let me know how you get on with converting your apps, I'd love to hear!