We're starting a new regular feature here at WPCentral: the developer interview. Basically we seek out some of the of top, the brightest or rising developers to get their views on Windows Phone 7 and the whole process of bringing software to our phones.
This week we have the delight of being introduced to Jay Bennett, what he's been up to, how he views app development on Windows Phone 7 and what he thinks the future holds. If you're not aware of who Mr Bennett is (or what he does), he's an aspiring app developer on the platform who is behind the highly anticipated official wpcentral app, not to mention RateYourBeer (link to Marketpalce)!
Head on past the break for the fantastic interview.
Tell us about yourself, what you do, background around programming etc.
Where to start? I’m Jay, 22 and currently living in Guildford finishing my undergraduate degree in Computer Science. I’ll be moving to London next year where I’ll spend my days working for a consultancy firm. I started programming during my first year of college when I was about to turn 17, originally learning in Visual Basic .NET.
The majority of my experience is in Java programming, as it is the primary language for the University of Surrey’s Computer Science course. I specialise in Java web technologies, specifically dynamic backend/server code as I’ve never been much of a designer, all my web pages prove it!
What path(s) led you to develop for Windows Phone?
I owned a Nokia N97 prior to my Samsung Omnia 7 which was the last straw for Symbian where I was concerned. My Omnia 7 was ordered the day it was available on the Three network and lived up to every expectation I had, so I decided to pick up the Windows Phone SDK to see if I could use it in my dissertation work.
Windows Phone was so easy to pick up I’d created the base of my app RateYourBeer (website) within a week, including 2 days to read through developer documentation etc. It helps that as a Java programmer the switch to C# was very natural, whilst picking up XAML for UI design is relatively straightforward once you experiment with the different layout controls.
Why do you continue to develop for Windows Phone?
Short answer this one, I really enjoy it. There are so many times when I’m working in some languages that I need to stick it out for the long haul to get the persistence layer just right and stable. With Windows Phone development you can make something that’s a joy to use in almost no time. That level of satisfaction in your work is bound to motivate most mobile developers out there!
Do you develop for other platforms, and if so how does your Windows Phone experience compare?
I did delve into Android development very briefly, but despite being in Java I struggled to create a good experience, the lack of a quality visual UI designer like Expression Blend to start you off makes it much harder to get into. Now that I’ve spent some time working with Windows Phone though I’ll probably have another shot at it.
What’s your take on the current state of Windows Phone development?
It’s a very exciting time right now. Microsoft absolutely nailed the development SDK right out the door, yes there are a few API’s I’d like to see (full YouTube integration and an Improved LongListSelector control spring to mind) but developing is simple yet powerful, it’s no wonder the Marketplace’s numbers are rising so quickly.
Where do you see Windows Phone development going in the future?
Ahhhh Mango. Whilst I couldn’t afford a transatlantic flight to MIX11, having watched the keynotes live I was in awe of some of the new features aimed at developers. I think one of the most exciting things we can say about the Windows Phone platform is that Microsoft are clearly aware that whilst they want to improve the platform for the end users, they realise that includes new features for third parties to use. I can only see things improving as MS come up with more and more features and APIs. I’m particularly excited to get my hands on the background audio API…
Given the chance, what’s the one thing you would change about the Windows Phone development process?
I’m actually going to call out two things here, but one is already coming. The biggest pain right now is that the Image control for Silverlight by default makes web requests on the UI thread which can make scrolling stutter as the UI appears unresponsive. There are ways we can work around it but they’re far from simple to implement. Kudos to Microsoft for changing this in Mango, having images automatically load on a background thread will instantly make many applications perform far better.
Second, animations. Whilst the Storyboard implementation is relatively straightforward to use in Expression Blend once you’ve been shown the ropes, all of the awesome selection or page transition animations you see around the OS just haven’t made the jump to third parties. Microsoft provided some page transition toolkit libraries but these tend to be slow and uninspiring. There are several very impressive third party efforts out there for mimicking the OS animations but this should never have been the job of the development community, considering how important animations are to the Metro experience.
What are you working on right now?
I’ve just finished work on the WPCentral for Windows Phone application, I’m very excited to see that go live, as well as get some feedback for the community. My dissertation involving an app for delivering dynamic timetables to student’s mobile phones also had a WP7 app which will be released sometime in the future.
Now I’ll be spending a few weeks preparing for and taking my Finals before I get to work on RateYourBeer 2.0, I’m planning to secure some cloud space to take it global as well as implement some Geolocation functionality, details will be coming through http://twitter.com/RateYourBeer. Of course there will still be plenty for me to do on WPCentral’s app, I have every intention of supporting it and continuing to develop it. The first feature I’d like to see us add in is commenting on the device.
What were the main obstacles (if any) you overcame during development of your apps?
For RateYourBeer the biggest obstacle was actually how to upload images to my server. The website uses a standard POST form and there’s no default API in Windows Phone to upload pictures to a web form. Using the developer forums I found some code for posting pictures to Facebook that I was able to adapt to be more generic, I’ll be sharing that class on my blog at some point for anyone else with the problem.
With WPCentral, a good way to integrate YouTube was certainly one of the issues, but there weren’t a tonne of technical challenges really. It was all about designing the UI to hopefully be very intuitive, readable and a delight for people to use. Figuring out animations probably ranks as the biggest challenge in that regard!
Thank you so much for your time. Any parting thoughts for the Windows Phone community?
Perhaps the best thing I can say to the community is to stay enthusiastic. Show your Windows Phone off to friends and family then watch them enjoying the experience so much they go out and buy their own! Honestly the most important thing is to support developers by buying the apps you really enjoy. It’s my belief that the Android Marketplace is in trouble because it’s flooded with free applications that bombard users with adverts. I know several Android users who never buy applications and it’s a big shame because it just leads to potentially damaging ‘innovations’ like in-app micro purchases. I’d hate to see it happen to the Windows Phone Marketplace.