TUAW Interview & Black Ink Demo

July 31st, 2007

While I was at WWDC this year, Scott McNulty and Victor Agreda from TUAW caught up with me. Scott and I had a nice chat while Victor manned the camera.

I think it turned out pretty well. We spent a good portion of the time talking about and showing off Black Ink. So if you’ve been curious about the Mac’s premier crossword-solving application, but haven’t gotten around to trying it, maybe you’ll be interested in seeing a video demo of it!

MarsEdit 1.2.1

July 31st, 2007

Although I’m still hard at work on 2.0, I haven’t forgotten about MarsEdit 1.2! I’ve been collecting smaller fixes that will be welcomed my many users.

MarsEdit 1.2.1 changes:

  • For new weblogs, set default comment status to “Open”
  • Sort Technorati Tags alphabetically in dialog
  • Fix a bug that could cause “Edit With External Editor” to get stuck editing
  • Fix appearance of text “#extended#” in the preview
  • Blogger Specific
    • Fix issue with authenticating Blogger when user has google hosted account
    • Fix a “phantom category” bug with Blogger blogs that have no categories

Sneaking Audio Onto The iPhone

July 26th, 2007

Well – it looks like I wrote my first iPhone utility. A pretty remarkable feat when you consider that I don’t have an iPhone. Even more remarkable when you consider the utility was written in late 2005, and hasn’t been touched since :)

Today Jason Snell, the editor of Macworld, discovered a clever trick for putting getting audio onto your iPhone from whatever Mac you happen to be on. The clever trick is implemented with the help of my experimental utility, Typecast.

I had originally written the utility to help turn normal files into podcasts, because I prefer the way iTunes handles podcast files for spoken word audio. Jason figured out that if you sync the iPhone’d podcasts separately from music, you can effectively overwrite your “podcasts” with whatever audio files no matter where you are. Just set up a fake podcast with Typecast, and sync!

I think it’s a pretty cool example of simple software enabling a complex solution. The fact that the software is still useful now, and useful in conjunction with a piece of hardware I don’t even own, makes me pretty happy.

Respect For All Trades

July 23rd, 2007

I was chatting recently with Ian Baird about the benefits and demands of running an independent software business. It seems a lot of people are excited about the prospect of going solo, and I can’t blame them. I’m excited, too! Working for yourself means you answer to nobody. Except, of course, when you’re answering to all those people, customers and business partners, who you gave yourself permission to answer to.

But! You do wake up excited to pursue the day’s pressing problems. Some days that might mean the boring art of turning a profit, but on other, less strenuous days, your attention may turn to timeless questions such as “really, truly, what’s the ideal cascading behavior for new document windows?”

Working for yourself means a neverending list of outstanding questions. How do I improve my marketing? Can I streamline my quality assurance? Do I need a customer relationship management system? Maybe I should rent office space. When do I hire somebody? Is the printer ink deductible, even though I printed a couple concert tickets? How many free copies of my application should I be giving away? Should I be granting interviews? And if so, what’s my title, anyway?

In most “real” jobs you answer a much smaller set of focused questions on a day-to-day basis. In many ways, this is good. Being expected to fill a well-defined role is not only comfortable, it’s also efficient. I guess that’s why business evolved that way. After all, why should you spend time on questions that don’t pertain to your primary talents?

The best answer I have is that it’s really fun to run the show. As an independent developer, you learn a ton about all aspects of running a business, which is both challenging and rewarding. In some ways, this ambitious journey is like a long, strange approximation of earning an MBA. (And I don’t mean “Mister Bad-Attitude!”)

It’s not like I’ve earned the right to call out mistakes in this pursuit. I’m just getting started, myself. But I am opinionated. If there’s one shortcoming I spot in other developers who are intent on being self-employed, it’s a lack of respect for non-engineering aspects of the job. These developers seem to think that indie software development is all about software development. They quit their jobs convinced that they’ll do the same programming work as ever, only sell it directly to users for majillions of dollars and be happy and rich. If the software business was this simple, the companies these developers used to work at wouldn’t need all those other people, the passionate and talented folks who don’t do the programming! What does it take to run your own business? Take a look at every single job in your old company, you’ll be doing it from now on.

Every day brings new challenges, which is of course a huge part of the excitement. But the majority of these challenges fall outside our conventional areas of expertise. What are we to do? It’s relatively simple: learn as much as you reasonably can about all aspects of your business. Marketing, design, quality assurance, accounting, legal protection, payment processing, customer relations, and yes, software engineering, should all be topics of interest to you. If you’re not somewhat interested in these fields, I don’t see how you can run an indie software business. You’re better off in a real job, where you’ll be allowed to specialize in peace.

But the good news is that mere interest in these varied fields will carry you a long way. You don’t need to be an expert to recognize where your expertise ends. By learning enough about your business and the limits of your own abilities, you’ll be well-positioned to do as much as you can do yourself, and to outsource the rest to more capable hands. Just like a real business!

While I do enjoy the romantic image of the successful indie developer as jack of all trades, I’m convinced it’s both impossible and unnecessary. You’ll go much farther in this pursuit by developing a respect for all trades, instead.