What is this talk about? Windows Phone 7 Marketplace Stats Prerequisites : WP7 & Silverlight Research Methodology Interesting Statistics Quick Overview Top frameworks Based JustinAngel.net/WindowsPhone7MarketplaceStatistics
Research Methodology Downloaded WP7 Marketplace on 8/15 Marketplace APIs described publicly Unzipped the downloaded XAPs Asked some questions Got answers
Stat #0: How many apps? Found 24,505 apps
Stat #1: Obfuscation 14.5% of apps are obfuscated
Stat #2: Silverlight, XNA
Stat #3: C#, VB.Net or F#
Stat #4: Cloned apps
Stat #4: Cloned Apps Common issue in all application stores There are reasons to ship cloned apps Lite / Full / Trial / Free versions Books / Magazines DIY Apps etc
Stat #5: All Publishers percentage
Stat #5: Top Publishers percentage
Stat #6: Privileges
Stat #7: Frameworks What are real devs using in real apps? Adoption is a good indicator of quality, applicability & usability. Cut the FUD on frameworks. 25 Lightening overviews. +30 bullet points.
Fx #1: WP7 Controls SDK Microsoft.Phone.Controls.dll is used 14,848 apps. Contains Pivot and Panorama controls.
Fx #2: Silverlight Toolkit Microsoft’s Silverlight Toolkit for Windows Phone 7 is used by 11,169 apps. AutoCompleteBox ContextMenu DatePicker ExpanderView GestureService HubTile ListPicker LockablePivot LoopingSelector LongListSelector MultiselectList PhoneTextBox Transitions TiltEffect TimePicker ToggleSwitch WrapPanel Performance- ProgressBar
Fx #2: Silverlight Toolkit
Fx #3: Blend Behaviours Microsoft Expression Blend Behaviours, Triggers & Actions are used by 6,010 apps. Great for designers working with XAML. “XAML Extensions methods”. Added on other UI elements.
Fx #4: Microsoft Ads Microsoft’s Advertising ADK for Windows Phone is used by 5,760 apps. Monetize on apps using pubCenter. Best of breed Ads WP7 UX, API, support and documentation.
Fx #5: Bing Maps WP7 Microsoft’s Bing Maps SDK for Windows Phone 7 is used by 2,235 apps. Great UX, great API, great docs. Requires Bing Maps key.
Fx #6: LazyListBox Mirosoft’s Peter Torr LazyListbox is used by 1,364 apps. WP7 NoDo had terrible ListBox performance. LazyListBox shows ItemTemplate while LoadedItemTemplate is loading. ItemTemplate LoadedItemTemplate
Fx #7: Html Agility Pack Simon Mourier’s HTML Agility Pack is used by 1,331 apps. Allows to scrape, scan and fix HTML pages with XPath and Linq queries. Handles malformed HTML. Generates HTML from DOM tree.
Fx #8: MVVM Light Toolkit Laurent Bugnion’s MVVM Light Toolkit is used by 1,320 apps. Very basic toolkit supporting MVVM. Messenger – Loosely coupled event bus. EventToCommand – Blend Behaviour that fires ICommands on events. RelayCommand – Simple ICommand.
Fx #9: Flurry Analytics Flurry Analytics for Windows Phone 7 is used by 1,283 apps. Requires Flurry account. Really big with Android and iPhone apps analytics. Organizations with existing mobile apps love Flurry.
Fx #10: JSON.net James Newton JSON.net is used by 1,082 apps. Linq to JSON. JSON Serializer and JSON Deserializer. WCF JSON serializer is incredibly slow and is considered a worst practice.
Fx #11: Coding 4fun tools Microsoft’s Clint Rutkas's Coding4Fun Tools is used by 800 apps. About Prompt Color Hexagon Color Picker Color Slider Input Prompt Message Prompt Memory Counter Password Prompt Progress Overlay Round Button Round Toggle Super Slider TimeSpan Picker Toast Prompt Value Converters Binding Helpers
Fx #11: Coding 4fun tools
Fx #12: Hammock Daniel Crenna’s Hammock is used by 741 apps. REST Requests framework supporting: Async, Retry, Caching, Authentication, Tracing, Serialization and Validation.
Fx #13: Phone Perf Helpers David Anson’s Phone Performance Helpers are used by 705 apps. WP7 NoDo had terrible Listbox Perf. DeferredLoadListBox and LowProfileImageLoader are great for ListBoxes with Images.
Fx #14: WCF RSS System.ServiceModel.Syndication.dll is being used by 670 apps. Parses (or generates) RSS and ATOM into strongly-typed classes and support LINQ querying.
Fx #15: SSME Microsoft’s Smooth Streaming Media Element is used by 604 apps. Using SSME with IIS Smooth Streaming provides video adaptive streaming over HTTP. Contains heuristics to change bitrates based on network conditions and client properties.
Fx #16: Facebook C# SDK Jim Zimmerman and Microsoft’s Nathan Totten’s Facebook C# SDK is used by 603 apps. Fully featured framework to access Facebook data, OAuth and actions.
Fx #18: Google AdMob Google AdMob ADK for Windows Phone 7 is used by 542 apps.
Fx #19: ImageTools Sebastian Stehle’s ImageTools is used by 490 apps. Loads and saves PNG, JPEG, BMP & GIF. Applies Effects (Rotate, Flip) and filters (Sepia, Invert, GreyScale, Contrast, Brightness and Blur). Supports reading Barcodes.
Fx #20: Silverlight Toolkit Microsoft’s Silverlight Toolkit for Desktop is used by 484 apps. Not supported on WP7.
Fx #21: #ziplib SharpDevelop’s #ziplib is used by 432 apps. Supports ZIP, FastZip, TAR and GZip file extraction and creation.
FX #22: MEF Microsoft’s Managed Extensibility Frameworks is used by 398 apps. An IoC framework that doesn’t like to be called an IoC framework.
Fx #23: Analytics Framework Microsoft Silverlight Analytics Framework by Michael Scherotter is used by 373 apps. Supports Google Analytics, WebTrends and 5 additional analytics providers. Supported by UI controls and Blend.
Fx #24: Tombstone Helper Matt Lacey’s Tombstone Helper Stores state for TextBox, PasswordBox, CheckBox, RadioButton, Slider, ListBox, and ScrollViewer with a x:Name property.
Fx #25: Sterling OODB Jeremy Likness’s Sterling Object Oriented Database is used by 294 apps. Client-side OODB storing in IsoStore. Fast and compact.
Fx #26 – Fx #29 Microsoft’s XML Serialization. Alan Mendelevich’s AdDuplex SDK: WP7-only Ads library Noah Hart’s C#- SQLite on WP7. Davide Zordan, Laurent Bugnion and David Kelley’s WP7 MultiTouch Blend behaviours.
Fx #30 – Fx #34 José Ángel’s Widget Library for WP7: Enables WP7 HTML apps. Microsoft’s Media Platform Player Framework for WP7: Fully-featured Video player. Daniel Crenna’s TweetSharp: Twitter framework for WP7. Microsoft’s WCF Data Services: Consume OData services.
FX #35 – Fx #39 John Sheehan’s RestSharp: REST API. René Schulte’s WriteableBitmapEx: GDI+ drawing functionality. Microsoft’s Rx (Reactive eXtensions): Linq to Events state machine. Manfred Dalmeijer’s aldarIT SuperAds: Multiple Ad-Network Silverlight Control for Windows Phone 7.
Fx #40 – Fx #45: Sergey Barskiy’s Windows Phone 7 Database: RDBMS in WP7 IsoStore. Rob Eisenberg’s Calburn.Micro: Fully featured WP7 MVVM Framework. Microsoft’s Windows Phone Shake Gestures Library. Rgelb’s adMob for Windows Phone 7. Microsoft P&P’s Prism.
Fx #46 – Fx #49 Karl Seguin’s Mogade Windows Phone: Server-side game services. Simon McKenzie’s ExifLib: Reads Camera EXIF Data. Jeff Brand’s SlickThought WP7 Trial Manager: Enhanced Trial Logic. amCharts Quick Charts for Windows Phone 7.
Fx #50 – Fx #54 Shawn Wildermuth’s PhoneyTools: WP7 Helper classes. Romeo Dumitrescu’s Windows Phone 7 Isolated Storage Explorer. Jeff Weber and Ian Qvist’s Farseer Physics Engine. MobFox Windows Phone 7 Ads SDK. Damian Karzon’s DropNet DropBox C# API.
Fx #55 Pawel Idzikowski’s sharpSerializer: open source XML and binary serializer.