I reviewed the actual hardware in my last post, and next I'll do the OS itself, but I wanted to record a few thoughts about developing for the phone. Baby Stopwatch is hardly complex, and wasn't hard to develop, and that's kind of the point.
If you're not writing a game, you're probably using Silverlight. Silverlight has somewhat of a learning curve, in that you have to understand layout and the way the threading works against the UI. If you've used it for a browser or out-of-browser app, it's not foreign territory. Beyond that you need to learn about the way the phone apps start and stop, and how to deal with the local isolated storage to save state as necessary. None of it is that hard to learn if you already get C# and basic object-oriented development.
The tools are pretty solid, which is not surprising because they had a lot of baking time, something like seven months before the phones. Visual Studio is already a pretty awesome tool, so again, if you already use it those skills are transferable. Spinning up and deploying the app is pretty fast overall, though it's not like I was building a huge one. The only thing that I found to be a negative was that the phone emulator won't work in a VM, which is a bummer since I tend to run Windows in Parallels. I had to spin up a Boot Camp partition just for this.
The submission process to the marketplace is dead simple. Once you sign up ($99/year), you upload the .xap, some icons and screenshots, and the automated system does what appears to be an overall smoke test to your app, clicking buttons and navigating around. If it finds something, I think a human pokes around. For example, on my first try, it found that if you push the back button after trying to set a background photo, it bombed. The person wrote up steps to repro and it was easy to fix.
I don't think they work on weekends, but otherwise the turn around seems like a day or so. They've finally got reporting up and running, so I have some idea about how often it gets downloaded.
Overall, it's a pretty satisfying and relatively easy experience. At this point I'm just thinking about other apps to build. I'd like to do something a little more robust, I'm just not sure what. I think the ease bodes well for apps. The exploration of the marketplace is the thing that has to improve at this point. I imagine it will evolve.
No comments yet.