Susan IbachTechnical Evangelist
Even ten years ago, “experience” was not really something that was given much thought in building software. More often than not the primary goal of a piece of software was simply to display results, or data. How the data or results were displayed was more often a function of technical specifications than it was a matter of user-centric design. That is to say, while the user was often a part of the process of creating specifications for a software solution, the end result was often not differentiated on being tailored to the user, but rather the data. It can be argued that if you polled software publishers ten to fifteen years ago on what user-centric design was, the answer would largely be centered around presenting as much data to a user on a single screen as possible (“less clicks is more productivity”). The end result was focused on process rather than personalization and taking into account how the user works (which is not the same as process).
That line of thinking was certainly acceptable in the past, but things are much different today. As web platforms became richer and aesthetic design became more important to the digital consumer experience, users frankly demanded more of the software they used. Gone now are the days where "battleship grey” is acceptable. Software that is successful in today’s market often makes effective use of user-centric principles including the determination of user personas, natural flow of information, content taxonomies, effective and intelligent use of colour, wireframing and storyboards among other things. Making the right experiential decisions in the software design stage has become just as important as making the effort to test the code prior to flipping the switch on a production instance. If that sounds bizarre, think of it this way: what use is the best, most robust software solution if your users hate the way it works for them? If the user doesn’t buy into it, the software solution has ultimately failed in its objective.
The phone as a platform is no different, especially in mobile platforms that are truly modern and provide great amounts of feature capabilities out of the box (GPS, modern browser, multitasking, notification engines, etc.). The base experience that the platform provides enables software developers to create an even richer, more user-centric experience with the apps that they build on top of their chosen mobile platform. With Windows Phone, Microsoft has built a unique base experience (in Metro) that software publishers can leverage to create applications that truly raise the expectations bar for users and the apps they install on their Windows Phone device. The rest of this post focuses on the things that you as a developer/designer can do to create a truly amazing and user-centric experience within your Windows Phone apps.
Fresh and Simple
Windows Phone represents simplicity in design. When describing the principles of modern Windows Phone design, you may have seen phrases like “fierce reduction of unnecessary elements”, “fast and responsive”, “focus on primary tasks” and “content, not chrome”. All of these phrases revolve around the idea of making it easy for users to find the information they need.
When wireframing your app, think of the following things:
Navigation in your Windows Phone app should respect the flow of the Windows Phone platform. Always use the hardware back button for going to the previous screen and never create a navigation structure that breaks the back button stack. Simply put, this will cause the app to fail certification. It’s also the most common reason why apps fail the certification process in the first place.
Below are some of the more important considerations around Windows Phone app navigation:
Creating a User Journey
It’s one thing to think you have a killer app idea. It’s an entirely other thing whether that idea translates into a popular app. Your intent as an app developer or designer is to create an experience that is lasting and meaningful. Actually, that is the goal of not only mobile app creators but of any app creator in general. Aside from solutions that are considered “one-offs” or temporary solutions, what really drives us all is to create apps that frankly everyone wants. Your ultimate goal for success may differ from someone else (e.g.: “I want to become rich from the revenue from my app” vs. “I want to be popular because everyone downloads my app” vs. “I want to make a positive impact on someone’s life because they use my app”), but the fundamental desire is the same: “I want people to download and use my app”.
So when you are thinking of your app, there are three major questions you need to ask yourself before you hit Visual Studio and Blend:
If the answer to any of those questions is no and your intent is to make your app as popular and relevant as possible, then you probably need to think a little longer on the problem space your app is trying to solve for.
Keep in mind this general mobile app statistic: The average mobile application is opened by a user once. Only around 1% of all mobile apps are used regularly long term.
So how do you entice users to first download your app, then open your app more than once? There is no one right answer, of course, but there are three guiding principles that greatly enhance your chances of getting to that goal:
As we kick off a new school year I wanted to take a minute to introduce you to the amazing resources we have available to help you at school, and to help you prepare for your career after school.
Writing Code? Graphic Design? Building Web Pages? Need a database? Check out Dreamspark. The Dreamspark program allows you to download all sorts of fantastic software tools for free. These are the same tools used by professionals every day in the workplace. You can use them now to help you with school assignments or to develop your own applications on anything from Windows Phone to Kinect! Dreamspark has more than just links for downloads, it also helps you find learning videos, useful references to read, and labs you can complete to help you get rolling!
Have you checked out Windows Phone? It really is an amazing device and with the new features being released in the Windows Phone 7.5 Mango edition it just keeps getting better. With the mango edition we now have a full internet browser, an integrated people hub that lets you integrate your Facebook, Phone contacts, and Twitter in a single location! You also get amazing messaging capability that will allow you to switch from your Windows Live to Text messages to Facebook messaging seamlessly! For developers Windows Phone is an incredible opportunity! The number of Windows Phone users is growing and the Windows Phone marketplace isn’t saturated yet, so its much easier to generate excitement and attention around great new apps. If you have never built a phone application before, it’s not as hard as you think and listing an application you published on a resume is a great topic to bring up with potential employers in an interview. If that weren’t enough you can even add paid advertising or charge for your phone application and make some money as well!
Proving to the world Students are the future! Imagine Cup is a competition that showcases students from around the world. Sometimes the problems of the world seem overwhelming, but if you break them down and look at the incredible capabilities of the technology around us, there are solutions! The Imagine Cup is a competition where students develop solutions to solve problems facing the real world. What would you build? A phone application that reads text out loud to help someone with a vision problem? An inventory system to help food banks inform the public of specific desperately needed supplies? What are you passionate about? How can technology help? Recruit a couple of friends and register for Imagine Cup! You could find yourself in Australia for the Imagine Cup 2012 finals!
Having a tough time staying up-to-date? Technology moves fast! Let us help you keep up to date! just subscribe to our newsletter, or follow our blog and we’ll keep you informed of any big announcements or promotions that affect you!
Tell us what you think and what you want to know! Follow us on Twitter! Joined our LinkedIn Group! Like us on Facebook! Whatever your favourite way to keep in touch, we’re listening and we’re talking with other students across Canada.
A few weeks ago, I wrote a post referencing how you as a developer don’t have to be torn between building mobile experiences in HTML5 or native phone apps. In fact, with the upcoming Mango release for Windows Phone, the “better together” story is a strong one that allows you to take advantage of great HTML5 goodness while harnessing that advantages that the native platform provides (like push notifications and live tiles) to create a full, rich experience for users and a manageable one for developers.
There are literally thousands of apps built leveraging PhoneGap across all of the phone platforms available today. This presents a great opportunity for developers with existing PhoneGap apps to port their solutions to Windows Phone Mango. With IE9 as the browser on Mango, the ability to leverage HTML5 and CSS3 capabilities on the phone while merging it with the great native features of Mango brings a new and fresh look for your apps that can reach net new users.
If you’re new to PhoneGap but know HTML5 or web development in general, then chances are it’s a great place to start if you’re interested in building apps for Mango as you can leverage those web skills and then learn how to code in some of the great app offerings that Mango provides.
Oh, and if you know nothing about building Mango apps but you want to know how to start (or know how to code for Windows Phone 7 but want a primer on Mango), the Mango Jumpstart training course is now available on demand! I blogged about the Mango Jumpstart training course a couple of weeks ago. It was a two-day, deep-dive, online training course that was delivered live for free. We have recorded each of the 14 sessions in this two-day course and they are now available for you to watch whenever you want.
The sessions available in this course are as follows:
So, what do you need to do now? Here’s a little list that is worth checking out:
Everyone knows how competitive the mobile space is. There are a wide range of platforms available for you as a developer to adopt and build your mobile app masterpiece, each with their pros and cons. So Microsoft introduces a new mobile platform (Windows Phone 7 and now the upcoming Mango update) which basically is a reset of the Microsoft mobile strategy and therefore started from scratch. In the many conversations I’ve had with mobile developers about why they should care about Windows Phone now and in the future, the most common questions I would answer revolved around the fact that Windows Phone was essentially net-new and therefore at a disadvantage from its competitor platforms.
Those types of questions are certainly fair and I’m sure many of you reading this post are even asking yourself the same questions. Hopefully by the end of this post, you’ll have a better understanding of Microsoft’s mobile strategy, why we are taking a long term vision approach to our platform’s success, how you as a mobile developer can take advantage of the fact that Windows Phone is for all intents and purposes “new” again and finally provide you with some resources to help you porting your apps from other platforms onto the Windows Phone platform.
Microsoft’s Mobile Strategy
Believe it or not, Microsoft has been in the mobile game for around 10 years. We started off with the Windows CE operating system and grew it from there. It was primarily seen as a business platform (strengths being email and calendaring) and Microsoft continued to evolve the platform along those lines. As smartphones became more consumer focused in the past 4 years, the popularity of the Windows Mobile (the old branding for Microsoft’s smartphone platform) waned. This decline created an opportunity for Microsoft to virtually set a completely new course and build a whole new mobile experience that focused on user experience. The result is what you see today: Windows Phone 7.
One of the key decisions that was made around this clean slate approach was how we work with partners in the new Windows Phone world. It’s a little known fact that Microsoft makes very little money from customers in direct channels; virtually all of the revenue Microsoft makes is through our partners. Clearly our partners, from OEM manufacturers to mobile carriers to app/game developers, were going to be front and center in our strategy. We have also learned very valuable lessons from our previous mobile platforms, specifically around what works and what doesn’t. At a very high level, this is what the Windows Phone team decided about going to market with partners:
What about Nokia? Nokia is a very strategic partner with Microsoft. You’ve probably seen the media coverage and official press releases from Nokia and Microsoft stating that Nokia will be ceasing to install their Symbian OS on their smartphones going forward, instead adopting Microsoft’s Windows Phone OS for their smart devices from now on. This is a key relationship for both Microsoft and Nokia and is significant in a number of ways:
Making it easy for developers building apps on Windows Phone
As I had stated above, one of the main goals and a key factor to the success of Windows Phone is to make it as easy as possible to allow you as a developer to build apps and games for the platform and to monetize them. This means making the tools easily accessible (read: free) and getting up to speed quickly. It also means making it easy to publish your apps and games on our Marketplace yet making sure that quality is maintained on the apps. Finally, it means making sure that you have the tools and opportunity to both understand how your app is trending in popularity and making it fair so that the best apps get featured.
Making the tools easily accessible and getting up to speed quickly
This is simple. Literally, everything you need to start building apps is on our App Hub. This includes the tools download page, tutorials, partner resources, and community support.
If you register as a developer (roughly $99), you get more than just the ability to publish apps and games to the Marketplace. You also have the ability to publish XBOX Live Indie games on the XBOX Live Marketplace (a great opportunity to cross-pollinate your game if you’re so inclined). We also provide you with a large number of tools to help you analyze the performance of your apps and games in the marketplace. We also provide extra tooling for you for free to help protect your code assets from reverse engineering and the like as well.
Finally, even though the tooling is free and everything you need to build apps and games is included in that tooling, you may be interested in our paid tools as well (namely Visual Studio Professional and above, and Expression Studio Ultimate). These paid tools provide a great deal of extra value to you if you are interested in native source code control right out of Visual Studio, enhanced testing tools (including load testing and the like), SketchFlow (rapid wireframing and prototyping) and many other features that may make your job a whole lot easier.
Make it easy to publish apps and games
As long as you are a registered developer on the App Hub, you can publish Windows Phone apps and games. To make it as easy as possible to get you from an app/game idea to published in Marketplace, there’s more than just great tooling that you need to make it happen. First off, all of our certification guidelines are publicly available (all apps in the Windows Phone Marketplace are certified by Microsoft before they are published). If you follow those certification guidelines, you are golden. However, if you do fail certification for whatever reason, we provide you with a detailed report outlining what failed and what certification guideline was violated in the process. The report will also give you a failure consistency statistic (for example “Failed 8/10 times” or “Failed 10/10 times”) so you know how reproducible the error is. (By the way, in case you’re wondering, app and game testing goes through both automated/machine testing and human testing.)
Determining how successful your masterpiece is in the Marketplace
Once you’re published (congrats!), you’ll be able to keep tabs on how well your app/game is performing in the Marketplace. We provide reporting analytics for you to determine downloads, usage statistics and even app failure reports among other things. That way you can take action based on the information and make informed decisions on how to promote your app next.
Speaking of promotion, we try to be as fair as possible with the featured spots on our Marketplace. If you have an app or game that is great and popular, we do give consideration to your app/game in one of the featured spots. While nothing is guaranteed, I know this is a question that gets asked a lot and the answer is if you build something awesome that lots of users like (by downloading and actually using the app), there is a better chance of getting some Marketplace recognition for your work.
But I don’t build apps for Windows Phone today – in fact I have apps on competitor’s platforms. How do I start?
I’m glad you asked. We recognize that our competitors make great mobile platforms that allow developers to make awesome apps and games. We also believe that your apps and games on those platforms would look even more awesome on our Windows Phone platform! To that end we published some content and guidance on how you can port your masterpieces from iOS and Android onto our platform – again, all for free! While there is no one single bullet (or tool in this case) that will automatically translate iOS and Android code to .NET code for Windows Phone, the resources below provide some great guidance on how to get from A to Windows Phone more quickly.
Calling all iOS Developers!
If you build apps for the iPhone/iPod, we have some great information for you on how to port your app to Windows Phone. Below is a list of these resources:
Calling all Android Developers!
If you build apps for Android, we also have some great information for you on how to port your app to Windows Phone. Below is a list of these resources:
There you have it. Windows Phone represents another channel for you to increase your app’s or game’s popularity across multiple platforms. You don’t need to abandon one platform in order to adopt another – this has been proven time and time again in technology. Clearly, co-existence can be a winner. So if you’re thinking of trying out Windows Phone as your next platform to adopt, hopefully the resources in this post can get you more than started.
Finally, if you are porting your app from another platform onto Windows Phone, let me know – give me a shout on Twitter!
You use Facebook/Google+ to connect with your friends and Twitter to tell the world about what’s on your mind. But what do you use when it comes to connecting with industry professionals and looking for future career opportunities? LinkedIn is a business-oriented social network, where you do just that!
I’m pleased to announce that we opened the official Canadian Technical Students group on LinkedIn.
Join us in discussing the latest in the technical student space, find out about the latest resources and share some of the stuff you’ve been working on. You can use the group to connect with the Microsoft Canada Developer and Platform Evangelism team for all concerns and questions. We are scouting the space on a regular basis and look forward to engaging in your discussions.
See you on LinkedIn!