Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Sell, open-source, or abandon a $10k/year Mac app?
48 points by EvanMiller on Jan 8, 2015 | hide | past | favorite | 59 comments
In 2011 I wrote a low-end GIS program for Mac, called Magic Maps. The idea for the app was to make a simple, Mac-like alternative to ArcGIS and QGIS that makes it easy to plot points, import Shapefiles, and create chloropleth maps and animations without first wanting to open your veins in a bathtub.

It was my first desktop app, so the code isn't great, but it's found a loyal user base over the years has netted over $50k since 2011. Unfortunately, Magic Maps is now suffering from neglect and bit-rot, and some of the users are starting to revolt. At the very least, it needs a bit of work to fix crashes, ensure it works smoothly on Yosemite, etc.

I'd do this work myself, but I am putting all my time into another app, and as much as it pains me, I just don't have time to invest into Magic Maps any longer. I'm putting this out there because I'm honestly not sure what to do with the software at this point, and I'd like to hear other people's perspectives. I see my available options as:

* Open-source the project. I think open-source works well for a lot of things -- and I've done a lot of open-source work in the past -- but user-friendly software doesn't seem to be a good fit for open-source without ongoing sponsorship.

* Try to sell the project. This seems ideal, as I think there's potential for Magic Maps to be a viable business with a sufficiently savvy owner, but I'm not sure there's a market for code that doesn't include a developer or test coverage.

* Wind down the project and call it a day. This would be the least amount of work for me, but it hurts me to think about it. It just seems like a waste to throw away all that design and engineering effort -- it's a neat little package and I'd hate to put it in the trash.

Have other people been in similar situations? What did you do, and what do you think I should do? Sell it, open-source it, or call it quits?

BTW here's the Magic Maps home page: http://magicmaps.evanmiller.org/

I received an interesting reply over email which I wanted to share here. With the author's permission I've reproduced it below but blanked out some details:

> I (or we as a company) faced pretty similar situation just a few weeks ago.

> The app is called ______, and it was our first app ever, our child - app that constituted our company brand and still is pretty useful for many small business owners (_______ is an invoicing app, making something like $20k/year on our domestic market).

> Unfortunately(?) business is business, so finally I decided to decline it. Now we’re making some final touches and will release it as open source project - again facing similar problems - the codebase is almost 6y old, app is not trivial, build procedure is not single click etc etc.

> Besides all those risks and problems, I still believe that opening the source code is worth doing. That way we can help other (less advanced) programmers to start their own mac products/businesses. I’m sure that you’ll agree that after a certain point you need to look inside something bigger than a trivial app from examples folder, something that is/was a real thing, something ‘alive'. That’s IMHO a single priceless source of practical knowledge.

> That’s my 10cents :)

I wonder if the name will be released later, after it goes open source.

Not knowing all of the details, I'm not sure how reasonable this would be, but another possibility is to keep ownership of it, and pay someone else to fix bugs. The key question there is how much that would cost (in both your dollars and your time) vs. how much you are making on the application.

I think one of the big problems with the app store model is that it creates this idea that you only pay once for software, ever.

Your software doesn't have bit rot, it's just old. It was useful at one point in time and it is just a bit less so now. Consider the value proposition of a Magic Maps 2.0 to your users and what sort of feature list you could create. Decide an upgrade price point, and send an email to your users and create a newsletter allowing them to sign up for the new version. If you get 500 sign ups, cost out the features and have a freelancer develop them. If you get no sign ups, pack it up or sell it to someone.

Many of us would love an app that was making $10k a year. That's a lot of money, can you do without it?

If it was me, my financial situation may be different, but, I'd drag myself up by the scruff of my neck and set aside some time to fix it......$10k a year!

You're right, it's a fair amount of money, and I'm lucky to have this problem. Right now I'm doing everything I can to focus on another app. I'm trying to give that app 100% of my time and attention, even if I could be making more money in the short term doing something else.

I personally find it difficult to work on multiple large software projects at the same time. There's just so much I can keep in my head at once. If it were a few thousand lines of code, maybe, but Magic Maps weighs in around 35 kLoC, and the other one is pushing 100 kLoC. It takes a fair amount of mental bandwidth to dig into deep bugs, and I'd like to save that bandwidth for my other app.

The answer here is to stop supporting the old app. If you're like me and can't turn your back on something you've invested so much time into, you're in a predicament.

I had a similar situation, and went the route of open source. The product died, as no one but me really wanted to maintain it. It was effectively the same as turning my back on the project while maintaining sales, except without the $$.

I'd recommend you ignore it and focus on your new app for long periods of time. Don't fix any bugs for months on end, then take a little time to knock out the big ones. Ignore the edge cases and focus on the big picture, that this app isn't your big thing, the next app is.

Thanks for the advice. I've basically ignored it for the last couple of years, but with the Yosemite changes the bugs are reaching a breaking point. One of my concerns is that the bad reviews are starting to have a "negative halo" effect on my other app, so I'd like to take some kind of action on it.

In some sense I've been here before. My very first app was an iPhone app, actually one of the first police scanner apps, with a glowing map of Chicago that got me into the whole software-mapping thing. I had to put that one out to pasture a few years ago, even though I thought there could have been a viable little business in the right hands.

Don't underestimate the value of having a different train of thought to turn to now and again. It may stave off burnout on the major project. Consider hiring the work out for now.

This is a good point. However, in this particular case, the software has reached a size where it's more stressful than relaxing for me to think about. My sense is that this psychological function would be better served by a smaller project.

I think there's another option. You could hire a freelancer and have him/her fix the bugs and get it working on Yosemite. Depending on the complexity of the code, this may or may not be feasible.

Thanks for the suggestion. The code is somewhat complex, though I've tried to isolate the really hairy parts in separate libraries (e.g. OpenCL code). I'm really not sure what the ramp-up time would be, and whether it'd be too much. Where would you look for a Mac freelancer?

For the record the Yosemite issues are the most glaring ones, but there are deeper crashes and bugs (think "mysterious Core Data error") that have eluded me.

> Where would you look for a Mac freelancer?

Odesk and Elance. Only hire people who've worked on multiple projects and have high ratings. There are plenty of talented people out there.

> For the record the Yosemite issues are the most glaring ones.

I commiserate. Apple's arbitrary decisions on what APIs are deprecated in newer versions must be really frustrating for developers. One of many reasons I shy away from creating desktop applications.

"Odesk and Elance. Only hire people who've worked on multiple projects and have high ratings. There are plenty of talented people out there."

I am on Elance, but can't get any work because I don't have any history. Can't get history without any work. The logic in this is flawed. Interview the people who submit bids, don't automatically rule out people without a history on the site, you might be surprised what they've worked on in the past.

Yeah, and it's not just APIs. Some of the changes are much more subtle, e.g. how often a particular event fires. If you're not careful these can destroy performance in baffling ways.

If you make an effort to stay on top of all the latest OS releases, life is great, but it's frustrating when you're trying to remain backwards compatible and figure out what the heck is going wrong on the new OS.

Hi Evan,

I own small consultancy and am an iOS / OS X developer myself. We are in Ukraine, so 10k / year goes much further here.

We can help you with support, e.g. for percentage of sales. Or we can negotiate other deal. Drop me a line to vgrichina@gmail.com, let's discuss the details.

I’d be interested in collboarating/contracting if I could help. I just launched my first mac app http://mackernews.com You should also checkout http://sideprojects.assembly.com/

On a somewhat unrelated side-note, you might want to look at how those images are scaling/displaying on your mackernews site depending on the scaling of the page (I noticed that if I zoomed the scaling in the browser it started to look better but at normal settings the images compressed vertically but not horizontally).

I'm not a software or web dev but things like that definitely influence my decision to try or buy software.

(ex: http://i.imgur.com/PgmrAm6.png)

thanks for the note, just haven't gotten around to it yet, busy with mac app store stuff and updates, but will do. Do checkout the app on the app store though :)

Very cool. Let's talk over email. Home page is in my HN profile, email is on my home page.

Have you considered hiring a contractor tonmaintain the code?

If its generating a profit, maybe its worth it?

I would fix it up.

You get 3 benefits:

1. Continued income from it (people aren't going to continue to buy it if the bad reviews keep coming in).

2. You keep/improve your reputation. If your software isn't working well for any reason at all, it can give a bad reputation to the person/company attached.

3. You increase the chances of a good buy-out in the future, over what it would currently bring now.

We all know it can be difficult to get traction on a project, not to mention paying users. You already have proved this one can get both.

Thanks for advice. The main issue is that I have better traction/reviews/revenue on another app, and the work required to get #2 and #3 on your list would seriously detract from the attention I could give to that other app.

There have been a few times where I've followed that exact logic to fix it up, spent a weekend or two on it, and gotten pulled away again. The software has reached a size where it's hard (mentally) to switch back and forth between it and my other app.

The other issue is that now that I have more experience doing Mac development, I'm starting to see that it's not a simple matter of bug-fixing. Some significant development would be needed to bring it up to the same level of polish as my other app, and in the meantime I'm concerned it's detracting from my App Store reputation.

I was in the same situation as you a few years ago. My Mac app was making enough money to be helpful but not quite enough to be worth the trouble. I seriously considered open sourcing it. But I stuck with it and, four years later, it grew and began supporting my family full-time.

If you truly believe there's no chance of it ever growing larger, than by all means, retire it. I've sunsetted many apps that never caught on. But don't give up on it too soon!

That's a great story! What's the app if I may ask?


VirtualHostX was my first app, the one that grew slowly over a few years and then took off. Hostbuddy is a small, companion app that does moderately well. Hobo is my newest, still in beta, that I hope to kick off in February.

Sell it. Get ahold of esri or partnersoft both have iOS apps yet lack Mac support unless you run a VM. It maybe a harder sell as most of the industries that use GIS data (power, telco, gov) use windows. Your are in a premo spot though because Partner and esri are both pushing iOS for outside guys/field workers quite a bit right now even if it's only a bullet point for them it could be a nice pay out for you.

Please don't wind down the project! I'm sure people are using it because they find it useful, and I think they would be disappointed if it stopped - I know I would if someone stopped working on an app I used heavily.

(1) I think its worth trying to sell the app - you did a good job, obviously it has a user base, and I think its fair you get paid for it and have someone continue to maintain it.

(2) If that's a hassle and you lose control of the project's trajectory - why not open-source? Your users would still use it, it would be free, and there might be some power user willing to take it on and improve the code base.

(3) As someone else mentioned in the comments below, maybe find a contractor to maintain it? This only makes sense if the cost of the contractor is less than what you're making off it, of course.

I'd consider selling it. I'm sure there's a 100lb GIS gorilla that would snap you up. Have you tried waving it at them. I'm afraid the only one I know is MapInfo who I'm sure got bought out by Pitney Bowes back around 2005?

Thanks. To sell to a larger company I think I'd need to build a small company first with at least a handful of employees. I'm trying to step away from this code if I can to focus on another app, and generally large companies only want to buy software that come with personnel.

I think you're presuming too much. As long as your code is documented and you're willing to release all potential IP claims as part of the sale I can imagine there would be someone interested in buying this straight out. You might even be able to sell them some kind of limited support/consultation agreement where you don't do code but can answer questions for a fixed period of time. It's not like you're doing some kind of business exit strategy. You're just selling off an asset from your portfolio.

Not essentially true, the valuation would just be a lot lower if you sold it As-Is + some level of cross-over support/training (Consulting Dollars)

This assumes the purchaser isn't just shelving it and killing off a competitor.

It't not an awful idea, especially since you know your competitors in the space (who to target).

It can't hurt to try. It's certainly worth sending some cold emails to some GIS companies.

That is not a very big gorilla.

True. But it's the first that came to mind.

You could hire someone. I know you might find it hard to let go of your codebase and feel it's too complex, but there are plenty of good programmers out there.

You said you're concerned about how much it might cost. Surely you can afford to try someone out for a short amount of time, given the app makes $10K a year. If you shut it down or open source it, that income's gone anyway. So why not try to keep a good product alive?

One good place to look for a programmer might be the monthly HN threads by whoishiring - https://news.ycombinator.com/submitted?id=whoishiring

What about letting someone take over the project but you get to keep a share of the profits for guidance and advice (30% or so).

It benefits both parties, you know what features the project needs to implement and what direction it needs to take to make more money, while the new owner/developer gets ramped up. You guys can even agree to a one year period of help and then separate, but at least the project keeps running and making money.

Not sure if this is usually done, but it seems like everyone wins :)

I like the idea, but it seems a bit risky and would require a lot of trust. I'd be open to this with someone I trusted, but I don't want someone to take the software as passive income and ride it down without fixing bugs etc.

Also, no sane person is going to sign up for doing 100% of the future work for less than 100% of future revenues.

I also have a very marginal side business I want to dispose of (about the same revenue). The best model I could come up with was that I would be willing to sell it for, say, 100% of the next years revenue, 50% of the next two years revenue, etc. That way, the buyer doesn't risk paying too much (since the price is tied to revenue), and the seller is incentivized to do a reasonable handover, take care of teething issues, etc, but the buyer will also try hard to take things over completely for when the seller is no longer around.

Why don't you pay me to update it and keep half of the profits. That way you get to keep control of the app and half of the profits while I do all of the work. I made this public because I think it's a good alternative for you even we don't end up working together. But hey PM me if you're interested.

How much time do you put into it each year? You need to subtract that time from your yearly revenue.

Try to receive funds and make business from it: hire developers, create few updates, try to expand onto new markets etc. and then try to exit this business.

Or just throw off this project and focus on another one. It's old. It's kind of liability not a money generator.

Just saw this on the front page, seems like a good option (get others to work with you and share the profit): http://sideprojects.assembly.com/

Looks interesting, I will take a look. Thanks for sharing.

This just showed up on HN: http://sideprojects.assembly.com/

Crowd source further development and continue to participate in revenue and product direction.

This project does sound like it would be a good match for Assembly's platform. Good eye!

With that amount of revenue, you could easily outsource it to an offshore dev and claim back a lot of your time, while still retaining ownership of the app and IP.

How sure are you about your other app? (the one you're investing your time in currently)

It might be unwise to give some certain away for something not so certain.

It looks like a really cool project that you've already done a lot with, but also with a lot of potential.

Are there many active competitors?

Is it written in all Objective C?

Thanks. The only Mac-only competition I know of is Cartographica, which is $500 vs $40 for Magic Maps.

It's mostly Objective-C. The core map-projection library is C and OpenCL, which I had a lot of fun with! I open-sourced that library (ProjCL) a while back: https://github.com/evanmiller/ProjCL

What are most customers revolting about? Problems with the Yosemite? They want it on another platform, like web or iOS?

It's a real elegant looking app, better visual design than your competitor in my opinion (although I'm sure lots of work has gone into that app, as well).

Bugs (including, but not limited to Yosemite) and some significant UX issues. One marketing problem I have is that although it's better designed than the competition, in practice it's not quite as intuitive as it looks. I characterized a "revolt", but in reality there are two camps of users:

* People who come from traditional GIS, who love it (except for the bugs). These are the revolters.

* People who come from MapPoint, who think they're going to love it but find some things confusing and give up. These people were always discontented with the software at some level.

The frustration from the latter group stems a few unintuitive workflows in the software (e.g. how data gets imported and linked), some of which are due to design flaws in the data model IMHO. So although the software looks good in screenshots, and many people get a lot of value out of it, Magic Maps needs some work beyond basic bug-fixing to be a "5-star app" that pleases everyone.

i just recently launched my first mac app http://mackernews.com $10K/year sounds great. Ideally I’d like to get to that stage. Are there a lot of crashes that you’d like to fix or mostly Yosemite style UI updates or both? I would be interested in collaborating/contracting

It would be nice to see it Open Sourced, but I agree that it will fall to the wayside without ongoing sponsorship.

Have you considered selling it on Flippa?

There's no desktop section on Flippa.

You can sell the website of the app (with the app). I guess you can make $10k-15k on this.

How much do you want to sell it for?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact