Q1. Andrej - please introduce yourself briefly (experience, interests, key projects, etc) and tell us more about the application you created - what are the key functionalities, major differences from other similar applications on the market, why do you think people would want to install this app on their WP7?
A. My name is Andrej Tozon and I’m working as a contractor with my own company in Slovenia. I’ve been developing for Windows for nearly 20 years now, working through a lot of technologies and languages in my past. Currently, my primary work interests are Silverlight, WPF and, lately, Windows Phone 7. I’m also a Client Application Development MVP.
My first WP7 application, Hey weigh!, is a simple weight tracking tool, which you can use to track your weight. It’s a very basic, free app that lets you enter your weight for a day and keeps history for last 30 days. History is, besides in a scrolling list, also represented by a line chart. I wanted to keep it simple and clean so I only included those features I myself thought I needed to track my weight, so I could also say that it was a very personal project :) If that basic feature set and the looks appeal to other people, that’s great. There are other similar apps on the marketplace, offering additional features and users may find them more useful than mine. And that’s what’s so great and important about taking part in the large, global marketplace – you offer your vision of an application and watch the users all over the world responding to it.
Q2. What was the motivation behind creating this application? How did you get the idea?
A. I think the key moment came around last Christmas, when people were led many discussions about food and having to take care when and how much to eat. Needing to control my weight myself occasionally, a weight tracking application seemed like a perfect warming up application that would lead me into the world of actual Windows Phone 7 development. I wanted to learn about the whole WP7 development lifecycle, including publishing to the marketplace, so I chose to do a simple application that I would offer as free, as free was (and currently still is) the only way I could get the application on the marketplace.
Q3. What were the challenges you faced when moving from Silverlight to the phone environment? What are the common difficulties a WP7 first-timer may face while developing his first app?
A. Being used to Silverlight 4, there were some initial hiccups with regard to lack of APIs, which is due to the fact that the Silverlight version on WP7 is based on a Silverlight 3. You just need to forget a few things you learned when developing with Silverlight 4. You also have to pay a lot more attention to how your application performs on the phone - there is fortunately plenty of reading available on the web in this area. One last thing to mention is you have to be very familiar with application design guidelines and marketplace submission requirements so you can design your application right from the very start. And don’t forget – even when you start thinking you’re very well read on the whole WP7 development story, the real fun begins when you get your hands dirty and put your theory into practice.
Q4. Could you reveal some tip, some solution you used to work around a specific problem faced during the development of your application?
A. There was one thing I wanted to get into the application and that was making data entry as simple as possible. I started with a simple text box but soon ran into many problems. I set textbox’s InputScope to “Number”, which limits data entry to numeric characters. But this setting wasn’t working out because user could enter other characters besides numerals, which called for entry validation, etc. I also thought that manual entry wasn’t the best approach anyway, because with weight tracking, every new entry is only a slight modification of a previous entry, so why force user to delete and/or retype the whole number, if there are better ways of adjusting the weight?
So I came up with an idea of a custom number picker, which I based on the existing DatePicker that’s part of the Silverlight Toolkit for Windows Phone 7. The looks and behavior are similar, except that here you’re entering a decimal number instead of a date. The weight entry is faster this way because you only need to adjust the number tiles a bit to reach the new number and confirm it. No manual text entry is required at all.
Q5. Have you faced any performance challenges with Hey Weigh!? Was it hard to optimize your app so it may run smooth on the device?
A. Not really, because I wanted to keep application very simple and lightweight, but at the same time, I did want to try and put to work some of the performance guidelines that are emerging on the web through various weblogs - for example minimizing the (de)serialization time and data size, or loading data in the background after the application starts to ensure application shows its main screen as soon as possible.
Q6. How do you see the future of WP7, and applications for WP7?
A. I think the future of Windows Phone 7 looks good. Let’s not forget that this is first a phone first, and everything else, like it being an application platform, comes second. At least that’s how I look at things. Calls should be very easy to make and the phone (its OS) shouldn’t get in the way. WP7 does a good job with integrating with different services and social media networks, but there is still a lot of room for improvement. We’re only using the first version of phone’s OS today, so I’m very confident in that experience will only get better in the future.
Windows Phone also makes a great application platform. Developers love it because it’s easy to program against, and those with previous experience with the .NET platform (and Silverlight in particular), they should feel like at home. The marketplace is growing bigger every day and there are some really great apps out there. OS performance improvements aside, my only wishes are that their prices stay in a reasonable range, to see more free apps and for Microsoft to enable every developer in the world (regardless of their country) to publish their apps (free or paid) on the marketplace as soon as possible.
Q7. What other ideas for next WP7 applications do you have?
A. I have some ideas for my next applications, a couple of them games, which I would love to discuss about, when they get ready to publish and I could publish them myself, under my name. Unfortunately I don’t have a developer account myself, because Slovenia is not one of marketplace-supported countries; however, our local Microsoft office (their DPE team) was kind enough to publish the application in my behalf, which I thank them for.
And with hopes for these marketplace-related issues to be resolved soon, I thank you for inviting me to have this interview.
Thanks for sharing your first experience with WP7, Andrej! Looking forward to see your next applications on the WP7 market!