Try my Mac apps Clipstart and Wii Transfer from Riverfold Software

Interruption and collaboration

Jason Fried, from a recent interview: "Interruption and collaboration are different things." If you haven't listened to a Jason Fried talk recently, this one covers a lot of good stuff.

I also like episode 19 of their podcast, which is edited from a live recording of a planning session for Rework. My first impression of Rework was that it was too finely edited — that to get to the essence they threw away too much material. I wanted to hear more case studies from their business, approaches that worked or didn't, and lessons learned.

But I've flipped through the book again, a few months later, and it holds up. I don't know if it was intentional or not, but the lack of filler text gives it a certain timelessness. Each chapter is one core argument, and whether that topic resonates with the reader or not depends entirely on what you and I bring to it from our own job experiences.

August 30, 2010 05:47 AM [link]

Deprecation mentality

Today, Twitter starts shutting down basic authentication for the Twitter API. One of my favorite Twitter clients, Birdfeed, will be allowed fewer and fewer requests until finally at the end of the month it stops working. Likewise for Birdhouse and Twitterrific 2. And the same for my Wii Codes site, until I have a chance to update it.

Dave Winer wrote a fairly negative essay a few months ago on this so-called OAuthcalypse:

"When Twitter breaks all the apps in the OAuthcalypse, they will break all of mine, and I have no intention of fixing them. I don't expect anyone to care. But what you should think about is how many of the Twitter apps that you do care about will break and how many of them will say the hell with it? And how many of them will be around for the next time Twitter breaks everything, because that's certainly coming unless Twitter develops some kind of philosophy about itself as a developer platform."

I didn't want to agree with him at first — I'm a big fan of nearly everything Twitter does — but it's a fair question to ask whether backwards compatibility is getting the attention it deserves. Software moves fast, but this kind of thing hurts users, not just developers.

In the desktop world, OS APIs are unlikely to change so severely, and if they do you always have the option to run an older version of the OS or app indefinitely. For web services, though, you can't keep an older copy of the internet around. Web apps are forced upgrades.

I'm not sure there's a solution to any of this. It's just part of tech progress, like moving data from old floppy disks to CDs to hard drives to the cloud. But it's a bummer when apps get left behind as APIs are obsoleted. Over-aggressive deprecation was common in the Rails world, and I was not a fan.

So, here's to the future, Twitter. Keep new API changes versioned and maintain the old stuff. If this OAuth switch is a one-time cost, developers can focus on what makes their apps unique instead of always playing catch-up.

August 16, 2010 03:50 PM [link]

Congratulations, you're a manager

The sort of odd "best of both worlds" balance in my different projects at VitalSource and as a solo shop is that I love working with a team, and I also love working alone. I mean really alone, doing the planning and design and coding and marketing. I've resisted farming out any piece of my apps at Riverfold (except the application icon) so that I can have complete control. It's brutally hard sometimes, but it's mine.

If you're working by yourself and add another person to the project, a funny thing happens: you become a manager. Before, you could spend 100% of your time on the work. Now you can allocate 50-75%, because you're getting the new programmer up to speed, answering questions, and setting priorities. If you're lucky (and I usually am), the person you added is contributing so much that it easily makes up for your loss in productivity, and then some.

The trade-off is worth it. Exchange the previous low communication overhead for extra coding man-hours.

You can build something great with a team, something that would be impossible alone, if you surround yourself with people who are better at your job than you are. I love that first moment when a team doubles in size from 1 to 2, or 2 to 4.

But after the initial frenzy of coding and emails and new features, I usually get burned out again. The project doesn't strictly need me anymore, and I'm ready to get back to starting an app from scratch, when the scope is so small that the whole thing still fits in my head.

August 8, 2010 02:09 PM [link]

Mike Lee

I like this paragraph from a long post by Mike Lee

"On any project, whether it's a band performance or a team shipping, there's a time to curse, and a time to praise. Someone who gets those in the right order is an inspiring leader. Someone who gets them backwards is just an asshole."

As I mentioned on a recent Core Intuition episode, I have a really hard time remembering who I meet unless I read their blog, or follow them on Twitter, or have heard about their reputation. None of these were true when I first met Mike Lee, walking to pizza one night at C4[1]. I didn't even know at the time that he worked at Delicious Monster. But it didn't matter because he essentially opened with: "I was hit by a car last week."

Bam! World's toughest programmer indeed, and now I'll never forget his face or the conversation. We can't all be as relentlessly passionate and memorable as Mike, but there is a lesson here in personal brand: finding what sets us apart from every other programmer and letting that shape our voice and the projects we work on.

July 21, 2010 11:18 AM [link]

iTunes password caching

Mike Rohde racked up $190 in iTunes in-app purchases without knowing it, blaming an app called Fishies by PlayMesh for tricking his son into purchasing virtual items without a password prompt. He was obviously pretty upset — I would be too! — but calling it a "scam" probably goes too far. So what really happened?

It is fairly well known that after the App Store prompts for your iTunes password, you can download more apps for a certain length of time (at least a few minutes) before it requires a password again. What seemed less clear is that this applies to in-app purchases as well.

To be sure, I ran a test to confirm the behavior:

  • Download a new free app from the App Store (I downloaded the current number 1 iPhone app, Farm Story Summer).
  • Enter your password to confirm the download.
  • As soon as it finishes, go to another completely different app (in my case it was Iconfactory's Ramp Champ, which I had downloaded months ago).
  • Purchase an in-app virtual item.
  • It prompts for whether you want to buy the item (the standard Apple prompt), but without requiring a password.

What must have happened to Mike is that he bought something, entered his password, and then handed the iPad over to his son. His son played the fish game and clicked a bunch of random stuff (likely got the Buy prompt), but because the whole concept of virtual currency is kind of confusing, and because it didn't ask for a password, the app happily let him make all the purchases.

I doubt the developer of this app did anything wrong. A reasonable argument could be made that iTunes should either not cache passwords at all, or keep a separate cache for app downloads vs. in-app purchases, or maybe always prompt for a password on in-app purchases. My kids and other kids I know have also used this backdoor trick to sneak a couple app downloads, but usually it's a few bucks, not $190. Consumable virtual items (that you can keep buying over and over) make this problem much worse.

On episode 60 of This Week In Startups, Jason Calacanis interviewed ngmoco founder Neil Young about the mobile game business, focusing on the hit iPhone/iPad game We Rule. I was stunned to learn from the show that some individuals spend not only hundreds of dollars but up to $10,000 on in-app purchases in We Rule. Neil Young was happy to take their money, but something feels wrong here, like a gambling addiction gotten way out of hand. Or maybe just kids running up their dad's credit card bill.

July 10, 2010 01:21 PM [link]

iPhone 4

Alright, it's been 2 weeks. How does the iPhone 4 hold up?

For me, there was less urgency to this launch then for previous iPhone releases. I wanted the 3GS on day one (video recording!) and of course I waited all afternoon for the original iPhone (shiny!). Likewise I couldn't wait for the iPad. This time I viewed iMovie and FaceTime as the killer apps. Sign me up!

But I wasn't willing to wait all day. I tried the same approach that had worked great for the iPad: show up late in the day after the madness has settled down. No luck this time. I waited about half an hour, then came back before closing and waited a couple more hours to get a voucher for the next day. Total wait time about 3.5 hours over 2 days and 3 visits.

To get it on day 1, most people waited 6 hours. I'm sure John Gruber's story on Flickr was common too.

This was Apple's most poorly-managed launch I've been to. The 3GS line was pretty fast. For iPad it was extremely quick — in and out in half an hour. I mostly blame the extra step of requiring activation in-store, but there were enough problems that I think this whole thing was mismanaged somewhere.

Some of the inconsistent messages I heard depending on which Apple Store employee I talked to:

  • AT&T activation is not the bottleneck / yes it is.
  • We are selling 30 phones every 10 minutes / no idea how long the wait is.
  • We'll shut down the line at 7pm and give out vouchers / staying open until 2am.
  • Vouchers will allow you to skip everyone else in line the next day / you're guaranteed a phone but have to wait in line.

I also collected a few tweets about the launch.

Anyway, the phone. It's the best phone I've ever seen. No question.

Now that some time has passed, I think I can comment on the reception issue. It's real. Outside my house, I don't notice it. But my street is a notoriously bad dead zone, and while I don't get any more dropped calls than I used to, I can no longer hold the phone in the palm of my left hand when using mobile Safari. It's pretty frustrating because I've been holding the phone this way for 3 years. It's awkward to break the habit.

Having said that, I'll close with the same thing I told strangers who came up asking about the phone. It's easy to overlook the reception issue because of how great the rest of the phone is, and all existing iPhone users will love the iPhone 4. Eventually I'll just cave in and buy a bumper.

July 9, 2010 09:10 AM [link]

$10 iPad apps

I'm fascinated with App Store pricing. There's just so much interesting stuff going on:

  • 99-cent apps and the race to the bottom.
  • Users expecting apps to be cheaper because the device is smaller.
  • The high-end successes like OmniGraffle.
  • Sales and pricing gimmicks.
  • Whether apps can compete outside of the top 100.

So when 37signals launched their first iPad app — Draft, for sketching mockups and quickly uploading them to Campfire — the first thing I wondered was: "how much?" The comments on their launch blog post are a hilarious and sad mix of the usual cheapskates balanced with 37signals defenders. But the most amusing part is that at only $10, Draft is a bargain compared to Campfire itself, which has an entry-level paid plan of nearly $150/year.

(I'm a big Campfire fan, actually. The best iPhone client for Campfire, Ember, has a permanent spot on my home screen.)

My first indie iPad app, a 3-4 week project that has stretched to 3-4 months, will also be $10. At that price it will be twice as expensive as its competition. I'm pricing it that way for three main reasons:

  • It's worth the price of two trips to Starbucks, because it takes the category in a new direction with features no one else is doing.
  • It's designed for people who are serious about this stuff, not an impulse buy, not for everyone.
  • It's a standalone app but includes an optional web complement, offered for free, but which will incur real hosting costs.

Daniel Jalkut and I talked about this a bit on Core Intuition 28 — that it might be okay to overcharge a little for 1.0 rather than raise the price later, and that it should be possible to build a business on the iPad the same way many developers have on the Mac: not by looking for the big overnight hit but by steadily selling some number of copies every day and letting it spread by word of mouth.

Marco Arment wrote about this as App Store B in October last year:

"More of their customers notice and demand great design and polish. More sales come from people who have heard of your product first and seek it out by name. Many of these apps are priced above $0.99. These are unlikely to have giant bursts of sales, and hardly any will come close to matching the revenue of the high-profile success stories, but they have a much greater chance of building sustained, long-term income."

We're three months into the iPad, just passed 3 million devices sold, and not every app has dropped to near-free. I think $10 iPad apps in particular are going to remain pretty common.

June 24, 2010 12:39 AM [link]

NetNewsWire production process

I like this Flickr set from Brent Simmons showing the stages of building NetNewsWire for the iPad. It's exactly the process I'm going through right now with my new app. Get some placeholder views and tables in there, then iterate, each time filling in more of the missing pieces.

iPad interface design is also proving to be much more difficult than I thought it would be. Concepts that work on the iPhone don't necessarily translate to the larger device, and there are very few iPad apps to draw inspiration from. There's no standout app from Apple's lineup either, at least not in the way that iTunes 1.0 defined nearly every Mac app to follow. With the exception of some very basic ideas like splitviews collapsing in portrait mode, and a generous sprinkling of popovers, I've yet to see much consistency from new touch apps.

Apps that have had the biggest influence on me so far: from the iPhone, Birdfeed and Pastebot; and on the iPad, Mail and Twitterrific. Send me a reply on Twitter if you have any other recommendations.

April 18, 2010 09:56 PM [link]

New iPad hackers

My first reaction when I started reading The Kids Are All Right on Daring Fireball was: Well, I had to disagree with a John Gruber essay eventually, might as well be this one. There was no developer program fee when I started building Mac apps! You could write whatever you wanted and share it with friends.

But then I thought more about the $99 hurdle. What was I doing as a teenager and would the procedures Apple has in place now have stopped me? (For context, I'm 34.)

I started programming for the Mac with THINK Pascal, a beautiful little development environment. Then I moved to C with Dave Mark's book, which came with a C compiler on a floppy inside the back cover. Eventually I saved up and bought Symantec C++. Even at an educational discount these were expensive compared to the free Xcode of today.

At that point I'm pretty heavily invested in the Mac, but the killer was the documentation. I'm sure I spent hundreds of dollars on Inside Macintosh books. Our senior year in high school, my friends and I would meet at a restaurant before class for coffee and breakfast. I remember I'd get there early and sit in the booth with one of my oversized volumes of Inside Mac, taking in too much caffeine for my own good while I devoured every page, even the advanced topics that were still over my head.

I lived and breathed this stuff pretty heavily for a few years. To imagine letting a $99 iPhone dev fee and some locked-down APIs prevent me from building apps is laughable. Great computers inspire people to build new software. That's how it was when I got my first Mac, and I'm sure it's that way for the new generation of young iPhone and iPad tinkerers.

One day I hope the App Store will be more open. But it is what it is. I'll point out where I think Apple can improve, and then I'll build and ship anyway. It makes no sense to sit around and complain on my blog about the good old days while some kid half my age is taking his or her idea all the way to the top of the App Store and owning the platform of the future.

April 16, 2010 04:13 PM [link]

Quiet rejections, no big news

It appears I was too optimistic in my last post about the App Store getting better.

The iPhone version of Snowtape, in development for months, was rejected because it could let users record and share audio from the internet:

"His sole words were, that there are lots of things missing in the SDK agreement and that they can not foresee any circumstance that leads to a denial of an app. That's right! We did not violate any paragraph of the SDK, yet they forbid us distributing our app."

The developer removed the ability to transfer audio files off the phone and then Apple let the app through.

Then there's this post on the developer forums about an iPad app rejection because they recreated a UI innovation from the new Photos app. Apple said:

"The application uses a tap and a pinch to expand feature that is present in Apple iPad Applications. This action is associated solely with Apple applications, and we kindly ask that you update your app appropriately."

I've been doing a bunch of iPhone and iPad development this week. The more I work with it, the more I love the platform. But it just takes a couple rejections to sour the whole experience.

And yes, I realize I'm posting this on one of the most exciting days in the history of the App Store. The first round of iPad apps hitting the store today look fantastic.

April 1, 2010 04:23 PM [link]

Fast customer support

Three years ago I wrote the following about customer support:

"Most people who buy Mac software from independent developers know that it's only 1-5 people behind the company. We can't compete with the Microsofts and Adobes of the world on application size, but we can compete on quality customer service. Being small is a competitive advantage."

Seems reasonable, but the fact is that many small companies are struggling to keep up with the support load. Jesse Grosjean recently downgraded his support expectations for customers. From the official site:

"I'll answer basic questions and license key/order issues as fast as I can. I also appreciate larger questions and feature suggestions, but I'm finding that I no longer have time to answer them all as I used to (mostly). I promise to read and consider everything, but you may not get an individual response."

I'm a huge fan of Jesse's TaskPaper and his minimalist approach to Mac development. He is very honest with customers and encourages participation starting with early beta versions.

But it can be damaging to set support expectations too low. Here's what a support page says about support in Pastebot, another one of my favorite iPhone apps:

"We try our best to answer every support question. But please make sure your question hasn't already been answered in our FAQ. If you email us with an issue that has already been explained in the FAQs, we may skip the email."

This seems slightly backwards to me. The questions in the FAQ are the easiest to answer! I respond to those immediately. It's the hard questions for which I don't have a good answer yet that usually take the longest time or are more likely to fall through the cracks.

Is the weight of support for iPhone developers just too much? TaskPaper and Pastebot are both very popular. I guess we can all hope to be successful enough that we find out.

Meanwhile, I had a question for Beanstalk yesterday and received a response in just 19 minutes and an additional follow-up response in under 10 minutes. I like to show off impressive companies, so I tweeted how fast their response was. Their answer to my tweet? "We're usually faster."

Yep, that's the right attitude. Set your standards high.

March 30, 2010 10:18 AM [link]

Mac OS X Server tantrums

At VitalSource we now have a dozen Xserves running Ruby on Rails and a couple others running MySQL. While it's mostly stable now, over the years there have been several mystery show-stopper problems that no one seems to have on other platforms.

Which is why I found this quote from Rentzsch so interesting:

"The trick is to radically minimize all services performed by Mac OS X Server itself, and instead run services in VMware-hosted Debian images. At that point, Mac OS X Server becomes little more than a simple container for VMware, something it seems able to handle with a minimum of tantrums."

It seems kind of wasteful, but Mac OS X Server really is overkill most of the time.

Related: over the weekend I checked into Heroku. I'm impressed with what they have built. If it works as advertised, I think I'll supplement my Dreamhost stuff with Heroku any time I need a Ruby backend.

March 29, 2010 09:14 AM [link]

Trade-Off

I'm of two minds about Trade-Off by Kevin Maney. I picked up the book mostly on the strength of its tagline: Why Some Things Catch On, and Others Don't. The Ever-Present Tension Between Quality and Convenience. Pretty good, right?

The premise is great — that you have to choose when building a business whether to have an expensive, high fidelity product or a less expensive, more accessible product. Trying to do both usually leads to failure. It's like when I see an application marketed as "easy to use, yet powerful!" That's often a red flag that it is neither.

My issue with the book is that, like most business books, it simply drags on too long. What should have taken a couple days to read turned into months of slogging through a few pages at a time. There are some great stories in the 200 pages, but the idea behind the book, which is captured on the cover of the book itself, gets repeated over and over. It's almost like Maney copied and pasted some of the key points and scattered them throughout the book as filler.

37signals said that in the final draft of Rework they cut the page count nearly in half, and I think some deeper edits in Trade-Off would have helped too. Take the first 20 pages to explain the idea, and then another 80 pages of case study chapters with anecdotes, stories, and interviews. Done.

Complaints about the size and structure of the book aside, though, I got a lot out of Trade-Off. While Maney often strains to fit the book's core on top of successful or failed businesses that are too complicated to be applicable (I didn't appreciate the Newton-bashing), he makes some great points that helped me put my own app Clipstart in perspective, and will likely change how I market and build new features for it.

March 26, 2010 08:48 AM [link]

24-hour review times

I noticed a couple tweets last month about fast, less than 24-hour review times for iPhone app submissions. After I tweeted it, a whole bunch of other people came forward with similar stories. Apps going from submission to ready-for-sale in 12 to 24 hours.

The App Store is still fundamentally broken in many ways, possibly beyond repair depending on who you talk to, but there's no question that fast review times are great for developers. Even if the progress stops with this, it's a significant improvement to the App Store process.

Is it just for established devs? Just for minor bug fixes? It's not the latter, since some of these were brand new apps. The question is whether this was a change for a certain class of developers and apps or whether it represents an overall speed-up to the review process, and maybe even a hint at prepping for the iPad launch.

Review times are a big deal and they've gone mainstream. Opera Mini has a very public count up widget as part of their extensive pre-approval hype. You can tell from the demos that Opera put a huge amount of work into polishing Mini before submitting it, to remove as many potential objections as possible, and to get users excited before it ships. A high-profile rejection now would erase any goodwill that Apple has built up recently.

I know some developers are nervous with openly discussing or blogging about their relationship with Apple, but I think more people should follow Opera's lead. By being vocal on the App Store's strengths and shortcomings, we force Apple to be more transparent. Bad press has a proven history of leading to overturned rejections. The narrative of the last few months, to me, is that the App Store is getting better, and I don't think it would be happening without the critics.

March 25, 2010 11:34 AM [link]

Clipstart is not iPhoto

I get a lot of great feedback about Clipstart. There's value in almost every feature request, even the ones I don't plan to directly implement. Some people also suggest that I should copy more from iPhoto. While I understand this — they want a familiar interface — it has always been my goal to be different than iPhoto. Why?

Two main reasons:

  • iPhoto never quite worked for me, and only by being different can you hope to be better. I took a few things that iPhoto did poorly (like tagging, video playback, and upload) and built the entire interface around them.
  • If I just created a clone of iPhoto but for videos, Apple could expand the video support in iPhoto one day and I would be left with nothing. If my app grows in a completely different direction, however, then even if they add video support to iPhoto my app will still appeal to people who aren't satisfied with iPhoto's approach.

I know I'm on to something because when I show the app to a certain type of person (who has thousands of short videos, or no quick way to share them) their eyes light up. It's now just a matter of pumping out new versions to refine the interface and fill in the missing pieces. I have major features planned for the next few dot release (1.4, 1.5, and 1.6) to try to give customers as much value as I can, and execute on the potential for the application.

Both Aperture 3 and Lightroom 3 now have video support, but I'm not too worried. There's plenty of room between iLife and $199/$299 for Clipstart to carve out a customer base.

March 24, 2010 07:35 AM [link]