Last week I attended the Microsoft Mobile and Embedded DevCon in Las Vegas. I know what you're thinking: "Vegas - that's pretty far from Chicago." You're right, but hey, sometimes you've just gotta take one for the team.
Keynote
The conference started out with a keynote by Peter Knook (Senior VP Mobile and Embedded Devices Division and Communications Sector) and Todd Warren (Corporate VP Mobile and Embedded Devices Product Group). It started out with some graphs and numbers around MS's mobile charge. Cited were 5-10 million mobile email Exchange users, a dominant market share in the commercial POS embedded space, and the first ad campaign to create demand. It was also announced that the Windows Mobile Certified Software Catalog, a place to find mobile apps, will begin to play a more prominent role alongside windowsmarketplace.com.
The entire Windows Mobile family was discussed - .NET MicroFrameowork (watches), Windows Embedded (CE devices, POS), Windows Mobile (PPC, Smartphone), Windows (tablets, UMPC). The Windows Mobile roadmap was laid out and included the following hightlights: The next version of Windows Mobile will aim to release in 2007 and focus on improving business productivity. Cheers went up for the soon to be released Windows CE 6.0 which will support 32,000 processes (1000 times more than current) and 2GB memory (32MB before).
Then it was demo time. We saw a plethera of solutions built on the Windows Mobile platforms - a mini robot, a theatre lighting effects system, a personal wine cellar managment system, a gas pump, a cash register. One demo showed code being ported from mobile device to the XBOX 360 with only a few lines of code changed (and a mess of resources, of course). My favorite demo was a touchscreen kiosk with 3D video and graphic effects for North Face stores.
Conference Themes
The coference was long and covered a lot. I was focused on the Application Developer track. A few themes jumped out at me as significant.
SQL Mobile is Everywhere.
What do I mean? First that SQL Mobile will soon become SQL Everywhere. See my previous post for more on that. Secondly, SQL Mobile was also discussed as the predominant solution to dealing with data on Windows Mobile apps. Extremly interesting were discussion on why DataSets shouldn't be used with SQL Mobile. Why? Because you already have an in memory Database and DataSets are for disconnected scenarios. There is no need to duplicate data in memory, especially on a resource-strapped device. So what do you use instead? SQL CE ResultSets. They almost as easy to use and offer 3-4X performance improvements. This may be a topic I'll dig into later.
Best Practices for Mobile 5.0
What are they? Well, the Patterns and Practices group has been working on just that and is looking to release a set of application blocks to help developers. The one that looked most interesting to me helps developers deal with the difficulties of writing an app for multiple screen layouts, orientations, and resolutions. Some base code pieces allow you to get a multi-layout design time experience. Pretty cool. One other big piece coming from P&P to the WM5.0 platform is the Composite Application Block. Seemed like a bit of little overkill for mobile apps, but there may be good use cases for it. I see the power in the CAB block but have yet to work with it enough to know if the steep learning curve pays for itself in the ability to scale out a team and build extremely pluggable functionality.
Certification
Lastly, there seemed to be a big push for cerifying apps via the Mobile2Market program. It basically says that you play by the MS recommendations for UI design and resource use. It gets you the ability to distinguish your app with the Windows Mobile logo. And it gets you listed in the catalog. Since I'm more interested in custom development than "shrink-wrapped" apps, I may be a bit skewed in my views on this, but it did seem a bit pushy with little bang for your buck. Maybe some ISVs will disagree.
Conclusion
MEDC was full of info - way to much to recap here. I'll post about any topics I dive deeper into.
Oh, and I ended up $75 for the trip. Not bad considering drinks were costing me about $80 bucks a piece at one point!