Mark Damon Hughes Topic: Mac [Parental Advisory: Explicit Lyrics] [about]
Apple, Java, and Chicken Little
Tue, 2010Oct26 11:08:03 PDT
in Mac by kamikaze

Buried in the release notes for the 10.6.3 update, Apple made a rather startling announcement: Java Deprecation:

As of the release of Java for Mac OS X 10.6 Update 3, the Java runtime ported by Apple and that ships with Mac OS X is deprecated. Developers should not rely on the Apple-supplied Java runtime being present in future versions of Mac OS X.

The Java runtime shipping in Mac OS X 10.6 Snow Leopard, and Mac OS X 10.5 Leopard, will continue to be supported and maintained through the standard support cycles of those products.

[emphasis mine]

Steve Jobs responded to feedback about this with:

"Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it.

Well, that's a fair point: The JVM on Mac has lagged, sometimes very badly when security problems come up, and people have constantly whined about it. And now many of the same short-attention-span people whine that Apple won't have an "official" JVM at all.

There are three use cases for Java:

  1. Java as a Desktop Application Environment

    This is uncommon. It's unfortunate, but Sun screwed up desktop Java badly with the bloated industrial-ugly Swing in 1.2, and has been mismanaging it into the ground for a decade since. Hardly surprising, since nobody at Sun used a desktop system, or gave a damn about end-users, so how could they know how to make a usable cross-platform GUI?

    Still, there are desktop Java apps and games. My own older games and utilities, obviously. I use Cyberduck and Minecraft regularly, and hundreds of thousands of people play Runescape, or use Java whiteboarding or chat tools like GoToMyPC.

    A good Java desktop app doesn't look like "a Java desktop app", it looks like a native app. You're probably using some and don't know it.

    There are a few bright spots for desktop or applet Java. JavaFX has a new lease on life at Oracle, and will likely replace Swing for any new UI work, and JavaFX is a modern, attractive, and animated GUI toolkit, unlike Swing. The applet loaders and Java WebStart ("jnlp") have massively improved lately.

  2. Java Web Applications

    Here's where you'll mostly meet Java, and again, you'll almost never know. Most corporate, enterprise, or professional web sites are built in Java. If the pages don't end in ".php" or ".aspx", it's probably Java behind it.

    Java on the server is unlikely to diminish this decade. Maybe ever, with new languages that run on the JVM like Scala and Groovy.

    Java is nearly the ideal server environment. It's incredibly fast, uses a reasonable amount of memory, has automatic garbage collectiton, is stable, and handles errors well, so a server can stay up forever. Cross-platform means you don't have to recompile and fight with bugs between library versions, and can develop on Mac or Windows and deploy to Linux or Solaris. Java's modularity and large-scale programming features make it possible to support a large team working on a large app, and its static typing prevents a lot of bugs. Building an equivalent-sized web application in Ruby, Python, or PHP is nearly impossible, and will never be as fast or reliable.

    Now, very few people actually deploy their web server on Mac OS X, but a lot of them develop on the Mac, which leads to #3:

  3. Java Software Development

    Most people making Java web applications use Eclipse, and it's certain that Eclipse will bundle a JVM if nobody else does. So freaking out that you won't be able to develop Java on the Mac is Chicken Little idiocy. This hasn't stopped a large number of otherwise-respectable Java devs from freaking out, but snap out of it, assholes.

I think it's extremely unfortunate to lose one of the Mac's built-in application environments. Currently, you can bang together some Java and hand it to any Mac user and it'll just run. If Apple doesn't ship any JVM at all, users who want to run desktop or applet Java will have to visit and download the official Oracle/Sun JVM. But that's what Windows and Linux users have to do already, and the sky hasn't fallen on them. Developers won't have any problem getting a new JVM.

There are two obvious sources for a new JVM for the Mac: OpenJDK/SoyLatte, which was developed and used widely during the 32-bit to 64-bit Intel transition, but has been on life support since; or Oracle may make an official JVM. The former is certain to come out, but may not gain much traction. The latter is almost certain, given that Larry Ellison is Steve Jobs' drinking buddy, and that Oracle likes developer mindshare. On Windows, Sun made money from Java by installing viral browser plugins for payola (yes, Sun was a shitty company without ethics, and their death is unmourned in my household). I don't know how Oracle will deal with this, but they may be more reasonable.

[Update: Oracle does in fact now support Mac Java.]

← Previous: Microsoft Gave Themselves a Parade (Mac) Next: MacBook Air 2010 (Mac) →
Microsoft Gave Themselves a Parade
Mon, 2010Sep13 12:45:30 PDT
in Mac by kamikaze

The mobile phone world never ceases to amuse me.

On Friday, Microsoft "released to manufacturing" (shipped the supposedly ready first version) of Windows 7 Phone 7 Series 7 Phone(TM). In other companies, this would be accompanied by a small internal party, cake and trepidation in equal balance. But Microsoft is sure they're a winner this time, so they had a parade! (These are real, no shit, no Photoshop):

By "burying" iPhone and BlackBerry, are they seriously claiming that they're going to sell more than either… in, what, a year? Two years? Two years is a phone contract cycle, so if you haven't won by then, you've lost. It's obviously not going to happen. Even if Windows 7 Phone 7 Series 7 Phone(TM) doesn't completely suck (possible, though implausible) and sells better than expected (also possible, though implausible), they're going to be fourth place at best, under Android (the new featurephone standard), iPhone, BlackBerry, and perhaps HP/Palm.

The only company Microsoft can realistically bury is Nokia, and that's more a case of outrunning a leper whose parts are falling off. It doesn't make you a winner.

I've made fun of Nokia's "Meego" development environment, which as of 3Q 2010 (a quarter late) is still only available for netbooks, not any actual phones.

Jean-Louis Gassée, the best ex-"President of Apple Products Division" they ever had, knows the same truth as Batman: Mobile device manufacturers are a superstitious, cowardly lot. So back in February, he mocked their Intel partnership:

All the holy words are there: Linux (mandatory), based (to male things clearer), platform (the p-word), multiple hardware architectures (we don’t know what we’re doing so we’re covering all bases), broadest range of device (repeat the offense just committed), segments (the word adds a lot of meaning to the previous phrase), including pocketable mobile computers, netbooks, tablets, mediaphones, connected TVs and in-vehicle infotainment systems (only microprocessor-driven Toto toilets are missing from the litany).

In June, he pointed out what any adult who'd ever tried to get or use a Nokia device knew, with his Science Fiction Sketch.

And today, he just lays out how they will fail.

← Previous: The iPod nano watch (Mac) Next: Apple, Java, and Chicken Little (Mac) →
The iPod nano watch
Fri, 2010Sep10 02:50:56 PDT
in Mac by kamikaze

As soon as I saw the new iPod nano, I thought: This would be a great watch.

I don't normally wear a watch; my phone keeps my calendar and tells me when I have to be somewhere. Watches are semi-functional jewelry now. I have a nice (digital, but artistic) watch from Diesel, but a new one is neat.

A cloth/velcro Timex watch strap cost $8 at a drug store. The strap has a loop up top which the nano's clip fits through, so it doesn't chafe against my arm. But I'd prefer leather, and I'll be looking around for a nicer one soon.

It looks pretty awesome:

Design (A+)
Wow. It's just a black screen on perfect, rounded metal frame, the three hard buttons you want (power, volume +/-), and the dock port and headphone jack. Note: No visible logos on surface. It speaks for itself, you don't need a ton of stickers and logos shitting up the surface.

I do want to get a cover for the dock port, electronics exposed to Seattle weather do poorly.

Clock (A-)
The ostensible purpose of a watch. Looks great, very smooth almost mechanical face. It only has analog, which is a little disappointing; the stopwatch digits have a very cool mirrored surface look, which would make a great digital watch. It has a stopwatch and timer, though you have to have headphones in to hear it go off. No alarm, but again, my calendar is on my phone.

Also, the display only stays on for 60 seconds, then goes off until you hit power again. There is no setting for this, which I would prefer.

iPod (B)
The iPod player is a little awkward, but on a watch it's reachable. It's definitely designed to be used while clipped to something, not held in your hand. The cover art looks nice at this size and DPI. Again, no speaker.

There is a serious bug in the current software: Smart playlists do NOT sync the list. The music syncs, but the playlist shows 0 songs, and all your music is only playable by shuffle. Until Apple fixes it, probably the only workaround is to drag the contents of a smart playlist to a dumb playlist, and sync THAT to iPod. Shit.

Apple ships their cheap earbuds without inline controls. If you buy the nice in-ear headphones with controls, you can just click those to pause/forward/back music.

FM Radio (B)
Apparently radio is still broadcasting! Works fine, and I had a few good local stations. Requires wired headphones as an antenna, and there's no speaker.
Pedometer/Nike+ (A/C)
The pedometer seems to work great, gives you immediate access to your exercise history. What doesn't work great is the Nike+ integration. You visit the Nike site, create an account, log in. Then sync your nano. Sometimes it connects and saves the entries, sometimes it doesn't. I had to quit iTunes & retry several times. Nike's site is a flash abomination, which makes me even less interested. I need to find a better desktop or iPhone app to sync it with.

Apple's made the best watch yet. There's room for improvement, but it's gorgeous, and I'm going to keep wearing it.

← Previous: Python string formatting (Software) Next: Microsoft Gave Themselves a Parade (Mac) →
WWDC 2010 Keynote
Wed, 2010Jun09 08:59:58 PDT
in Mac by kamikaze

I'm not at WWDC this year. By the time they announced it late, and with an increased price, I had to stop and think hard about that money… and then it was sold out 8 days later, making my lack of decision easier. I'll get the videos later, I guess.

But for now, I'm watching the video from the Apple Keynote podcast.

The tone of this piece is pretty angry. There's some serious problems in Apple Land, videogames, and tech "journalism", and all three were showcased heavily in the keynote. I'm not anti-Apple, and I'm not quitting iOS dev to eat nuts and berries and code on Android and hope someone puts a few pennies in my begging cup. Let's not be stupid here. But there are problems, and I'm angry at them. Apple have changed their minds in response to anger before, so maybe it'll happen again. OH, GREAT SPIRITS, HEAR MY ANGRY BLOGGING. Should I sacrifice a goat, too? I dunno where to get a goat around here.

Steve Jobs Lies About Rejections.

First, I have no problem with HTML5 as an "unrestricted" SDK. I've written "HTML5" apps (more precisely, "HTML/CSS/JavaScript/AJAX + web server", which just ROLLS off the tongue). I like working with those, if they're green-field new apps which only run on Safari. Legacy JavaScript and cross-browser web dev is horrible. HTML5 performance is not as good as native, but it's as good as or better than Flash now. So really, can't complain too much.

I also have no problem with a "curated" store for software that works as advertised. However. 95% approval in the App Store? That's 750 rejections per week. Many are NOT for crashing, private APIs, or misrepresentation. Those may be the "top 3", I'm going to assume Steve isn't lying blatantly here, just by omission, but he is lying. The big additional reasons for rejection are:

Interpreters, the infamous 3.3.1 clause

Any interpreter other than JavaScript in WebKit gets rejected. A few games have got away with locked-down internal interpreters (I won't name names, for fear of getting them caught), but many others have been rejected. Briefs was recently rejected for doing exactly what Keynote or any book or magazine app does: Presenting text and media with click regions to launch new slides.

There are limited justifications for this. Interpreters can be done wrong and expose a security hole. Allowing interpreters allows Flash or C# users to publish on the App Store, and nobody wants that. Explicitly banning specific bad tools would work better than napalming an entire jungle to get two bad guys.

But by and large, this is a giant imposition on one of the most basic and favorite tools programmers have: Domain-Specific Languages. We love making little languages that express domain concepts concisely. This is important stuff, and it does hurt developers. I wish Apple would pull their head out of their ass on this, but I expect another year or two of rectal-cranial inversion.

Things That Look Like Other Things

You apparently can't make a desktop-like app with floating widgets, like MyFrame; nor a plain analog clock (though my ridiculous UnixTime clock is okay); nor a phone, as Google Voice was kept in limbo ("not denied", just never approved) forever. Making anything that looks like something Apple is doing or wants to do will get you rejected. Maybe they're trying to avoid "Watsoning" any future apps, but if so they're doing it in the most ham-fisted way possible. This I can attribute more to incompetence than malice, but it still makes Apple look petty and stupid.


Apparently children can be breastfed until they're 2, but then cannot EVER see boobies again until they're 18, or they will turn into ravening sexual predators. Or at least their parents will feel very uncomfortable, and we wouldn't want that, would we?

The iPhone and App Store already have age restrictions in place. They classify unrestricted Internet access as 17+. In Settings, General, Restrictions, you can set age limits on music, movies, TV shows, and apps, and disable many "adult" apps like YouTube. If you have kids, and you don't use some kind of parental controls, you are almost certainly a bad parent and should have your kids taken away.

But restricting what adults buy and look at is worse, it's bad citizenship. Wanting to censor other adults is a vile, evil mental sickness. It is not benevolent, it is not helpful. The Nazis liked censorship, book-burning, puritanical behavior, and Godliness because those encouraged obedience to the state and "approved" procreation to make more soldiers. Why a bunch of supposed free-lovin' hippies from California are emulating Nazi morality is baffling.

Perhaps in third-world countries like China and Alabama, setting parental controls on by default is appropriate. In civilization, it is not.

You Are Cattle. You Are Being Farmed.

The Farmville app demo looks like shit. They have an art budget, right? It sure doesn't look like it. It scrolls like crap; I like turn & grid games, but this is not even doing that right. People pay money for this? People pay money to keep playing this?

Mark Pincus of Zynga is an unapologetic drug pusher, he even acts like some hopped-up midwestern meth-head pimp with a junkie wife, nothing more. I wasn't anti-Zynga before, but seeing this prick praising junkies for waking at 2am or neglecting their jobs to "farm"… Fuck that guy.

If you're playing Farmville, you are being farmed by this shithead. He is using you, and taking your money for NOTHING. It's not even a good game. Animal Crossing is one of the greatest games ever made, or Harvest Moon for the slightly more hardcore, and are the same idea done pleasantly, fairly to the players, with beautiful art and music and cool surprises, and you only pay once.

Air Guitar Is Not An Instrument.

The Activision pretend-you're-playing-music demo is fine, except it's still a game where you pretend you're playing music instead of actually playing music. How about you make a game where you play music on a real instrument, and the game judges your quality and trains you? Wouldn't that be awesome? You could actually learn something WHILE having fun! Yeah, I know, it's Activision, where fun has gone to die for over 20 years, but still. I remember and miss Pitfall.

The Tragedy Of The Common WiFi User.

So, the wifi problem in the demo. 570 people were broadcasting wifi access points. WWDC has wifi, last year they had 3 networks: One secured for Apple, one public for MacBooks, one public for iPhones. This worked quite well. There are 11 standard "channels" in wifi. If you have more than about 11 broadcasting in a close area, nobody can connect to any of them reliably, and all of them slow down to uselessness.

This is an example of the Tragedy of the Commons. Each blogger/"journalist" wanted their own access, JUST IN CASE Apple shut the public one down or it overloaded. Each blogger operating their own access point is polluting the public space just a bit. If only a few of them did it, there would be no problem. When all of them do, the entire area is poisoned, and Apple can't give the demo which is the purpose of their keynote.

Now obviously, nobody can expect journalists to be rational creatures; even the ones I like are at best remoras, and the worst are parasitic ticks. Still, the entire day after that keynote, all the journalists were bragging about how they hid their "MyFis" under their fat asses, or just blatantly ignored Steve's request. The arrogance and ignorance on display is stunning. They didn't comprehend at all that they were at fault, or that they should do anything except more of what they were doing.

I expect that next year Apple will have security search the aisles and evict violators. You can't reason with a "journalist" who thinks his story justifies any offense, you can only drag him into a back alley and beat him into a coma.

Bing Goes The Internet.

This is so stupid. Because of Google's little lover's tiff with Apple, Apple's now making out with ugly, hairy Bing, and putting it "as an option" in the search fields of Safari on desktop and iOS.

The problem is, Bing search results are naïve, they have no "similar" suggestions. They spend a lot of effort adding wizards for travel, etc., but it's not a viable alternative to Google.

Read Us "Winnie The Pooh" Again, Papa Steve!

Great Eeyore, does Steve read any other book than Winnie the Pooh?

iBooks on iPhone is nice. And it has left justified text now, instead of the harder-to-read fully-justified previously! Syncing notes, place, bookmarks between devices, all very nice stuff copied from Kindle. Not that I like Kindle, I'll happily switch to iBooks when the store has more content, but these are not new features, just Apple playing catch-up with their prettier but less functional app.

PDFs included in iBooks is a small but much-appreciated improvement. Yes, I already have GoodReader. But they belong in iBooks.

Dick Tracy, Or Tracy's Dick.

Videophones, AKA "FaceTime". Okay, first, Star Trek communicators were voice only. Kirk would flip it open, turn the little knob to tune in, and bark out "MORE POWER OR WE'RE ALL DEAD, MISTER SCOTT!" Both Star Trek and Jetsons showed video chat on large fixed screens, and we already have that, iChat AV. It works fine, it was a nice demo on Mac OS X some years ago, including those silly background replacements.

Turns out most people don't want videophones, because you can't lie as easily, you have to put on pants, etc. Text is best, voice is second, video is a distant third.

Worse, it doesn't work over 3G networking. It only works over wifi. Which you would probably have at home, where your desktop computer with iChat is. If you're out, where you might want to facial, er, "FaceTime" someone, that would likely be on 3G, and you can't use it.

The people who will get some benefit from this are parents calling kids, if the spoiled brats have an iPhone 4G. And sexting now becomes live porn chat with your S.O., or with a sexy phone line operator. THAT is pretty cool.

Of course, I did think of a good use for it. If you've been bad, I mean really bad, so bad you earn a spot in one of my diatribes, you may receive a FaceTime call. It will be a pale, hairy blob, with a pit of eternal darkness in the middle. This will be my most profound way of calling you an asshole.

TOTALLY not related to that, does anyone have Steve's phone number? ;)

← Previous: DODOcase (Mac) Next: What I'm Reading: Ancestor (Media) →
Sat, 2010Jun05 19:45:47 PDT
in Mac by kamikaze

I got my DODOcase for iPad today, a mere 5 weeks after ordering (for something hand-crafted... not bad!).

The traditional unboxing photos after the break:

It really looks and feels like a big Moleskine. With the cover folded back and rubber-banded in place, the spine is just big enough to grip in portrait, and provides a shallow but usable slope for typing in landscape. I might, maybe, prefer if the cover could fold flat, but it's pretty good as it is.

The foam corner grips are serious business. It's difficult — not impossible, but requires force and strong fingers — to remove the iPad from the grips. It's unlikely to shake out. I'll see how that lasts in the months and years to come, but for now I'm very pleased with the solution. All of the ports are accessible. It doesn't fit in the dock, but the cables go in and I can reach the switches.

If I have one complaint, it's that it doesn't have an interior pocket like a real Moleskine. I may glue one into the front cover interior.

All in all, an excellent iPad case, that really solves my problems of safety and landscape support.

← Previous: Programmer Work Journals (Software) Next: WWDC 2010 Keynote (Mac) →
Software in a Box
Wed, 2010Jun02 02:46:24 PDT
in Mac by kamikaze

"The way we look at it is, we don't want to get into something unless we can invent or control the core technology in it, because we'll get slammed if we don't. And the more we look at it, the more and more consumer devices, the core technology in them is going to be software.

If you really look at the iPod, we looked at that at the very beginning, we said the ultimate competitive barrier is going to be software in this thing. I mean, we're pretty clever at hardware, but eventually people will copy us and do other things.

But the competitive barrier will be software. And the more consumer products as we see them evolve, the more and more they look like software in a box. And a lot of traditional consumer electronics companies haven't grokked software."

Steve Jobs, D2, 2004

So there was Steve, laying out the strategy for the next decade. An iPhone, iPod touch, or iPad is just "software in a box". There's almost nothing to them but software, one home button, which I expect to go away next.

Why is Apple so obsessive about excluding Flash, or using the Safari "WebKit" engine they control instead of Firefox's "Gecko" engine, or not incorporating every random media codec (WMA, OGG, etc.) in iTunes, or controlling what native apps are carried on the App Store? "We'll get slammed if we don't." Later he gets in an argument with Walt about playing WMA in iTunes, and states they spend their energy on things they control.

And I laughed out loud at this:

Walt Mossberg: "So you're feeling quite good about the music thing right now, in terms of your market share for music players and the stores, but aren't you headed for real trouble? You can't possibly believe that Microsoft will have no impact on this when they bring their store out. Maybe you want to say that, I assume they'll have some impact."

Steve Jobs: "Oh, I think they'll have a lot of impact. If you're Roxio or MusicMatch, you're gonna get destroyed. They're gonna eat their young. So that's one thing they're gonna do, it's gonna be painful to watch."

← Previous: Atheism as Cure for Fear of Death (Atheism) Next: Myst Online: Uru Live Again (Toys) →
Writing on the iPad
Tue, 2010Apr20 19:22:00 PDT
in Mac by kamikaze

I've done a bit of writing on the iPad in Pages ($9.99 on the App Store) now.

Propping the iPad up on my lap like a paper notebook is entirely possible, and typing on it in landscape mode is quite pleasant. I can't type as fast as with a hardware keyboard (with caffeine and typing from copy, I do 90 wpm), but I'm getting 40-50 wpm with very few errors unless my fingers get off by one, in which case I'm s;; rttptd gpt s gre eptfd all errors for a few words. It only requires the lightest tap on the screen, it's not like the old unpleasant membrane keyboards.

Pages is almost functional for writing, but there are some blocking issues.

You can only do formatting from portrait mode. This is my most serious complaint. You can type in landscape, but then have to rotate the device to do any formatting. DRIVES. ME. INSANE. If it just had a style selector, I'd be happy with this view. [Update: Pages 1.1 added the formatting ruler to landscape. Pages is now useful all the time.]

Creating a numbered list is easy: Type 1. whatever [return]:

  1. whatever

Creating a bulleted list is not obvious or easy: Type [.?123][hold down -, choose optional char •] whatever [return]

  • whatever

On Pages/Mac, and almost every word processor I've ever used, you can just use * whatever to start a bulleted list. I do this many many times whenever I write, I think in lists, so this is deeply frustrating.

On Pages/Mac, when you select a header style, type a line, and hit return, it switches to Body style, because you would almost never type multiple headers in a row. On Pages/iPad, styles stay locked in until you manually switch, which is a total pain in the ass. Basically I've been reduced to leaving text notes h1. Some Header, then I go back and style it up later.

So I'm thinking perhaps tomorrow I'll hit the Apple Store, get an Apple wireless keyboard, maybe a dock, so I can prop the iPad up in portrait mode and still type. Yes, I could instead use my MacBook Air just like I'm doing now. But for non-programming writing, Pages/iPad is close to usable, and so much more portable, and the battery lasts for days of serious use, so maybe I don't always need the laptop & power supply, if I'm just going to go out and sit in a park or café and write.

Apple should get some professional writers to work with Pages/iPad for a while, and address their needs. This is so close to being a laptop killer…

The Import/Export Business

You can get documents from Pages/Mac to Pages/iPad in four ways:

  1. Pages Share menu: Share via, click Share (apparently you MUST share all three formats in order to get a working document, even though this results in my 128KB Pages doc becoming 26MB on In iPad Safari, go to, pick your document, and "Open in Pages".
  2. Pages Share menu: Send via Mail as PDF, Pages, or Word. When you get the mail, click on the attachment, it opens in Pages. Then remember to delete that mail because it's wasting mailbox space with an attachment.
  3. Pages Share menu: Send to iWeb as PDF or Pages, which adds the document as an attachment to a blog post on an iWeb site. Hit Publish in iWeb. Browse to your site on iPad, and click on the link. It opens in Pages.
  4. Manually: Open iTunes, connect your iPad, click the iPad device, click the Apps tab, click the Pages icon down in the lower area, find the document in Finder (cmd-click the title bar and choose the folder under the document name), then drag the document from Finder into the "Documents" area in iTunes, Sync your device again, then finally launch Pages on iPad, go to My Documents, hit the folder icon at the top, and pick the document from the Import window. Whoever made this process should get a red rubber stamp of "THIS SUCKS!" on their forehead.

I've been using is still in beta, and I'm desperately hoping Apple just makes it part of MobileMe, but this works quite well. It isn't a "sync" or revision control, it's just copying the document from Mac to iWork, and iWork to iPad, and reverse. If you make changes on the iPad, and different changes on the Mac, it won't resolve them for you. If you're working solo, this is fine. In a team environment, it's probably not fine.

The mail solution works well enough, but it's an extra step in the way, and litters your mailbox. I don't like litter.

If iWeb was just a little bit smarter and had the ability to edit templates, I might well use it for my own web sites, and for casual users it's a fantastic way to make a simple web site and blog. But there appears to be no (easy) way to give a Pages document a new page that isn't a blog post. I could use Cyberduck to upload the document to my public folder on MobileMe, then paste a link from that into iWeb… Which defeats the whole point of iWeb, not dealing with all that crap.

The other problem for import/export is that Pages/iPad has a limited subset of formatting, and does not understand a lot of advanced word processing features. So if you dump a formatted document onto iPad, work on it, and send it back to Mac, it will have stripped out most of your formatting. Use Pages/iPad for word processing, NOT for layout, not for change tracking, not for gigantic shared business documents.

[Update: 2010-04-21: Mea culpa, I confused the import process for and manual earlier.]

← Previous: View Source Bookmarklet for Mobile Safari (Software) Next: Immigration and Citizenship (Society) →
iPad Protection
Sat, 2010Apr10 09:24:41 PDT
in Mac by kamikaze

The iPad is lovely, but it's still a giant sheet of glass with a slick metal back. I don't feel safe without some protection.

The Apple iPad case is appalling. It's fuzzy & tacky on all surfaces, so it's almost impossible to slide the iPad in and out, and it collects dust & lint on every surface, including the closed flap, so your screen gets dirty. I can barely stand to touch it after it's been out in the world for a few hours, it's so grimy. The design is okay, but the surface is vile.

What I want is: A case that stays on the iPad, has a flap to cover the screen, but can be folded back around so I have something to grip. Two options look good:

Incase Convertible Book Jacket
Almost the same design as the Apple case, but with better materials. The Apple Store did not have this in stock, but after handling some other Incase gear, I'm going to pass. It's not bad, but seemed kind of cheap.
M-Edge Executive Jacket for Apple iPad
This looks higher-quality, and it's easier to get the iPad in and out. So I think I'm waiting for this to be released.

In lieu of either, I bought a Belkin Grip Sleeve for iPad, and I'll just be careful when holding the iPad outside the case. It's a bit of a girly man-purse, but fits nicely in my satchel's outer pocket.

The Hitchhiker's Guide to iPad Book Reading
Fri, 2010Apr09 17:22:04 PDT
in Mac by kamikaze

The iPad's "killer feature" is, in many ways, just as an electronic book. I hear you say, "$500 or more to replace a simple $25 hardcover? Crazy!", but when you consider that it can (in theory) hold EVERY book you EVER bought, an entire library in your hands, it makes a lot more sense. It's not one book, it's all books. And with that realization, it goes from "expensive toy" to "you'll take my iPad from my cold dead hands which'll be wrapped around your throat cuz you were trying to take my books".

Apple's iBooks app is, as seen in the iBooks Guided Tour, very pretty, and the store has a decent interface for searching and browsing through sections of books, though they all seem to be recent best-sellers.

If you can find what you want there, or if the free copy of Winnie the Pooh is all you need (me, I would've gone with The Wind in the Willows or Alice in Wonderland), iBooks is gorgeous, and an excellent reading interface. It would be nice to have more font options, and ragged right edges instead of justified text, but it's fine for long stretches of reading.

Naturally, I wanted one of my favorite books, the most appropriate book possible for an electronic book reader, that wholly remarkable book by Douglas Adams, The Hitchhiker's Guide to the Galaxy.

However, the iBooks Store is very, very new, and very, very empty, like the deep, endless emptiness of space. It does not have the Hitchhiker's Guide to the Galaxy, or indeed any Douglas Adams. In fact, it has somewhere between "Bugger" and "All" in the way of books. It has books in much the same way as the Monty Python Cheese Shop has cheese.


So I went over to (you can't shop from within the app, it opens a web browser to buy the book), got a Kindle book, and read it on the Kindle app for iPad. The good part about the Kindle app is that it has the Kindle store on Amazon, and a ton of books, and they all sync between Kindle readers (ugh), the iPhone app (too tiny), the Mac desktop app (too ugly, because they used fucking C++/Qt to develop it), and now the iPad app. The iPad Kindle app is spartan. It has a nice title screen, but beyond that it does its level best to make the iPad look as dull and drab and boring and featureless as the Kindle reader. For variation in reading options, there is one serif font with 5 sizes, and three choices of color, and that's all.

It is also very sloppy about positioning. Spatial memory and keeping page breaks consistent is important when reading, but Kindle has no concept of this. It's really more of a web browser with page breaks than a "book reader", except that a web browser has better reading amenities. Footnotes are an especially bad case:

1. ipad-kindle1.gif 2. ipad-kindle2.gif
3. ipad-kindle3.gif


At some point, either iBooks will have a decent selection to go with the great reading experience, or the Kindle app's reading experience will be improved to the point where I don't care, or the Vogon constructor fleet will arrive and destroy the Earth. No bets on which comes first.

← Previous: Using iDisk (Mac) Next: iPad Protection (Mac) →
Using iDisk
Fri, 2010Apr09 06:43:10 PDT
in Mac by kamikaze

Like many Mac users, I have .Mac MobileMe. I think this is a good value: For $100 (or $70 if you buy new hardware) every year, you get:

  • Email, with any number of aliases.
  • Chat/audio chat/video chat/screen sharing on AIM, again with any number of aliases.
  • Syncing/online backup of your mail, contacts, calendars, preferences, and sometimes other apps (especially Yojimbo).
  • Photo and video galleries
  • Easy (if very limited) web publishing with iWeb.
  • "Find my iPhone/iPad", an anti-theft/"where the hell did I put my phone" service.
  • 20GB of storage at iDisk.

I use all of these features (even iWeb for quickie web sites), and they're pretty fantastic. A Mac without MobileMe is only half a Mac.

But iDisk is problematic. Using iDisk from Finder is a terrible experience: It's very slow, often craps out and fails to transfer big files, or can lock up the Finder and force you to log out or reboot! For years I'd blamed this on it being WebDAV, which is a read/write protocol based on HTTP.

Well, it turns out that's not at all a problem with iDisk or WebDAV. Finder just has crappy support for WebDAV. If you use a file transfer program like CyberduckCyberduck or Transmit (both are good, but I prefer Cyberduck), you can connect to your iDisk, just drag & drop files, and it's as stable as any FTP server.

The setup process I used:

  1. Open System Preferences, MobileMe, iDisk, and make sure iDisk Sync is OFF (hit Stop if it's not). Now your iDisk will live only on Apple's servers. You won't be able to read the files if you're not online, but that's usually what you want.
  2. Run Cyberduck.
  3. Hit the Open Connection toolbar icon, change "FTP" to "MobileMe iDisk (WebDAV)", enter your name and password, Connect.
  4. Hit Action, New Bookmark, and close the info panel to bookmark your iDisk connection. Then drag that bookmark to your desktop.
  5. Hit Disconnect and quit Cyberduck.

Now you can click on that rubber duckie icon on your desktop, and it'll launch Cyberduck and connect to iDisk.

You now have a nice file browser for your iDisk. If you drop files into a folder on it, they transfer up, it tells you how fast it's going and what % remains, and it never locks up.

The one drawback is that there's no trivial way to see how much space you have left on your iDisk. You can open System Preferences, MobileMe, iDisk, and it'll show you there, or go to MobileMe, Preferences. Leave some free space and check it once in a while, and you'll be fine.

Any time I complain about iDisk, a bunch of nerds reply "use Dropbox". This is not at all useful advice. It's like if I said "My car's out of gas", they'd reply "Buy a boat!"

  • I already have 20GB on iDisk, and I have a bunch of other good reasons to use MobileMe, so it's "free".
  • DropBox only gives you 2GB free (for the math-impaired, that's only 10%), which I can blow through in a single file. It's not in any sense useful to me. For an extortionate $120/year, you get 50GB, which is $2.40/GB.
  • Additional iDisk storage is also expensive ($50/20GB = $2.50/GB), but additional storage on an FTP server elsewhere is dirt cheap, pennies per GB. If I was adding more storage, I wouldn't use DropBox OR iDisk.
Apple Shoots Adobe In the Head
Thu, 2010Apr08 15:35:45 PDT
in Mac by kamikaze

As noted by Daring Fireball: New iPhone Developer Agreement Bans the Use of Adobe’s Flash-to-iPhone Compiler.

This pretty much is aimed directly at Adobe's upcoming Flash CS5, which claims to produce "iPhone apps". The trouble is, those Flash iPhone apps are gigantic bloated slow things, because they pack an entire Flash runtime into every app. They make the iPhone look bad, and if they're allowed, there'll be a flood of crappy bloatware from Flashmonkeys.

There is a way out for Adobe. If they make Flash CS5 produce WebKit-optimized HTML5, using Canvas and video tags, then Flashmonkeys can publish their "apps" to the web, and they'll run just fine on the iPhone and iPad. They can't be sold in the App Store, but they can be distributed the same way as modern Flash apps, and monetized with ads or placement on sites like Kongregate.

Of course, this is like making Adobe put a bullet in the head of their own Flash plugin, because who needs Flash if you have HTML5, but that makes everyone except Adobe happy, too.

← Previous: A Brief History of Tablets (Mac) Next: Using iDisk (Mac) →
A Brief History of Tablets
Thu, 2010Apr08 05:32:44 PDT
in Mac by kamikaze

I'll be discussing the Apple iPad sometime next week, after I've had time to fully absorb it. But first, a bit of history of tablet computers, because as George Santayana said: "Those who cannot remember the past are condemned to repeat it."

Before there were real tablets, there were theoretical demos, like Alan Kay's 1968 "Dynabook", then-Apple CEO John Sculley's 1987 "Knowledge Navigator", and Douglas Adams' 1990 "Hyperland".

In 1989, Jeff Hawkins created the GRidPad, the first true tablet computer, running MS-DOS. It sold some to vertical markets and military, but the public ignored it. It was heavy, expensive, and inferior to even the limited laptop computers of the time.

GRidPad 1910

All through the '80s and early '90s, there were cheap "pocket PCs", Personal Digital Assistants (PDA), and electronic organizers, like the 1983 Radio Shack TRS-80 Model 100, the 1989 Atari Portfolio, and the 1991 Psion Series 3. These had keyboards and LCD non-touch screens, and were aimed at replacing a paper Rolodex™ and DayRunner™, not a desktop computer, but were programmable and quite useful.

TRS-80 Model 100
Atari Portfolio
Psion Series 3

In 1993, Apple released the MessagePad 100, the original Newton OS device, and the first device that could be considered a "modern" tablet; give it a color screen and it would have been competitive up until the iPad's release. It was also seriously flawed, with terrible handwriting recognition, poor syncing with desktops, and high prices.

Apple MessagePad 100

In 1996, Palm (created by Jeff Hawkins) released the Palm Pilot, the first cheap, portable, usable PDA:

Palm Pilot 1000

The Newton OS survived until 1998, when its poor sales got it shut down at Apple. The Palm Pilot line continued successfully until 2008, with the last Palm OS Treo.

Almost all of the previous devices were pen-based or keyboard-based, and very linear developments from either DOS or Macintosh user interface. Palm OS was blatantly derived from the original Macintosh interface. Newton tried to break out of that paradigm and adapt to the pen, but those were among the worst-implemented parts of its interface.

Other PDAs were absorbed into cell phones, leading to maliciously bad user interfaces. Every try adding an address book entry on a typical cell phone? It's like playing an untranslated Japanese console RPG: "If I push every button, I'll find out what it does".

Making a good interface in the constraints of a mobile device is so hard that almost every company that has ever tried it has failed; only Apple and Palm have ever made reasonably good mobile interfaces, despite billions of dollars spent on the problem by dozens of companies.

The iPhone and iPod touch were released in 2007, and while the underlying iPhone OS is basically Mac OS X stripped down, with a much simpler GUI layer, it's also very different, radically redesigned for use with touch controls.

In 2001, Bill Gates, always 5 years late to the party, started pushing what he called a "Tablet PC" running "Windows XP Tablet PC Edition", with no success at all. Microsoft's latest fumbled entry into this field was Steve Ballmer holding up a mocked-up HP "slate" running Windows 7 at CES 2010, just weeks before the iPad was announced, and concept videos of "Courier", which will never exist as shown.

Microsoft's efforts have always failed because they attempt to shove a huge, bloated, memory-hogging, mouse-oriented desktop computer OS onto a portable, resource-limited, touch-screen device. It's as if they're trying to fail.

The JooJoo (aka "Crunchpad") finally came out in March 2010, months late and $500 instead of the original $200, and no surprise, it has nice hardware but appallingly bad and uncreative software. "Put a web browser on it!" was all the user interface design they had. They didn't plan to fail, but they failed to plan.

One Laptop Per Child (OLPC) has scrapped their fantasy two-screen XO-2, and is now promising a tablet-style XO-3 that looks like a wafer of glass. The reality will of course be more Fisher-Price™ like the XO-1. The Linux-based "Sugar" interface does have some creative ideas, and it gives the user easy access to Python. For smart kids and geeky adults, it's a clever interface… But it's still unfinished, not usable for real work, and given the current state of OLPC, never will be. It's certainly not suitable in its current state for a touch-screen tablet; it relies heavily on the keyboard and trackpad.

Various companies are threatening to make Android-based tablets, which will be as appalling to use as the Android-based phones, with yet another splintered Android marketplace. The more Android devices there are, the less successful any of them will be. Like Microsoft, it's as if they're trying to fail.

Given the utter incompetence everyone else shows, Apple's iPad release is like a beautiful, precision-engineered, carefully user-centered-designed tank rolling over armies of ugly cavalry carrying spears and bows. It's not just a defeat for them, it's a massacre.

iPad Eve Battle: Open vs. Closed
Fri, 2010Apr02 23:00:41 PDT
in Mac by kamikaze

Tomorrow is the most important day of the year (so far? I'm calling it for the year): iPad Eve. With twitching hands, I'm waiting for the Apple Store to open tomorrow so I can get my iPad (32GB).

There is a bit of last-minute controversy over the iPad, from the usual suspects, bitching again that it's not "open".

The terms "open" and "closed" get thrown around a lot without definition.

A fully open device lets you get to all of the system software, change and recompile everything, install anything you want. Sounds great, right? Except… Who really does that? A handful of Linux nerds, who get more thrill from "pwning" their devices than from actually using them, like rednecks with cars on blocks in front of their trailers, who enjoy working on the cars more than driving them. The devices they create and use, like the OpenMoko, are ugly and non-functional; "open" has led not to futuristic technology, but to amateurs building inadequate devices with the same awful C++/Qt environment as every other failed Linux handset. The only apps are amateur junk, because professional developers want to get paid. But if what you want is hobbyist tinkering, not a sleek, functional device, open is the way to go.

Not Invented Here

A fully closed device, like most electronics, the original iPhone 1.0, most cell phones, or game platforms like the Sony PSP & PS3, Nintendo DS & Wii, Microsoft Xbox360, etc. have no user-serviceable parts, no loadable software except maybe webapps and software licensed (at great difficulty and expense) with the publisher. These devices DO have a place in the world, they're extremely robust, simple, and consistent. If you want a pure consumer-level device, fully closed is the way to go. It's not for people who have to tinker with every device they own, but it's great for anyone else. These devices have been and will continue to be very successful, and very pleasing to a large audience.

The current iPhone and iPad are in between the two. They're "closed" in that you can't easily or legally replace the OS, and can't just shove any random app on them. But they're "open" in that development is available to anyone with a few bucks laying around. As I discussed in Developing in the Future, those who want to develop software will acquire the tools and opportunity. With those, you can write software for your own device, or even for friends' devices (if they have a dev license or as an ad-hoc build). If you want to sell an app to the public, you have to do it through Apple's App Store, with Apple's approval. But given that 150,000 apps (most of very limited quality or utility) have been put out, it doesn't seem to be a giant barrier to entry, and certainly the sales & distribution side of the App Store is a nice deal (a mere 30% cut, instead of the 70-90% cut traditional publishers took).

Cory's perspective is not any of these three somewhat reasonable views, though. He calls publisher gatekeeping "evil", and likens it to bullies, the Mafia, or civil rights violations, because he only sees the world in terms of his own selfish desires, he has no empathy or perspective for the user or for anyone else's business decisions. Hypocritically, he's extremely closed in his own publishing enterprise: BoingBoing won't publish any random person's post or comments, and he actively censors comments he disagrees with; not just offensive or spam, but simply different opinions. Anyone who was published by BoingBoing who has a falling out with him or Xeni, like Violet Blue (NSFW), becomes an unperson.

This doesn't make Cory unique, he's just one of the most outspoken of a sociopathic fringe among Linux nerds (it's an uncommon behavior from Linux users, but almost nonexistent elsewhere)… Not every developer has a loudspeaker like BoingBoing, but we're not voiceless. You have to measure the merit of a person's opinion on a subject by their experience in it, and Cory's a fantasy novelist, not a programmer, he's telling you not to ship software for this device because of his ideology, when he's never shipped software and doesn't live by his own ideology.

← Previous: What I'm Reading: Oceanic (Media) Next: A Brief History of Tablets (Mac) →

It's ironic what kinds of nonsense will kick loose the blogging writer's block; I've made no progress on a post on iPhone user interface for months, then a "gem" from Twitter gave me the hook:

"There are 100,000 applications on the App Store? There were also 100,000 pages on geocities." -- @azaaza at #sxsw
(as reported by @avibryant on 2010-03-13)

Actually, the number for the App Store is over 150,000, according to Apple, and continues growing. The number of pages on GeoCities was 38 MILLION.

Aza clearly meant that comparison insultingly, but he has half a point despite his hostility and innumeracy.

VERY roughly, 50,000 iPhone apps are copies of Project Gutenberg books; another 50,000 are fart/light/rss feed/tip calc apps; the 5,000 or so boobs apps are now gone; but that still leaves 50,000 real apps, creative works by people who wanted to make something.

Many of those apps, 90% if you trust Sturgeon's Law, are "crap", but they're someone's hard work and creativity. Even 10% quality out of the useful 1/3 = 5,000 good apps. Two years ago, there weren't 5,000 good apps for the Mac. There will never be 5,000, or even 50, good apps for Linux or Windows.

The iPhone's limited environment makes you focus LASER-sharp on one concept, and do nothing else. To do a mix of tasks, you usually need multiple apps, but the benefit is that each app is perfectly suited to each task and your personal preferences.

GeoCities was for many people their first web hosting, and the non-HTML page editor, unsophisticated as it was, let non-technical people make web sites about things they cared about. Sometimes you got sparkly unicorns, cheesy MIDI music, and eye-bleeding color combinations. Other times you got really cool information and ideas.

Yahoo! shutting down GeoCities last year was insane. They threw away one of the best things ever created for personal expression, and 38 million individual creative works. There are other solutions now, much better ones, but why be a dick, Y!?

So. Personal preferences, creative outlets, and laser focus on a single concept. Sometimes cheesy, sometimes great. Those aren't bad traits to have, and have been successful at releasing personal creativity on an unheard-of scale.

Who is this Aza guy, anyway? @azaaza is Aza Raskin. His Twitter bio says he's: "Head of UX for Mozilla Labs. Lead for Ubiquity for Firefox."

At first, this surprised me enormously. Mozilla have User Experience? Mozilla have designers? If so, why does Firefox suck so much?

Then I remembered what Ubiquity was. In case you missed its 15 seconds of web-fame, it was a sort of command line interface for Firefox. It's a total hardcore nerd tool that even I, übernerd, don't find useful, largely because Google search features and Wolfram|Alpha handle natural language requests better. Mozilla shut the project down last year.

Then the third shoe dropped, as I recognized the name: Son of Jef Raskin. Oh. Jef Raskin started a next-gen computer project at Apple in 1979 called "Macintosh", though it had nothing in common with the released Macintosh (see's "The Father of the Macintosh"). Jef quit/was fired from Apple when Steve Jobs took it over and reversed course in every way.

Jef's design was keyboard-driven, modeless, technical, very much about memorizing a million little commands & switches. Jef later elaborated his ideas in an unusably complex product for Canon called the "Cat", and later in his book and Archy vaporware. I tried a mockup demo for THE (predecessor to Archy) with a zoomable UI. It was… interesting… but more as a challenge to try to control than as something you could use. MUCH too unfocused, like a hurricane had struck your documents folder and scattered them around your room, and every key was mapped to something unexpected.

So it's not too surprising to read of Aza Raskin ragging on the iPhone. In almost every way, the iPhone is the polar opposite of Jef Raskin's design and the thing Aza's been raised in a Skinner Box to finish, and the iPhone is the latest work of his father's "arch-nemesis", Steve Jobs.

The iPhone OS is inherently modal, one app doing one thing at one time, your attention focused on it. All available actions are immediately visible, either with direct manipulation, or widgets next to the item you're manipulating, not hidden under a keyboard key or menu item far off from the action. On the iPhone, it's better to have five screens with one function per screen, than one screen with five functions.

If apps can quit & restart seamlessly, and there's a clipboard and other tools for content sharing (photos, email, iDisk, Instapaper, etc.), you don't need complex kitchen-sink interfaces. The iPhone OS is inherently non-technical, non-keyboard-focused, child-like without being childish. This is what Mac apps were supposed to be like, before they became complex mazes of keys and modes.

I have an unnatural techno-lust for BBEdit; for hardcore techie writing like this with lots of links, nothing works better, and in that tiny little niche, Jef Raskin was at least partly right. But BBEdit's defaults are overwhelming, so I disable many menu items, and unmap a lot of keys, because I like a simpler interface. If I'm doing creative writing, even my stripped-down BBEdit is the death of me, and I use WriteRoom or Ommwriter, which is the most beautiful and focused writing tool I've ever seen.

With the iPad likely to set the course of computing in the future, that's the last nail in the coffin of the command-line and keyboard-driven "hidden interaction" models. No more kitchen-kink apps. Just do one thing, gracefully and well.

Competing with the iPhone
Mon, 2010Feb15 22:06:18 PST
in Mac by kamikaze

How do you compete with the iPhone? Very badly, it seems.

On January 9, 2007, at Macworld Expo, Apple announced the iPhone. If you're feeling nostalgic, watch the video or read the coverage from Engadget.

"Every once in a while, a revolutionary product comes along that changes everything." —Steve Jobs, Macworld Expo 2007

Apple showed a complete working device, completely integrated, already useful. It shipped just 5 months later, on June 29, 2007, and worked as shown.

So now it's 2010, three years later. The iPhone rules the world. Today, Microsoft finally announced (but did not ship!) their response to the iPhone: the ZunePhone. No, "Windows Mobile 7". No, wait, "Windows Phone 7 Series". Even for Microsoft, that's a terrible product name, but totally to be expected. I'm going to call it "ZunePhone" here, for brevity.

The interface is… horrible is too kind. It's Zunetastic! See the slideshow on Engadget. The big areas are the "hub" UI, basically a desktop-sized area that you scroll a teeny little phone viewport into. Every task will involve scrolling, scrolling, scrolling around.

It's a stark contrast to an iPhone UI, which is laser-focused on the minimal content necessary for each step, then presenting another panel for more detail. The iPhone UI is the epitome of Chris Crawford's "tunnel bored through solid rock".

Like the Zune, the ZunePhone uses a wafer-thin white font on black or picture backgrounds, causing eyestrain. Colorful icons & pictures look good on black backgrounds, but text you should focus on does not. White text on black slips into background; that's why it's used in games for notifications, but not usually for readable dialog! Text is completely unreadable in any color over a photographic background. Reading a contact list over a background picture is crazy!

It's "normal" on the Zune and ZunePhone to cut off text. Their own promo image shows "Februar", not February!

Apple announced the iPhone with no games, no 3rd-party apps, only web apps, but quickly got the message that Mac developers wanted access, and got the iPhone SDK out. But that's Apple, which is somewhat developer-hostile; surely Microsoft, who loves 3rd-party developers, will do better? Nope. No 3rd-party apps, no games. There was a demo of Xbox Live stats checking, but nothing about playing games. Nothing about writing games.

There is a Zune HD SDK, and maybe it or something similar will work on the ZunePhone; but nobody has developed anything serious for the Zune HD, and Microsoft's "app store" apparently doesn't pay developers, so I doubt if anyone will bother. The development environment for Zune HD is C#, XNA, and Visual Studio crap, so making attractive apps will continue to be impossible. Can nobody take a single hint from Xcode and Interface Builder, or HyperCard back in the '80s, and make a good GUI design tool? Apparently not.

I can go on, but this is just an accumulation of incompetence. Microsoft tried to innovate with the Zune HD interface, I will give them credit for that, but it was a bad design, and they're just making it worse on the ZunePhone.

The punchline to the whole affair is, this is a demo only. There's no shippable phone yet, Microsoft still has to get mobile carriers to make phones using it, and ship them, and doesn't plan to do this until "Holiday 2010", which in Microsoft scheduling means spring 2011. THREE AND A HALF YEARS after the iPhone shipped, MS may have shipping ZunePhones which are ugly, but functionally equivalent to those first iPhones.

But the iPhone hasn't stood still since then. In the years since release, the iPhone OS has gone from a simple launcher for a handful of Apple apps to a very powerful and easy-to-use environment for 3rd party apps. The interface has been refined, and expanded into the iPad's much larger screen. Programming for the iPhone is years, decades ahead of programming for any other mobile device.

Microsoft aimed squarely at the past, and hit it. That's just not good enough anymore.

The other mobile phone failures today are from Nokia and Intel.

Nokia's merging their Maemo OS with Intel's Moblin, and calling the result "MeeGo". Gibberish names, for gibberish ideas.

The "MeeGo" OS is still programmed with Qt/C++, just like any other crappy, ugly Linux & KDE app. Manual widget layout, menus with keyboard shortcuts, manually placing "Hello MeeGo!!" on the screen! It's like it's still 1995. There's 6 lines of code to make a menu with a button that does something, and another 6 to place a label. In the iPhone SDK, both can be done in Interface Builder with 0 lines of code.

You do need to write code for more complex behavior, but even there it'll be 10% as much as in C++, because Cocoa does the tedious wiring for you, and you trace out connections in IB, you only do actual logic in Xcode.

Anyway, this doesn't really matter, since MeeGo won't ship until "second quarter of 2010" according to their FAQ, and that probably means a usable version in Q3 2010.

Nokia also has Symbian^3, which is their old shitty phone OS with ugly, complicated C++/Qt apps on top. Apparently failing to compete with just one OS isn't enough failure for Nokia, they want to fail to compete on multiple fronts.

Google's Android is marginally better technology, but not particularly good, and the apps are just as ugly as any Linux app. As a market, Android is a shithole, already splintered into dozens of incompatible hardware designs, OS versions, and carrier-specific app stores. Every time a new Android phone comes out, e.g. Google Nexus One, Motorola Droid, HTC Hero, and so on, their platform is balkanized just a bit more, so nothing works.

Palm's WebOS is the one exception, the only company that actually made something artistic and creative and NEW, that competes with the iPhone by attacking its weaknesses instead of me-too-ing its features, badly. The Pre has the best multitasking design of any portable device, the notification system is awesome, the devices look and feel great. The original Pre & Pixi were on Sprint, and I'll never give those sons-of-bitches my money again, but I may pick up a Pre Plus for development.

The quote below is about the iPad, but applies just as much to the iPhone, the iPod (only Microsoft is so stupid as to continue competing with the iPod, so badly as the Zune), and the Mac:

It's got to be so annoying to compete with Apple, at anything really, because it's not like they're doing something fucking crazy. Everybody's had these ideas before. The difference, and this is grim if you are a competitor, but the difference is that everyone else spends a lot of time (and often, money) determining why those things aren't possible. And then it comes out, for real, only you didn't make it. Some other guys did. And when you come out with what is (on paper) a better version of the same thing, maybe even multiple times over, it's too late.

You made a "product" to compete with their "product," tastefully arranging your regiment, only to discover that they hadn't made a product at all - they made a narrative. A statement about how technology should interface with a life.

I'm not saying this to be mean, or get my kicks, or to engage in psychic vampirism. Competing with these fucking people must be a genuinely harrowing state of affairs.

Tycho, Penny Arcade, 2010 Jan 22

Flash is Dead
Fri, 2010Jan29 15:56:38 PST
in Mac by kamikaze

Another casualty of the iPad's release is Flash.

Adobe's Flash Evangelist Lee Brimelow posted a bunch of sites (tackily including porn site Bang Bros) as examples of how the iPad won't work without Flash.

Except, in typical incompetent Adobe fashion, he's wrong about most of the sites!

  • FLASH. Farmville: Requires Flash, but publisher Zynga has iPhone games including Mafia Wars, so Farmville may not be far off.
  • ???. Hulu: Requires Flash today, but not for long: "Mobile is a monster – we are very bullish. We will embrace any device."
  • IPHONE. CNN: Has a mobile site, and video does play. There is also a $1.99 CNN iPhone app with video.
  • IPHONE. Bang Bros Network (porn site, NSFW): Has a mobile site, and the videos work on the iPhone.
  • FLASH. FWA and AddictingGames: Flash-specific game sites. There are tens of thousands of games on the iPhone app store, and the worst of them are as good as most Flash games.
  • IPHONE. Google Finance: "Ubercool"[sic] interactive charts don't work on iPhone, but the rest of the site does. And irony is pointing at anything on Google; they've gone out of their way to make HTML5 the standard.
  • FLASH. Aviary: Requires Flash. But there are hundreds of photo-manipulation and drawing apps on the iPhone.
  • IPHONE. Disney: Has an iPhone-optimized page, and just watched a bit of "Mickey & the Beanstalk" off their site. Also has an iPhone app with a bunch of kids games & activities in it. (Actually, a bunch of apps for specific shows, too).
  • IPHONE. Spongebob: Seems to load fine in iPhone, plays videos and some web-based games; I'm sure there's more Flash games, but it should keep the average 5-year-old or Adobe employee entertained.

So of the 10 sites he listed, 5 are already optimized for iPhone (and iPad in 2 months), and one or two more should be by then. It would be funny, if Adobe weren't so angry and bad at everything they do (just kidding, it's hilarious!)

[Update: Lee has now removed Bang Bros: "My apologies if it offended anyone". But more importantly, his apologies for being so incompetent that he didn't check it on iPhone first!]

← Previous: Developing in the Future (Mac) Next: Competing with the iPhone (Mac) →
Developing in the Future
Thu, 2010Jan28 15:16:22 PST
in Mac by kamikaze

This is a story about software development in The Future. But first, some ancient history (AKA my youth):

I've had videogame consoles since I was 5 or so; this is back when Pong was high-tech. They weren't just locked down, the games were hard-wired, burned into ROM. You had to buy cartridges with new chips & circuits to get a new game!

When I was 9, I got to use a real computer for the first time, a TRS-80 Model I. I pretty much instantly knew what I was going to do with my life: Write software and games. That summer, my parents sent me to a beginning programming class (in BASIC! On TRS-80 Model I and Apple ][).

Every other interest became a very minor hobby compared to programming.

I didn't get my own computer until 1983, though, because they were really expensive. I had computer access at schools, and would write programs on paper, think them out, "play computer" (trace through the program, changing variable values on scrap paper), to test my code, then type it in and run it during the limited computer time I had. If the computer I had access to didn't have a cassette drive, I'd just retype from listing or memory, then print it out or even update my paper listing by hand.


I know a lot of other geeks with similar stories. To kids who are born programmers, it's like we're born with a heroin addiction, and finally get the stuff in our veins. You couldn't stop us with bullets.

There's a second group of programmers, who don't learn about it until college or later, and do it as a job. They can vary from incompetent to competent workers, but will never be as passionate or intuitive as those who grew up with computing in their brains.

So, let's consider the distant future, circa 2012. The Apple iPad has replaced all mainstream computers. Only programmers, system adminstrators, and a few weirdos ever use a "real computer". Everyone else carries their iPad, hooks it to a Dock to recharge, uses Time Capsule for backup & media storage.

The iPad only runs apps purchased from the App Store, or webapps (either in Safari or saved to home screen). Suppose Apple continues to block user-accessible interpreters from the App Store. There's nothing they can or will do about the web.

A born programmer who starts with an iPad in the house is going to see games and other apps and want to make their own. It'll be a burning internal need. If you're not an addict, you'll never quite understand it. They'll deal, wheedle, and complain until their parents can send them to a programming class or camp, or buy them a development computer, or they'll use one at school, or they'll sneak in somewhere. You can't stop a programming junkie.

A Mac and developer tools are relatively cheap: a $600 Mac Mini (plus keyboard, mouse, & monitor from a junk heap) or a $1000 MacBook plus a $99 developer license.

Even if they somehow have ZERO access to any other computer, cheap or free hosting like Google App Engine lets you write Python, PHP, etc. back-end and HTML/JavaScript/AJAX front-end. They can write and instantly distribute webapps for free. That's certainly better than the BASIC, 6502 assembly, and Z-80 assembly I started with.

A workman programmer will be content to wait for college, take computer science, and learn that way. Nothing new there.

Either way, Alex Payne's "tragedy of the iPad" seems very silly. The iPhone and iPad don't let you screw around with their internals from the surface interface, but they're perfectly good inspiration to a born programmer, and there will always be development tools for them. The App Store has, what, 150,000 apps now? Apple's aware they need 3rd-party developers to put content on their shiny boxes.

← Previous: The Filesystem is Dead (Mac) Next: Flash is Dead (Mac) →
The Filesystem is Dead
Thu, 2010Jan28 03:27:12 PST
in Mac by kamikaze

The iPad has no visible filesystem. Neither does the iPhone.

To old-timey computer people like me, the filesystem is truth, we lived in a world consisting entirely of files, input/output streams, and programs. When writing software, that's still the case.

Mac OS X (and iPhone and iPad) "Apps" were already a little different, they're "packages", which are really directories containing a program and many resource files, all hidden from the user.

Now consider how an iPhone app stores and presents information. Consider a note-taking app, with a series of notes, each of which has text and a modified timestamp. In a desktop note-taking application, like my old ThoughtPad, you'd at least have a filename, it's a very thin tool on top of a directory full of files. My documents directory has hundreds of thousands of files, each meticulously named and organized. is nothing like that. It presents note items in a fixed order of most recently modified, with the first line of text as a title. Is it using a database, or files? Who knows or cares? Certainly there are no user-visible filenames. It doesn't matter, because the ONLY way you ever interact with these notes is through; you can email them, delete them, search through them (with Spotlight or if you pull down the source list to expose the search box).

Every iPhone app is like this; the few exceptions are those that deal with network filesystems like iDisk, DropBox, and GoodReader. Those are legacy apps, in a sense, because they deal with archaic "filenames", rather than higher-level documents.

Even more complex apps are going this way. iPhoto on the Mac is a sealed box; I've complained before that if you mess with files it "owns", it will get very confused. You can export from iPhoto, but internally, it's a black box.

iTunes isn't quite as defensive, and provides a Library.xml so you can match up files and data from the filesystem, but moving files around will just confuse iTunes and lose them.

In the distant future of 2010, filesystems are a developer-only feature, just like code. There are no user-serviceable parts inside.

← Previous: Apple Tablet Predictions Results (Mac) Next: Developing in the Future (Mac) →
Apple Tablet Predictions Results
Thu, 2010Jan28 02:28:34 PST
in Mac by kamikaze

So after the Apple's "magical and revolutionary" iPad announcement, how did I do on my predictions?

You know, this is the first time anything has been magical AND revolutionary. Usually magic is used in support of entrenched monarchies.



I thought "iPad" was a terrible, bad, no-good name, vulnerable to bad jokes, and too similar to "iPod", but Apple went ahead with it anyway. I'm sure people will get used to it, but what a stinker.

But I'm giving myself half a point since the "iBooks" book reader application is close to "iBook". And speaking of which, it looks a LOT like Classics app for iPhone, which looked a lot like Delicious Library.



9.7-inch diagonal screen, LED, 1024x768. 130 DPI is higher than MacBook Air, but lower than iPhone. Really surprised by the old-school 4:3 aspect ratio rather than the 3:2 aspect ratio of the iPhone. Primary use seems to be portrait (docked at the bottom, it stands upright like a book), but there's a lot of landscape apps, too. Exactly 1/2 inch thick.



Wifi-only model in 60 days, 3G model in 90 days, but with a cheap prepaid plan instead of an expensive AT&T contract, which is a nice change. No tethering. Supports Bluetooth keyboard; I'm surprised and pleased by that.

Ports & Peripherals


It has an iPod dock connector and headphone jack. No USB.

All the other connectors are separate pieces working on the iPad Dock dongle, either with or without a wired keyboard (I would just get the base Dock, and use a Bluetooth Apple keyboard). There's a 6' extension cord USB power adaptor. There's a USB camera adaptor. There's an SD card reader (only for pictures? Remains to be seen if other apps can read it). Just as I currently have an Ethernet-USB adaptor, video out adaptor, and SD card reader for my MacBook Air…



Only surprise so far is that there was a low-end 16GB model for $499, and no 128GB model (but that was a long shot). Nothing specifically said about how MobileMe integrates, but I'm confident Apple will continue the iDisk strategy.



Nailed that it "just" runs iPhone apps. Non-resolution-aware apps run 1x size or 2x scaled up, iPad-specific apps run full-screen, and they use the iPhone OS and look great. I can't talk about the NDA'd features of the SDK.

I jumped the gun, assuming that multitasking would be in this release, which is only iPhone OS 3.2. I guess we still have to wait for iPhone OS 4.0 for that. I'm sure multitasking will be in fairly soon, maybe this summer at WWDC.

So, I got 4.75 out of 6, or 79.16%. I think the lesson here is I went too extravagent in a couple of places, and started wishing for a magic unicorn instead of a more realistic (but still very nice) pony.

And, of course, I'm getting one on release day. Probably the $599 32GB model, since my 16GB iPhone is at least half-full, and I don't keep a lot of documents or photos on it.

← Previous: Apple Tablet Predictions (Mac) Next: The Filesystem is Dead (Mac) →
Apple Tablet Predictions
Tue, 2010Jan26 18:09:54 PST
in Mac by kamikaze

With less than a day to go, the mythical Apple tablet device is looking more real, and like everyone I'm succombing to the hype. So I'm going to show off how little I know of the future by predicting what it'll be like.


As I noted in Apple non-descriptive product naming, "Applet Tablet" is unlikely. Plus, it's boring, and collides with crappy Windows "tablet PC"s over the years.

I'm betting on "iBook", which recalls the hypothetical DynaBook, old Apple iBook, and Apple PowerBook lines.

Terrible, bad, no-good names: "iSlate" = "is late". "iPad" = "i Maxi-Pad", and is visually too close to "iPod". Apple's been pursuing the iPad trademark, but I really hope it's just to kill market confusion over "iPod".

Weird possibilities: "iGuide". I kinda like it, but I think it's obscure, ugly, and hard to write.

Awesome but dead on arrival: "iNavigator" or "iNav", named for the Knowledge Navigator promoted by Steve Jobs' arch-nemesis John Sculley. Not everything Sculley did was wrong, but Steve won't let that stop him.

Not in a million years: "Newton".

[Update:] Names full of nihilistic despair: "Canvas". Sounds very blank and empty. Apple's more rock-and-roll. A book is full of stuff. "Come see our latest creation"? A canvas is a raw material before anything's created. I get writer's block just thinking about this giant empty space I'm supposed to fill up. Terrifying. More like an "iCan't-vas". Though this Apple Canvas ad is very convincing.


It is almost certainly a 10" screen, probably a 5.5"x8.5" form, half a sheet of letter-size paper, the size of a trade paperback book. Thickness? Apple likes thin, so 1/2" or less. At the iPhone resolution of 160 DPI, the screen should have 880x1360 resolution, but it may be lower DPI for cost reasons. The MacBook Air has a 1280x800 13.3" screen at 113 DPI.

Like the iPhone and most PDAs, the tablet will be mainly used portrait, like a book, not landscape like a TV set or old-fashioned "desktop" computer. Only movies and some games will play in landscape.


It will support wifi only. There might be a model with 3G on AT&T, but I wouldn't expect it. Apple may be able to strong-arm AT&T into finally supporting tethering, thereby giving you a reason to have an iPhone and a tablet device.

Bluetooth will remain limited to headsets. I think dreams of BT keyboards and mice are unlikely to be realized.

Ports & Peripherals

It will have an iPod dock connector, headphone jack, and maybe a magsafe power connector (probably the MacBook Air sideways jack). SD cards are a maybe, since they're on new iMacs and MacBook Pros as well, but I call it unlikely. USB is almost certainly out.


Internally it'll have 32GB, 64GB, or maybe 128GB flash drive, like a big iPod touch. Most of your files will be stored on MobileMe, or transferred through iTunes.

MobileMe and work fairly well after a rocky start, and are Apple's preferred way of syncing documents across devices. I expect Apple to make an iWork app, to go along with its iDisk and MobileMe Gallery iPhone apps.

My dream is that iDisk would support a system-wide cache on the device, so you can grab a few files in the iDisk app, wait for them to come down, then open them from another app instantly, even though they're theoretically "in the cloud". That's how the desktop Mac OS X works now, and it makes iDisk pretty sweet, if not the fastest solution.


iPhone apps will run unmodified on the tablet. Either scaled up (ugly, but maybe necessary for games/media), in a window, or full-screen. Interesting problem: What happens when a windowed iPhone app is in the background? Does it pause, like when you take a phone call now? Does it still receive accelerometer events?

Tablet-specific apps will be iPhone apps that support higher resolution, and that's it.

iTunes Connect currently has an option for developers to select which devices an app works on: iPhone 3GS, iPhone, iPod touch, etc. I expect the tablet to be another checkbox. I'm confident that properly-written apps will only need minor modifications to make them work on the tablet, but you could also make a specialized app for the tablet.

I expect the home screen of the tablet to be more like a Mac desktop than an iPhone, with running and non-running apps kept in a Dock, inactive apps kept in pop-up folders like the Mac Dock's grid view. Running apps will have a window, maybe more like Dashboard than a Mac window manager.

So, tomorrow, after the near religious experience of an Apple keynote presentation fades and I wake up sticky and confused, I'll post a review of how much I got wrong.

Page:   0    1    2    3    4   Archive  
Feedback  | Key: ] =local file, * =off-site link  | Copyright © 2003-2010 by Mark Damon Hughes | Subscribe with RSS 2.0