Creating Great Apps

Note: This is a summary of a guide that I and a couple of other great people worked on – link to the full document at the end of this post.

So you want to create an app? Or perhaps a game? We want to help! And we don’t want to simply help you to create any old app or game, but want to give you tips, tricks, techniques and tutorials on how to make the best app or game you can.

Fortunately, creating and publishing an app for the Windows platform has become increasingly accessible and straightforward with ever-improving tools that are stable, incredibly functional and provide aid for the developer in a myriad of ways. Microsoft has a variety of languages and technologies a developer can choose from; a wealth of choice that enables developers to create high quality client, mobile, gaming and cloud applications. In addition, Microsoft has a great selection of platforms to develop for, from Windows 8 to Windows Phone to cloud-based solutions with Windows Azure, and even the Xbox 360.

Sound exciting? It should! Making an app has never been easier and the sheer variety of technologies, platforms and tools you have at your disposal gives you the ability to choose the one that suits your needs and your chosen direction.

To make a great, entertaining, feature-rich application, it’s not necessarily as simple as having easy to create apps, and so this document provides guidelines on how to make your app shine. They help a developer have the best chance at success in getting an app published to the appropriate store. As a result, developers could end up with a highly regarded entry that receives great reviews, is used by many and could be held up as a fantastic example of what makes an app shine on the Microsoft platform over the competition.

We’re conscious that developers run the gamut of experience levels, some with great skill, some approaching app development for the first time. The intention of this guide is to help you recognize the crucial components of a quality app regardless of your experience. For those just starting out, at times it’s hard to know if your idea is unique right at the beginning or, at the other end of the process, are unsure how to publish your app effectively.

To help the developer adopt the concept of “quality app” creation instead of simply building a templated app or creating an app in isolation of fundamental processes, we’ve highlighted some of the top key areas for what makes up a quality app. In this guide, you’ll find six pillars of quality – foundational concepts that, if built upon properly, will increase the chance of a successful outcome for you.

And guess what? Having a great quality app not only provides benefit to your end users but great benefit to you as well. It could be seen as an online resume or a way for people to see your progress historically if you’re looking for a career in technology, and just as importantly, the Windows Store and Windows Phone Store provide great revenue opportunities too!

Finally – good news! We have an expanded version of this guide that goes into detail on each of the six pillars, some Do’s and Don’ts and a bunch of resources you can click through to so as to gear up for your journey to build a great app.

Check out the six pillars we recommend you base your app development on.

Pillar 1: Unique Concept or Idea

Making sure you can come up with a great idea that is interesting and is not “just another” app amongst a bunch of identical apps is critical. Research your idea thoroughly so that you don’t duplicate something else already available, and figure out ways to bring it to life creatively.

Pillar 2: User Experience and App Design

Without great design principles in place, it’s easy to have an app have a confusing or illogical experience and/or design and overall provide a poor user experience. This starts with the first place the user interacts with the app – in the store. However, this pillar of app design is more than just UI: plan your design from the ground up to be solid including database, infrastructure and what type of application architecture you’ll use.

Pillar 3: Feature Richness

An important concept in differentiating apps built on the Windows platform is implementing the many unique and creative features on Windows 8 or Windows Phone, while keeping a focus on the one specific thing the app is made to do. There are dozens of features of Windows 8 and Windows Phone that you can use to make your app stand out, so make sure you explore them for your app.

Pillar 4: Quality Coding

Without great code underneath the app, the chances of hitting certification errors in security, technical and content compliance increases through bugs, crashes and freezes. Use your design work from Pillar 2 and combine it with great coding practices to ensure you have solidly performing application code.

Pillar 5: Designed for Multiple Devices and Contexts

With the wealth of platforms to choose from, building an app that runs across multiple devices, such as a Windows 8 laptop and a Windows Phone 8 mobile device, is a way to differentiate and bring extra value. So if you have a great mobile app, consider how it might work on Windows 8 too. Also, making sure you take advantage of the multiple contextual views that the platform offers, such as snapped and filled views on Windows 8, is also key.

Pillar 6: Cloud Integration

The cloud is now an integral part to many quality apps, from roaming settings across devices, to using notification services and live tile updates, to storing historical data or even high score lists for games for comparison between players. Great apps will utilize the cloud in appropriate aspects of the app itself, and using Windows Azure as part of the development process makes this a very straightforward proposition.

So there you have it – six great pillars to rest the approach to your app on. If you want to check out the more detailed guide that walks through each of these in detail, including resources and Do’s and Don’ts, check it out here: 6 Pillars of Quality App Development and Design (DreamSpark)