Fog Creek Software
Discussion Board

How do you decide what to write?

Hi -

Aside from the obvious - market research - how do you decide what kind of software to create?  Do you base it off of personal experience and perceived gaps in the market, or just things that you see other people asking for, or what?

I'm not asking for "the next big thing" advice, I'm asking for advice on the decision making procedure itself.  Market research can indicate things like what sort of competition exists, pricing, and projections on profitacility, but I could a do market analysis in an arena that I know nothing about, and it really would not make any sense at all for me to enter that area.

Aaron F Stanton
Sunday, March 14, 2004

Clearly the mp3 player market is the hottest up and coming market!

Sunday, March 14, 2004

and that's exactly the kind of response I was *not* looking for.

I said I don't want advice on "the next big thing."

I want advice on the decision making process.

Would anyone like to actually answer the question I asked instead of one I didn't?

Aaron F Stanton
Sunday, March 14, 2004

What kind of applications have you written for your employer(s)?  There's obviously at least some demand for it and you have the domain knowledge... Look at your would-be competitors, what are their product's drawbacks/issues?  Copy & Improve->Profit - The Microsoft Way...

Sunday, March 14, 2004

business meets programmer meets entrepenuer.

My question, if you are not sure what to write (aside from the possibility that you are swamped with ideas and can't choose one), then is this your field?

I base what I want to write largely on personal experience. I am an entrepenuerial type. Everytime I entered any situation, no matter how mundane, my mind is ticking over 'how can this be done better, could I write a program, formulate a process etc etc', consequently I have many many ideas running through my head, and I am constantly seeing opportunities to use my skills to be able to improve a situation, thereby make money.

Of course this does not mean every opportunity is worth taking up, that is when business knowledge and programming skills come into play. Would this be viable etc etc.

I kept a book all through university of 'program ideas that I want to research and possibly create'.

Aussie Chick
Sunday, March 14, 2004

Disclaimer: I didn't say I was a great businessmen or great programmer (or great entrepenuer for that matter). I am having my first hit since leaving university, so take my thoughts with a grain of salt.

Aussie Chick
Sunday, March 14, 2004

Just finished reading "High stakes, no prisoners" by the founder of Vermeer, the company that wrote FrontPage. Good, sound ideas about how to start a software business. All pretty much common sense, but it seems like common sense ain't that common in that field...

Sunday, March 14, 2004

Aussie Chic:  How do you pick one?  I've been writing down product ideas for as long as I can remember, but I can't seem to just pick one and go with it.  Developing an idea is orders of magnitude slower than brainstorming, so I'll start on an idea, and then another pops into my head, and then another and so on.  How do you keep yourself from being a spinning top?  How do you shut that little voice inside you that's ranting on with new ideas?

I've got enough ideas to keep a hundred programmers busy, but I'm just one.

Should I offshore them to India? LOL

Ken Klose
Sunday, March 14, 2004



Here's why:

In my 8+ years of experience starting and running a software product company:

I think it's important that you understand the market you're going after. You should have either personal experience doing the job for which your sw would be used, or have a partner with that experience.

In our case, software knowledge was much much less important than what I call "problem domain" knowledge.

If you have domain knowledge, that means you'll know (or easily be able to find out) about:

1. The problem you're solving.
2.  The current solutions to that problem (paper solution, software, whatever). This is your "competition"
3.  Where your customers look for solutions. (Places to target advertising)
4. Where your customers look. (Places for untargeted advertising).
5. the constraints your customers operate under. (E.g.  "can't buy software > $500 because that's capital budget and takes a year", can't require access to the internet, whatever).'s best if you can find a market that is NOT related to your software background because there's no barrier to entry. Any other programmer could enter that market. For instance, writing third party controls for VB is too competitive. 

Find something non-computer that you understand uniquely.

Take advantage of your uniqueness. (BTW, Revenge of Brand X treats this very well from a marketing perspective. Don't be embarrassed b/c you're a small company... turn it into a unique advantage). Differentiation is the name of the game.

Mr. Analogy (formerly The... Entrepreneur)
Sunday, March 14, 2004

Keep your eyes and ears open. Good software ideas are always being thrown around, or you say to yourself "I wish there was something that did x" but just never act on it. I have a handful of ideas written down in a text file.

Just from being on this board it's obvious that the project/knowledge management is a pretty wide open area right now. I can think of a couple of plugins for Winamp I'd like to see, just on a personal basis.

Any time you think of something, always try to back it up 1 step and figure out what you would need to get it done, and build that instead. The thinking behind this being you're not the only person that wants to do it, so other people like you would want that tool.

So for example you might want to build an online store. Well why not back it up 1 step and build a tool that makes an online store? Or you want to write the Great American Novel. Well why not some writing software? Or you want to record an album, well maybe some music software. Check a lot of web sites every day? Build an RSS reader.

You can see where I'm going with this. Any time you come up on something where you're taking 10 steps, see if you can automate the process a little and package it.
Sunday, March 14, 2004


Some people are time tellers (they have the ability to tell the correct time at any moment). They sell it as a service.

Some people can apply that ability to making WATCHES and sell that product.

And some people know how to build factories to make lots of watches to tell lots of people the time.

And then there are the people who build the tools that make the factories. Ok, I've pushed it to far there.

Mr. Analogy  (formerly The real Entrepreneur)
Sunday, March 14, 2004

> Aside from the obvious - market research - how do you decide what kind of software to create?

Personally I leave that decision to my boss. I'm a software developer, not a product developer.

it had to be said
Sunday, March 14, 2004


seriously write them all down. Every idea that I have, well the ones that I think have even slight potential, I will write it down. I have a little green folder full of my ideas. Some of them I only have 1/2 A4 page of jotted notes, some of them I will have spents hours writing notes, drawing screens shots etc. Then I put them in my folder and get on with what I am supposed to be doing. My ideas have been know to distract my work a little, but not a great deal.

when I say alot of ideas, there is may ten solid good ones.
When I want a project I will sit and flick through that folder.
I may look at an idea and think no one would buy it, or its out of date, or it could be done better, or it has been done a billion times already, or it is out of my skill set.
This is where you business/programmer skills come in "can you do it and is it econimcally viable ie will it sell"

I started a project before this one, and realised it was just out of my league, I had zero experience writing an entire piece of software, and no database experience. So for me my current project represents a project small enough that I was capable of completing and yet commercially viable

Aussie Chick
Sunday, March 14, 2004

The main thing I'd add is not to sit on your hands while you wait for that perfect product niche to appear.  While you're looking for that niche, you should also be scratching every itch you're blessed with.  When the opportunity comes, you should already be sitting on a mountain of projects from which to draw experience, knowledge, perhaps code, and certainly inspiration.  Opportunity favors the prepared.

That shouldn't sound like a chore.  If you aren't already compelled to build by passion alone without the promise of a big score, chances are that when an opportunity appears, you wouldn't have the drive to execute anyway.  In all fields of human endeavor -- science, philosophy, literature, musical composition, etc -- the greatest have always been incredibly prolific.

Sunday, March 14, 2004

It all begins with assesing your curent creative capabilities. I notice that there are three types of people.
1. Don't care what kind of software they write as long as they get a paycheck
2. Came up with one or two ideas and spend all their time and effort trying to make money with this one product.
3. Are able to come up with as many interesting products as they wish and they market one at a time.

In the last two cases, it is very important to be able to market an actual finished product that people can use, instead of just an idea, people don't care about your ideas, they want a product that is easy to use. You can interchange "product" / "service" as you wish in this post.

Internet allows you to test out your ideas pretty much instantly and here is where my comment on books comes in. I used to read tons of books about software companies, and now instead of spending time reading, I work on marketing materials and my own software products instead, and I constantly discover that I learn much more by experimenting than reading.

Before you actually spend time, think about what product will really excite you.

Dum dum dum dum dum
Sunday, March 14, 2004

I have other interests outside programming.  I make notes whenever I see a problem that could be solved with by writing a piece of software and then check if a solution already exists.  I talk to friends and family and listen to their complaints and wishes and try to imagine a software solution that would meet their expectations.

Jacek Artymiak
Monday, March 15, 2004

*  Recent Topics

*  Fog Creek Home