Today at Mix10, Microsoft released the developer tools for Windows Phone 7 Series. I’m excited about seeing what apps will get built now that there is general availability of the Windows Phone dev tools. That’s general availability, as in for everyone!
Charlie Kindel (if you aren’t, you really should follow him) was nice enough to get me access to the tools about 3 weeks ago, despite the fact that he and his team have had plenty on their plate since going public with WP7. I have spent some time in the last few winks building and tinkering.
A little background on my dev skills. I can write basic applications, and have been known to favor Python when trying out new ideas. I have dabbled a bit with our ASP.NET MVC (MVC v2 just released – way to go guys!!) and taught myself enough C# to be dangerous. What coding I do, I do for fun and in my free time. I call it my nocturnal nerdiness, and have been logging some of my projects using the n00bnotes tag. Prior to 3 weeks ago, I had never written one line of Silverlight (or WPF for that matter) code, nor any XAML. I was really excited to have the opportunity to build apps for this mobile platform, as I once tried to get along with iPhone development, and while it’s clear that Apple has created tools that developers seem to love, I couldn’t get along with ObjectiveC. That’s a me issue, and not a statement about ObjectiveC. I get along famously with Python, but me and Ruby are not friends. That’s just the way my brain works.
With that as a preamble, I wanted to share what I have created in just the last 3 weeks, working largely in what spare time I could find when not doing my day job or dealing with an recalcitrant 8 month old girl who refuses to sleep. The main thing I want people to take away from this is that it in incredibly easy to built apps for Windows Phone 7. If I can figure it out, anyone can. The team has delivered a great development experience built on top of Visual Studio Express. When you fire up the development environment, everything you need is there and you are ready to go. It was a pretty painless experience to get the environment up and running, and it includes templates for Silverlight apps as well as XNA games. While I have only been able to deploy to an actual phone once, the emulator felt like a software version of the phone.
Over the next few days of Mix10, I am going to put up a few posts about my experiences with the development tools, highlighting some of the blockers I hit, how I solved them, and for some of them, how I should have solved them, which I eventually fixed during code refactoring.
In the meantime, I wanted to share a link to the current version of the code. This is my FriendLinks application, built for Windows Phone 7 [UPDATE: 3/24/10 – oh the joy of forgetting to remove commented code with your twitter pass. Ooops…code updated.] You will need the development tools in order to open, edit view. The only disclaimer I make is that the code works. Not all of it is pretty, and in some places I haven’t gone back to fix things I fixed elsewhere (i.e. walking XML for Bit.ly versus for Twitter).
This specific post is about some of the things that gave me the biggest problems in getting started. The app that I built is pretty simple. It’s meant to allow you to connect to Twitter, pull down your friend timeline, and parse the timeline looking for URLs sent by people you follow. I use Twitter for content discovery, and this is my ultimate time waster app. When you click on a link the listbox, some additional calls are made via the Bit.ly API, and the TweetMeme API, to get additional information like the number of retweets that article has, the title of the page referenced and the number of clicks as tracked by Bit.ly.
Read the rest of this entry »