Mark Damon Hughes Topic: News [Parental Advisory: Explicit Lyrics] [about]
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)
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'M DEADLY SERIOUS. UPHILL THROUGH THE SNOW BOTH WAYS.

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 (not "Apps", damn it, but programs, made up of algorithms like Edsger Dijkstra would have written!). And when writing software, that's still the case.

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.

Notes.app 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 Notes.app; 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.


Name

+0.5

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.

Size

+0.75

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.

Networking

+0.75

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

+1

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…

Storage

+1

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.

Software

+0.75

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.


Name

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.

Size

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.

Networking

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.

Storage

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 iWork.com 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.

Software

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.

Amazon App Store vs. Apple tablet
Thu, 2010Jan21 09:41:22 PST
in Mac by kamikaze

Apple has a special event on January 27, widely believed to be the release date of the mythical Apple tablet device. At this point, if there's no tablet, there will be nerd riots in the streets (if you click that, keep clicking "Next" through the story). So even as skeptical as I normally am, as everyone should be, about unannounced and unseen Apple products, I give the tablet a 90% chance of being announced in 6 days.

Whatever else the Apple tablet is or does, it will almost certainly kill the Amazon Kindle stone dead: Apple's fast color multitouch screen vs. Amazon's SLOW (1-2 seconds per page!) non-touch-sensitive grayscale e-ink display is like a hungry grizzly bear vs. a toddler. Later generations may find one of Amazon's discarded, bloody shoes, nothing else.

So Amazon's response to this is… to put apps on the slow, awful Kindle interface. Because that'll teach Apple!


The Amazon app store terms are:

  1. Revenue Share

    User revenue will be split 70% to the developer and 30% to Amazon net of delivery fees of $0.15 / MB. Remember that unlike smart phones, the Kindle user does not pay a monthly wireless fee or enter into an annual wireless contract. Kindle active content must be priced to cover the costs of downloads and on-going usage.

  2. Pricing Options

    Active content will be available to customers in the Kindle Store later this year. Your active content can be priced three ways:

  3. Free

    Active content applications that are smaller than 1MB and use less than 100KB/user/month of wireless data may be offered at no charge to customers. Amazon will pay the wireless costs associated with delivery and maintenance.

  4. One-time Purchase

    Customers will be charged once when purchasing active content. Content must have nominal (less than 100KB/user/month) ongoing wireless usage.

  5. Monthly Subscription

    Customers will be charged once per month for active content.

  6. Active content applications have an upper size limit of 100MB. Applications larger than 10MB will not be delivered wirelessly but can be downloaded from the Kindle Store to a computer and transferred to the user's Kindle via USB.
  7. Developer Guidelines

    Voice over IP functionality, advertising, offensive materials, collection of customer information without express customer knowledge and consent, or usage of the Amazon or Kindle brand in any way are not allowed. In addition, active content must meet all Amazon technical requirements, not be a generic reader, and not contain malicious code.

We will work to refine the above guidelines throughout the beta.

My thoughts on these terms:

  1. Revenue Share: Offering the same 70 to you/30 to AMZN split as Apple is a very good move, much better than Kindle's original blog republishing terms of 30 to you/70 to AMZN, and of course massively better than traditional publishing where you get your advance, 90% never get anything more, 10% get a few percent royalty after the advance earns out. So as a publishing deal, it's okay.

    But note those delivery fees. On a 1MB or smaller app, $0.15 out of your pocket isn't much. On a 10MB illustrated app, $1.50 definitely pushes your prices up, no $0.99 giveaways here. Apple has no delivery fees, iPods touch just use your (unlimited free) wifi, and iPhones on AT&T have unlimited data (this can vary in 3rd-world countries).

    This is a massive mistake. Amazon starts at a disadvantage: Crappier device. Now they offer a worse deal to the developers.

  2. "Later this year" means Amazon don't have the infrastructure set up, they're just blue-skying something that doesn't work yet. Since we know Apple's App Store works (despite some problems, it's the most successful distribution model ever), we can presume it'll work perfectly on release day of the Apple tablet.

  3. Free: 100KB/user/month limit is basically "no network use". You could maybe check an RSS feed once a day; any more than that would go over the limit. Forget about ad-supported free apps, you can't afford to check the ad server.

  4. One-time purchase: Same crippled data limit as free.

  5. Monthly subscription: So here you can start to make something interesting… but how many customers will pay $5 a month for online chess? A Twitter client could easily use >100MB per month, which is $15 for fees alone, out of your 70%, so you'd need to charge $22 per month to break even.

  6. The upper size limit is somewhat broken. On Apple's App Store, anything over 10MB requires wifi to download, not 3G, but there's no upper limit. But the Kindle doesn't have wifi… Terrible device design leads to these kinds of problems.

  7. Developer Restrictions: VOIP would cost an arm and a leg, anyway, but it's such an obvious thing you might want: There's a phone connection inside the Kindle. But you can't use it.

    No advertising means you can't get paid back outside of Amazon, killing a lot of business models. They will always take their 30%+bandwidth. Greedy.

    "Not be a generic reader" means you can't make a better book reader than Amazon and work around their design flaws. There is no escape.

So in summary, in every single point, they're worse than the Apple App Store.

To have any chance of competing, of even surviving January 27th, Amazon needed to be better than Apple, MUCH better.

Instead, it's like someone running in front of a steamroller, tripping, and rather than get up, they just inch away screaming.

SPLAT.

← Previous: Movies x100 (Media) Next: Apple Tablet Predictions (Mac) →
Movies x100
Wed, 2010Jan20 22:02:39 PST
in Media by kamikaze

There are a handful of films I've seen over and over, say a hundred times, that are burned into my brain so deeply they make up the basic wiring for my mind. Often I just put these on as background activity; I don't really need to pay attention, but it's comforting to see them yet again.


Star Wars (1977)
I think I liked farmboy the first time (dude, I was 7!), but every time after, I identified with Darth Vader (snappy dresser, bad temper, best at what he does) and Han Solo (loner, wiseass, and free man).
Empire Strikes Back (1980)
Star Wars is the juvenile heroic story, a rag-tag band of kids beat the giant Empire's war machine, yay. Empire is the adult story, what really happens, the consequences of your bad decisions all piling up on you. The "heroes" deserve everything that happens to them, and they get it good and hard. It doesn't hurt that it was written by pulp author Leigh Brackett.
Blade Runner (1982)
If you haven't read Philip K. Dick's Do Androids Dream of Electric Sheep?, the movie's pretty nonsensical, and yet it contradicts the book in important ways. But I still love the sets, I love the vision of the decayed but lived-in future. Ridley Scott's a tedious director, but he's a great set decorator.
MASH (1970)
Death, sex, and gallows humor; way darker than the TV show, but funnier, too.
Real Genius (1985)
"If you're smart, people need you, you can use your mind creatively." Lasers, nerd sex, and great music, too.
Appleseed (1988)
Anime based on Masamune Shirow's cyberpunk manga. Humans try to live in utopia, and fail. So do you break the utopia, or change humanity?
(This is the first anime version, which was focused on the story, not the prettier but dumber combat-oriented remake).
Dominion Tank Police (1992)
Another of Masamune Shirow's manga adaptations, Dominion is a black comedy about overreaction to crime and terrorism, how we just dig our environmental & political messes deeper. In the end, we deserve the shit-up planet we've made for ourselves.
Pi (1998)
Mathematics, computing, madness, and industrial music.
Fifth Element (1997)
Milla Jovovich nearly naked, Bruce Willis being a badass, ancient astronaut secret history, and a setting blatantly copied from Alejandro Jodorowsky's comics.
Versus (2000)
Low-budget, but awesome constant gun and sword fights between yakuza and zombies.

Runners-up with dozens but not 100+ viewings: Star Trek: The Motion Picture, Star Trek: The Wrath of Khan, Monty Python & the Holy Grail, Alien, Aliens, Terminator, Batman (1989), The Killer.

← Previous: NO MORE YEARS! (Society) Next: Amazon App Store vs. Apple tablet (Mac) →
NO MORE YEARS!
Tue, 2010Jan19 20:04:13 PST
in Society by kamikaze

What? Massachusetts elected a Republican instead of a Democrat?! OMG, people! The Republicans have a slightly larger minority in Senate! America is doomed! Earth is doomed! Better dead than slightly red!

The overreaction to this tempest in a tea party is pathetic, and shows just how screwed up American politics are (not that others are better; humans are stupid everywhere). The Democrats still have a 59 to 41 majority. They're just too stupid, cowardly, corrupt, and weak to use it and get rid of the filibuster problem. They're useless parasites, and they deserve to fail. Fuck 'em.

Not that the other side is better. Republicans are psychotic, ignorant, fetal alcohol syndrome, racist religious zealots. Republicans think it's okay to cheat on their wives, because JEEEZUS forgives them, but gay marriage is a lethal threat to their marriages. Republicans think it's okay to murder doctors who dare to scrape a growth out of a uterus. Republicans think sending bibles to Haiti is better than sending evil science-based medicine, because saving souls is more important than saving lives. Republicans think whatever their corporate masters stick a hand up their ass and puppet out of their mouths, because they are nothing but venal, corrupt, bribed vermin. Fuck them, too.

Used to be the libertarians weren't too bad, but then the Republicans infested that party, so they're the exact same, now. Ron Paul's a standard-issue Christian supremacist, young Earth creationist, anti-choice, homophobic, racist Republican, who just uses "libertarian" as a label.

Fuck 'em all.

I'm done with all of you retarded monkeys and your retarded monkey politics. I don't support Dems or Reps. I support Cthulhu, killer robots, zombies, and ant men. I, for one, welcome our alien overlords and devourers. I'm in the Human Extinction Party.

NO MORE YEARS!

Our Party Manifesto: The Call of Cthulhu

← Previous: Apple non-descriptive product naming (Mac) Next: Movies x100 (Media) →
Apple non-descriptive product naming
Thu, 2010Jan14 16:50:37 PST
in Mac by kamikaze

Apple names are non-descriptive, so the mythical Apple tablet thingy will not be called "Apple Tablet":

  • "Apple TV" does not contain a TV. (@mdhughes)
  • "MacBook" is not a book. (@mdhughes)
  • "Newton" couldn't accelerate a kilogram to 1 meter/second. (@mdhughes)
  • "Pippin" was not a tasty dessert apple. (@mdhughes)
  • "iPod" does not contain peas. (@pilky)
  • "Macintosh" does not contain an apple or a rain coat. (@mralex)
  • "Magic Mouse" does not contain either magic or a mouse. (@SteveStreza)
  • "iPhone" is not a...wait, never mind. :P (@isharan)
  • "QuickTake" wasn't quick, and (ultimately) didn't take either. (@tewha, @brlittle)
  • "Apple II" contained zero apples. (@brlittle)
  • "Mac Classic" was ahead of its time. (@photar)
  • "Apple Cinema Display" does not come with velvet seats OR a popcorn maker. (@qrunchmonkey)
  • "Time Machine" cannot travel faster than the speed of light, nor can it create an Einstein-Rosen Bridge. ... however, if it does hit 88 miles per hour, you _may_ see some serious shit. (@GordonHughes)
← Previous: Adobe Marketing, 2010 Edition (Software) Next: NO MORE YEARS! (Society) →
Adobe Marketing, 2010 Edition
Sat, 2010Jan02 17:45:12 PST
in Software by kamikaze

Oh, how nice. Adobe's Flash Platform Evangelist has a New Year's message for everyone. But it's written in Adobe's internal language, so I'll translate it:


I wanted to make a New Year's post to get the year started off right.
"Like all Adobe marketing people, I hate customers, and want you all to perish in flames."
To the Flash community
"Everyone who sucks our dicks, we like you. Everyone who doesn't, die in a fire."
To unnamed company 1 (Microsoft)
"Silverlight works reasonably well on Linux and Mac OS X, unlike Flash, but we will still bury you!"
To unnamed company 2 (Apple)
"You're mean and won't let us fuck up the browser on the iPhone with our poorly-performing, crash-prone Flash plugin! Arrogant people always lose. Just look at us: We're arrogant, and we're determined to lose!"
To open-source and standards zealots
"Flash IS TOO IS TOO IS TOO a standard! Just because there's no specification, or full independent implementations, doesn't mean it's not standard! Besides, where are you gonna go? HTML 5 and JavaScript? Those are only the basis of the World Wide Web, they don't matter."
To all the complainers
"People who suck our dicks can say we aren't perfect, and we won't beat them senseless for it. But if you don't suck our dicks, we will hate you FOREVER."
To Latin America
"I'm too stupid to realize that Portuguese is the language of Brazil, not Spanish."
I can't wait to spend 2010 with you all!
"As long as you suck our dicks."
The Technology of the 2000s
Thu, 2009Dec31 10:01:40 PST
in Toys by kamikaze

The flying car is still in development, but otherwise, what did Santa put in our stockings over the last decade?


Hardware

iPod
The first good mass-storage audio player. The original 5GB model was just big enough to be useful, the UI was actually usable for more than play/pause/next. All of the imitators forget that, in trying to put in more irrelevant features, or flashier UI, the point is to play music. Which is why nobody else has taken this market back from Apple.
Smartphones
The Treo, BlackBerry, and iPhone aren't just "nice phones". They put all of your communications into a single device. Voice, email, SMS, web, and applications make something more than just a phone, it's more like radio-telepathy. It makes you part of the Internet hivemind.
Flash Memory
In the 1990s, even the early 2000s, you had 3 choices for data storage: CD, Hard Disk Drive, or teeny little amounts of very expensive flash memory (measured in KB or MB!). DVDs had a very short run for storage. HDDs get smaller and hold more, but are still unreliable, fragile junk. But flash memory went from a toy to everywhere, from low-capacity to high-capacity. iPods (mostly), media players, videogames, smartphones, high-end laptops all use flash memory for mass storage. They're incredibly faster and more reliable. It's like the change from prop planes to jets.
Electric/Hybrid Cars
Despite "Who killed the electric car?"-type whining about the '90s, electric cars at the time couldn't provide the range people wanted (telling people they don't "need" long range never works!). New battery tech and hybrid approaches finally got the range up, and electric or hybrid cars are now working and on the streets. Gas-burning cars are doomed, just in time to crush the economies of the terrorist states of the Middle East, and hopefully slow down global warming.
Military Drones
A "toy" airplane with a camera may seem harmless enough, but as a spotter, or filled with explosive, it becomes a hunter-killer run by a pilot safely nestled in a base far away. Current security issues aside, these are changing war utterly, just as much as artillery, tanks, and aircraft did.
Mars Robots
Spirit and Opportunity, and the Mars Phoenix mission, are letting us physically explore Mars through the same kind of remote operation as a military drone, but with enough self-determination to make up for the 16+ minute radio round-trip. These little guys are by far the best thing NASA's done since Apollo.
Private Spaceships
And on the human spaceflight side, the X-Prize has done more for human spaceflight than anything NASA's done in 40 years. We have multiple, separately developed, commercially viable private space programs. Virgin Galactic will be doing tourism in space with this technology. A similar prize is creating multiple privately-developed lunar landers, from Armadillo Aerospace (id Software's John Carmack's company!) and others. This is the "no shit, real private spaceships" future of Robert A. Heinlein and Arthur C. Clarke.

Software

Mac OS X
If you'd come back to me in 1999 and said "Desktop UNIX will be fun and easy to use, and it'll be based on NeXTstep, and made by Apple", I'd have beaten you senseless and taken your time machine away. And yet, here it is. UNIX isn't new, but a UNIX desktop that doesn't suck is. My initial expectation of Mac OS X was that it'd have the stability of classic Mac OS with the UI of UNIX. Instead they got it the right way around…
Embedded/Mobile Linux
The "Year of the Linux Desktop", on the other hand, didn't just fail, but turned into a 15-year-long joke. Linux desktops, even "easy" ones like Suse and Ubuntu, are still shit. But where Linux did win was inside smaller devices. Almost every handheld device except the iPhone is Linux-based. Sometimes the UIs are ugly Linux-like crap, sometimes they're a little better, but at least there's a halfway decent core OS underneath. JavaME and WinCE are both dead and rotting, and good riddance.
RSS
Getting notifications when something updates is, to use a technical term, non-trivial. Push notifications and peer-to-peer networking both require the user's endpoint to always be on to be useful; email is vulnerable to spam, and automating it is hard. In contrast, RSS is the dumbest thing that could possibly work: Poll a server every so often for a list of items. If they have enclosures, download them. From that simplistic basis, we get news readers, podcasts, and every little thing that updates.
iTunes
iTunes isn't just a media organizer/player or syncing tool for iPods. It's a store, the first digital music (and now movies, TV shows, and smartphone applications) store that didn't suck. So some of us actually started buying music, instead of stealing it. The music industry, being composed entirely of thieves, parasites, and fucking vampires, was confused by this and tried repeatedly to kill it, but failed. The movie industry has seen a little more sense. TV show producers are starting to realize that distribution doesn't just meant broadcast & cable. Tivo got people out of the habit of tuning in at a certain time, but it's inferior to just downloading shows from the iTunes Store. iTunes is killing CDs, DVDs, and TV networks, all at once.
Google
Google made search usable (remember Altavista? Yeah, that was shit.), but then expanded into everything on the Internet: Email, chat, collaborative documents, and now a couple of operating systems. They're trying hard to own the entire Internet infrastructure. And since they don't suck at it, they may well succeed.
3D MMORPGs
There were multiplayer RPGs in the '90s, even graphical ones like Ultima Online and Meridian 59. But it was EverQuest and then World of Warcraft that nailed the model of a 3D world, "Kill 10 Rats" quests, organized raids, and guilds. Much of the way we look at gaming now, or any kind of online social activity, is through the lens of MMORPGs.
Social Networks
MySpace and LinkedIn launched in 2003. Facebook in 2004. Twitter in 2006. Each aimed at a different social group, but managed to do what other attempts hadn't: Provide a compelling reason to keep coming back, keep updating your status, keep talking to your "friends". They're the missing piece in communications on the Internet: How do you find & keep in touch with the people you know?
AJAX
JavaScript "worked" in the '90s, but it didn't, really; you couldn't rely on anything cross-browser, and you couldn't easily talk to a server, only use whatever was on the page. Google and then others started using AJAX in 2004-5, creating true Web Applications, full near-desktop-quality apps that just need a browser. Frameworks like JQuery made building webapps fun and easy; you don't need Java applets or Adobe Flash or Microsoft Silverlight, if you can just make a web page that does the same things. You don't need an operating system, even, if the browser does everything you need, which is the idea behind Google's "Chrome OS".


You’re probably wondering what the point of all this ugly rambling bullshit is.
It’s this:
The future is inherently a good thing.
And we move into it one winter at a time.
Things get better one winter at a time.
So if you’re going to celebrate something, then have a drink on this:
The world is generally and on balance, a better place to live this year than it was last year.
For instance: I didn’t have this gun last year…

-"Next Winters", Transmetropolitan, by Warren Ellis

← Previous: Scripting Twitter (Software) Next: Adobe Marketing, 2010 Edition (Software) →
Scripting Twitter
Mon, 2009Nov30 05:59:55 PST
in Software by kamikaze

Dave Winer, once upon a time the author of a scripting system called Frontier, posted We need: A programmable Twitter client.

Well, interesting idea. Except we already have multiple programmable Twitter solutions.


Twitterrific can call AppleScript on new tweets (and comes with a demo script), and you can use AppleScript to control it, at least as far as posting tweets.

I'm not suggesting that AppleScript is perfect. The core AppleScript language is easy to pick up, but every app you try to control is like learning a new language, and the core language isn't very powerful, so you end up using other apps as helpers. I spend days fighting AppleScript and swearing a lot every time I have to deal with it, and I do this for a living.

But AppleScript is the standard scripting tool on Mac, and it's well-suited to simple cases. If Twitterrific (or another client) had more scripting commands, you wouldn't need anything else.

The more advanced solution is Python-twitter, which provides Twitter API access from Python. Python is easy to learn (Learning Python or Python for Software Design are both fantastic tutorials), and Python-twitter seems to be a pretty complete and easy wrapper around the API.

So this brings me to my real point: Apps with custom scripting interfaces are obsolete. Unix shell scripts, DOS batch files, Lotus 1-2-3, Emacs-lisp, these are all ancient and archaic systems. For Unix scripting, last year I quit using bash after 20+ years because Python's easier to get right (esp. with filenames containing spaces).

Dave wants an "unfollow-with-timeout". Fine, write one. Make a tiny Python script that calls the Twitter API to unfollow someone and adds them to a list with the timestamp. Write a second script that runs daily (add it to cron or launchd; there are GUI clients to edit both) to scan that list, find people past their 24-hour unfollow, refollow them, and remove them from the list. It probably took me longer to write this blog post than it would to write those scripts.

← Previous: Dance monkeyboy, dance! (Media) Next: The Technology of the 2000s (Toys) →
Dance monkeyboy, dance!
Tue, 2009Nov17 06:52:34 PST
in Media by kamikaze

Five YouTube videos, in which a common theme is revealed:

← Previous: The iPhone of Tantalus (Software) Next: Scripting Twitter (Software) →
The iPhone of Tantalus
Wed, 2009Nov11 19:09:37 PST
in Software by kamikaze

I have a love/hate relationship with Apple & the iTunes Store. Like a battered wife, I can't stay away. I'm sure they can change... But will they? Until then, I put up with it.


I love iPhone dev when it's like coding for the Mac, but better, with a GUI not encumbered by 25 years of legacy NeXTstep/OpenStep/Mac Carbon/Cocoa compatibility. What would the Mac look like if it was designed today? It'd look like an iPhone, apps sleek and directed and perfectly functional.

I hate iPhone dev when APIs are incomplete. The fucking Address Book and Keychain are so appalling I go mad dealing with them. The most basic functionality is missing. Audio is finally caught up, and I need to rewrite the audio stack of Perilar (and put one into Castles!), now that it doesn't suck. But plenty of new stuff I'm doing is entirely broken, and I'll have to fix it when Apple fixes the API.

I hate iTunes Connect more than anything ever. MORE THAN ANYTHING. It is seriously the most painful, awful, slow, malicious piece of malware ever written. I cannot imagine how people thought that passed muster. If Steve Jobs saw iTunes Connect, you'd need buckets and high-pressure hoses to remove the corpses of those responsible from One Infinite Loop.

I hate the Apple approval process. As of last week, they claim it's at 75% approval within 2 weeks; I know several people--SEVERAL--who've been waiting for 3 months or more. My own apps sometimes got bounced back to me a couple times, but were mostly approved in less than 2 weeks... but rarely much less. As we head into the Silly Season, it'll drop even further. Apple can't approve things quickly, and makes terrible mistakes about what's "offensive" and what isn't; Baby-Shaker was okay, but political parodies aren't? That's MADNESS.

The worst part of the approvals is when you have to remove a cool thing, or never even add it, because you know Apple won't allow it. I want to put a couple of programmable toys and an adventure game engine up. I can't, they use interpreters with downloadable code, which is forbidden. It's preemptive censorship, like trying to be an artist in the USSR.

The iTunes Store itself is a disaster area. A giant pile of everything, good and bad, like a sci-fi junkyard. You might find some sweet loot, or you might find radioactive waste. The approval process has done nothing to improve on that, if anything it's made it far worse.

I love the payments: 70% royalty on gross from a publisher is sweet. Really sweet. Typical publisher royalties are 10-20%, often from wholesale or "net" (which is always nothing). I wasn't making enough to live on, but I still get some solid pocket money even with no real advertising or new apps (and those will happen as soon as possible, but doubtful before New Year, with the holiday approval slowdown).

So the end result is I hate the App Store system. But I'm still in it, sort of. I'm VERY disappointed by Apple's handling of all this, but I don't believe it'll get better anytime soon, and I still like making iPhone apps more than anything else.

[The Torment of Tantalus, in Greek mythology]

[Update 2009-11-13: From Christopher Lloyd, the stories of Watson and WebObjects. Apple sometimes beats up indie developers and takes our lunch money. They do what's best for them, sometimes with apologies, but never with mercy. ]

Things To Do in iPhone (When You’re Dead)
Mon, 2009Oct26 06:41:08 PDT
in Mac by kamikaze

For me, the most iconic, most-used tool on the Palm Pilot 1000 through the Palm Treo was the To Do app. Since getting the iPhone, I’ve been trying to find a halfway usable replacement. I may have it now.


The Importance of Making Lists

Everything I do is longer and more complicated than I can keep track of with my limited short-term memory and easily (OOH, SHINY! Wait, what?) distracted attention span[1].

So most of what I do,
day in and day out,
while I work,
or while I do anything else,
is make lists of things to do,
organize them a bit with a keyword or category,
maybe a due date or priority level,
search for them by keyword or due date or priority,
and check them off as I do them.

And that’s exactly (and all) the Palm To Do app did. It was as close to perfect yet complete minimalism as a piece of software can get. It was an abacus for keeping track of urgent, soon, later, someday tasks.

Nobody else has ever seemed to get the concept. Mac OS X hides its To Do list inside iCal (and you can only edit them with a shitty pop-up dialog box; BusyCal shows them in an info editor on the side, but it’s still crammed into a calendar app where it doesn’t really fit, not a simple To Do editor.

On the iPhone, the situation was even worse. I could make a calendar entry, which meant my calendar was full of junk to-do items that couldn’t be searched on the iPhone, and were hard to find even on desktop. I could make a Notes entry, but Notes has no organization ability, and still doesn’t sync very well.

It got so bad I went back to pen-and-paper, keeping my TODO list in a Field Notes in my pocket, with a short keyword on the right side. No search, just flipping through paper, but at least it was always with me.

I tried quite a few To Do apps, none of which really worked the way I needed. In particular, they were all flat-category, no way to search by keyword, no priority levels. Few of them synced at all, and those mostly rely on a cloud service (i.e., watch all your data vanish when they go out of business or have a Microsoft/Danger-type meltdown in a year or two) rather than your own computer or MobileMe.


Things

The closest yet is Cultured Code’s Things. It’s still more complex than I really want or need, too much organization and not enough raw data piles, and there are some UI flaws that drive me crazy, but it’s good at what it does, and doesn’t force its anal-retentive GTD[2] roots on me.

The main screen shows several top-level lists: Inbox, Today, Next, Scheduled, Someday, Projects, and Logbook, and a [+] button to add a new item to any list.

Inbox is a normal list containing items. Today is a smart list of items on any other list which have been marked to be done today. Next is a smart list of all items, sorted by overdue, due, today, and then everything else. Scheduled is a smart list of items with a due date, sorted by date. Someday is a normal list of stuff you’re putting off (the icon is a cardboard box…) Logbook is a record of everything you’ve checked off as completed. Projects is a container for multiple lists, used essentially like Palm’s categories.

In each list, the bottom toolbar has buttons to [+] Add items, [★] Star items to be done today (while the icon here is a star, and a star is shown on Today’s smart list, the item’s checkbox just goes yellow, which is unintuitive), or [→] Move items to another list. The top toolbar has an [Edit] button to rearrange or delete. There is no ability to re-sort the items of a list, which is a pretty serious omission if you have more than a dozen items.

In Projects, but NOT anywhere else, you can tap the (>) disclosure button on a list to get a view screen where you can edit the list info, Show (all items in the list) in Today, Move (all items in the list) to another list, or Send (all items in the list) as Email.

In Projects and in all sublists of it, you can hit a [Tags] toolbar button to show all contained items with a single tag, or items with no tags assigned. However, it only finds immediate children, it does not search the contents of sublists. Say I have Notes, Shopping, and Perilar lists in Projects; Shopping and Notes are not tagged, but Perilar is tagged Code. The only thing I can filter at Projects is “Code”. If I go into the Shopping list, I can filter on all the tags I’ve used, like “Movies”.

The closest thing to app-wide tag search is in Next, but the big-bucket-o-stuff isn't always what I want. There is no text search, and items don’t show up in system Spotlight. That’s why I’m currently sticking with very broad category lists in Projects, even though I’d like to have much tighter ones; Things’ pathetic excuse for search just doesn’t support it.

When adding an item, you just get an editable title field, and a Create In button to change the location (default is the list you were currently viewing, usually correct). To set more fields, you have to hit a “Show Details” button, then you can pick tags, enter notes, or enter a due date.

“Show Details”, trivial as it may seem, is almost a deal-breaker. I need all the fields visible on note creation, because I almost always (90%) want to add a tag, and often (50%) some note text or due date (50%). A short title and broad category is not enough context. It’s only one button and an animated form transition, but it takes 3 seconds (I timed it repeatedly with my stopwatch) instead of half a second and not having to remember this annoyance, find the button, and wait. Oh, and it hides the keyboard, so I can either remember to do it after entering the title, or have to tap on the title again, losing more time. Frustration is born of such UI missteps.

things-details

To view a note, you tap on its name (but not the checkbox), and get a view screen. Now “Show in Today” and “Move” are list buttons, not bottom toolbar buttons, which is inconsistent and confusing.

things-list

When you check off an item, on your next restart of the app it’ll be moved to Logbook. Also at restart, the icon badge gets updated; unfortunately, this is exactly the wrong time, IMO, it should update the badge when exiting, but with the limited time to clean up on iPhone, that may not be practical.

There’s no priority system. You either do stuff today, or later. There are High, Medium, Low priority tags in the default tag set, but they don’t seem to do anything, they don’t make items float higher or lower in the Next smart list, though you can search by tag in the Next list. I find this pretty disappointing. Some tasks are more important than other tasks, and Things has no way to express that.

Syncing requires the desktop Mac app. If the desktop app is running, and the iPhone has wifi enabled, it’ll automatically sync. I found this to work reasonably well, though it once got stuck and wouldn’t see any new items from the phone until I unsynced and resynced.

A trick I use for visually identifying items is to put an emoji icon in front of list and tag names:
Emoji_E538 Code
This works great on the iPhone, but at present emoji are not supported on computers, so there I just see an 💻 error box instead of a cute little computer icon. There are proposals to add emoji to Unicode, so perhaps soon this will work on the desktop as well.


The Things iPhone app is $10, and despite the flaws, it’s a reasonable tool until something more like the Palm Pilot’s circa 1997 To Do app comes along. The Mac app is $50, which is extortionate for such a small app that does nothing more than the iPhone does. If you’re ONLY going to sync from iPhone and just want a desktop backup, it’ll keep working after the trial period in read-only mode with a nag screen.

Now I just need to deal with my notepad situation. More on that in a later blog post.


[0]
The post title is a reference to Things to Do in Denver When You’re Dead, which is a song by my favorite dead musician Warren Zevon (iTunes link), and a grim but entertaining crime movie.
[1]
I’m not as bad as the protagonist of the “Memento Mori” short story by Jonathan Nolan, which the movie Memento was based on, but my inattention has similar results. If you use external memory, you can accomplish a lot anyway.
[2]
Just in case I hadn’t offended “Getting Things Done™” users enough: I think GTD methodology is the equivalent of rearranging deck chairs on the Titanic, or Arnold Judas Rimmer on Red Dwarf spending all semester color-coding his study materials but never studying. It’s the appearance of organization without any real productivity.
← Previous: PSP Go (Toys) Next: The iPhone of Tantalus (Software) →
PSP Go
Fri, 2009Oct02 21:55:30 PDT
in Toys by kamikaze

Today I picked up a shiny new PSP Go. And I like it.


$249 gets you a tiny device the size of two stacked iPhones, though somewhat lighter. The original PSP-1000 was 6.7"x2.9"x.9", weighed 280g. The Go is 5"x2.7"x.64", weighs 158g; about half the volume and weight, which takes it from a thing I leave at home, to a thing I can tuck in a pocket.

It's small, but not quite so small I can't hold it stably. When playing Wipeout, with the shoulder pads and constant button mashing, it was fine. When the top is slid closed, it shows an analog clock (?!?) or calendar, or the media playing. I suppose if there was a dock, you could stick it on and have a decent clock/radio thing; you could even use Internet radio, which it supports.

There's black and white models, but GameStop only had the sparkly white-and-chrome. I'll probably find a set of skins for it later. Even for the "girly" model, it still looks pretty classy. FAR better industrial design than, say, a Kindle. It remains true that the only three electronics companies with any design sense and aesthetics are Apple, Nintendo, and Sony.

The Go has 16 GB of internal storage, unlike the 32 MB in the PSP-1000, or 64 MB in the current PSP-3000; 250 times the storage space (like everyone now, they seem to use metric storage space numbers, so "16 GB" = "15.25 GiB" in binary terms). For comparison, an iPod touch with 8 GB costs $199, and with 32 GB costs $299, so it seems like fair pricing. With the old system, any claim that it was a "portable media device" was just insulting, since a few MB isn't enough for anything, and even a 2GB memory stick wasn't much. 16 GB, you could fit a small music library and a few movies on.

The screen is 3.8" diagonal, unlike the 4.3" diagonal of the older models, but it's the same 480x272 resolution, and it shows; Go looks considerably brighter and sharper. The speakers are front-facing and louder and sound better than the old models; headphones are still better, but it no longer sounds like tiny, tinny mouse screams.

It comes with some kind of software, but it's for Windows, so I threw it out. On the Mac, I know of three PSP data managers: iPSP, PSPWare, and Missing Sync for PSP.

The power/USB cable is full-size USB to proprietary plug, just like an iPhone adaptor. It also comes with a power brick with USB output, but I expect mostly it'll be charged on my computer, not the brick. This is sort of a regression from the USB-to-mini-USB adaptors they'd been using, but not an especially big deal. The Go only has headphone out, but does have bluetooth headphone pairing. [Update 2009-Oct-26:] There is a cable sold separately with video output. However, the idea of playing video off a portable device onto TV never made sense to me—it was part of Sony's UMD media campaign, which was an abject, humiliating failure.

So. The UMD. The "Universal Media Disc". It's gone. No more UMD games on the device, and it looks like they're being phased out for the PSP-3000, too. No more UMD movies, but that was the worst idea ever conceived (a disc nobody else supports! With no full-size player! Only playable on PSP! Uh, no.)

The best part: No more battery-draining, 30- to 60-second UMD game loads. Dungeon Siege: Throne of Agony was a great game for the PSP, except opening the map took 60 seconds with the UMD. An in-memory version should open nigh-instantly. With the UMD running, the PSP-1000 gets about 1-3 hours play, at BEST. Apparently when running games from memory, both PSP-3000 and PSP Go get 3-6 hours, despite the much smaller size (and presumably smaller battery) of the Go.

The OS/menu system is a slightly updated version from what's on the PSP-1000, with support now for "pausing" (hibernating) games, and better media/network tools. I only spent time in the menu to get to games or network, but it's a pleasant console menu, second only to the Wii.

The games. Oh, yeah, remember this is a game machine? Well, you get games for it by downloading them. At present, only from Sony's Playstation store, unless you wait for the next firmware crack and install some homebrew stuff made by Linux dweebs. I'll stick with Sony for a while, see how they do.

The PlayStation Store on the device is… really slick. Better, in many ways, than the iTunes App Store. It's easy to find games I'm interested in, almost too easy, and even the cheaper indie games look good. There's also free themes and wallpapers on the store, and paid themes. Most of the paid themes are kind of shameful: Big-breasted anime chicks. There's a section with ~45 anime boob themes, each $0.99 or $1.99. Kids, can you please stop embarassing us adult gamers?

Most of the titles are $10-$20, sometimes up to $30. Compare that to UMD games at GameStop, which are $15-30 for used, $20-$40 for new. This is likely to be the last Sony product I ever buy at a GameStop. I just don't need them anymore, I get better games cheaper online. Wii, PS3, Xbox 360, and now PSP all have digital downloads. It's just a short step to ONLY having downloaded games, and putting a bullet in GameStop's head. I won't really miss it, it was just the least bad of several buying options.

First PSP Go game was an easy one: Wipeout Pulse, $20, for the latest and best of the best racing game series.

And, get this: Final Fantasy VII, $10. One of the greatest CRPGs of all time, not available on UMD, one of the only reasons I kept my PSX around for 10 years… Now just a cheap download. I need to go blow up Sector 1 Mako Reactor now. I'll see you in a few weeks when I'm done…

The argument over App Store upgrades is still going on, on Twitter and blogs.

And more and more, even normally sane people are latching onto the mantra "IT'S ONLY THREE DOLLARS!", which completely misses the entire point. So much so that it's like watching a blind person chase a squirrel. Funny, but sad and pathetic.


See the monotone "It's $3!" from Jim Dalrymple or Jeff Lamarche, and many others who are being less civil and sane. These are not normally crazy people (well, Jim's a little weird). But they're acting in a profoundly crazy and short-sighted way about this.

None of this is about the money. IT IS NOT ABOUT THE MONEY.

It's about customer service for existing customers, and about keeping existing customers in your app.

The really key point is that most, 90-99%, of Tweetie 1 users are not going to switch to Tweetie 2. They're going to see the app never get new features, and break under them when Twitter changes, and then go to another app that is being updated. Think the sales process through: "Huh, my Tweetie app broke. GUESS I'LL BUY ANOTHER COPY OF TWEETIE." It's ludicrous.

If you give a customer the opportunity to switch, they will. If you burn a customer that way, they're lost for good, and will badmouth you forever. "Bad publicity" only works when it's not about bad quality or bad pricing.

Devs whining "But it's only $3!" are just showing they have zero clue about customer service, and zero clue about what the problem is.

Now, is in-app purchase a perfect solution? No. But Apple's not going to add upgrade pricing anytime soon, if ever.

A short-term discount won't help, because early sales are important, Tweetie 1 users won't know to go get it, and if they did, they'd go buy something else.

Loren Brichter (@atebits), the author of Tweetie, has good intentions: To get paid a reasonable amount for continued improvements to an app for his customers. Apple's App Store policies make that hard to do that. But the specific plan is one of the worst business and customer service ideas I've ever heard in my life.


Update: Patrick Burleson (@pbur) has filed a Radar ticket with Apple for proper upgrade pricing, rdar://7265066 (for those inside Apple), or on OpenRadar. Go hit up Radar and file a dup!

← Previous: Upgrades in the iTunes App Store (Software) Next: PSP Go (Toys) →
Upgrades in the iTunes App Store
Tue, 2009Sep29 07:01:53 PDT
in Software by kamikaze

Suppose you have an app on the iTunes App Store, and you want to provide a new version. No, this isn't me. I'm talking about someone else's app.

As I see it, there are three options:


  1. Free Upgrade. Just update the app in iTunes Connect, and it shows up as an update for all existing customers. New customers get the new version.

    Pro: Easy to implement. Generous to existing customers.

    Con: No way to get a paid upgrade.

  2. Entirely New App: Create a new app, and remove the old app from sale.

    Pro: Easy to implement. Many new sales at full price. Some existing customers will go buy the new app.

    Con: Abandons existing customers, who get NO further updates. Most existing customers won't know there's a new version. Appalling customer service. Most existing customers will simply leave you and buy another app.

  3. In-App Purchase: Separate the 2.0 features from the 1.0 features, and make them unlockable in the app.

    Pro: Allows existing customers to upgrade, just like a desktop app with a paid update. Allows a lower entry price for the base app, which drives sales up. Keeps existing customers locked into your app.

    Con: Much harder to implement. Slightly confusing when people buy the new app, and not all possible features are enabled.

I consider Free Upgrade the best option, if you can afford it. This maximizes the happiness of existing customers, and gives both old and new customers the full app.

In-App Purchases are certainly a lot of work, and maybe somewhat risky as a business model, but it's a fair balance between satisfying existing customers and making money on the upgrade. Apple appears to have no problem with unlocking functionality by purchase, and purchases can be re-downloaded if you uninstall and reinstall the app, so this appears to be a functional method.

The Entirely New App idea is appalling. It's the worst possible customer service to existing customers, and gets you few or no paid upgrades from them. They won't know the new version exists, unless you update version 1 with a message "go buy version 2", which Apple will almost certainly reject.

You may get normal new sales, nothing more, but those who know what's going on will remember how you shafted the previous customers, and realize you'll shaft them in the next version. Since you're going to get a low conversion rate from your former customers, there's little or no financial advantage over a Free Upgrade.

There is a sort of fourth option: Release an update to version 1 with ads. Now you can make some money on the existing customers, and sort of push them towards buying the new version without ads. It's annoying, and upsets their expectations of an ad-free app, but it'd work out financially.

While it would be nice if Apple would provide a "Paid Upgrade" option, and allow multiple versions of the same app on the App Store, that seems improbable to "never going to happen". Apple's business model works fine for THEM, and if it makes life hard on developers, they don't seem to care. Given that, it's up to the developer to make choices that make financial sense while NOT screwing over existing customers.

← Previous: The Last Tech Demo (Software) Next: Upgrades in the App Store, Part 2, IT'S $3! (Software) →
The Last Tech Demo
Fri, 2009Sep25 04:21:19 PDT
in Software by kamikaze

"We are having more tech difficulties than we could ever possibly deserve, once again proving that there is nothing but an indifferent void behind everything humans do. And that truth is evident once you try doing software demonstrations for a living."

The Last Lecture

← Previous: Why I love Snow Leopards (Mac) Next: Upgrades in the iTunes App Store (Software) →
Why I love Snow Leopards
Wed, 2009Sep02 09:14:39 PDT
in Mac by kamikaze

Mac OS X 10.6 Snow Leopard is out. You can find out everything about it, and then some, in John Siracusa's epic 23-page review. John's OCD nitpicking reviews are great, and this one's his best; but read his previous ones in "Looking Back" on page 23, too.

But if you're not up for reading War & Peace, here's what I care about:


  1. Cocoa Finder. The Finder is faster, more reliable, and fixes (most of) the bugs in the old Carbon Finder. There are some minor bugs, but for a 1.0 release of an all-new application, it's amazingly stable and similar to the previous Finder, just better.
  2. Quicktime X shows video far more attractively (no damned brushed metal everywhere), with lower CPU load & heat.

    Okay, QTX doesn't play all the legacy formats or have all the editing/export features that Quicktime 7 did; that's why QT7 is available as an optional install. But unless you have a specific need for QT7, don't bother.

  3. Safari is faster and more stable. I always use ClickToFlash, but Flash should crash your browser far less often.

  4. The Services menu is actually useful now. In 10.4, I used ServiceScrubber, but it stopped working on Apple-supplied services at 10.5.

  5. On the Objective-C development side, Snow Leopard is mandatory. I've been writing Mac software the last few weeks, and started trying to do 10.5-compatible. A week of beating my head on that wall convinced me that was stupid. 10.6-only development is vastly improved over 10.5: Clang/LLVM, 64-bit, delegate protocols, blocks, new Xcode 3.2. It's as much better than 10.5 development as that was to 10.4 or Java (which were adequate, but never nice).

← Previous: The iPhone App Store Blues (Software) Next: The Last Tech Demo (Software) →
Page:   0    1    2    3    4    5    6    7    8    9    10    11    12   Archive  
Feedback  | Key: ] =local file, * =off-site link  | Copyright © 2003-2010 by Mark Damon Hughes | Subscribe with RSS 2.0