The demise of iAgent, and how it relates to mobileAgent

Bytepie announced today that they are stopping the development of iAgent, which was a (competing) client for FreeAgent.

Sadly, the journey for us has come to an end.

We love iAgent, we really do, and it wasn't the easiest decision to make, but it's time for us to move on; to leave the old behind and focus on the new.

... and fair enough. I am constantly torn about adding new things to mobileAgent - there are things, especially with the new FreeAgent API, that I'd like to do, but in terms of time-spent-vrs-money-made, it's not worth it. I've sunk a lot of my time (read: potential money) into mobileAgent, and the return has been in the pocket-money range, not in the "taking a long holiday on a nice beach" range.

That said, it's been an excellent learning experience which may have indirectly got me a new job in an area I really care about, but at the end of the day, any product really has to pay it's way, or be an joy to develop. mobileAgent has been more the latter than the former, but it's also 2 years old, and 2 year old code is never fun to play with without a bit of time spent on refactoring.

I suspect their decision was based around the need to switch over from the old v1 FreeAgent API, to the new v2 API. There are some bits in there which are similar, but in general, its quite different. I had assumed it was something I could do in a weekend - two, tops - but it's taken me nearly 6 months to integrate it and get it to the point of submitting it to the AppStore - which I'm happy to say, I did last night (it should be out in a week or 3 - Apple is very slow at approvals at the moment).

(To be fair, I did do Earnest, for FreeAgent, during that time, but Earnest has also made me 3-4x what mobileAgent has, so it's paid it's way. Speaking of the v2 API, if you want to use .NET to talk to FreeAgent, I have an API wrapper on GitHub)

Haters (or, complainers) are going to hate tho. That's nothing new. But at a total outlay of £2.50, I don't see that they have much grounds for it. Move on. If it didn't work from day 1, why didn't you get hold of the developer, or get a refund from Apple?

Am I going to keep developing mobileAgent? Yes and no. I doubt I'll be adding anything major (eg creating invoices), but at the same time, it's cheap and easy for me to support, so I'm not pulling it either. It's also very useful for freelancers and contractors who use FreeAgent, so it's not like it's a waste of money for people buying it now.

And aside from creating invoices, which the API makes it a less-than-compelling proposition next to doing it on the website, I don't know what I would add that would have more than trivial use. When I asked around, a lot of people didn't even know about some of the features that are in at the moment (syncing of contacts being one of them). FreeAgent have also indicated an interest in doing a more mobile-friendly web experience, and their new design is a great start on that, too. I'd love to be able to do the summary they have, but the data is not available.

Upgrade pricing in the AppStore is a big issue for apps like mobileAgent, and I've talked about it before. There is no incentive for any additional, long-term maintenance or progress on an app in the AppStore, unlike a normal piece of software, because of the lack of that revenue channel.

I also don't think there is enough new user function in v1.9 to warrant calling it "mobileAgent 2.0" and getting everyone to pay again. There was enough work done, but most of it is invisible to the user. I also suspect that my inbox would overflow somewhat with hate mail, which is something I just can't be bothered with.

The new release has a few new bits in it (bank transactions, uploading of any image to Dropbox or the Photo Library), but it's largely "baked" unless something breaks. And, I think, thats how you should buy apps from the AppStore: how they are right now, not what you want them to evolve to. By all means ask for new stuff to be added, but don't be offended if it doesn't happen - or if the developer decides to pull the application all together.