This week we're joined by Chris Field, developer of the Mehdoh Twitter client, for some insightful advice and experience building apps on the Windows Phone platform. Check out the interview after the break.
Tell us about yourselves and how you got into software development.
Well, I'm 34 now, but when I was about 8, or 9, my parents (sorry I mean Father Christmas!), bought me a Sinclair ZX Spectrum 48k. It came with a rather thick, ring bound, instruction manual and at the back of the manual was the source code to some programs. I was hooked immediately! Sorry to say I subjected my friends (and parents!) to reading out lines of code while I typed them in... "100 DATA 200,10,200,54,20,75,19" etc... Nothing ever worked though! :D There were always either mistakes in my typing or in the printed code itself. That was just a precursor to the real coding, and I probably started developing software properly when I was about 13 or 14. At that time QBasic, and QBasic Pro, was the thing.
I soon out grew that though as PC games such as Wolfenstein started to emerge and the "demo scene" inspired me into wanting to code graphical demos of my own, so I made the shift onto C and x86 assembler. I remember obsessing about clock cycles and re-writing whole sections of C code in assembler just to make things quicker. Heck, I even rewrote the Borland C/C++ 4.0 bootstrap in assembler just for fun! I obviously had far too much spare time back then (I was about 19 I guess) but when the real world, and a real job, beckoned I was bought down to earth with a bump - Visual Basic 3. Since then I've pretty much followed the Microsoft development evolution path right up to where we are now with ASP.NET MVC, and of course, Windows Phone development.
What do you think of Microsoft's platform (from a user perspective) and how do you compare it to competitors?
I think it's a joy to use. It feels every bit the modern operating system. I'd personally still like to see improvements in the notifications side of things - blink and you'll miss a toast notification, but I get the feeling Microsoft would rather developers use live tiles for that purpose which I can understand as that's kind of a unique selling point of Windows Phone. Compared to others though (and I have had an iPhone and an Android phone before) I think the whole experience is just more fun and engaging. iOS has obviously been around for some time now, but I think that's starting to take its toll visually. Static icons just don't cut it any more! Don't get me started on folders either....
What's the number one feature you love the most in Mango?
My first instinct was to say background audio, or even the fast switching (both are fantastic)... but after a bit of thought I'd say it's quite simply the "people hub". It's such an integrated part of the phone and I use many times every day without even thinking. I have my "favourite" people pinned to the start screen, in a group, and I'm immediately notified if they've emailed or text me, and I can phone them up really easily - It's great.
What path(s) led you to develop for Windows Phone?
I originally picked up an HTC HD7 on the day of the UK launch and I was ready to develop! Unfortunately it wasn't to be as the phone kept on locking up on me and I ended up returning it, and I went back to using an HTC Desire (Android). Fast forward to July this year and I had the chance to pick up a sim free LG E900 relatively cheap (~£150). It was about the time that the public releases of Mango were appearing so I gave it another go. At first it was to just play around with, and maybe do some development, but it soon ousted the Desire as my phone of choice, and before I knew it, I was full time with WP7.5! I soon realised I needed two Mango'ised apps... a Twitter client, and a podcast client (I was, and I guess still am, a BIG BIG fan of DoggCatcher on Android). I actually started with a podcast client at first, but I came to the conclusion that I could live with BringCast (looking forward to their mango release!), however I did actually need a mango twitter client, and one with as many bells and whistles as the clients have on other platforms, and so that became my project.
What's your take on the Windows Phone development process?
I think there are a few things that need ironing out... more so with the administration side of things than the development itself but otherwise getting up and running with Windows Phone development is ridiculously easy. Theres an absolute wealth of information out there to help you and the development community is really friendly and welcoming to beginners and experts alike. I'm probably biased as I've been developing with Visual Studio for some years, but I think it really is top of the class when it comes to development environments.
Have you developed for other platforms and if so how does the development process compare?
Like a lot of people I tried to jump onto the iOS bandwagon, and I think it's fair to say that my experiments there were a complete failure. Although if I'm honest the apps I developed were nothing more than cynical attempts at making money :)
Development wise though, given my background, I found iOS development was a totally different beast to things I had done before. Certainly a very steep learning curve for me, and coming from Visual Studio I didn't particularly like XCode. I found it rather basic. Of course, things could have moved on since then as it's been over a year since I last touched it! I gave up on the iOS development in the end as it was detracting from my day job (which is all .NET development).
Mehdoh is a fairly popular app, tell us about the development?
Up until now it's been quite relentless. I started it back in July when I got my phone, and since then have been putting in anything between 2-5 hours an evening, and then as much as I can fit in (without totally neglecting my family) of a weekend. I also do actually use the app a lot during the day while I'm out and about... so I guess you could call that my field testing! My goal was to get it onto the marketplace in time for the Mango roll out, and I think I just about managed that.
Development didn't stop there though and still continues at a similar pace (although the influx of new video games at this time of year hasn't helped!). Lots of features that I still want to add and things that need to be fine-tuned. The feedback from users has been phenomenal though, and they're always providing great new ideas to implement.
What other Windows Phone projects are you working on?
I just started to do some investigation into writing an app for some friends of mine who run a video games website. I don't want to say too much on that at the moment in case it doesn't come to fruition but it's looking like it might be a fun app. Mehdoh takes up most of the time I get for development though.
What advice would you give to other aspiring developers?
Grab the WP7 SDK and go for it! There's a wealth of information and tutorials out there, as well as really helpful people on the MS forums and twitter (search for the #wp7dev hashtag). I would also say that even if there's an app out there already that does what you wanted to develop, then do it any anyway. You may find a better way of doing it and you'll have some fun developing the app along the way. You never know, you may even learn something :-) Don't be put off by what others have done.
Thank you for your time. Any closing words about WP7's future?
Thank you for having me! This is just the beginning for WP7. I think it's very exciting times and I'm personally excited by Microsoft wanting to make Windows Phone "the best camera". Also we have Nokia going great guns with their marketing campaign, and I hope they maintain that momentum into the New Year and through to the launch of Windows 8 when things will get REALLY interesting!