Try my Mac apps Clipstart and Wii Transfer from Riverfold Software

iPad

My quote from Cult of Mac sums up my feelings about the iPad from a business perspective:

"I was so annoyed with the closed nature of the App Store that I stopped developing for the iPhone. The iPad will still have those frustrations, but the large screen opens up a whole new class of applications. It's impossible to resist."

Will there be a Clipstart for iPad? I hope so. This platform will be the future for plenty of customers. Apple lived up to the hype not because of the hardware or distribution or anything entirely revolutionary, but because of the software. Splitviews and popovers. Keynote and Pages. These apps are just as competent as their desktop versions.

Daniel and I talked about the iPad for most of Core Intuition 26.

February 8, 2010 10:54 AM [link]

ParseKit (and Clipstart search)

The first couple versions of Clipstart had a very basic search feature. You could enter keywords and it would search filenames, tags, and video titles. You could also enter special terms such as tags=christmas or imported=today, but you couldn't mix and match different terms together.

When I started working on a more advanced search parser, I realized that I was about to write a bunch of code that surely someone had already generalized and shared with the world. Tada! ParseKit by Todd Ditchendorf is that framework.

Clipstart 1.3 now supports these kind of searches:

christmas and (@julian or @kids)

also...

(uploaded=no and flagged=yes) or (date=2010 and @vacation)

I use ParseKit's tokenizer to take these apart and then I translate to SQL myself for SQLite. New in 1.3, Clipstart also allows saving any search as a "smart tag" for quick access. I'm very happy with how well it's working.

Why not use NSPredicate and friends? I wanted more control over the parser, for example for the @kids shorthand for tags. Eventually I'll have a more traditional NSPredicateEditor-like UI for managing searches, but I find that text input is a much quicker way to find things in my video library.

February 8, 2010 01:05 AM [link]

Removing features

Lukas Mathis writes about removing features:

"You don't have to try to please everybody and eventually create an application that is liked by nobody. In fact, since your users are in all likelihood in a situation where they can switch applications easily, and since they probably are not locked in by the need to open a specific file format in its native application, it might be a really bad idea for you to go down the 'simply add up all the requested features' route of application design."

He also links to my Wii Transfer survey, so I thought I'd post a quick follow-up. I eventually did remove a feature, and the survey to customers served as a nice sanity check that the feature wasn't heavily used. The interesting part, to me, is that the feature I removed was the entire 1.0 product for Wii Transfer. Literally everything that 1.0 did is now gone.

It's been two weeks so far without any complaints. I like to think that it removes a distraction from the app — one less place in the app that could lead the customer down the wrong path. And hopefully it'll eliminate a tiny part of my support load, as no one can ask me questions or have problems with that feature again!

On an internal company mailing list I once wrote:

"Products that don't exist yet have a way of attracting new features because everyone sees the potential in something that has no form".

I was talking about resisting the urge for everyone on the team to pile on their favorite features before 1.0, but I think this applies to apps with a minimal design as well. A simple app shows promise. A cluttered app with too much going on looks "done", and sends a message that it is mature and maybe going in a different direction than what the user wants. In that way, the irony is that removing features (the wrong features) may actually make an application more appealing to new users.

February 3, 2010 02:03 PM [link]

Bodega bootstrap

I wrote the following before the iPad was announced. The world may have changed since then, but I'm posting it anyway. Enjoy.

I like the content but not the title in John Casasanta's blog post about the so-called death of Mac software. He shares some great stats and lays out the case for why iPhone development is more appealing and successful for him, but that doesn't make the Mac dead. What he really meant and says later is that it's dead to him.

For those of us who love writing Mac software and who don't feel the pull of get-rich-quick blockbuster apps, the Mac is alive and remains just as healthy as it was before the iPhone was announced.

That's not what I want to write about, though. The real question is how do we learn from the App Store and expand the market for Mac software. Compared to the iPhone, the Mac has a fragmented application discovery and an inconsistent purchasing experience.

When Keith Alperin and Rick Fillion talked on the MDN Show about a possible Mac app store, Rick revealed some interesting numbers from Bodega's installed base: 80,000 downloads and 10,000 active users. They're not 1.0, and I don't see anything wrong with these numbers, but it's not big enough yet to make an iPhone-like impact on how we buy Mac software.

What Bodega does have is a technology head start. My products have been listed there since launch, and they have a polished application and feature-rich backend for tracking releases and collecting usage metrics. The key is solving the chicken-and-egg problem of getting the Bodega app in everyone's hands.

There are two approaches: either get people excited about installing Bodega because it's useful for updating existing apps (which it is), or sneak a copy of Bodega on to many more Macs (which is what this post is about). This solution isn't perfect, but short of Apple building a real Mac App Store or a marketing giant like MacHeist getting involved, it's the only idea I can see working.

First, start with PotionStorefront. There are a few of these in-app purchase frameworks out there, but I like the Potion Factory's aesthetic and Potion Store is popular. The web service used to submit orders could be supported by other custom store backends, including Bodega's own purchasing system when they have it.

On top of this in-app purchase foundation, you bundle a subset of the Bodega application discovery UI directly into the framework. Users can download and install demo versions of new apps without leaving the catalog. Think of it as a "lite" version of Bodega, streamlined to fit inside everyone's app. You also include the full Bodega application so that it can be launched and optionally installed in the user's applications folder.

What you've effectively done here is give everyone who buys a third-party app access to a new store where they can discover other apps. It's compelling for developers because the more companies that participate, the wider their reach becomes. And it's great for users because over time it starts to create a consistent user experience, and familiarity reduces the effort in buying Mac software.

Some tricky issues remain, though. You don't want to distract users from buying their first application, or muddle that app's branding, and you want to later encourage users to find or be notified about new applications without it looking like an advertisement. The challenge is in finding a balance that most developers would want to use.

Back to the iPhone's success, from a post by Guy English:

"People, lots and lots of people, people who have no idea what software even is, will download Apps like they're snacking on potatoe chips. What's my proof? Well, two million downloads of an App in a week supports that and I'd argue that a total of three billion Apps downloaded backs up my argument too."

We've never seen anything like it, and I'm really happy for my friends who have had success on the iPhone. Luckily, the iPhone and Mac don't actually compete. The App Store can sell ten thousand times the amount of software as the Mac does and it doesn't change the fact that Mac users need software too. It's our job as developers to continue to provide solutions for users and help those users find us.

February 2, 2010 10:24 PM [link]

Macworld Expo 2010

I haven't been to a Macworld since the late 90s. I've had it in my head for a couple years that I'd like to go back, but with so many developer-focused conferences it's been hard to justify an extra trip for Macworld. At the same time, my indie apps need a nice marketing refresh. So why not exhibit at Macworld and get to see the show again while reaching a new audience of potential customers?

I knew I'd regret it this year if I didn't take advantage of the small indie pavilion kiosk. So with frighteningly little planning so far, I've booked the expo, flights, and hotel. I'll be at the show and I'll be demoing the just-released Wii Transfer 2.7 and the unannounced Clipstart 1.3. The rest of the details... not so clear.

But I'm pretty excited about the conference and hope to see many of you there. The expo runs February 11th - 13th, and you can get a free expo pass here.

January 22, 2010 02:49 PM [link]

Indie Relief

It was just last week that we mentioned Today 2.0 from Second Gear on the Core Intuition podcast, and now Justin Williams at Second Gear is making news again by organizing Mac developers to donate to charity in the wake of the Haiti earthquake.

I'm happy to announce that Riverfold is participating. Since my wife and I already gave to the Red Cross, I decided to donate my sales to Save the Children, an international organization working in Haiti now. It's amazing how many Mac and iPhone developers have come together for Indie Relief, and great that we are able to do something that reaches more charities and has a bigger impact than if we were all just making individual contributions.

So if you've been on the fence about whether you need Wii Transfer or Clipstart, buy a copy today. Thanks!

January 20, 2010 12:52 AM [link]

Wii Transfer 2.7

I finally took the time to give Wii Transfer some much-needed attention, releasing version 2.7 of the application tonight. It's got the usual bug fixes and some small visual improvements, but the most important change is better video streaming. The biggest mistake I ever made with Wii Transfer was to buy an Apple TV instead of forcing myself to use my own application.

For this release, I sat down with Wii Transfer and a ripped copy of Star Trek, and I just watched it over and over, experimenting with different Flash Video conversion settings and tweaking networking code. I wasn't going to release this until I could watch a 2-hour movie without any rebuffering. The quality is never going to be as good as a console or set-top box with dedicated video streaming features — this is Flash on the Wii we are talking about — but I'm happy with what I came up with.

Wii Transfer is still only $19, and version 2.7 is a free upgrade for any customer who ever bought the application going back to 1.0 over three years ago. Also an important reminder: all sales go to charity starting tomorrow, January 20th, as part of Indie Relief.

January 19, 2010 09:43 PM [link]

Unrealized projects

Seth Godin on an exhibit for Tim Burton:

"Here's the guy who's responsible for some of the most breathtaking movies of his generation, and the real surprise is this: almost every year over the last thirty, he worked on one or more exciting projects that were never green lighted and produced. Every year, he spent an enormous amount of time on failed projects."

This is the kind of thing I'll try to remember when I look at the apps I've started but never shipped, even as they sit very close to finished for a year or more. Almost everyone I know who has successful products also has experiments and failed prototypes and unfinished work you've never heard of. That's okay as long as it doesn't stop you from shipping the best and making those real.

I have a lot to announce this week. Posts on a new Wii Transfer, the Indie Relief effort, and Macworld all coming up.

January 18, 2010 09:35 AM [link]

MDN Community Award

The MDN Show episode 16 reveals the winner of the MDN Community Award: a tie between Matt Gemmell and Jonathan "Wolf" Rentzsch, with Mike Ash as runner-up. Looking back on 2009 there should be no surprise over these top three. Matt has been sharing great code with the community for years and is now a fixture of the MDN podcast; Wolf started the successful C4 conference and won a Macworld Eddy for ClickToFlash; and Mike Ash has packed more technical information into a year of his weekly Q&A series than would fit in many Mac programming books.

(This also seems like a good time to link to nominee Daniel Jalkut, who got his own version of a community award last month.)

I had a tough time singling out a specific developer among a dozen or more fantastic people, many who I consider my friends. But for me it was an opportunity to reflect on something at C4 that I didn't get a chance to write about earlier, and since he won anyway I'll include the email I sent to Scotty here.

"There are so many worthy candidates for the MDN Community Award — people who are helpful to the Mac developer community by writing books, blogging, and sharing code — but when I heard about this award I thought about leadership. My pick is Jonathan 'Wolf' Rentzsch.

"A leader sets the tone and attitude of the community. For example, at the C4 conference when some attendees used the Twitter backchannel to turn against and openly mock a presenter, Wolf shamed the audience instead of glossing over or ignoring the event. It was a community course-correction and a reminder that Mac OS X developers come from many different backgrounds: old-school classic Mac programmers, NeXT developers, Linux and Windows users, even designers and web application developers.

"The community went through a rough transition point migrating to Mac OS X over 10 years ago, and is in the middle of another transition to embrace everyone excited about the iPhone platform. What I learned from Wolf is that we should never be afraid to welcome 'outsiders' to the community even if they haven't yet caught up on the history and conventions of the platform."

I have nothing but great things to say about everyone listed on the MDN page. Congrats again to Matt, Wolf, Mike, and the rest of the nominees.

January 9, 2010 01:52 PM [link]

Apple promotions survey

I was chatting with some developers the other night about giving away software to Apple employees. If you're not familiar with the practice, it's fairly common to give free or discounted licenses to Apple employees as a gesture of goodwill to the people responsible for making our platform, and in the hope that they will spread the word to friends and customers in the Apple Stores. (If you're a developer and want to set this up, check out Dan Wood's overview.)

I've given away over 1000 licenses for Wii Transfer and Clipstart to Apple employees since I started doing it a few months ago. I didn't expect this number to be so high, but I guess it makes sense. Apple folks are getting a link from their internal site directly to my special registration page, and many of them probably request a serial number just in case they need it later.

The question I have isn't whether it's worth it; it only took a few hours to set up, and even if it just makes a handful of Apple employees happy then that's a success. But I was curious about the greater impact of giving away my software. Is the $0 investment in a pile of other free licenses enough to engage someone to, for example, take the time to set up Clipstart and move a collection of videos into it, let alone recommend it to others? (See also: Worthless apps.)

To find out more, I sent a special newsletter to all the @apple.com addresses in my registration database, asking if they used the software, how they liked it, and whether they'd recommend it to others or not. And I included in the short survey a place for general feedback, and a choice about upcoming features.

Some developers I talked with were concerned about a potential backlash. Although I send a newsletter to my customers once or twice a year, it's debatable whether some of the people I was including had implicitly signed up by purchasing (with a 100% discount!) or whether I had crossed a line. The last thing I want to do is upset any of my customers, and I provide the same level of support to everyone whether they've paid full price, received a free license, or just tried the demo.

In the end I decided it was harmless. The email was short, plain text, and had an obvious one-click unsubscribe link. One of the things I like about using Campaign Monitor is that once someone unsubscribes, any new mailings are automatically scrubbed against the unsubscribers list. Even if I accidentally add the customer again in the future they won't receive an email. So far, 2.2% of recipients have unsubscribed.

As for the survey results, here are a few graphs. Not many people filled out the survey (like unsubscribes, just a couple percent, though they're still trickling in after 2 days), but the other feedback I received in the comments and feature questions was very helpful. 100% of users said they had mentioned the product to someone else.

Survey charts

Would I do this again? No, not such a narrowly-focused newsletter as this. The quick survey served its purpose, but I am always nervous about wearing out my welcome. I plan to add an explicit newsletter opt-in checkbox to my free license page, and I should do a better job of differentiating free licenses and paying customers in the future. I'll send another general newsletter out to all customers (and opt-ins from contests) when I have something major to announce later in the year.

January 6, 2010 09:17 AM [link]

Clipstart 1.2.4

Clipstart 1.2.4 is done! It's a minor bug fix update but includes dozens of small improvements (and some not so small, if you're measuring not with new UI but in number of lines of code changed). I'm very happy with this release and excited to move on to some other new features in the works for 1.3 and beyond. Download and more info.

And because I don't have anything else of substance related to Clipstart to talk about yet, I'll leave you with this Buzz Andersen quote about quality:

"Shipping quality is a longer, tougher road than just shipping whatever to be first to market, and its benefits tend to be realized more slowly, but if you want users to love your software as a brand, and not merely use it as a commodity, it's the only way."

I'm not there yet, but yeah, well said.

December 31, 2009 02:59 PM [link]

Indie payment processing

This story about PayPal screwing over a Mac indie business should be a real concern to anyone relying on PayPal. These kind of things come up from time to time, often with frozen accounts because too much money was suddenly flowing into or out of an account, but I've always stuck with PayPal because they have low rates and I haven't run into any problems. There's nothing fancy about the way I sell my products, but it works, and I hate to change things that aren't broken.

As a user, I've gone from avoiding PayPal to preferring it. I'm less likely to use a credit card with online shops that I've never heard of before (although more because of the hassle of entering all my information than for any security concerns). It's also convenient for me to have small expenses like hosting and software purchases all in one place under my PayPal account.

But it's time to get serious about this, so I've decided to use FastSpring as a backup. I like FastSpring's admin interface, testing mode, templates, and focus on customer support. I'm impressed with the Atebits custom store hosted on FastSpring, and the reasons Justin Williams chose for switching. The fees are a little high for everyday use (8.9% vs. PayPal's 3.9%), but it's perfect as a secondary payment processor, waiting for me to flip the switch if anything goes wrong with my PayPal account.

December 28, 2009 11:27 AM [link]

Healthcare fallback plan

In the software world, the best strategy is to ship early and often. Get something out there that solves a real problem, then fill in the missing pieces and continue to improve it. Iterate. In politics, though, we often only have one chance in years or decades to get it right.

The healthcare bill passed the Senate and is on its way to becoming real, even if it's a shadow of what it could have been. We should be thankful that we got anything — the changes do matter — but at the same time I can't help thinking it was a missed opportunity.

Who's to blame? I wish Democrats had fought harder; I wish they'd framed the debate correctly from the start. I still like George Lakoff's focus on calling the public option the American Plan, but I also like John Neffinger's point that maybe the real mistake was in not starting with a single-payer plan so that the public option would look like a moderate compromise. It feels like many Democrats were resigned to failure early on.

In an unrelated tweet a few weeks ago, from comic artist Kazu Kibuishi: "If you have a fallback, you will fall back." My failures reflect that too. To shoot for greatness you have to put everything you've got into your first effort.

I keep coming back to something Hillary Clinton said in a debate with Obama early in the Democratic primaries of 2008. It struck me as so true at the time that I wrote it down:

"If you do not have a plan that starts out attempting to achieve universal healthcare, you will be nibbled to death."

And that's what happened.

December 27, 2009 12:29 AM [link]

iPhone giveaway wrap-up

I was reminded by Nick Bonatsakis on Twitter that I never wrote about how giving away the iPhone worked out. The short answer is: pretty well! The longer answer follows.

I've conducted 3 giveaways for Riverfold Software now:

  • Nintendo Wii, back when they were in short supply. You could enter by sending a message to @wii or by entering your email address and sharing the link with a friend.
  • iPhone 3GS, plus year of Vimeo Plus and Flickr Pro. That's what I'll talk about below.
  • New Super Mario Bros Wii game. Probably the simplest giveaway, all I asked is that you give me your email address and optionally sign up for my newsletter.

In all cases I had two goals: do something fun for potential customers, and give the press an excuse to write about my products. By that metric all the giveaways were successful.

I noticed when originally giving away the Wii that most of the entries were Windows users — people who couldn't even use my application! So for the iPhone giveaway I made a change: you could only enter by downloading the app and choosing a special menu item, which loaded a simple webview with the entry form. Pretty straightforward, and no complaints. The total number of entries was lower, but they were targeted to existing or potential customers.

In additional to sending news about the giveaway to a few contacts who I hoped would pick up the story, I also wrote a formal press release for it, which went out through prMac. This is so inexpensive that it's hard to find fault with it, but I think the main outcome was getting contacted for advertising on sites that I had never heard of before.

Another thing to remember is to set up a system to track referrers through to sales, so that you can judge the effectiveness of these giveaway-style marketing efforts. I could tell right away that it paid for itself, but it wasn't a significant bump in overall weekly stats. I do believe it helps long-term though.

The final part I took pride in was shipping quickly. Growing up we all had the wind knocked out of our sails by the "allow 6-8 weeks for delivery" fine print on cereal box prizes or other mail-in gimmicks. If nothing else, I made an effort to ship the next day if possible, and I paid for express shipping.

Giving away stuff is fun. Until I get sued for not following some obscure rule on contests because I didn't hire a lawyer, I'll plan for more giveaways in 2010.

December 23, 2009 01:52 PM [link]

Clipstart duplicates

Clipstart 1.0 tried to be smart about not importing videos that were already in your library, but it stopped short of actually giving you much control over whether to import duplicates or ignore them. I also felt like the window showing duplicates could be improved to provide more information about each file. At a glance you should be able to tell if Clipstart is doing the right thing.

So I put a lot of effort into this for the soon-to-be-released Clipstart 1.2.4, and the result is this window:

Duplicates dialog

It generates a few frames of the timeline for each video (both old and new file side by side), which turns out to be an excellent way to confirm that they are indeed the same file, and also shows the original filename even after Clipstart (or the user) has renamed it. Now I can scan through the window in about 2 seconds and I'm done. Contrast with iPhoto which prompts after each video is imported, instead of at the end of the batch, and if you blindly trust it by checking "Apply to all duplicates" then you have no feedback on whether you made the right choice.

The new duplicates window works with both volume-based cameras like the Flip and SD cards, as well as USB devices such as the iPhone 3GS and iPod Nano. I hope to ship version 1.2.4 soon, and there's a beta in the forums.

Update: As pointed out by a customer, Ignore and Keep are actually pretty confusing verbs here. I've changed it to "Skip Duplicates" and "Import Duplicates" for the final release.

December 22, 2009 02:17 PM [link]