Archive for the ‘proximity’ Category

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?


Two new features added to Proximity

29 Jun

Just a quick update – as a result of requests from a few users, we’ve added two new features to Proximity. They are:

  1. The ability not to store trip history for certain trips. It turns out some users just want their ETA calculated using their average speed – the cunning-as-a-fox historic trip analysis we worked on clearly isn’t the right thing for everybody, and it uses up space on your device and some processor power. So we’ve added an option not to store history for a particular trip.
  2. The ability to set custom reminders. People are using Proximity to remind them about various chores (buy milk; drop off drycleaning; pick up a newspaper; etc). In the current version there’s no way to set a custom message on reminders – they just say “At x in y minutes”. Well, now you can set custom reminders the same way as you can set custom SMS messages or emails.

We’re just going through the final stages of testing, and we’ll be submitting these updates to the Marketplace in the next day or two. It takes about a week for Microsoft to certify them so, assuming nothing goes wrong with that, the new version should appear for download on the Marketplace in a week.


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.


Interesting use for Proximity: Tracking fellow skiers

06 Jun


Not sure about you, but this is exactly how I look when I’m skiing. When I’m not bent over at 45 degrees and wrestling with the G-forces, I have another major problem: I have no idea where my friends are, or how I’m going to meet up with them. I often don’t ski the same slopes as they do, but I’d like to meet them at some point and perhaps ski a run or two, or eat lunch. In the past we’ve tried to do this by phone but it’s far from ideal – it’s hard to explain where you are exactly, and even once you’ve derived where they are it’s difficult to calculate when or where you ought to meet up. On big mountains it can take 40 minutes to get the chair up and ski down – if you mistime your meet-ups, someone is going to be left standing around for a while.

I was skiing with the wife at Crystal Mountain recently – she was skiing a run adjacent to mine, but we were hoping to meet up at some point and ski together a few times. It occurred to me that I could use Proximity to coordinate this. When we were at the bottom of the chairlift, I started up Proximity and told it to create a new trip, with the current GPS location as a destination.

I then set a trigger on the trip to text her when I was less than five minutes away from the chairlift (i.e. as I was skiing down the hill). Let’s call her Kiki, on account of that being her name. I also asked Proximity to vibrate when it texted her, so I’d be able to tell when it was doing it.

I left the settings screen open at that point – Proximity won’t trigger a trip while you’re editing the settings, and I didn’t want to text her there and then. I then hopped on the chairlift, and on the way up clicked okay on the settings to start the trip.

Now, when I skied down the run, Proximity sent Kiki a text message when I was five minutes from the chairlift again. I could then restart the app while I was on the chairlift going back up again, so that each time I was five minutes from the bottom she’d get a text message. Proximity learns your trips over time and averages them to improve arrival time estimates, so after a few runs it was texting her at pretty much exactly the same point on the slope – until I fell over catastrophically, and cause the “five minutes away” spot to move down the hill a little.

Because Kiki knew she’d be getting a text message each time I was getting near the chairlift, she didn’t actually bother reading the messages, and instead relied on hearing them arrive and feeling the phone vibrate. After three runs she realised that at the end of her fourth she’d be at the bottom at about the same time as I was, so she waited for me there. It all worked out pretty well and saved a lot of missed phone calls and confused directions.

It occurred to me once I got home that I could have been even cleverer with this one. Proximity can deal with trips which have multiple destinations (in no fixed order), so I could have entered the coordinates of several chairlifts, skied all over the mountain and then told Proximity to text Kiki which lift I was arriving at in five minutes. Or if I was starting at the very top and knew which chairlift I’d eventually be heading for, I could have set up a trip for each chairlift and loaded the appropriate one. This would be great if I had a few friends dotted around the mountain and wanted to let each of them know where I was so that they could meet me if they wanted.

One slightly annoyance was the fact that I had to restart the trip when I got back onto the lift each time – although it doesn’t sound like a great inconvenience, it’s a bit of a nuisance using the phone with ski gloves on. I might do some thinking into whether I can have a “keep running this trip forever” option or something similar.

The fact that I had to use my other app, Carlos, to locate where exactly I dropped my ski glove from the chairlift turned a day of skiing into something of a day of application testing. I wonder if I can expense it…


Posted in proximity


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.