I’m a Microsoft Action Pack Subscriber. Being in the partner program provides sales and training resources, and also provides internal-use licenses for Microsoft software. It’s a great way to eat the Microsoft dogfood that you’re recommending to your customers. It lets you tell the pros and cons of MS software from experience, not just from sales slicks.
By passing a pretty easy online test, you can also get the software in the “Web Solutions Toolkit”. This additional software includes Visual Studio Standard and the Expression suite. Here’s where the frustration comes in. I was going to create a prototype Windows Mobile app for a customer of mine. I’ve written WM apps in Visual Studio 2005 Standard before with no issues. I’ve since moved to VS2008, of course, specifically the standard version in the MAPS kit. So, I fired up VS, went to the C# project types, and looked for the “Smart Device” projects. Imagine my surprise when it wasn’t there. I figured I was missing an SDK or something, so I downloaded and installed the latest CF 3.5 SDK and Emulators. Still no dice. It was only after doing some Binging that I came upon this thread on MS’s forums. I couldn’t believe my eyes! From VS2005 to VS2008, Microsoft actually made it *harder* to create WM apps. I found another thread on the partner forum, and saw a response from a MS Partner representative, confirming all of this (here’s the link to the thread, but it’s secured).
“Hi Tony, Thank you for the post. I am afarid we have only Visual Studio 2008 Standard Edition included in the Web Solutions Toolkit currently. However, we appreciate your valuable advice and I will forward your feedback to the concerning team for their reference. Hope Visual Studio 2008 Professional Edition can be made available in the future. ”
I proceeded to add my response to the thread.
“I have to add another +1 to this thread. It's absolutely amazing that even partners can't use the provided software to develop Windows Mobile apps. How can we convince our customers to extend their LOB apps to WM if we can't even create prototype apps to show them? That's what I was about to start doing tonight for a customer (I have previously written WM apps with VS2005 with no issues) when I ran into this showstopper. I'm not paying $500+ for an upgrade to Pro just to convince a customer of the merits of WM development. The whole point of the MAPS was to give us the software we need for just this purpose. I'm very disappointed! John West”
My response pretty much sums it up. MAPS is all about giving us the tools to convince our customers that they should use MS software. I’m a firm believer that MS does make the best software, and has the best overall software ecosystem, for businesses. It’s not perfect, and doesn’t suit all scenarios, but it’s the best fit for most. So when I’m not given the tools to prove this to the customers I serve, I get upset. Come on, MS, help us out. We *want* you to compete with the iphone by showing customers that WM also has a good app dev story. We can’t do this when you make it so difficult. Give us the tools we need, and let us help our customers, and, as a byproduct of wanting to help those customers, help you!
I’ve been thinking a lot about Windows Mobile 6.5 and 7.0. Everyone is very focused on the user experience that Microsoft will provide. Will they show the hexes or hide the hexes… Will it have Multitouch or not? Zune integration? Will it be more stable? These are all great questions, but as a developer, none of them are the right question for me. I mean, I want the Zune Marketplace on my WM device, no doubt about it. However, there’s one thing I want more than any other as a developer.
WPF for Windows Mobile!
Yes, that’s what I want as a developer. I want my .net, but I want it pretty and usable. Is that too much to ask? Let’s face it. The .net compact framework is extremely powerful once you get past the UI. But the UI is what makes the experience, and CF is sorely lacking. WM isn’t competing against dumbphones anymore. It’s competing against the iphone and the Pre and others like it. Each of these devices does a tremendous job of making applications easy to use, and, dare I say it, fun! WM, not so much.
Why not WPF?
I can think of a few reasons why we don’t have WPF. I have no inside knowledge; these are just guesses.
Memory? Maybe WPF will take up too much memory on these devices. Newer devices come with a significant amount of memory, so don’t think this is it, at least not with devices that will officially support 6.5+.
Non-touch screens? This is a biggie. Many WM phones don’t support touch. It’s much easier to create a Winform app that can be controlled with buttons than it is to create a WPF app that is built from the ground up for touch. It can be done, but it would take more work. My response to this is that MS could just make WPF for touchscreens only. I’d rather not see this, but I’d prefer it over not having WPF at all.
No developers to get it done? Maybe Microsoft just got caught resting on their laurels when the iphone came out. Maybe they simply didn’t recognize that their UI would be mocked the minute iphone v1 was released and the first comparisons went online. It continues to amaze me how I see small companies come out with great, innovative software that is better than MS, but when MS sets out to do something, it seems to take forever. I have to believe that a WPF v1 could be released in a matter of a few months with the right resources on the job (I hate it when other people do this to me… presume to know how quickly something *should* be able to be done, so I beg forgiveness if I am way off base here).
Those are some reasons I can think of off the top of my head. I’m sure there are more reasons.
Now, there is one wildcard in all this…
Silverlight for Windows Mobile
MS has announced that Silverlight will be released for Windows Mobile. Since Silverlight (v2+, at least) is a subset of WPF, this really shows that it can be done. I don’t count SLOOB (Silverlight Out-of-Browser, in v3) as a viable alternative, since it runs in a sandbox, and therefore is too limited for many apps I, and others, would want to write for WM.
So, what to expect?
I have no expectations. I wish I had inside knowledge. I have none. I was extremely hopeful that MS would announce WPF for WM at Tech-Ed, but they didn’t. I’ll continue to hope. [More]
I have an AT&T Fuze with the original, stock Windows Mobile 6.1 installed. I have tried repeatedly on two different machines to get Internet Sharing working over either bluetooth or usb. No dice. Finally, I stumbled on this blog: http://stevenharman.net/blog/archive/2008/10/03/windows-mobile-internet-connection-sharing-hack.aspx. The important part wasn’t how to hack the registry. What I needed was to know that the AT&T ISP connection needed to point to wap.cingular instead of isp.cingular. I made that simple change and my connection worked flawlessly! Hopefully this helps someone else. [More]