Thursday, April 11, 2013

"Flashlight by Rik" : the (totally) free iOS light app

Almost 3 years ago, I set about to fix a problem plaguing the iOS App Store: it was impossible to find an extremely simple flashlight utility that was free and free of ads.

So I built one, squeezed it through the app store approval (before there were so many that new ones were banned) and blogged about it and it ultimately passed a million downloads, with the users extremely satisfied:
Flashlight by Rik

Over the years I've kept on improving it to support all the latest devices, coding standards and operating system features. For example, it is one of the few flashlights that allows you to fully control the strobe pattern: it doesn't have to be synchronous, you can let the light flash for .1 second every second, for a neat eye-catching strobe effect. And of course it fully supports iOS 6's control of the light intensity.

But all through those years, I've constantly striven to make this basic utility as small and fast as possible. And even today, with support for 4 languages (English, French, German, Russian) and the iPhone 5 screen, the download is a mere 80kB. And the launch speed is pretty much unbeatable. It ranges from below 1 second if the app is starting for the first time, to near instantaneous if it still resides in memory and is swapped to the front.
I wish I could do even better, but I still have to fit in all those icons and other files. And since I will never compromise on the speed and simplicity, fancy graphics will never be seen in this app. After all, don't you want a light that starts as soon as you tap on it?

Whatever the hundred other flashlight apps want you to believe, none of them is any brighter or faster than Flashlight by Rik. I invite you to try them all, and if you find any that is faster I will do my utmost to release a new version that matches its speed. (Incidentally, assuming you set the brightness to 100%, all the flashlights are the same brightness. Don't bother testing that part!)

In closing, I will indeed never charge for Flashlight by Rik. Nor will I ever put ads on it. The iPhone should have shipped with a flashlight app. I aim to fix this recurring problem.

Thank you again to my million (and more) users.

Tuesday, March 05, 2013

The "paradox" of simplification: since the dawn of Man!

So @bwertz posted on the Version One Ventures that one should s.i.m.p.l.i.f.y.
I couldn't agree more, after all one of my email signatures is a quote from Alan Perlis about it. What does bother me a little (hence this post) is the quote that accompanies his post:

“A modern paradox is that it’s simpler to create complex interfaces because it’s so complex to simplify them.” (Pär Almqvist)

That's just bullshit, in the sense that there's absolutely nothing modern about the difficulty of simplifying. Yes it's hard. And yes it's what one needs to aim for. And it's much, much, much harder than its opposite.

The core of the issue is this: it's much easier to add than to remove.
When adding, you don't care about what was, you just look ahead and think that you're doing good by creating. That's very good, in general. Where it starts becoming really bad is when you add so much that the whole system collapses from its inwards gravitational pull. In other words, it calcifies because there's so much going on that one either doesn't understand how it works or is afraid of doing anything to upset it.

This applies to everything, including interfaces: when you don't know how the users are interacting with your site, you are fearful of change. So you spend resources tracking them. Then you get too much data. Then you have to sift through that data to truly understand what matters. Finally you can take action. And that's assuming your site hasn't grown so big with so much spaghetti code that you need to refactor (i.e. simplify -- that word again -- the code) before doing anything.

For entrepreneurs, my advice would be: don't let anything grow too big that it becomes a huge undertaking to bring it down to a manageable size. Decouple as much as you can. Define clearly the communication protocols between those small pieces. That's what matters in the end: how your people communicate within the organization, how your users communicate with you (web clicks, apps, etc...), how your system modules communicate with each others.

In one word: APIs

What was Alan Perlis' quote that I alluded to at the top of the post? Glad you asked:

"Fools ignore complexity; pragmatists suffer it; experts avoid it; geniuses remove it." - Alan Perlis

Wednesday, February 06, 2013

On Facebook vs. Twitter publisher value

Well it's been a year since my last post. Time flies, etc... etc...
Speaking of Facebook, I just saw on Twitter a link to Publishers Cool on Facebook. The crux of it, as has been going around the blogosphere for a while, is that less than 20% of people who "like" a brand on Facebook actually get to see that brand's posts on their wall.

And that's a pretty bad value proposition for all those brands investing in eyeball acquisition. Especially since email newsletters and Twitter posts to followers are supposedly free of that ridiculous filter. And I say supposedly because one shouldn't expect that a push service is going to be always viewed. For emails there's actually a very good chance (which is why I think email addresses are the holy grail of marketing), but if your Twitter follower follows 10,000 people I suspect that your tweet will drown in that person's firehose.

There is a fundamental difference here though: the Twitter rules are clear, and they're the same for everyone who doesn't pay for sponsored tweets (for now): 100% of what you tweet ends up in a follower's stream. Whether or not the user sees it is up to her and chance, but at least it's not up to some arcane closed Facebook algorithm.

And that's what it's all about. Publishers and brands want to know the rules. Nobody antes up before knowing the rules of the table.