These postings are provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use.
Paul LabergeDeveloper Evangelist
Frédéric HarperDeveloper Evangelist
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:
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:
By now, many of you have probably seen the news that carriers around the world will start pushing updates very soon and through the next couple of months. It’s exciting because many that have seen and used the Mango update for Windows Phone in its beta format have seen it to be a very usable, interesting and viable platform that rivals any of the mobile platforms out there today.
Like you, I’m excited as well. I have been running the beta (build 7712) version of Mango on my own phone since around late July and it’s made me much more productive on the go.
So, with all that said, when can you expect the Mango update to be released by the 3 major carriers supporting Windows Phone in Canada? The answer is “soon”. I can’t tell you the exact date because that is something that is managed not only by Microsoft but also by our carrier partners, so saying a date right now on this blog would make a commitment not only of Microsoft but of our carrier partners as well. I can tell you Canadian users waiting for Mango will get it in the publicized timeframe that Eric Hautala statedin his post (which I linked to above), however.
What can you expect in your Mango update? Well, here’s a few of the features that I love:
So where can I check in on my update and scheduling by my carrier? As with previous updates, Microsoft will hold the latest information on the Where’s My Update page on the Windows Phone portal. Right now (as of the publication time and date of this post), there’s 3 updates listed, all showing “Delivering Update” status. As an FYI, none of these updates are Mango (7008 was the initial test update from January, 7390 was the NoDo update in March which introduced copy and past among other things and 7392 was a security update from April that fixed a certificate issue).
So stay tuned and rest assured that the Canadian carriers supporting Windows Phone will be pushing out your update in a timely fashion!