Always Be Marketing

February 25th, 2010

Dan Wood just posted an interview with me on the Mac Indie Marketing Blog. I love how interviews tease out thoughts that had never previously been fully gelled in my head.  Thanks for the thoughtful conversation, Dan.

Out of this experience came a new personal mantra: Always Be Marketing. This catch-phrase came to me as I tried to discover what it is that I actually do to market myself, my business, and my products. The answer fell somewhere between nothing specifically and everything specifically!

Another catch-phrase I bring up a lot when talking to other indie developers is Say Yes. This captures my belief that we developers are shy, scared, and would rather be programming than doing anything “out there in public.” So I often implore other developers to say yes to interviews, speaking engagements, etc., before your scared nerd-brain can take over and run screaming.

But Always Be Marketing sort of captures the same sentiment while driving the message home:

  • The local user group wants me to present, should I go?
    Always be marketing.
  • Another developer wants to co-market my product with theirs.
    Always be marketing.
  • What the … CNN wants me to be a talking head?!
    Always be marketing.
  • Should I really have a Twitter account and a Facebook account?
    Always be marketing.
  • I don’t have time to monitor searches, comments, feedback.
    Always be marketing.

OK, I’m running dangerously close to being a world-class prick if I really reduce my conversational skills to this kind of catch-phrase smack-down. But you can bet this is what my  internal dialogue is going to sound like from here on out.


Michael L. Jalkut – 1950-2010

February 3rd, 2010

Today I learned that my dad, Michael, has passed away while traveling in Washington, D.C. We were never the closest father & son pair, but I loved him, and he loved me. Over the years of my adulthood, and especially since my son Henry was born, I have been trying to work towards a closer relationship with him.

He taught me to love computers. When I was 5 and living alone with my Mom, he brought me a copy of a BASIC programming magazine, and a Timex Sinclair computer. He tried to talk through the logic of control flow with me. Of course, it flew over my head, but it taught me enough to know that my dad’s finger could move across the rules on a piece of paper, and the rules dictated where his finger would go.

A few years later he and my Mom got back together and we all moved back in together. He bought me a Commodore 64, and set me up with some fun games. I didn’t program anything, I was too busy playing Little League baseball and trying to be a normal kid. Sometimes he played catch with me. On Father’s day we would drive to San Francisco to see the Giants. He didn’t even like baseball, but he did a good job faking it for me. He bought me frozen Carnation malts.

My Dad had gone back to school in his 30’s to earn a computer science degree. When we moved back in with him, he was starting his late-blooming career at IBM, where he worked for a short time. He moved on to Digital Research and worked on GEM, a graphical windowing system not terribly unlike the Mac. Later he joined MetaWare, where he worked as a compiler engineer with the same group of people for almost 20 years.

When I was 17, a friend of mine got into legal trouble, and I could have snitched on him and made it worse. I asked my dad for help, so he took me to a lawyer and paid for it. He didn’t judge me for wanting to protect my friend. He made it possible for me to be a loyal friend, even to somebody who may not have earned my Dad’s respect.

After I graduated from college and left the house, the years seem to rush by like a blur. I did my thing in San Francisco, working at Apple, meeting my (now) wife, and going back to school for a second degree. Meanwhile, I saw my Dad a few times a year. We always expressed our love for each other, but there was a lingering anxiety and awkwardness. Our relationship had frozen somewhat in the form we had left it in my teens: each of us struggling to come to terms with our significantly differing political and metaphysical beliefs. After my wife and I moved to Boston in 2005, I saw even less of my family, sometimes only once or twice a year.

He always expressed great pride about the career path I followed. He was impressed that I had graduated from University, found a great job at Apple, and then founded my own business, all after dropping out of high school (against his wishes!). He let me know so often of his pride, that he gave me the gift of never having to worry particularly that I might have disappointed him. I think this helped me to pursue my dreams more freely than ever.

His satisfaction with my career turned him slowly but surely from an Apple-hater into one of its biggest fans. A few years ago he lost his long-time job as a compiler engineer, and reoriented himself towards the Mac, starting a business of his own, and feeling his way towards a niche. He became certified in all manner of OS X support technician programs, and even decided to attend WWDC a couple years ago. Some of you will probably remember having met him there.

His business never really took off, and a sequence of unfortunate events handed him some serious blows. Life didn’t hand him a perfect hand, but he managed to leave some beauty here with us, and I am grateful for that. I would have loved to have seen what would have become of the rest of his life, and how my own young family would have fit into it.

The circumstances of his death are sad, and personal. We barely spoke over the past year, but I had a good conversation with him at my Grandmother’s funeral in November. Suffice to say, he died too young. I miss you, Dad.

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.