Archive for the ‘carlos’ Category

Some thoughts on Windows Phone 7

30 Oct

I’m going to admit up front that, in my day job, I work for Microsoft. I’m not a developer and I don’t work in anything related to phones – I have a somewhat strange role best described in this post on my work blog. I don’t think I’m unusually Microsoft-biased in general, and I certainly don’t get paid for writing nice things about them here, or penalised for writing nasty ones. Right, that’s that done.

As you may know, Microsoft have been lending out pre-release Windows Phone 7 devices to companies who already had apps for sale in the Windows Mobile 6.5 marketplace. They were doing this to encourage people to port apps to WP7, and I happen to know from my day job that they were taking this seriously enough that all of the executives who’d been playing with phones for the last few weeks had them taken away and promptly sent to developers, because the supply dried up. I got my developer phone about three weeks ago and I’ve been using it for my primary phone as well as a debugging device. I thought I’d write up some thoughts both from a user point of view and a developer one, and here they are.

From a User Point of View

As I mentioned, I’ve been using this phone as my primary device as well as a development device. This was partly because it was new, shiny and free of charge, and partly because one of the things I’d been struggling with as a developer was a sense of how things were generally done in this new work of UI. The emulator only comes with one application (Internet Explorer) and so I had a lot of questions that weren’t really answered: When do apps typically use the panorama UI? What does the “back” button normally do? How do apps typically deal with data that doesn’t fit on the screen? How big do people make buttons? Using the phone for a while would give me a better sense of what other apps were doing with the various new bits of UI. And, well, yes, also I got to play with a new phone whilst pretending it was work.

I’ll start off with some positive things. Fast. These phones are fast. Cripes, they’re fast. I thought I didn’t care about how fast my phone was, but it turns out I do. All of the UI is gorgeously fluid, there are none of WM6.5’s mysterious hourglass-less “did I click that?” lockups. Apps load and close very quickly indeed. Did I mention how fast everything was? It’s like getting out of an automatic car and getting back into a manual one. While you were driving the automatic car you weren’t thinking the whole time about how terrible it was but then as soon as you start driving the manual one you get an erection. Maybe that’s just me.

Using the UI in all of the apps provided with the phone feels very nice. There are no unexpected delays, and everything zooms around the place and looks very swish. It makes you happy.

I really like the new panorama style of application, where your phone is essentially a view window onto a larger app canvas. You can just see the edges of the other areas, and you sweep left and right across the screen to switch between panorama elements. Once you’ve used one panorama-style app you immediately recognise others, and the whole style has really grown on me. Perhaps the easiest way to demonstrate this is using my own Septic’s Companion app.

panorama simulation

One of my favourite parts of this interface is the safe discoverability of the whole thing – users can explore the app without feeling like they’re selecting anything, or changing anything, or going down some sort of path that they can’t get out of. As you can see from the right hand side, going off the right of your panorama brings you back on the left.

On the “home” screen, a lot of thought has been put in and this really pays off. Instead of an iPhone-style “start menu” of icons, Windows Phone 7 starts on a screen of “tiles”. These could be shortcuts to start applications (you can pin them there) but more often they’re little square snippets of information being provided. Aside from the built-in apps, there aren’t many applications using these tiles right now but as time goes on I’ll bet we’ll see a lot more clever ideas involving the tiles. I, for one, shall be attempting to have a few of those clever ideas. The user can move these around and elect to display or hide them, so it allows for a surprisingly customisable “at a glance” view of what you see as being important stuff.

Okay, I think that’s enough pro-Microsoft stuff to convince you that I really am being paid for this. Now for some good old-fashioned Microsoft-bashing.

I don’t like touch screens. There, I said it. I know I’m a dying breed here, but I don’t think the best way to control your device can ever involve putting your breakfast all over the screen. It seems to me akin to having a car you drive by moving your boots around on the windshield. I appear to be a dying breed in this respect, so I’ll shut up about that now. But mark my words – I don’t exactly know what the replacement is going to be, but twenty years down the line we will be  able to use our telephones without covering them in grease.

On the device I have (It says “LG” on it, whatever it is) there’s no easily-accessible keyboard. It has a slide-out keyboard, but this is much more difficult to use then the old Blackberry-style form factor I’m used to from my Dash 3G. It seemed to me like that was the right form factor – you can unlock the phone and send text messages at the same time as carrying your shopping, and you don’t have to look at the keyboard half the time when you’re typing. I’ve seemingly lost this battle to the rest of the world as well, though, so I’ll shut up about that.

This phone doesn’t actually do any more than my Windows Mobile 6.5 device. Yes, yes, I know the interface didn’t look beautiful but it was pretty feature-rich. For WP7 they’ve made a reasonable effort for a v1 product, but in terms of simple usage of built-in apps there are quite a few things I can’t do. On my Dash 3G I could send DRM emails. When I got meeting cancellations, the meetings disappeared from my calendar. I could synchronise Outlook’s “Notes”. I could change the default reminder time for new appointments. I could snooze alarms for a specific time rather than just “snoozing”. As far as I can see, Microsoft have taken the iPhone email/calendar feature set and just copied it, warts and all, because most of these things aren’t possible on iPhone either. There are a lot fewer things I can accomplish on this phone when compared to my WM6.5 one, but I do certainly feel happier while I’m accomplishing the things that are possible. Perhaps this sense of happiness will die off over time – hopefully that timescale will correlate nicely to Microsoft adding in all these features that vanished.

Microsoft have gone for a three button interface when it comes to the physical device. Those buttons are:

  • a sort of “home” button which takes you back to the main screen
  • a “back” button which is intended to take you back to the last… well… the last something. I’m sure various marketing people in Windows’ mobile team have spent a lot of time brainstorming exactly how to describe this thing, and I notice that misuse of the “back” button is the number one reason for apps failing the Marketplace approval process. The reason for this is that nobody really knows what the back button does. I, however, have worked it out. Here is my FAQ for it. Windows Phone marketing guys, you’re welcome to use this.
    Q: Do I press the “back” button now?
    A: Press the “back” button when all of the following are true:

    • You want to get out of the screen you’re currently looking at
    • You don’t want to exit the current app [Note: often the back button will do exactly that, so please make sure other criteria are fulfilled first]
    • There are no buttons on the screen which say “OK” or “Cancel”
    • The button bar at the bottom does not contain anything that might mean “OK” or “Cancel”
    • There is nothing on the screen saying “Go back to main screen of app”
    • There are no arrows on the screen pointing left or up
    • You have made a paper-based note of what you were doing, just in case the back button does exit the app
  • a “search” button. I have put together a similar FAQ for that one.
    Q: Do I press the “search” button now?
    A: Press the “search” button when all of the following are true:

    • You want to search for something
    • You are running an app that was made by Microsoft [Note: Non-MS apps don’t have access to the search button]
    • There is no “search” box on the screen (in panorama apps, check all screens)
    • There is no “search” button on the screen (in panorama apps, check all screens)
    • There is nothing on the button bar at the bottom of the screen that looks like it might mean “search”
    • You have made a paper-based note of what you were doing – if the app you’re running turns out not to have been made by Microsoft, the search key will launch Bing search and exit your app

Aside from the “home” one, these buttons are about as useful as the various strange buttons that are on full-size keyboards. You know, the ones with a picture of a house, an envelope, someone running and a space hopper. Please, Microsoft – either get rid of the two useless buttons or call them “button 1” and “button 2” and let app developers do useful things with them.

The battery life on this device is rotten. With the WiFi on (and it was on when I got the thing out of the box, so clearly that’s the desired state) the thing lasts less than a working day. If I charge if overnight, I’d better be ready to plug it in again at 8pm if I spent any time fiddling with apps, looking at the internet or playing games. I know that terrible battery life is another aspect of the new world of happy touchy phones, but the phone I had with more features lasted three times as long. I’m just sayin’.

From a Developer Point of View

Alright, enough about that. This device is a “developer device”, so I’m supposed to have been developing on it. And Microsoft will be pleased to know that I’ve done just that. I have two apps on the Marketplace as we speak. Naismith’s Rule is a very simple app which uses an old Scottish formula to determine how long a hike is going to take given the distance and ascent. I wrote this mostly as a “hello world” experiment to try out the new development tools. It’s free, although it has ads in it (they haven’t lit up just yet, but I believe they’re going to very soon). My guess is that the ad revenue will be near zero, but it’ll be an interesting experiment. The Septic’s Companion (see picture above) is the phone version of my Septic’s Companion British slang dictionary web site and book. This app took a bit longer, partly because it’s a panorama application and uses data binding. It’s now for sale for $1.99. The Windows Phone 7 version of Carlos, our “where did I park the car” app, is nearly finished, but my experience here is less about that – the work was mostly subcontracted to someone more competent and all I’ve really done so far is fix a few bugs.

I spent the previous year or so developing Windows Mobile 6.5 apps, so I’d say I’m reasonably familiar with the development tools available for that platform. For WP7, it’s all change. First off, you’re into Visual Studio 2010 instead of 2008. No great upheaval there – it just seems to be iterative improvements in a number of different areas, which is exactly the sort of new version I like.

And then you’re into the development tools for the phone platform itself. And, well, that is quite different for WP7. Gone are Forms and the .NET Compact Framework, and in is Silverlight and XNA. Here is a table with what I would call the “pub explanation” of what’s different. Please bear in mind that I have scant understanding of the things that I’m pontificating about here on a technical level, and I’ve been working with them for a sum total of six weeks. But, hey. Your time is free.

Bit of your program What you used in WM6.5 What you’ll use for WP7 Difficult to port?
Actual code – loops, data classes, logic, algorithms .NET Compact Framework Silverlight Easy. It’s all still C# and Silverlight contains most of the same classes as the Framework did, so you’ll find that a lot of your code will pretty much copy-paste. If you were using VB.NET, just switch. It’s always going to be a second-class citizen in IDEs and you can switch in an afternoon.
User interface .NET CF Forms Silverlight pages You have to start again. However, console yourself with the fact that everything you didn’t like about Forms will be gone, and your apps will look way better without you trying. However, you’ll have to spend a few hours reading about stuff.
Game stuff Heaven knows XNA Barely understand this other than knowing it’s not Silverlight. Best of luck.

Now that I’ve shipped two apps and been involved in the creation of another one, I think I’m ready to say that I prefer WP7 development to WM6.5. Now that I’m six weeks in I’m roughly as fast overall as I was on the old platform, but there are some things so truly wonderful that I think they make up for it. Once again, let’s deal with the good things first.

There’s only one “platform”. Some of you may know that Windows Mobile came in two flavours – “Pocket PC”, which had a touch screen, and “Smartphone”, which didn’t. You could sort-of compile cross platform apps, but there were weird little gotchas that sprung up in all sorts of strange areas. There was no button control on Smartphone, for example, and the alarm API was different on each platform. Because having one EXE is easier for distribution, you end up with code all over the place to deal with the different platforms. I’ve no idea how these two things ended up so similar and yet so different, but who cares now, because it’s gone.


There’s only one screen resolution now. Oh, god, yes, only one screen resolution. It’s 800×480, and 480×800 if you get bored and can be bothered dealing with that. For my WM6.5 projects I had a giant matrix of screen resolutions that I was testing on – even after eliminating the weird resolutions that hardly shipped on any devices, I had eighteen resolutions to test for Pocket PC and seven for Smartphone. The spreadsheet I used to track these (shown above) was complicated enough. Every time I shipped an updated I had to test every single screen on every single resolution. Every time I changed anything to line up better on the others, I had to retest them all. Fun? No. No, not really.

The fit-and-finish on the dev tools is so much better. Particularly incredible in a v1 product, these dev tools are more robust and predictable than the WM6.5 ones ever were. My favourite disaster with the WM6.5 dev tools was when you changed the platform from Pocket PC to Smartphone, and the IDE decided to reorganise all your userform layout in such a way that you spent the next fifteen minutes moving it all back. I saw quite a few IDE crashes during debug, and the emulator was slow as hell. The new emulator is very fast, and the dev environment is much, much smoother. Perhaps this is partly due to Visual Studio 2010 but, hey, who cares.

There are several controls in the dev kit that are truly great. The Panorama is one of them (I rambled about the principle above), and the Stackpanel is another. A Stackpanel is a container which allows you to lay out UI in a style more akin to <div>s in a web page rather than controls on a form. Child controls just fall into place instead of being fixed at x,y locations. Stackpanels can be either horizontal or vertical, and will resize magically when you resize the UI elements at runtime or design time. The “search” page in my Septic’s Companion app, for example, is just a stackpanel with a textbox in which you can enter the search and a listbox where results are displayed. The stackpanel is centred, and the contents are centred – no mucking around aligning everything in VS. Oh yes, and in between them is a textbox that says “No search results found”. When I don’t find any search results, I set it to being Visible and the listbox magically moves out of the way to fit it. This magical flowing around visible/nonvisible elements makes for very easy design of very interactive one-screen UI.

And now for the bad stuff. Not nearly as much of this from a dev point of view.

I hate the way developers are siloed like iPhone developers. Goodbye, idea for an app that set your lock screen wallpaper. Goodbye, Proximity, because you have to run in the background. Goodbye sending CAB files around your friends so they can test the app. Oh well. You can’t stop progress.

As I mentioned above, so far I’ve submitted two applications to the Marketplace. Both of those were accepted at first try – this wasn’t my experience with WM6.5 (I got  a couple of rejections for each app submission) and I think this is in large part due to the fact that the dev tools are simpler to operate and the built-in controls are so much more stable and predictable. And, although I’d grumble about it, I suppose having your app siloed to hell might make it more likely to pass the approval process.


Do I prefer it? I think I do. I’m positive that I prefer it as a developer. From talking to various Android/iPhone developers, I’ve got a sense that this is far and away the best phone development platform out there. I’m a pretty hopeless old dog, and I’m already more productive despite being near the beginning of the new trick learning curve. In a few months, I think I’ll be faster at developing on this platform than I have been on any other one I’ve tried (mobile or not).

As a user, I’m optimistic but I can’t quite decide. I do enjoy using the device, I must say. I feel happy playing with it. Will I still be as happy in six months when the new UI looks old and I can’t set up a recurring appointment that must only occur twice? Who knows. If Microsoft keep the entire team working on the WP7 platform until it’s feature complete when compared to WM6.5, I will certainly be happy. If not, I might be. With my employee hat on again, I do think Microsoft were right to ditch WM6.5 and, as v1 products go, this one is definitely shaping up to be a fine competitor to the iPhone. Hopefully MS will keep the pedal down and not follow the Zune principle of overtaking the iPod just as everyone stopped using the iPod.


Sneak preview of Carlos for Windows Phone 7

25 Aug

As you probably know, Windows Phone 7 is around the corner. Microsoft are starting a new platform from the ground up and making some rather brave strides that we think could well pay off. Hey, even Engadget were positive about it. We’re going to keep supporting our Windows Mobile 6.5 apps, but over time our development focus is going to move towards WP7. Microsoft’s new start is great for users but it’s a bit harder for us developers, as we have to rewrite all of our applications from scratch. But hey, it keeps us off the streets.

For the last few months, we’ve been working on a Windows Phone 7 version of Carlos, our car-finder application, and I wanted to share a few screen shots from it. As usual, nothing is final – this is an in-progress application and we’ve still got several weeks of work to do on it.

Main screen

Here’s the main screen, showing the location of your car and you. The sharp-eyed amongst you will notice that we now have Bing Maps integration, so you don’t need to rely on the compass pointing the right way and (perhaps more importantly) you don’t need to wait for a GPS signal when you’re standing in the rain looking for where the car is.

Using text-based locations

Of course, you don’t have to wait for a GPS signal if you don’t want to. Just like in Carlos for Windows Mobile 6.5, you can enter a text-based location if you’re underground or if you can’t be bothered waiting for the GPS. Just like our current version, you can pick from previous locations. If you tend to park in one of a few specific places, as I do, this can often be a lot faster than using the GPS.

Changing settings

Nothing glamorous about a settings screen. But hey, we have one.

One thing these screen shots don’t show you is the way the user interface feels – unlike our WM6.5 application, the transitions between screens are gorgeous animations and working with the map is really very intuitive.

We’ve a couple of features to finish off and a lot of testing to get done (we still don’t actually have a WM7 device yet) but we’re hoping to be available on Windows Phone 7 when it ships, or at the very least pretty soon afterwards.

Comments much appreciated – we’re still at the development stages here, so there’s a lot we can fix!

No Comments

Posted in carlos


Review Proximity or Carlos and get the app for free!

06 Jul

It seems like the number of reviews an app has makes quite a difference to purchases. I know this because, well, I pay a lot of attention to them myself. We need to get some more reviews up on the Marketplace, and in order to do that we’re going to give free copies of either of our apps away to anyone who writes a review for the app (however brief, and however bad!). How is this going to work? Well… I’ve put together a splendidly easy step-by-step guide.

  1. Own a Windows Mobile phone.
  2. Buy either Carlos or Proximity from the Windows Mobile Marketplace. The easiest way to do this is to search for them from your phone.
  3. Write a review (you can do this by going into the Marketplace app and clicking “My applications” and then “Rate an app”).
  4. Email us – support! (with an @ instead of the !) and tell us which review was yours.
  5. We’ll get in touch to give you the money back (PayPal is probably easiest, but we can send a cheque, or buy you a beer if you’re close enough).

If you notice anything you think could be improved with the apps, do please get in touch as well!

And there you have it. Free application. What could possibly go wrong?

Proximity: GPS-based alarm

Carlos: Where did I park?


Update: How much am I making on Windows Mobile apps?

11 Jun

The sharp-brained of you may remember that I wrote a blog post back in April detailing how much money I’d made so far from selling Windows Mobile apps. At the time I pledged to give further updates as time went on, and, [drum roll] here is one of them.

As you may know, I have two apps currently selling on the Windows Mobile Marketplace. They are Carlos, the classic “where did I park the car” app, and Proximity, a sort of GPS-triggered alarm and notification system. I wrote a lot more about both of them in that April blog post should you be interested.

Back then I’d made around $280 from Carlos and $350 from Proximity – my income was looking to hover somewhere around $500 a month. Of course, Proximity had been on sale for only one month, so it was a bit early to come up with per-month figures. I also showed this beautiful chart of sales to date:


Well, here’s the update. To cut to the chase, my sales chart now looks like this:

The most obvious thing is that Proximity, my more expensive app (and, to be honest, the one that I’m more proud of as a work of engineering) has really caught up on Carlos. Shortly after publishing my last post on this topic, I noticed that Carlos sales were starting to tail off – it’s the sort of app that people might buy for fun without really determining whether they need it or not, so I rather thought this was going to mean my sales would drop off over time. However, they took a strange up-tick in the last couple of weeks, so perhaps I’ll steer clear of making that pronouncement just yet.

Proximity sales, on the other hand, have been going pretty well. Sales caught Carlos quickly and showed no signs of abating until the last couple of weeks and, well, given the Carlos experience I’ll give it a bit more time before I pronounce any longer-term doom.

It’s certainly true that I am making a lot more money now out of Proximity. My $500/month predictions from the last post were a bit heady – now that things have bedded down a bit, I’ve been averaging $403/month, with a mere $125 of that coming from Carlos and the other $278 from Proximity.

All of that money, and a bit more, is being spent. I am paying a developer to port Carlos to Windows Phone 7 – I have very early alpha copies up and running, so I’ll hopefully have some more to say about that here at some point in the near future. I’d love to port Proximity as well but I need to do a bit of research into whether it’s plausible, because right now Proximity rather relies on running in the background.

I’ll post a further update in a few months and let me pledge here and now that I’ll also spill the beans on my WP7 success or failure when the time comes.


Making usable reports of Windows Mobile Marketplace sales

07 May

[Note: This was first published on 2010-05-07 on my personal blog, at this location. It is duplicated here in an effort to help me pretend I’m running a real company and it’s not just me sitting in my basement. Which it is, really.]

As I mentioned in my last post, I am currently selling two apps on the Windows Mobile Marketplace. These are Carlos (an app intended to remind you where you put the car) and Proximity (a location-triggered alarm and notification system). My previous post detailed the sales I’m currently getting for those apps – I’ll post an update on those numbers at some point, but this post is about how I got those figures into a nice chart.

You can say many things about the Windows Mobile Marketplace, but if you’re an app vendor then one of them will probably not be a long treatise on how wonderful their sales reporting system is. Their primary reporting output is a mysterious “Fulfillment report” XML file that turns out to be SpreadsheetML, the ISO 29500 file format used by Excel. Oddly enough this crosses over into my day job, but enough of that. Here’s how to turn that file into something useful, using Excel.

Using the Template

Download my template reporting spreadsheet, mobileappsalestemplate.xlsm.

Open it in Excel. Enable macros.

Request and download a “fulfillment report” from the Windows Mobile Marketplace developer page:

Leave the report set to All Markets, All OS, All Platforms and choose “90 days” as the time period.

The report downloads as a ZIP file containing two XML files – save FulfillmentReport.xml and use File/Open to open it in the same copy of Excel that your reporting workbook is in and enable editing (if you open it in a new copy you’ll get a VBA error when you try to import the data).

Now you need to add your products. FulfillmentReport.xml has a “SKU detail” tab – copy and paste that data into the same tab of the template sheet. You have to repeat this step whenever your SKUs change (usually when you add a new product, or issue an update).

Now, save the reporting sheet somewhere. It’s going to keep a hold of more history than the Marketplace does.

Without closing the FulfillmentReport.xml workbook, go onto the “Consolidated Purchase History” tab of my template. There’s a button on the right hand side of the table – click this. It will import the fulfillment data from the FulfillmentReport.xml you currently have open, and put it onto the Purchase History tab. It will not import any history that’s already been stored in the template, so it’s fine to just keep requesting 90-day histories from the Marketplace and importing them over the old data. Unless I screwed up the VBA, of course. The VBA is dog-slow – it could take ten minutes for the first import. Yes, I could certainly speed it up. And no, I can’t be bothered. If you do, I’ll be pleased to use yours instead!

Once the import is finished, the yellow columns in this sheet should populate with the right product names – you have all your data now, you’re ready to report on it!

On the sheet imaginatively called “A Chart”, you’ll see that I have the data for the chart I used in my previous blog post. The data on the left is simply to aggregate sales by day. You’ll have to replace my product names in row 1 with yours before you see any data. I was using it to track two products – you can change the chart range if you want to track a different number. You can also create Pivot Tables based upon the data on the Consolidated Purchase History sheet, or add new charts, or what have you.

This is not intended to be a glitzy boxed solution. It’s something I’ve been using myself so there’s not really any error handling and there are all sorts of things hard-coded around the place. If you’re not very familiar with Excel, it’s going to be tricky to use. That said, if you make any improvements to the sheet I’d love to see them (feel free to link them in comments here) and I’ll also post an update if I make a newer version.

Back on my original topic, an interesting switch appears to be happening in my sales figures, so I’ll post updated sales figures for my apps in a month or so. If anyone comes up with a nifty new version of this spreadsheet, I’ll be delighted to do so using that!


The low-down: How much I have made on Windows Mobile apps?

15 Apr

[Note: This was first published on 2010-04-15 on my personal blog, at this location. It is duplicated here in an effort to help me pretend I’m running a real company and it’s not just me sitting in my basement. Which it is, really.]

Some of you may know that I’ve been developing a couple of applications for Windows Mobile, and selling them throughMicrosoft’s Windows Mobile Marketplace. A few weeks ago, Edward Kim wrote a very interesting blog post about his sales for his Android app, Car Locator – that information was very useful to me not least because one of my apps is pretty much the same as his, but also because it was the first time I’ve seen a public cashflow disclosure from someone else who had a proper day job too and was doing the mobile apps as a one-man side project. Before we get started, I ought to admit up front that my sales numbers are a darned sight smaller than Edward’s. But hey, who wants to read about other people being successful?

My Applications

Right now, I have two applications on Marketplace.


The first app I wrote was Carlos. This is a pretty simple app intended to help you keep track of where you parked your car, using either your GPS or some sort of text-based tag you write yourself (in case you parked underground or can’t be bothered waiting for a GPS fix). This app is somewhat behind Edward Kim’s Android app – his can do a good few things that mine can’t (his has a little map, the graphics are nicer, you can take photos and things) but mine can do a couple of things that his can’t (you can ask it to automatically remember your location when your Bluetooth hands-free disconnects or you unplug the power; it makes bona fide jackal howling noises and it keeps a tally of all the total cars it’s ever parked anywhere). One could argue that his features are more useful than mine. Well, hey. Everyone keeps telling me the modern world of mobile apps isn’t a feature race.

I’d say Carlos took around 80 hours of coding, and maybe another 50 hours of speccing/testing/writing Marketplace content/arguing with my friends about it. This was one of my first times coding C#, my first time writing anything significant for Windows Mobile and my first time submitting an app to the Marketplace. I was originally selling it for$0.99 but when I discovered that Edward Kim doubled the price of Car Locator without noticing a drop in sales, I doubled mine to $1.99 – and I didn’t notice a drop in sales either. Mine’s still half the price of his but, well, I refer you to my comment about features.

Proximity: GPS-activated alarm

My second app is Proximity. This is a fairly generic app intended to “do something near a given location”. You give it a destination (or several), a list of things to do and it runs in the background. For any given trip, it records data each time you perform it and uses that data to make steadily more and more accurate estimates of the time. I originally envisaged it to be for waking people up before they slept past their train stations but subsequently myself and my users have found all sorts of things to do with it. Some people use it to remind them to buy milk just as they’re walking past the newsagent; one guy has it email his wife five minutes after he left the office and another uses it to text all his kid’s friends when he’s arriving to pick them up from sports practice. I used it last weekend to text the wife each time I was ten minutes away from the bottom of a particular ski run, so we could coordinate meeting up. Anyway, I digress. This wasn’t intended to be an advertisement.

Proximity is a much more complicated app, especially the trip-learning heuristics part. I think this one took around 80 hours of coding with maybe 25 hours of ancilliary work – I was a great deal more efficient the second time through development, so this time represents quite a bit more dev work. I also spent $120 on minor portions that I farmed out via, and $160 on some icons. I priced this app at $3.99. This was a number I picked largely off the top of my head.

Both of these apps are available in both touch-screen (“Smartphone”) and non-touch-screen (“Pocket PC”) variants. I’ve also made them work on the great majority of Windows Mobile screen resolutions (please don’t start me on that one). My intent was always to make some money out of these – I’m too old to go about the place programming for fun. So let’s see if I did.

The Money

Reporting using the Windows Mobile Marketplace is not very easy. If anyone’s interested, I’ll write another post about how I got these numbers. Here’s how both of my apps have sold, across all platforms (both touch-screen and non-touch screen) and markets.


To save you doing the math here – Microsoft take a 30% cut of the purchase price, so I’m left with 70%. This means that for Carlos I’ve made a total of around $280 since the end of January, and for Proximity I’ve made about $350 since mid-March. It’s hovering somewhere around the $10/day mark for each app now – around $500/month in total, although it’s obviously somewhat early to start giving out per-month figures. You can see easily from the chart that Edward was quite right – doubling the price of the app makes no obvious difference to sales. Edward is making $13,000 a month – for my equivalent app, I’m making more like $250. Edward is winning.

Some Half-Baked Analysis

Is this the sort of money I expected? If I’m honest with myself, it might be a little on the high side. Of course, while I was writing the apps, I lay awake at night thinking I’d make a million, but realistically I think this beats my expectations. Would I have made more on Android or iPhone? This is an interesting question. I ought to admit here that my day job is at Microsoft, but that’s not the main reason I opted for Windows Mobile. There are many apps on iPhone that do exactly what both my apps do, so I would have a lot more competition. You can only develop on a Mac, which I don’t have, and you have to write Objective C, a language nobody in their right mind is familiar with. And then Apple can pull your apps if they don’t like the cut of your jib. Android is a little more tempting, but I’d have to learn Java and the ratio of apps to handsets out there is really quite extraordinarily high. And, hey, I have a Windows Mobile phone anyway. My wife regards these money-making ploys as complete nonsense anyway, so I can just envisage the conversation that goes “you’re buying a what?! You already HAVE a phone!”. The largest problem with developing on Windows Mobile 6 has been the announcement of Windows Phone 7 Series, and the fact that Windows Mobile 6 apps won’t run on it. As a shareholder I have to say I’m pleased with this radical diversion, but as a developer it’s something I’ll have to think about.

If people are interested in this sort of thing, I’ll try to give further updates as time goes on. Edward Kim’s first few weeks of sales were pretty quiet too… who knows, maybe he and I will be buying a boat together this summer. If nothing else, we’ll at least be pretty darned sure where we left it.