Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I just wrote a little C# application to sort my MP3 files. I was tired of thinking "Didn't I just hear that artist?" or "How many times do I have to listen to 'The Way You Look Tonight?' (for example)." I have over 3000 songs so something was lacking in the shuffle algorithm my MP3 player uses. That lead me to ask my "ultimate shuffle" question on this site which sparked some interest.

The program I wrote is small and satisfies my need. It's just a console app now and I only devoted a leisurely couple of days to writing it. I'm sure a star programmer could have done the same thing in a couple of hours. For all I know many similar shuffle programs exist - it must be a common problem with randomly selected songs.

So now I'd like others to benefit from this and perhaps some programmers would help enhance the code to make it better. The problem is, I wouldn't want to loose out on a few extra bucks if it's something that would sell. No one would pay for it in its current state. But with time and effort it could be a handy tool I might have once spent a dollar on.

I'd like opinions and advice. Could I realistically earn some pocket change with this? Or should I just make the code available and be done with it? Whatever your opinion could you suggest a good avenue for me to take (such as your preferred location to post code - github, CodePlex or elsewhere) and how to proceed.

Thanks in advance.

share|improve this question

closed as too localized by thorsten müller, GlenH7, Steve Evers, Jalayn, Bart van Ingen Schenau Apr 27 '13 at 16:34

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

If you post it on github and it takes off, then you can show it off at your next job interview and negotiate a higher salary. Chances are that you will get three orders of magnitude more money that way. Plus, I would not pay for your app ;) (seriously). –  Job Apr 26 '13 at 18:28
Excellent perspective. This is what I'll tell my wife when she says "Why didn't you try to sell it?" –  DeveloperDan Apr 26 '13 at 19:01
@Victor is right though. Many developers produce money-making products where they have to remember that "We are not our target audience". I did not see the point of Facebook or Twitter or Instagram, so I could not imagine their earning potential, neither did I care, neither do I now. I believe that programmers, being a special cast of humans, should try to work on important things like ending corruption, wars, cancer, HIV rather than yet another app. I personally would not build a company out of an "mp3 player playlist" bc that would free up my time for something else. Now you have the context –  Job Apr 26 '13 at 19:19
Publicize it on github in a general form to show your mad CS skills having created a balanced visitation by characteristics algorithm, and sell a slightly extended version of it on the windows phone app store since it's C# that will shuffle through a users music on their phone. Alternatively I'm always a fan of the "Free for personal use, but costs money for corporate use" licenses, those let me do what dev work I want to for fun, and when I learn and like the library I sell my employer on it so they pay and I can use it in my production coding work. –  Jimmy Hoffa Apr 26 '13 at 20:58
@Job I agree, I'd rather be ending corruption or curing HIV too. But there's nothing wrong with trying to monetize a small project IMO; if people will pay for it and are satisfied with the results both parties are benefited. Even if we haven't solved anything serious in the process. Ideally a small income stream from little projects will free the programmer to take a risk on doing serious work full-time. (That's what I hope for myself.) –  Victor Apr 27 '13 at 14:53

4 Answers 4

Job would not pay for your app, but someone without a StackExchange account might.

You should try selling it if you can easily prep it for one of the app stores. We've all got to try to make money, right?

But note that there's nothing preventing you from selling your code with one license and also releasing it publicly with another (or the same license for both).

So my answer is you should do both; try selling it because you'll learn something, and open source it because you'll learn something. Win-win.

share|improve this answer

You have to ask yourself: "Does my product solve an unsolved problem?" or at least "Does it solved a problem better than the other solutions which are available?"

When the answer is no (and in this case I am afraid it is), you should focus on a new product because it is unlikely to be successful, neither as open source nor as a proprietary product.

share|improve this answer
If your sole goal is to make money, you don't have to solve an unsolved problem, or even solve a problem better than other solutions. You just have to convince someone/people to buy your solution. –  Steve Evers Apr 26 '13 at 22:31
@Steve Evers, funny to hear that from a MSFT employee ;) –  Job Apr 26 '13 at 23:31
@Job: I don't speak for my employer. I actually learned this long (long) before ever coming to work for Microsoft. There was an interesting blog series from Eric Sink where (if memory serves) he wrote a version of Solitaire called "pretty good solitaire", or something to that effect, that guaranteed the player could win. He sold that app to another developer and that developer made a lot of money selling copies of it. –  Steve Evers Apr 28 '13 at 18:19

I think an important thing to consider is what value such an application brings to your potential users and how much it would be when expressed in money.

Considering that there are many many applications that allow you to shuffle your play-list, and that not many users are comfortable with a command line, I'm afraid the monetary value would be fairly low.

However, this doesn't mean you can't make small profit on it. If I were in your place, I'd make it open-source and used some micro-payment mechanism to accept donations, such as Flattr. A software that is free attracts more users and they're more likely to spread the word, which could eventually make higher revenue than selling it to a small number of paying customers.

Probably the highest profit you earn from such an open-source application isn't the money, but something you could put in your resume. Having a program with even small, but stable user base that is being developed for some period of time means that you're a capable, self-reliant programmer.

share|improve this answer
+1 I donated as much as 50 euro to free software projects, but I do not remember ever paying for software with an official price tag, no matter how little it costs. If I have to pay upfront, I will either find a cracked version (even if it takes an hour of my time, an hour that would have earned me a higher amount) or will not use it at all. Being able to donate any amount or not donate at all feels like I am feeding a starving developer. Paying a fixed price feels like maximizing someone's bottom line. Perhaps not rational thinking, but this bias is very strong in me - a primitive instinct. –  Job Apr 26 '13 at 19:37

I disagree that you have to do something that has not been done before.. if there is competition, it proves that a market exists. how much market space is there for competing products and who is backing the competing products is what should influence your level of involvement / commitment.. i would say if you could sell one, that should be rewarding in itself.

Selling the (any) product is the difficult part. Making it "purchasable" would take some work, but would not be that difficult (simple website w/ paypal, adwords, etc..) . So now you have a product that people can purchase. The next step is marketing, promotions, etc.. Find an audience and pick a price that you think would be attractive to them and somehow get the option for them to give you money in front of them..

Making the product, especially as a developer, is generally the "easy part". It's our comfort zone, but a lot of good music goes unheard, and a lot of great products dont "catch on", while other lousy ones do.

So it sounds like a smaller project, which is great, you dont have a lot invested, put in equally minimal investment to "take it to market". Then promote it heavily for a month or so, see if you get any bites, basic market testing.. if you do sell a couple, you're in great standings.. at that point start refining / add features OR do more directed / targeted promoting to find the exact person who will buy your product as is.

So once you sell a couple, identify where to put efforts to increase sales / improve product. sometimes you just need to get in front of the right people, sometimes you just need that killer feature which will bring the people to you.

If you like the experience, do it again with another small project. be careful and try to be aware of the point where "You have done all that you can do". Dont get personally caught up in the project, you might sell 5, and then put in a lot of effort and never sell another, at that point, cut the line.. but if your efforts == more $$, keep the line in the water and pulling in fish..

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.