Starting your own business makes you learn how to play many roles: project manager, consultant, marketing department, technical support, “executive”, and – worst of all – accountant.
I say that because I really, really, really hate accounting. Maybe I just had a bad experience in college, and could never really appreciate it. Perhaps I’m even a bit ignorant about it. In any case, there’s software out there to help someone like me. Right?
I bought QuickBooks based on several recommendations from co-workers. The folks at Intuit have done a tremendous job! That is, if their job was to create the most un-user friendly, non-intuitive, archaic piece of software.
I don’t even know where to start. They tried way too hard to over-engineer the UI. Everything is “cute”, with arrows, icons, and more reminders than I care to mention. In an attempt to account for every possible “use case”, they have created something that is far less usable than intended. All I need to do is send out invoices, write checks to myself and receive payments. And no matter how hard I try, it takes me longer to execute this process each time.
A lot can be learned from this when writing your own applications. Give the user what they typically expect, not what they may possibly want on a rainy Tuesday morning. Exceptions are just that: exceptions. Since they happen less frequently, they will warrant a little extra effort. But if the exception becomes the rule, then its time to re-design.
Steve Johnson from Pragmatic Marketing summed it up in a class which I took with him months back: “But what if the cat jumps on the keyboard? We have to account for that in the code!” You do not and should not.
Maybe there is room in the market for an HTML DB accounting package…