My first Windows Phone Apps: TinyText free text messaging and more

Like a couple thousand employees I'm too developing a few windows phone apps on my moonlight timeJ. It has been a pleasant surprise to find the tools and training material to be quite useful, if anything I would expect that a bit more structure and code samples will be added over time to the official SDK. Long story short I have developed two applications that have helped me learn the basics. If you haven’t take a look yet, App Hub has everything you need to get started.

Game Tracker. This is a simple utility for folks that like board games and still want to play them old fashion, using the actual board :) The app helps to track the scores and time of each player. At the end of the game the app displays stats and graphs and it even allows to store a picture of the board game, my friends and I like to do that a lot for scrabble games, we usually come up with very, let’s say inventive, words :) Get it here: zune://navigate/?appID=2f5f9dea-c608-e011-9264-00237de2db9e

TinyText. Do you like to pay for SMS in an era where most smartphone users have unlimited data plans? Well, I don't, it is non-sense! And that is why I developed TinyText, a small messaging app. The UI is very similar to the native SMS client. Once you download the app it allows you to send unlimited text messages to others that are also using TinyText. You no longer have to be jealous of your BlackBerry friends; you now can have free chats too with folks that have a Windows Phone … I’m particularly proud of this one as I know for a fact that at least my wife and I will use it every day J

Get it here: zune://navigate/?appID=f7b0d554-b70c-e011-9264-00237de2db9e

Things that I learned (besides the obvious)

· Don't forget the back button. The first two times that I submitted the apps for certification they failed for silly yet important reasons. First I didn't remove the Chrome of the emulator when I took the screenshots to be posted on the marketplace and second and more important IMO is that I didn't fully test my apps to ensure that the back button worked as expected. The apps didn't crash but the action of the back button was a bit confusing so I had to fix that. I do hope that more automated tools exist in the near future to test an app before even submitting it for certification, MS and developers could save a bunch of money and time by performing a standard set of tests offline.


· If you want to take advantage of push notifications there is no escape, you will have to have a cloud service to orchestrate stuff. I naively thought that I could figure out a way not to setup a service and still offer notification for my apps; no sir, the way notifications are currently designed forces you to have a cloud service on your own. Wouldn't it be wonderful if we could bundle a free (or cost effective) Azure offer for Windows Phone Apps that require a service? I ended up going with GoDaddy to host my service for ~$6 a month. Who knows, if the service really takes off I might migrate to a more scalable solution J


· Silverlight toolkit for Windows Phone. Want to add some additional cool controls to make your apps look more like the native apps that ship with windows phone? the SL toolkit is the answer. What about the full SL toolkit? well, it does work too for WP7 with some tweaks. In my case I wanted to use the graph controls (charts and so on) and the only way to make them work (back when I tried it) was to use a tweaked dll from this fellow:


· I like the Pivot Control better than the Panorama. You will find different opinions on the matter but I personally like the Pivot Control better than the Panorama one, why? The interaction is cleaner, less "draggy" so to speak. Very few apps really need a gallery- like landscape mode and even those that do end up slowing down users more often than not. So my recommendation is to stick with the pivot control.


· Facebook integration, a bit of a pain. Until a fully fleshed toolkit is released specifically for windows phone I highly recommend using the browser control + JavaScript and a service (e.g. hosted html/aspx) to do your Facebook interaction instead of trying something fancier. I looked at both the “toolkit” at  which doesn’t seem to work on WP7 without some tweaks and also looked at which seemed more promising but didn’t have the documentation and downloads ready when I needed them. Net just look at the JavaScript samples that Facebook provides and you can do the rest using a browser control in WP7.

· PowerPoint is your best friend to create nice looking graphics. You don’t have to be a photoshop whiz. With PowerPoint and Paint.Net you should be able to create most of the graphics (e.g. icons) that you will ever need for a WP7 app. Also Binging for “Free icons” will yield a bunch of sites that offer free icons, just make sure that they are also available for “commercial use” if you plan to charge for your application.

I probably missed something so I might augment this post in the future with some learnings. Oh, yes, I couldn’t finish this post without saying, I LOVE MY WINDOWS PHONE 7 !!! J