I attend a fair number of user groups, code camps, conferences, etc., in Portland and Seattle. Basically if it’s a developer-oriented event then you can probably count on seeing me there. I see developers covering a wide range of interests and specialties. I must admit, that I am continually amazed regarding the population size of mobile developers. Let’s be honest. It’s small. No, it’s very small.
Almost every developer is intrigued by the current opportunities in mobile development. Most will tell you they want to start developing apps, but they don’t have an idea. Many have downloaded the development tools for one of the platforms. Some will even take time out of their schedule to attend a full day of training (either free or paid). A few of those have actually built an application and deployed it to their personal device. Very few have gone on to publish an application.
Are you thinking of getting started in mobile development? If so, then you should seriously consider building apps and/or games for Windows Phone.
As you get ready to start your mobile development career you must first pick a platform. There are many reason for selecting Windows Phone rather than Android or iPhone. I’m going to try and outline some of those reasons in this post, but we should really be having this discussion over drinks or a burger where it can be an actual conversation. This topic of where to focus your energies as you prepare for the next step in your career, it’s a very personal topic and one you feel pressured to get right the first time. You don’t have time to learn and do everything, which is why you’re first picking a platform to invest in. You’d be crazy not to try and learn from those who have gone before you. It would be nice not to make some of the same mistakes.
What you’re looking for is advice and perspective, not answers and instructions.
The case for Windows Phone
Here are 10 reasons for why you should select Windows Phone for the next step in your career as a developer. This list is by no means complete, but it will have to suffice until you pull me aside and we have this conversation.
1. Use your existing knowledge and skills
Most of the people I talk to are .NET developers. They’ve developed in C# or VB.NET and are familiar with the Microsoft stack and how to solve problems using the .NET framework. They’ve invested time in learning WCF, WPF, Silverlight, and LINQ. For them jumping to Objective-C and learning a new set of libraries is a scary prospect. Windows Phone represents a huge opportunity in moving to mobile development while leveraging the skills and knowledge they’ve spent years investing in. If this scenario applies to you then can understand why I ranked it as number one.
2. The Metro design language
Metro is the design language for Windows Phone. It focuses on typography and content, and in presenting everything in a very clean fashion. Metro removes any unnecessary chrome and removes all unnecessary clutter. Metro apps are easy to use and those who use them don’t become lost or overwhelmed. Metro also presents a great opportunity for developers to start growing their designer skills. Metro is also easy for developers to learn. You’ll quickly break those old habits from years of designing ugly applications in VB6 / Windows Forms. I think everyone will concede that having even basic design chops makes you so much more valuable as a developer. You’ll start to be viewed as someone who can conceptualize and capture the vision of a product. That’s a high-value skill which is easily recognized by upper management.
3. World-class tools and support
Microsoft makes the best development tools in the world. Period. Their tools make you more productive in development (Visual Studio), in testing (Windows Phone Emulator), and even during design (Expression Blend). Building with these tools or using an add-on like ReSharper doesn’t mean you’re a “weak” developer. Instead it shows a level of understanding and maturity. A good comparison would be choosing to use a nail gun over a hammer when building a home. Sure you’ll break out the hammer occasionally, but you’ll get most of your work done with that nail gun. When you’re developing for Windows Phone you take advantage of that amazing tooling and emulator support. This translates to faster development, fewer bugs, and a shorter development life cycle. That then leads to more applications being built, more success stories, and ultimately more profit. I should probably also mention that the tools for building Windows Phone applications are free.
4. The Windows 8 effect
Arguably this reason could have been number one, however Windows 8 has not even been released. Let’s think about this. Windows 8 takes advantage of the Metro design language. Metro now becomes the common design theme across the three screens (PC, Xbox, Phone). Let’s be honest, once Windows 8 is released then every PC becomes an advertisement for buying a Windows Phone. I saw a guy selling a laptop on the home shopping network, and he kept chanting how the world runs Windows, and Windows is what you know, and you won’t get lost when you use it. Techies will purchase a Macbook Air and an iPhone or Android. The rest of the world will purchase Windows 8 and then have their first smart phone be a Windows Phone. I’m generalizing and I shouldn’t be, but we all know there’s more truth in that statement then we’d like to admit.
I don’t know how many iPhone and Android devs I’ve talked to, but the majority have dismissed Nokia and its ability to have a positive effect in Windows Phone sales. They won’t be saying that after today. *grin* Monday night during Mobile Portland I had a chance to listen to George Kurtyka talk a little about what Nokia is doing with Microsoft. Nokia has an established reach into international markets such as India and China that is simply amazing. However, only two phones were announced today, and the Lumia won’t even be in the US until early 2012. Let’s be honest, they’re just getting warmed up. By the end of next year, Nokia will be selling a ton of phones. You don’t have to take my word for this. Wait 4-6 months and then see what the landscape looks like. But don’t look only in the US, look in Europe and Asia. By the time your kids are out of school for summer vacation you’ll know whether the Nokia partnership was an absolute success or an horrific flop. I’m pretty confident it won’t be the later.
Today it was announced there are just over 35,000 apps in the Windows Phone marketplace. That means there’s still opportunity for you to build an app and have it be successful without any marketing. However, one thing I really like about Windows Phone is how the new marketplace in Mango highlights more apps in each of the different hubs. In addition there’s now a web version of the marketplace where I have dedicated web pages for each my apps (e.g. Alchemy, RunPee). Anyone who has a Windows Phone can now purchase and install apps directly from those web pages.
7. Monetization – Ad Revenue
There’s money to be made with free apps which display ads. The first key is to have an app which users will keep coming back to. The second key is to display ads which are relevant to your app. There’s a concept called eCPM which is essentially how much you get paid per 1,000 ad impressions. Yeah, it’s nice to know you get paid just for showing the ads. However, what most people don’t realize is that those eCPM values will increase if users click on the ads. Because more clicks lead to a higher eCPM, your primary concern should be how to generate more clicks. Consider that users are starting your app because they are interested in it, so why not show them an ad which they’re more likely to click on? If your app displays movie reviews, then it makes sense to show an ad related to movies in theaters, or home entertainment systems, or even DVDs for sale. Starting in April of this year I’ve had one app make over $5,700 with over 8 million ad impressions. Beginning in August I saw my eCPM values double from what they previously were.
8. Monetization – App Sales
If you make a quality app then people will pay you good money for it. And they won’t just pay 99 cents; they’ll pay 2 or 3 dollars. I’m not sure if it’s the effect of having Xbox titles on the phone or something else, but this platform is not like Android. People purchase apps on Windows Phone. Don’t get me wrong, folks love to have free apps. However, they aren’t afraid of purchasing an app provided they can see the value of the purchase. For the last two months the royalties I’ve made on my paid apps have been double what the total ad revenue is for my free apps. Again, the onus is on you to create a quality app. If you think you’ve built yourself a winner then don’t be afraid to charge for it.
Not everyone has the stomach for starting a new company that’s building a mobile app, especially if it involves quitting their day job. Regardless of whether you’re even considering such an idea, you should do yourself a favor and become familiar with Microsoft’s BizSpark program. This program is an absolute must for any startup. Microsoft understands how important innovation from new startups is to the overall ecosystem. They also know that 80% of all startups fail. Thankfully Microsoft has made it easy and cheap to get into the program, and easy and cheap to graduate after three years. Not all, but some developers learn they have the “innovator’s itch”. If you find out that you’re one of them then the BizSpark program and support it brings is a great reason for developing on Windows Phone.
10. App Contests
Folks laugh that Microsoft keeps promoting contests where you can publish an app for Windows Phone and either win a device (e.g. phone, slate, Kinect, etc.) or free advertising for your app. What they don’t realize is that members of my local user group have won 2 windows phones, 1 Kinect, over $1400 in cash, and at least 4 apps have won free advertising. There are two high-value contests happening right now. In the first contest you can win one million ad impressions for your app (details). In the second contest you can win either a Samsung Series 7 Slate and/or free advertising for your app (details). For the second contest you’ll need a promo code (use KWHIT). Advertising has a huge impact on how successful (or not) your app is, just ask the folks building for iOS. These contests represent huge opportunities for success, so get your apps finished, published, and submitted to these contests ASAP. See Cigdem Patlak's blog for a more complete list of contests.
Areas of concern (why not to choose)
I didn’t like writing this next section. It felt like I was taking cheap shots at the friends I have on the Windows Phone teams and that wasn’t my intention. However, I felt I needed to include this to provide an honest and fair perspective for you readers. Of course there are areas where Windows Phone is lacking right now. Are they deal breakers? If not addressed, then absolutely. Will Microsoft address and remedy these issues? Why wouldn’t they? I mean, isn’t this what the whole “reset” was about? Microsoft taking the time to get it right? Or did they already have the reset and now we should expect them to be firing on all cylinders? No, we’re still feeling the effects of that reset, and unfortunately Microsoft is still playing catch up.
1. Missing: “Amazing” Success Stories
The types of stories I’m talking about are those where someone releases an app/game and after 6 months it’s made over $500K in sales. Those stories happen routinely on the iPhone and even occasionally on Android. To my knowledge there has not yet been a success story of this magnitude on Windows Phone. Notice that I said “yet”. I want to be one of those success stories (I mean, who doesn’t). I also need there to be a few of these stories which I can then point to as I answer the critics I face. I believe it’s only a matter of time. Within the next 4-6 months I fully expect these types of success stories to become routine.
2. Missing: Monetization – In App Purchase
Earlier this summer it was confirmed by Todd Brix that In App Purchase (IAP) was a high priority but would not be included for the Mango release. Two months later during the BUILD conference the Windows 8 App Store was announced with support for IAP. During GameFest I attended a session on the new in-game purchase API which uses Microsoft Points and is only available to Xbox Live titles (e.g. Beards and Beaks). In my opinion, not having IAP is akin to not having copy/paste. It appears that the Windows 8 and Xbox Live teams would agree with me. Who knows, maybe there will be an out-of-band update similar to Nodo just for IAP. It really, really hurts not having this feature. Hopefully we’ll get some news on it around the MIX or MWC timeframe.
3. Missing: Enterprise Support
From the beginning Microsoft has announced that the first release would be consumer focused. Mango is still part of that first release (e.g. the version number is 7.5). Yes there’s SharePoint integration on the phone right now, but I’ve been told that isn’t enough. So exactly what is needed? Honestly, I couldn’t tell you. What I do know is that there is an enterprise application development model for the iPhone. I also know we don’t have that model for Windows Phone. I’m sure there’s more beyond just that. I don’t expect Microsoft to leave this area alone. In fact, I don’t see how they could. I mean, we’re talking about Microsoft and they understand the enterprise's needs better than anyone else.
4. Missing: Native Support
I used to think this wasn’t an issue. After attending GameFest and talking to folks at EA Canada and Unity I started to get a glimpse of how important it really is. At BUILD I saw Windows 8 making a big deal about native code and not talking about XNA. Now I finally understand that XNA isn’t the be-all-end-all solution I once thought it was. Don’t get me wrong, I still love XNA. However these big game studios have an amazing amount of influence. Consider that they will be making games for the Windows 8 App Store. How are those games going to get onto the phone? Are they going to rewrite them in XNA? Not a chance. I know, because I asked them. Now think about how big of a deal it was to finally bring Angry Birds onto Windows Phone. I’m not going to draw any conclusions, but you have to wonder what kind of influence Windows 8 and WinRT will have on Windows Phone.
I started out on iOS, and then started doing Android and Windows Phone. Earlier this summer I abandoned all my efforts, projects, and opportunities for paid work using iOS and Android. I only develop for Windows Phone. My advice to you? Mobile is super important to your career, so pick a platform and start developing now. Personally, I think you should pick Windows Phone.