Building a Windows App: Essential Resources
This past year hasn’t been the most successful for Microsoft’s Windows division. Not only has Surface not done as well as expected, forcing the company to cut prices and take a stock write down on the chin, but it’s even been suggested that Windows 8 is partly responsible for the continued decline in PC sales.
That’s a little harsh. It’s common knowledge in the tech and financial worlds that the rise of tablet devices is what has hit PCs hard. This is only set to continue as consumers prefer to buy mobile devices, which account for a large proportion of internet traffic.
The good news is that Windows 8.1 will be available to vendors later in the year, with the preview version already being available for developers. What better time, then, to think about building a Windows app?
Less competitive market
Google Play and iTunes can make for a great revenue stream for developers that can make apps. Both are very competitive though and as such, building a Windows app may give you a better chance to make cash from app development.
Windows apps can be built using a variety of different skill sets, including:
- Cross-platform tools
- C# and Visual Basic with XAML
- C+ with XAML or DirectX
If you don’t already have 8.1 preview and you’re planning to develop a Windows App, a good place to start is with downloading it, along with a virtual machine such as VMWare’s. It’s also a good idea to download the Visual Studio 2013 Preview, which has a toolset which is designed to support Windows 8.1 apps.
- Improved integration with the Windows Store
- Controls and templates
- UI responsiveness analyser
- Energy consumption profiler for XAML & HTML apps
- Enhanced memory profiling tools
In the Windows Dev Center you will also find PSD design assets for Windows Apps.
Planning the App
As always, the planning stage is important in order to make an effective app, so ensure you start with sketches, content, audience targeting and what you want the app to actually do. Look at the market and target any gaps (there are plenty in the Windows App Store) and think foremost about usability and responsiveness.
This is more important than creating an all-singing-all-dancing app that requires the user to carry out a lot of tasks.
Resources and Tools
The Windows Developers site really is a great resource and here you will find plenty in the way of tutorials, templates and tools. For XAML apps, XAML Spy has released an update recently that targets 8.1 Preview and allows you to inspect visual elements at runtime.
This is a good tool to use further into the development process though as it’s useful for testing alignments for grid overlays. It’s worth pointing out that it costs, although you can sign up for the free 21-day trial initially. After that it’s priced at $119 for a professional license, or $79 for a personal.
One of the problems for developing for Windows 8.1 is that resources remain reasonably thin on the ground, so it’s worth looking around at existing resources for Windows Phone and 8, such as Telerik.
Here you will find tools for developing with .NET which include 350+ UI controls and reporting for Microsoft platforms, as well as debugging tools for coding and debugging. It can be used for web, mobile or desktop apps (and presumably tablets, although they are not specified).
Again, this is not a free resource so you should check out the pricing options before signing up.
Tiles that Scale
Windows 8 development should be approached with touch in mind and the fact that the app’s likely to be used on a number of differently sized devices. This means that tiles are created using images and these should be fully scalable.
This can be carried out with a variety of tools, such as Inkscape, which allows the use of vector paths in an app which will automatically scale. This is an open source resource and has a useful ‘save to XAML’ tools which is very useful.
PerfecTile is another useful tool for making wider tiles and ones that scale too and you can find a library of tile templates on the MSDN website. However, the latter is waiting for an update for 8.1, but it’s worth looking around and keeping an eye out for what’s new.
Json.Net is also very useful, as many APIs now use JSON as the transfer format and this is one of the easiest to use libraries out there.
RAM & Performance
Microsoft’s advice that the recommended design for apps should “use balance, symmetry, and hierarchy to foster trust and a sense of integrity” may have many people asking: “huh?” This doesn’t really give any clear principles when it comes to design, but you should bear in mind the following.
- Keep it simple – apps are often delivered to smaller screens and so an uncluttered app will have more success, with user experience borne firmly in mind
- Keep it all about touch and make sure that the app responds swiftly when a user touches the screen
- Animation – the SDK provides a library for this
- Scalability is a must and it’s vital to test the app on a number of devices to ensure that images scale correctly and don’t pixelate
- The start screen tile is important as this is the first thing a potential user is going to see, so make it attractive
All-in-all, there are numerous tools out there to get you started and many of them can be found at Microsoft. If you don’t want to trial Visual Basic 2013, then the 2012 version is available for free download, although it may not have as many tools that can be used for 8.1 apps.
Then it’s just a case of testing the app using the Windows App Certification Tool (which comes with the SDK), setting up an account for getting paid and submitting to the Windows Store.