Scantastic

February 3rd, 2010

I have never owned a fax machine in my life, and I hoped that things would stay that way until the last obnoxious faq-requisite institution on earth had pulled the plug on these foul machines. But … I’m dealing with some entities recently that are hard-set on faxing, and I have needed to send rather large numbers of pages.

It occurred to me, as I faced the prospect of a $100+ bill for faxing at, say, Kinkos, that I could probably buy a cheap fax machine and save some money. I was right about the money, but as far as time and anguish goes, I’m not sure I’m making out well.

I bought the HP Officejet J3680 All-in-One. It’s a printer, scanner, copier, and fax machine. How handy! We don’t have a scanner or copy machine, and I figured it would be handy to occasionally do these tasks, as well. After I got the machine out of the box I immediately sent a huge fax with it which, I have to say, went very smoothly. Unfortunately, things started to go downhill quickly after I hooked it up to my computer and installed the software from the included CD-ROM.

The install process itself was slow, but seemed to go “OK”. When it was done, I had a huge list of Hewlett-Packard apps to choose from.

I’m feeling pretty good because, not only was this machine a bargain at $50, I got all this free software with it, as well. Sweet.

I looked for something vaguely fax-related, because I wanted to see whether the fax I had sent had kept a log or copies of the pages on the machine. Hmm. “HP Fax Setup Utility” sounds promising.

Yep, that’s my new printer software, crashing straight-off-the-bat. OK, it’s possible I could just be unlucky. I mean, I am a software developer, I know that it’s impossible to write perfect software. Somebody reading this has undoubtedly run one of my applications and had it crash on them. There’s something special about this crash, though. Every crash log contains clues about the crash, and this one contains a very obvious clue. Let’s look a little closer:

To many of you, that reads as gibberish, so let me translate. What it says is that the HP application cannot launch because it relies on an external library, located in a home directory for a user named “admin”. In other words, whoever developed this application for HP did so in such a way that the application will only ever launch on their computer. Or, possibly, on the computers of other people who happen to name themselves “admin.”

What?! Say it ain’t so. It can’t be so. But, I followed all the directions. I opened the box, and I put the CD-ROM into the computer, and it says Mac support, and … I decided maybe I need to start with the software at a higher level. Hmm, this “HP Setup Assistant” sounds like a nice refuge from the storm. I’m sure this will get me back on track.

Yes, HP. I’m feeling pretty loved. At least I have the comfort of the HP logo and, as my friend Paul Kafasis observed, its “greasy mirrored surface”, to go along with my tuxedo.

OK, this is nuts. I gotta see if there are updates. I go to the HP web site and search for downloads. After a few levels of clicking, I come to this useful, if disconcerting page. In a nutshell, they know their software doesn’t work on Mac OS X 10.6:

Important: Please do not reinstall software from original HP Photosmart, Officejet, Deskjet CDs, or HP web downloads from previous Mac OS X 10.3, 10.4, or 10.5. Older software is not compatible with Snow Leopard. The latest Snow Leopard compatible software is included in Mac OS X 10.6, and you will experience the best performance and functionality if you use the latest HP software.

So on the one hand, they made a great deal with Apple to supply basic functionality in the operating system, starting in 10.6. On the other hand, the very instructions that ship inside every box will turn the user’s experience into a nightmare as I have described, until they discover the sage advice on HP’s web page. And if I can’t install the software from the CD-ROM, does that mean I don’t get access to all the additional features provided by that illustrious list of free software above? I don’t think I need it all, but I would at least like to be able to, say, read a scan off the scanner.

What has HP done wrong? As I said, mistakes happen. Bugs happen. Things are bound to go wrong. But the sheer number of things that went wrong in my attempt to use this device with my Mac made it unacceptable. At the very least, HP should put a prominent sticker on the CD-ROM that ships with these devices, alerting Mac users that it is dangerous to install the software on Mac OS X 10.6. I suppose 10.6 is still relatively new, but Apple makes pre-release versions of major releases available to companies like HP. They probably knew months and months ago, if not years ago, that the supplied software would not work with 10.6. It’s only good business to warn users of this fact.

Furthermore, some of the errors I encountered were not OS related. See the first crash I mentioned above. Bluntly, HP has shipped on their CD-ROM a utility application that will not properly run on any customer’s Mac, whether it’s 10.6 or not. I suppose they can just hope that nobody will run that application, but as it hasn’t been modified (according to my Mac) since April 26, 2007, I suppose they have had plenty of time to yank it from the CD.

OK, this has been a bit of a whine-fest, but hopefully it’s also instructive as to how hostile a company’s obliviousness in software can feel. When the simplest steps, followed as advised in the packaging, lead to a nightmare of crashes and ill behavior, then your company has a disconnect from its target audience.

Can’t Catch Me

January 28th, 2010

 

The future of software is on the web. That’s what they keep telling me. I just smile, and say “I don’t think so. There will always be compelling technologies on the desktop.” I believe this, but I admit it carries an odor of blind loyalty to my comfort zone.

People who argue the other side have latched on to a few admittedly stunning aspects of the web, and they seem to believe that these charming characteristics alone ensure a course for long-term victory over all others. These attributes include:

  • Cross-platform. You can run a web app on any computer that has a capable browser.
  • Ubiquity. You don’t need to be near your computer to run a web app. You just “log in.”
  • Instant updates. No need to coerce customers to update, just change the code on the server and they’re quietly updated to the latest running code.
  • Open, standard technologies. You have control over and  access to most of the source code at the heart of your application.

Attractive indeed. If you imagine a world where the sum of all things you can do with a computer is exactly matched, and locked down for all time with what you can do inside a browser, then the arguments for the web are persuasive. Why write for a specific platform when you can write for all platforms at once and gain the other advantages as well?

The error is in disregarding the many unmatchable attractions of “the desktop.” When I say desktop, I mean any platform that provides applications with more features than the standard web. iPhones are “the desktop.” As are Android, Palm Pre, Macs, PCs, and Linux. All offer features and functionality above and beyond what you can do on the web itself.

But the web can do a lot!, you cry, and point me to examples of ingenuity such as 280 Slides, the flagship proof-of-concept from 280 North’s impressive library for implementing web apps in a way that is reminiscent of programming in Objective-C. What these people are doing is mind-blowingly impressive, and if I decided to write a web app for some reason, I would probably use technologies like these.

But if I want to write a truly great app, it has to be a desktop app. And this will be true forever, or until there is no difference between the web and the desktop. I grant you, if the web becomes the desktop, something I find very unlikely, then the web will have in fact won by default.

Anything You Can Do…

Companies like 280 North are investing years of engineering time into a necessary pre-requisite for web-app domination: bringing the web’s capabilities up to approximately what the desktop offers. I quipped on Core Intuition that “Web 2009 = Windows 95”. It’s a play on an old bumper-sticker from Apple, that poked fun at Windows for finally having “caught up” to Macintosh’s 1989 feature set, in 1995. The amount of work done over the past few years on web app technologies is staggering, but when you take a step back, they celebrate victories over things we have taken for granted for years on the desktop. Things like drag and drop and animation are at least possible on the web. Other niceties such as inter-application scriptability would require a total overhaul of how web browsers behave.

The problem with the game of catch-up, is you only ever win if your target is moving slower than you are, or better yet if they stop completely. All desktop platforms are innovating to offer developers greater and greater capabilities that peer into the future of what your high-powered CPUs, GPUs, and peripheral hardware makes possible. Meanwhile, most web platforms are just trying to catch up.

And catching up is hard for many reasons, not least of which that they have no idea where the desktop is going. None of us do, and Apple’s announcement yesterday of the iPad is a great example of this. The goal of a “vaguely Mac/PC-like application interaction environment on the web” is thrown a curveball when desktop vendors such as Apple are constantly picking up the goal, brushing it off, and setting down again on a completely different path you’ll have to now forge a trail to.

It’s an unfair fight. We know exactly what the web can do, and we have a good idea of what it plans to do, thanks to its (laudable) open standards. But none of us has any idea what the next iPad, iPhone, Wii, Xbox, TomTom, whatever, will do. Don’t get me wrong: the web is excellent at innovating, but it innovates primarily for publishing and social interaction. It doesn’t innovate on desktop UI or device integration, the very areas where brilliant desktop applications shine. And it does innovate, as I have already suggested, in the art of catching up.

Anything you can run in a web browser can also run inside a desktop app, thanks to the modular embedding capabilities of WebKit on the Mac and Internet Explorer on the PC. However, it should be obvious that the inverse is not true. When something truly innovating and mind-blowing happens on the web, I can drop it into a WebView on my Mac and make it a part of my desktop experience. When something mind-blowing happens on the desktop, you can bet you’ll have people scurrying to painstakingly imitate it on the web. It takes a lot of work, and a lot of time, and sometimes it’s not precisely even possible. But eventually they will come up with something reasonably close.

I imagine in 5 or 10 years the web will have caught up to something resembling how desktops behave today. But I can’t even begin to imagine what we’ll have at our fingertips on the desktop, by then. iPad? We ain’t seen nothing yet.

 

Indies Relieved

January 21st, 2010

Yesterday, nearly 150 indie Mac developers participated in a promotion to raise money for Haiti.

I’m pleased to report that the project was an outstanding success. I will not be surprised if the total money raised exceeds $100K.

As for Red Sweater, we contributed a not too shabby $2,300 to Partners In Health.

Way to pull off an amazing charity drive, everybody. Now, let’s get back to work!

 

Indie Relief

January 20th, 2010

My friend Justin Williams teamed up with Garrett Murray to organize an incredible charity software drive: Indie Relief.

Indie Relief

Nearly 150 developers are participating, and have pledged to donate the proceeds from today’s software sales to a variety of charities benefiting earthquake-stricken Haiti.

One of the unfortunate bits of confusion to arise out of the program is the question of which time zone the “January 20” sales should apply to. To help alleviate confusion on my store, I’ve modified the main store page and the checkout page, to each contain a prominent header near the top of the page. You’ll know your payment to Red Sweater is actually going to Haiti, by the presence of this banner on the page.

If you’re the kind of person who likes to buy Mac software, and wouldn’t mind if that money went to help folks who are struggling through a tough tragedy, please consider buying software from myself and the other participants today.