Say what you will about Windows Phone vs iOS or Android, one thing most experts agree with is Microsoft knows how to make really good development tools. Windows Phone is no exception. The Windows Phone SDK, combined with Visual Studio 2010, provide us with amazing facilities to create Windows Phone applications and games with Silverlight and XNA. The best part is thanks to the Visual Studio 2010 Express Edition, you can get all the tools you need to get started from Microsoft for free.
It doesn’t stop there. The App Hub contains a ton of education resources, the MSDN documentation is vastly superior, the community is super active, and there are also a lot of free tools for Windows Phone mobile development, from Microsoft and the community alike… yet my superficial detective work seems to indicate that most Windows Phone developers are NOT using these free tools.
Let’s go over the rough numbers. The hyperlinks point to my sources.
- Estimated No of Windows Phone Developer Tools downloads: 3 million (36K registered devs for 1.5M downloads by 3/11, so with 80K registered devs today, 3M downloads is a fair assumption)
- No of registered Windows Phone developers: 80,000 (as of Jan 11, 2012)
- Estimated total no of Windows Phone apps: 300,000 (built + being built, totally speculative based on the Developer Interest in the infographic linked above where Building seems to be Built x 5)
- Estimated no of developers actively working on Windows Phone projects: 480,000 (based on a ratio of 0.625 published apps / registered developer, same infographic)
- Approx. ratio of Silverlight app devs on Windows Phone: 86% (14% of apps are games, which are less relevant for this discussion, whether they are SL or XNA games)
- Estimated no of Windows Phone app developers primarily using Silverlight: 413,000
What are those free Windows Phone developer tools? The table below shows the tools, the number of downloads, and the wonderful controls they give you. Note that for download numbers, I’m using the most downloaded version/build since we can assume developers download many builds as they get updated.
Windows Phone SDK 7.1
Silverlight Toolkit for WP
Coding4funToolkit for WP
App Hub: 3,000,000 downloads
(estimates, see above)
Total: 68,647 downloads
Total: 1,681 downloads
· Page Transitions
· Color Hexagon
· Color Picker
· Color Slider
· Memory Counter
· Toast Prompt
Assuming the download numbers between the Silverlight and Coding4Fun Toolkits are mutually exclusive (unlikely though), we end up with about 70,328 developers using these free tools, at best. Let’s round up to 80K to be optimistic. The final results are:
More than 80% of Windows Phone developers do not use the free tools! That’s over 330,000 Windows Phone developers! Why?
My theory is that, unlike Java, jQuery and Open Source developers, Microsoft developers are used to having all their tools delivered in one single install (i.e. Visual Studio). They are not used to hunt around for IDE’s, libraries, frameworks, toolkits, compilers, operating system builds and such. I guess you could say that developers in our community have been spoiled by Microsoft’s tools, and they don’t have the reflex to explore what else is out there.
Looking at the table above, the Windows Phone SDK 7.1 (aka the “Mango” release) ships with about 24 controls. The Silverlight Toolkit for Windows Phone almost doubles that number, and the Coding4Fun Toolkit for Windows Phone adds another 15 controls, choosers and prompts to round out the developer experience. That’s 39 new Windows Phone controls… free! And there are dozens of other libraries out there, for the UI and also for other needs, including the following:
There are many more and I cannot list them all here, I’ll cover these tools and libraries from time to time in this blog. The bottom line is simple: These toolkits provide developers with great controls that can be used immediately in Silverlight projects for Windows Phone, and since the source code is available for all projects on CodePlex or Nuget, you can extend them to support whatever enhanced functionality you require. Having a wide choice of controls does not necessarily result into a great UI design, you still need to follow best practices and translate common design principles to Windows Phone paradigms, but more controls certainly gives you more flexibility to create the UI you really want in less time.
Disclaimer: My numbers above are very rough, speculative at best, and can easily be picked apart, but they still point to a solid truth: most Windows Phone developers do not know about these free tools. If anyone, including Microsoft, has hard data to provide me with to refine my numbers, send them to me and I’ll gladly update this post.
Update: Justin Angel challenged my numbers based on an interesting analysis he did in August 2011 and discovered that more than half of the published apps back then used the Silverlight toolkit. However I maintain that this number does not scale up for all apps being built / in development since the CodePlex & Nuget numbers do not add up.
Commercial Windows Phone Toolkits
Beyond the free offerings, some Developer Tools and Component Vendors provide professional suites of tools and controls for Windows Phone developers, like my employer, @Infragistics. Shameless plug, I know, but I’m actually the Product Manager for our mobility tools, and this is an Infragistics blog after all, you cannot blame me for plugging my product after citing all these freebies. Our professional controls go beyond the default SDK and beyond the Open Source options by providing you with highly customizable enterprise-grade high-performance controls for all scenarios, including the following:
Infragistics NetAdvantage for Windows Phone
- Barcode (12+ symbologies)
- Barcode Reader (6 symbologies)
- Bullet Graph
- Data Chart (over 20 types)
- Funnel Chart
- Gauge (4 types, endless styles)
- Custom Message Box
- Window Inputs
- Persistence Framework
- ACS Control (for Facebook, Twitter, Gmail or Live ID credentials)
Our IG Finance application is a good showcase for some of these controls. You can download it from the Windows Phone Marketplace and also explore the source code. This list and these controls will keep evolving, and I always welcome your feedback as you use them.
TL;DR: Over 80% of Windows Phone are either not aware of or ignoring the great free tools available from Microsoft and the community, including the Silverlight and Coding4Fun Toolkits for Windows Phone. They provide developers with great controls that can be used in Silverlight projects for Windows Phone, and can be extended for enhanced functionality. Download and experiment with them now, and if you already have, spread the word to those who have not.
Question: What free toolkits or Open Source projects are you using for Windows Phone development? Let me know in the comments here or on Twitter (@ActiveNick), and I’ll try to discuss them in the future.