Did you know that there are mobile platforms for developers outside of Symbian, Blackberry, iPhone and Android devices? It's true. They (will eventually) live among us.
A software company located near Redmond has pre-released Windows Phone 7. For those wanting to use the latest hipster acronyms simply refer to Windows Phone 7 as WP7.
So put down that copy of iPhone Fanboi Beat or Android Fancy and let's take a closer look at WP7, the latest entrant to the world of mobile platforms available to mobile app developers.
Everything You Always Wanted to Know About WP7 But Were Afraid to Ask
The information collected for this article was gathered during the Windows Phone 7 Firestarter event and MSDN WP7 Evening Hands On Phone Garage Workshop held in Raleigh, NC. Secondarily, developer specific information came from direct contact with an extremely helpful and highly motivated Microsoft evangelism team. Links to resources and a calendar of additional WP7 events are included below.
WP7 is very new and very few people have seen it running in the wild. Fewer still have physically touched devices running WP7. Internally, Microsoft would use terms like pre-release and is quick to qualify the message around WP7 as targeting existing Microsoft developers. The language and presentation style of events to highlight WP7 support and highlight existing Microsoft developer narratives. That narrative is crystal clear: start building WP7 apps right now.
Of course, being pre-release and having few actual WP7 devices in the field didn't stop people from forming an opinion on WP7 months ago. So, if you were wondering about the realistic non-iPhone fanboi and non-Android fanboi possibilities, continue reading.
Finding Your Inner Firestarter
While this next video does not highlight actual Windows Phone 7 Firestarter content it does highlight the vibe Microsoft is going for with the WP7 release. With WP7, Microsoft is all about a real-time consumer mobile web, gaming, and personalized content delivery -- not ITIL, not enterprise apps, and definitely not spreadsheet and powerpoint demos.
Microsoft wants to grab the hearts and minds of developers that are or want to be twisted firestarters.
Microsoft's WP7 Firestarter approach is targeting more than the existing base of Microsoft PC application developers. By going after the hearts and minds of anyone wanting to write applications for devices, Microsoft is playing to two groups that are not necessarily phone oriented: Silverlight developers and XNA developers.
First, Silverlight developers already build popular web-based RIA solutions. Now, Microsoft wants those same developers building Silverlight apps for the phone.
Second, XNA developers already build popular games for the PC or for Xbox. Again, Microsoft wants these developers to harness XNA to create insanely great 2d and 3d games for the phone.
Of course, mobile platforms represent a potential revenue stream and a marketing or customer engagement channel. Just as the "now available on iPhone" gave way to "now available on Android", Microsoft is anticipating WP7 will become the next widely adopted consumer friendly mobile platform.
As a developer, you might wonder how many mobile platforms are enough vs. too many. That said, most pragmatic mobile developers would do well to learn how to build apps for all the major platforms in addition to understanding the associated costs and hurdles to doing so.
Hardhat and Fire Fighting Gear Requirements
Presently, there is limited availability of WP7 devices. That scarcity of WP7 devices means most aspiring WP7 developers will rely entirely on emulators for now.
The minimum required tools to get started with WP7 development may alienate developers that are not already active in the Windows development community. A review of the release notes for the Beta release of Windows Phone Developer Tools indicates the following requirements:
Supported Operating System
- Windows® Vista® (x86 and x64) ENU with Service Pack 2 - all editions except Starter Edition
- Windows 7 (x86 and x64) ENU - all editions except Starter Edition
- Installation requires 3 GB of free disk space on the system drive.
- 2 GB RAM
- XNA® Game Studio deployment to Windows® Phone Emulator requires a DirectX® 10 or later graphics card with WDDM 1.1 driver.
- DirectX 10 capable card with a WDDM 1.1 driver is needed to take advantage of GPU acceleration on the Windows Phone Emulator for a Silverlight® application. The DX10 card is optional for Silverlight applications.
Some of you might be saying "no problem, I'll just fire this up as a virtual machine on my trusty MacBook Pro". There isn't anything to stop you from trying but that approach may not give you a full experience.
For example, the current WP7 device emulator may not work under virtualization solutions such as Parallels or VirtualBox. During WP7 Garage sessions, developers have successfully used VMware Fusion 3.1.0 Build 261058 with all the tools but there are caveats for simulating multi-touch interfaces with the WP7 emulator.
If you want the best experience for WP7 development you will need to commit to a dedicated hardware investment and may want to review the Setup and System Requirements for Windows Phone Emulator. For example, the most popular laptops were those that also had touch capabilities such as the Acer 1420P.
I'm sorry Dave, I afraid I can't approve that
One of the more fascinating discussions at events highlighting WP7 and the Windows Marketplace for Mobile is the controls around approval and so-called side loading. Here are a few take away items:
- The $99 annual developer fee gets you started and that fee is waived if you are a student with a valid .edu email address
- For Microsoft Platform Ready (MPR) Developers there is a $99 rebate available after two apps are successfully approved to Marketplace
- One month passes to Windows Azure are being offered for general app support
- GeoTrust is used to establish ISV identity (code signing)
- The current pitch to audiences is a 70% revenue share
- There is support for both credit card AND mobile operator billing
- Approval involves a +400 person certification team that run reflection and visual walk through with an emphasis on quality and policy adherence
- Microsoft controls the application approval process vs. carrier involvement in the approval process (emphasis added)
- The carrier owns what appears in their store-within-a-store, which may include apps that are not in the public store.
The term "fair and open" is used during WP7 presentations about the marketplace and goals for the initiative overall. It is obvious that Microsoft is listening for the pain points associated with other mobile platforms that developers work within today.
Even more interesting exchanges between attendees and Microsoft team were related to the enterprise oriented thinking one would expect to find in a Microsoft event. Specifically, enterprise teams will wish to run "their apps" on the WP7 platform. The term side-loading is meant to address this scenario. For example, you might want to write an app that has no use for Marketplace but would be heavily used internally for an organization that has deeper IT customization.
Garage Days Re-Reflection'd
A key element of the Microsoft event strategy for WP7 is a "Garage" portion held after hours. The "Garage" is part hackathon and part education.
Garage attendees reported that it was surprisingly easy to get an an app built. Even for those with very junior developer skills were able to put together quick apps using the free tools as well as Microsoft Visual Studio.
CodePlex projects have attempted to address the lack of devices in the field by allowing those that are without devices (i.e. all of us for now) and those without touch screen laptops to use the emulator by enabling multiple inputs to simulate multiple touch points and gestures.
During the "Garage" session you'll see WP7 acting like a Zune and Windows Phone Developer Tools to access Developer Phone Registration. You get to unlock your phone if you are already registered in the Marketplace (see the $99 notes above). So, in terms of deplying applications you can then use side-loading of apps for setting breakpoints on the actual device vs. emulator.
One such example was taking a XAP file from your Application Deployment to your unlocked WP7 device. So, if someone can send you a XAP you can test it on your unlocked device. The ease of the demos being shared involved someone sending over a XAP file, loading it on the unlocked WP7 device, and sharing the result in just a few seconds. In most cases, code signing and getting approval (from your clients for example) is also something you can use with trial keys or other obfuscation if you are concerned about your code being reverse engineered.
During session breaks you'll see WP7 devices playing music for the crowd. In the recent Firestarter events the musical selection was from various contemporary selections including tracks from the True Blood soundtrack.
What also came up during sessions breaks is the elephant in the room, namely Xbox Live. The storyline and what attendees discussed during breaks was how the gaming strategy is going to evolve.
Microsoft is making a big gaming bet yet again. Only this time the bet is being made in the pocket reserved for your mobile device i.e. that third screen from three screens and a cloud.
Evolving List of Resources
It is worth repeating again that WP7 developer tools are free (see the requirements list above). Your time as a developer, however, might not be so free.
In an attempt to summarize some of the more scattered resources for WP7 information, the section below will provide several links and why those links are worth exploring. Over time one would hope many of these links and resources begin to reference each other but for now, get your bookmark tools ready.
If you are looking for information, code snippets, videos, and supporting resource links you can find the official list on the "dashboard".
If you are a Microsoft Platform Ready (MPR) developer you'll want to immediately jump on the $99 rebate offer and month pass to Windows Azure.
If you are more visual person and want to know how or why you would build for WP7 there is the aptly named "Windows Phone 7 in 7" which is styled after 7 Minute Abs without the fitness models.
After a review of the next link, it is apparent that the information regarding WP7 developer needs is pretty raw in terms of UX and IA as well as the occasional 500 Server Error (popularity?) but you can try hitting reload.
Here's the screen shot so you'll know if you had a successful reload.
The primary links will direct you to download all of the free tools for Silverlight and XNA development, templates and sample code as well as register for Marketplace. Additionally, you'll find links recent activity that provide greater details and key dates to keep in mind such as
"A Developer's Roadmap to Windows Phone 7 Launch Timing" which is an article on the Windows Phone Developer Blog.
For now, the Phone section of other Microsoft properties has a more succinct path to getting a developer onboarding process kicked off faster. If you are looking for a more generalized roadmap you would start here.
For those looking for another solid resource you should head over to Joe Healy's wiki. Healy is a Developer Evangelist with Microsoft and has been collecting resources in his wiki. The tag you will be looking for is Windows Phone.
Something Windows This Way Comes
If you are wondering how you can get introduced to WP7 there are a series of events planned across the US (sorry non-US readers!).
If you are a mobile developer already on other platforms (iPhone, Android, etc.) what would it take for you to attend a WP7 event? Does Microsoft have an appeal that would make you consider the WP7 platform when it is a generally available release or earlier?
Let us know in the comments below!