Product Idea: Quickbooks or MYOB Knockoff

I can tell you after looking around tonight on the web that there's a market on Linux for a Quickbooks or MYOB knockoff.

Obviously one cannot easily build the entire clone of these apps in Linux, nor would probably want to. You'd have to shave it down to the basics that people actually use from these two apps, and ask them for what's confusing so that you don't include that or that you do it better in your project. My suggestions are:

1. Grab two of your friends who may know someone who uses Quickbooks or MYOB to manage their small business. Sit down with those friends of friends on a weekend and find out what they actually do with it. Ask them about anything you think is confusing or that they think is confusing, but that they have to use on a regular basis.

2. Request one of those free 30 day trial CDs for the product and install it on a spare Windows PC. Take lots of screenshots and really get to know this program.

3. Probably the fastest option is to build it as a local install on Linux that interacts with a local web server. More than likely the best option is a LAPP (Linux, Apache, PostgreSQL, PHP) app. Firefox would be your fake "fat client" interface. It might not be as snappy as the Quickbooks version, but it would work. You might want to use inline DIVs instead of popup windows in order to speed it up. I would avoid too much Javascript -- stick with a limited batch of ECMAScript. Unfortunately you might find AJAX could be a fast way to deliver results. Grids might be hard to pull off unless you used IFRAMEs, inline DIVs, and AJAX. Even then, you'd have to worry about it breaking with a future version of Firefox. And if AJAX, ECMAScript, and inline DIVs make you cringe (as they do me), then just do it the old fasioned roundtrip way back and forth with the local web server.

4. Another GUI option is to use a mix of Python, PyGTK, and some GTK HTML widgets in order to interact with the backend web pages. This might provide some more responsiveness. However, it increases the complexity of the app somewhat. Some people may prefer doing it in Qt, Mono, WxWidgets, or some other language. If it were me, I'd stick with PHP and Firefox.

5. You'd probably just want to track stuff and provide the ability to generate reports, import/export to/from OpenOffice, import old Quickbooks and MYOB data, etc. I'd give up on the notion of making it interface with the banks and all that other hard stuff. Keep It Somewhat Simple (KISS).

6. Remember that as you build this, you want to come up with something that's vaguely like Quickbooks and MYOB, but is its own entity. You want to sort of keep the patent trolls off of you at least a little bit. You don't want to make it look like a careless act of copycatting. Still, as you do this, you'll want to make it intuitive, and that's a hard thing to do sometimes without copycatting. It takes a lot of thought.

7. When you finish a 1.0 release, put it on the Internet for other developers to look at and give you advice on internationalizing it. This could really make the thing take off.

8. Some people may have a need for a text console based version of this. Once you build the web version, you could find a Clipper-knockoff for Linux and make a second frontend that's text-based.