The other day my Crap Store essay got a subtle link-to by Daring Fireball, which resulted in a torrent of hits. While Lemur CATTA kept the crap out of comments, I did get one particularly vitriolic email.
 
  1. Just read your blog entry about crapware for the iPhone. I think you missed something very important about the Project Gutenberg “applications”. You may have an iPhone with internet connection, but what about the many iPod touch owners who do not have internet on their iPods? Of course, you can use WiFi with the iPod touch, but what if you don’t have (and don’t want) WiFi, because your home is wired and/or you don’t want to surf the internet with your iPod? I know quite a lot of iPod touch owners who have never used Safari on it.
  2.  
  3. Therefore, to be able to read the books on your iPod, these must all be separate applications. It would make a lot of sense to have just one application and to be able to sync books to it with iTunes or another desktop application, but that’s not currently possible with the SDK.
  4.  
  5. If you personally believe that iPod owners without mobile internet connection are stupid and shouldn’t be allowed to read books on their iPods, it’s still not fair to call applications by other developers “crap” and demand that Apple reject them, just because those other developers don’t share your opinion. (But I’d guess you simply didn’t think at all about iPod owners without mobile internet access, because this is so inconceivable for geeks like you.)
 
So the argument here is that you have to have every book ever written as a separate application, because some people don’t have wireless internet connections. The only conceivable use-case where that makes any sense is somebody whose sole internet connection is via Ethernet, so the only way they can get content onto their iPod is to download it into iTunes, then sync it.
 
Let’s imagine a world where the strategy of releasing one application per book is intended solely to solve this edge case. There are better solutions, which I’ll get into. The question, though, is would the developer have chosen this solution out of ignorance or sheer laziness? I’m not trying to be a dick here. I only complain about these things because I want to make them better, but to do that, we have to get to the root of the problem.
 
The difference between ignorance and apathy determines whether the solution is to simply shine the light of knowledge onto these issues, or if some kind of large-scale action by users — or Apple themselves — is necessary. I can’t speak to the latter, but I can certainly try my best to address the former. Here, then, are some suggestions to deal with this edge case in a way that doesn’t make the App Store your personal document controller.
 
The easy way
 
But first let’s examine the implementation of the current model. If you wanted to produce an application that did nothing more than present the text of a book, you wouldn’t even have to write any code. You could just slap a text view into a window in Interface Builder, then paste the text of the book into the text view and call it a day. If you wanted to put the thing on the App Store you’d at least need to bang out an icon. The title of the book in a fancy font on some sort of background will do nicely.
 
Of course, even in the single-document model, you’re still not done. You may need to load the text file programatically, for example. You might want to throw in such basic niceties as remembering the scroll position. Then you should probably add a chapter-based navigation system. You might also want to add a pagination option. It’s pretty easy, as it’s built into the scroll view.
 
You could add some nice graphics to make it look more book-like. You could add quotes or illustrations from and about the book. Search would be a great thing to have as well. Were this a Tapulous application, we’d drop Core Social in there and suddenly your book has become a book club, where people can share their own thoughts and observations, which you could filter by location.
 
The hard way
 
Even with a little bit of luxury built in, the cookie cutter nature of such applications could really get a developer thinking, “I am literally printing money here!” What we don’t know is if the guy is a lazy moron or an evil genius. Even just that sentence has layers of nuance. Does the developer regularly abuse the word “literally,” or are they making a complex metaphor where printing money represents publishing your application, and the potential reward, financial or otherwise, that provides.
 
Moreover, the potentially controversial use of the word “literally” may be a clever pun on the word “literature,” suggesting an adverb form whereby one might print money specifically by using the written word. This developer could be an engineering genius who has implemented an entire online distribution system and iTunes syncing with no code. The trouble is, this clever little hack also happens to crap up the App Store and encourage bad habits in lazy developers.
 
The proper thing to do would be to put in the work of implementing a menu system. Then take a whole bunch of literature that goes good together — the complete works of Shakespeare, great Irish writers, Romantic poetry — and bundle it into a single application. Get an artist to whip up a theme for each one. The Shakespeare one could look a bit like the Globe Theater, for example. Maybe include bios and that sort of thing. Throw in some links to the store where users can download others in the series.
 
The harder way
 
All this is a lot more client work than pasting some text. It’s the kind of thing you’d really have to give a damn to do. I’m talking about the same sense of shame that makes you take a shower and put on clean clothes. I’d rather walk out of my house without pants than ship an application that looks like I couldn’t even be bothered to get some decent art.
 
Even so, this is still thinking about the application itself, excepting what I said about Core Social. If you’re really going to put the effort into bringing classic literature onto the iPhone, you should go whole hog. There should be an online content management system. Yes, that leaves out the people who don’t have wireless access, but the rest of your users will appreciate being able to get any old book, whenever and wherever they please.
 
If you really wanted to be clever, you could get syncing to work, first wirelessly over Bonjour, then wired. It might take a bit of clever hackery, but it’s certainly doable. You could also probably get iTunes to do your bidding. You’d be surprised the lengths a real engineer will go through to bring the best possible experience to his users. Ask me about Delicious Library’s iWeb syncing sometime.
 
The upshot
 
Nobody ever suggested that iPod owners without wireless internet access were what’s wrong with the offerings of the App Store. Nobody ever suggested that catering to these users was doing anyone any harm. It has, however, been widely suggested that, through well-intentioned ignorance, or sheer laziness, developers have been mucking up the App Store with their half-baked crapware. If that makes me a bad person, well, I guess that’s why my blog has the word “motherfucker” festooned across the top.
 
        Addenda        
 
punkassjim
The thing that kills me is that it's catering to SUCH an edge case. Not just the fact that iPod Touch owners don't have cellular data access, but that a subset of them are unwilling/incapable of using WiFi? Man, GO TO A COFFEE SHOP if you wanna download books. I don't care where you live, there is a WiFi hotspot at a mall somewhere near you. I just can't believe it never dawned on the developers that there was a better way that wouldn't crud up the works. Hell, TTR is a perfect model. Whenever I'm connected, I can download all the songs I want, and they're kept in the app from then on. Why couldn't an e-reader be built like that? People who bought a WiFi-enabled internet device when they can't/won't use WiFi should have to figure out their own compromise solution.
Random Lemur
@punkassjim: Look at the app "Stanza". It does just that. You can download Gutenberg books over the internet, or transfer them from your desktop using Wi-Fi. Even if your house isn't wired for Wi-Fi, chances are your Mac has a Wi-Fi card anyway, and you can share books that way.
punkassjim
Oh, I understand that there are some "correct" examples out there.
kris
Here's a crazy idea: let the users decide what constitutes a good or useful app by buying or not buying it. For the free apps, you get what you pay for so I don't see what the big deal is there.

The role of Apple is to ensure that malicious or illegal apps don't make it into the app store. Their role shouldn't be to be the arbiters of quality or usefulness.

What Apple *could* do to help would be to make it easier to offer demos, and possibly refunds. The would enable users to hold developers more accountable for "crap" apps after the sale is made. They might also adopt a policy for when apps are removed from the store (maybe there already is such a policy).
 
The cookie cutter nature of such applications could really get a developer thinking, “I am literally printing money here!” What we don’t know is if the guy is a lazy moron or an evil genius.
Thursday, July 31, 2008
Sheer Laziness