Developing a Windows Phone 7 Application
Windows Phone 7 (WP7) has been released in the US now for a few months. I’m really enjoying the Samsung Focus (the device I have) and my wife’s Focus has completely changed the way she views mobile technology. She totally digs it.
As of today, in just a few months, there are already over 9,000 apps in the Windows Phone Marketplace. With my dev background, I’ve always known that I would write at least a few apps for the platform; even if to only give me some features I want. As it turns out, I’ve started my first product for the phone. In fact, I started on it about a month ago and a few minutes at a time, I’ve worked on it. I don’t have a lot of time to dedicate to it with all of my other activities and responsibilities, but luckily the dev tools and dev platform for WP7 (Visual Studio and Silverlight, respectively) are incredibly efficient and easy to work with, yet incredibly flexible. I spent some time while I was travelling for business last week working on it in the evenings, and I’m happy to say that I’m almost ready to submit the app to the marketplace.
What is it? Well, as expected by those who know me, I’m sure, it’s an aviation tool. An E6B Computer to be exact. I’m tentatively calling it E6B Gizmo. For those who are not aware of what an E6B is, it is a manual (think slide rule, but round) computer for Pilots that’s been in wide use since the early days of manned flight and is still going strong today. In fact, virtually every student pilot purchases one of these at the start of her training. It allows a pilot to quickly figure out conversions, time until arrival, fuel burn, fuel needed, even crab angle needed to overcome the wind to maintain a desired course, and much, much more. It easily converts knots to miles per hour, helps a pilot figure out what the density altitude is, and dozens of other useful things. It is often used in flight planning, but sometimes is very useful in the cockpit, too, at altitude. There are a bunch of electronic versions of the E6B, but these are single use devices that historically were fairly expensive. Today, E6B usage is probably at an all time low because of the wealth of good flight planning software on the market to allow computers to do all the heavy lifting. Sometimes, though, it is vary handy to have either a manual E6B or an electronic one to quickly compute something important. Sometimes this happens in the cockpit, but just as often, I think, it happens during planning or even during fantasy planning. What is fantasy flight planning, you ask? Pilots, myself included, are always thinking about a great trip they would like to take sometime. When these things pop into our heads, we love to quickly figure out how long it might take in our airplane to get there. We ask questions like, “How much fuel will I burn?” And, “How much will a 15 knot tailwind help me?” An manual E6B is generally a rather ungainly, metal circular slide rule, so it’s not something you want to carry around everywhere you go. That’s where this WP7 app comes in. You always have your smartphone, right? So with E6B Gizmo, you’ll always have a handy, nice looking, and easy to use E6B with you as well. This isn’t a new concept; virtually every smartphone platform out there has at least a few E6B apps. Since WP7 is so new, at least as of a couple of weeks ago, there are no such apps available. There will be. Not just mine, but I’m sure there will be several to choose from. It’s no bother, though, the more the merrier. I’m not trying to make a bunch of money (that doesn’t really happen in aviation ), I’m just trying to dip my toe in the water with WP7…and this is a simple application to develop as my first commercial WP7 app.
Simple from the development aspect, yes, but some of the math involved is extremely complex (which is why these manual E6Bs are so useful…regular calculators will no do, unless you’re a math savant). I’m sure I’m going to have a few math bugs to start off with, but I’ll keep updating it and taking user feedback until it’s the best in the marketplace when others do show up. I’ve got several other ideas, as well, not only for the Windows Phone platform, but web, other smartphones, etc., that have nothing to do with a simple E6B, so I’ll have more apps eventually.
As of today, the Application Programming Interface (API) for Windows Phone is rather limited because the platform is new. There are easy ways to do amazing things…don’t get me wrong. It’s just that some things were left out, presumably because of ship timing. For example, third party apps like mine can’t multitask. With WP7 you can always go right back to an app you were running, but while you’re not in the app, it wasn’t actually running (more like suspended). Also, there is no programmatic access to the built in digital compass yet for third parties. Word on the street is that later this month we should get a glimpse into the next revision of the API which will be part of a major update to WP7 late this year, both from a user feature perspective as well as a developer perspective. Hopefully as developers we’ll find out soon what additional API features we’ll have access to when that major update (coined “Mango”) hits the existing phones and presumably a new batch of phones as well.
Luckily, for my E6B Gizmo (and many, many other applications), none of these things are necessary. So I’m all good.
Here are a couple of screenshots as it stands today. The colors are the overall phone theme colors (chosen by the user for the whole phone) and not hard coded; I decided it would be cool to respect the color chosen. Also, you’ll also notice that my working title was E6B Companion which I haven’t changed yet in the code. The last shot is to show the light theme (again, if chosen by the user) and the Fuel Type “List Picker” dropped down.
I’ve got all the release functions working…at least they appear to be working; I have to do some more testing, especially the math. I’ve just got that testing, some additional polish and error handling to take care of, and I’ll be ready to submit. I’m hoping within a couple weeks it will be in the Marketplace. I’ll keep everyone posted here because I’m assuming you care. Wish me luck.