Table37

I’m pleased to announce that our biggest project to date is now available on the App Store and Google Play.

Table37 is a full-featured restaurant management system. When Table37 came to us with the idea of modernizing everything about how a restaurant manages its contact with customers, we thought it was a terrific use of technology. Read More

Paid Upgrades

Paid upgrades in Apple’s App Stores has been a topic of some debate since the App Stores launched. Wil Shipley stoked the fires back in March, arguing that the Mac App Store needs paid upgrades:

Right now developers selling through the Mac App Store face a lose/lose choice: either provide all major upgrades to existing customers for free (thus losing a quarter of our revenue), or create a “new” product for each major version (creating customer confusion) and charge existing customers full price again (creating customer anger).

Read More

The iOS In-App Purchases Requirement

Marco Arment lays out the arguments against Apple’s new in-app purchase requirements for iOS apps:

This is partially defensible: Apple’s promotions in the App Store certainly bring a lot of people to apps, and it’s all happening on their hardware and platform. But if someone wants the Wall Street Journal app and finds it by searching for “WSJ” in the App Store and selecting it directly, who really brought that customer to the app?

Read More

Small Business Accounting Software

I made a New Year’s resolution for 2010 back on October 1st: stop using the awful shovelware produced by Intuit (QuickBooks) and move to something else. I first wrote “something by a company that cares more about the Mac,” but let’s be realistic. Large companies seem to lose a sense for quality products and good customer service, so really this is all about “anything but QuickBooks”.

I’m moving away from QuickBooks because I paid for it in 2007 and it doesn’t work (seriously: it corrupts transactions) on Snow Leopard. Even the QB 2009 installer failed to work on Snow Leopard until they patched it, as they were still using the Java Bridge, deprecated by Apple way back in 2006 and removed in Snow Leopard. If I have to spend money on accounting software to run Snow Leopard, I’m going to look at all my options.

Light Year Software is, for now, primarily a consulting company. I sell my time, so an accounting package needs to support that. I do not carry inventory or resell goods. I don’t have to collect sales tax. While the business owns some equipment (computers), it’s very minimal.

The list of contenders is disappointingly short, though on the upside, it means I don’t have to try out as many of them: Gnucash (free), AccountEdge 2009 (USD$299) from Acclivity (formerly MYOB) and MoneyWorks Express 5.2 (USD$279) from Cognito.

Gnucash

This one was easy. While I’m a fan of open source, I only had to spend a few minutes with Gnucash to know it wasn’t right for me. It’s written using Gtk+, which isn’t surprising since it’s a cross-platform application, but I didn’t want to spend already unpleasant time using a thoroughly non-Mac UI. There are also some known issues that struck me as likely to be highly irritating. Finally, while I hope to never have to, I do want a safety net of a real company behind the software: phone support, a well-written manual, and an expectation of support for older, but not ancient, releases (after all, I’m in this boat because I didn’t want to update QuickBooks 2007).

AccountEdge and MoneyWorks Express

These two are similar enough that it’s probably easier to write about them together.

AccountEdge wins (barely) on first impressions. The main dashboard interface is more colorful and buttons look like buttons. Both applications use a flowchart style, visually presenting how you should move through the application. AccountEdge does a better job of it, though, because buttons are obvious, whereas with MoneyWorks, you don’t know what’s clickable until you hover over it.

MoneyWorks is a bit nicer when you get down into the forms, but only by a hair. The tab order is often unintuitive; for example: after entering a date for a transaction, tab takes you to the period drop-down immediately above it, instead of the next field down and to the left.

AccountEdge did a better job of hand-holding me through setup. There is a separate setup dashboard, each major section walking me through a wizard that prompts to transfer data from your old system into AccountEdge. MoneyWorks doesn’t have this, though it does have a nicer manual (PDF). AccountEdge’s manual is just a set of HTML pages, with a Javascript table of contents on the left that doesn’t always work quite as I expect. AccountEdge actually has a nice set of manuals, too, under Help → Manuals. I don’t know how I missed this earlier.

AccountEdge allows me to set up a billing rate per customer (or even per employee), which is very nice. MoneyWorks does not do this, instead requiring me, as with QuickBooks, to set up separate products for different billing rates. For me, differing rates are quite common. It can be hard to raise the rate for long-term customers, or I may wish to charge different rates for different types of work. MoneyWorks Gold claims better support for time-based billing, but it’s also USD$599, more than double the price. Express doesn’t let me enter dates for each line item on an invoice, which I think is important. This is a major strike against.

AccountEdge’s forms editor is awful. It’s impossible to see how objects are layered, and I found that line shapes didn’t show up at all, even when previewed. The first time I tried to customize an invoice, the result that was emailed to a customer was horribly misaligned, though thankfully still legible. A second try produced better results, but it took a lot longer than I expected. Thankfully, this is the kind of thing I hope to do very rarely. MoneyWorks’s forms designer looks quite powerful, offering what looks like a macro language to create the forms. I’ll be honest, though: I didn’t go into this in depth because by this point, after realizing the limitations on time-billing, I’d made up my mind to go with AccountEdge.

AccountEdge can email invoices and statements directly from the application, which is really nice, except that it uses Mail.app and the first defined mail account. For me, this means that business correspondence goes out using my personal account. That’s unacceptable, so I’m back to doing what I did with QuickBooks: print to a PDF, then compose an email by hand and attach.

One last “weak sauce” moment is with the MoneyWorks user support forums. Trying to be funny, they convert any instance of “MYOB” to “*Four-letter-word accounting software*”. It’s juvenile and unnecessary. To their credit, searches for “MYOB” do the right thing, so if that’s an important part of a search query, at least the right posts will come back.

So, that’s it. It’s early January, 2010 and AccountEdge 2010 was due to come out today. It is not yet available, however. The trial version I have will work for 30 days, and while Acclivity will give me a free upgrade to 2010 if I buy 2009 now, I’m going to hold off and make sure 2010 doesn’t do anything idiotic before spending the money.

Update Jan. 13: One thing I neglected to point out when I published this is that an often-cited reason for using or sticking with QuickBooks is that “my accountant uses it.” I was pleased to discover that both AccountEdge and MoneyWorks make free copies of their software available to accountants in order to read my company file. The same is technically true for Gnucash, but if I’m not thrilled to use it, what are the chances my accountant will be?

Update Jan. 27: First, I received an email from Tom Nash, a managing partner at Acclivity, who told me that they are aware of the mail account issue I noted above. According to Tom, the way it works is somewhat due to how Mail.app works. If you have multiple accounts, AccountEdge will use the same account that Mail.app will use if you press ⌘N to start a new message.

Second, I received my AccountEdge 2010 CD and, sadly, the form editor looks exactly the same as 2009. I still don’t see line shapes in the default forms, which means customization will likely still be a difficult trial-and-error process.

The Diminishing Returns of Long Hours

A lesson I learned during my years in university and had to re-learn once or twice while working in Silicon Valley is that working long hours is beneficial, but only for a very short period of time. One or two 60 hour weeks is enough, as is even a single all-nighter. When you’re sleep deprived, you don’t make good decisions, and software development is all about good decisions. There is never one solution to a problem. A good engineer picks one of the best solutions through creativity and experience. Sleep deprivation dulls the ability to do either well.

In Don’t be a Hero, Alex Payne makes the additional argument that an individual working these long hours is a sign that your culture has a problem.

Work/life balance is important. These days, I only work long hours if it’s because I made a mistake. Everything I do is, in part, an effort to avoid this: fair and realistic estimates, regular communication with my customers, and not slacking off early in a project.

Advertising and Making Money Online

David Heinemeier Hansson gave an amusing talk at Startup School ’08 and it echoes something I’ve been thinking about for some time. A lot of web sites out there get very, very popular and yet there is no indication they plan to make money. Many more web sites fall back on advertising as their primary business model.

ZingLists isn’t terrifically popular, but I’ve given a lot of thought to how it might generate some revenue and least pay the hosting bill. Up to now, I’ve taken the easy route and put Google ads on the list summary pages. They aren’t very intrusive and once in a while they’re actually useful, displaying an ad that helps you cross something off that list.

There are really two problems with relying on advertising as a business model. The first is my problem. Relying on someone else to sell the ads (Google) means you essentially have a single customer. If something happens to that customer, all of your revenue disappears in a puff of smoke. Google disabled my account about a week ago and I can’t get them to tell me why. It’s the whole account, too: AdSense, Analytics, Gmail, Calendar, everything. I have no idea what the perceived problem is, though my best guess is click fraud. That sucks, though, because I can’t control an end-user’s behavior, and if I don’t show them the ads, I have no chance of generating revenue. So Google AdSense (or any single provider of ads) is not a real business model.

The second big problem with advertising is this simple question: why are you in business? Is it to sell advertising or to write software / provide a service? If it’s the latter, I’m sorry to inform you that generating revenue by selling your own ads means you are in fact in the business of selling ads, not writing software. This is not a business I want to be in.