Cloudflare

 

I found out about Cloudflare from a link on Hacker News. Assuming it works (and if you’re reading this 24-48h after I post it, then it presumably is) it’s just insanely wonderful.

Basic idea — sit in between your website and users (including robots and would-be attackers) and massage what the users see (e.g. replace harvestable email addresses with scriptlets) and the way they are able to access your content (e.g. cache static content, insert analytics code, block cross-links and war dialers) while acting as a CDN. And do it for free (at least for now).

Setup is wonderfully handled if not quite completely painless — although it’s close. You need to enter your DNS records one-by-one (at least, you’re supposed to — I’m pretty sure the automatic detection it does would probably be sufficient in most cases) which took me a while for loewald.com since it has a whole lot of bizarre legacy subdomains. (And since a denial of service attack doesn’t care how popular a subdomain is, you shouldn’t ignore them.)

So, I’ll see how it goes, and add any updates here.

First update: it works as advertised. I’ve set it up for loewald.com, but not for my other sites. I’ve since switched on some additional features including Javascript minification. Check out this link.

Second update: I added riddlemethis.net to Cloudflare. Unlike loewald.com (which has all kinds of whacky DNS records because of all the different prototypes and experiments I’ve set up on it over the years) this took about two minutes and didn’t involve any data entry.

Tentative Conclusion

If Cloudflare cost $20/month/site it wouldn’t be worth it for my little personal site. It probably wouldn’t even be worth it for RiddleMeThis. But it’s free. For any kind of serious site, the $20/month seems like a no-brainer.

The joy of Cloudflare is that it frees you up to create websites in a more sensible manner. Instead of working with normal JavaScript files then minifying them at the last moment you can simply code with sensible files (and debug with them) and then simply flip a switch and everything is minified.

More Rounding Errors

As a longtime game designer/developer, it’s very heartening to actually (a) like and (b) know how to develop software for a leading game platform. I’m referring, of course, to the iPhone/iPod Touch. Trying to get past hype to actual sales figures is a bit trying, but here’s a quick roundup of what I’ve been able to glean.

As of June 2009, there were:

  • 45M iPod Touches and iPhones sold
  • 10.2M iPods (of all kinds) sold in Q3 2009
  • 5.2M iPhones sold in Q3 2009

It’s worth nothing that the 5.2M iPhones sold in Q3 benefited from a million or so iPhone 3GS units sold just at the end of the quarter. Last year, Apple’s iPhone sales jumped from ~700k to ~7M the next quarter on the strength of the 3G launch — so it’s reasonable to expect the Q4 results will be much — if not quite so spectacularly — stronger.

Game platform sales in the US for August 2009 were:

  • Nintendo DS – 552,900+
  • Nintendo Wii – 277,400+
  • Microsoft Xbox 360 – 215,400+
  • Sony PS3 – 210,000+
  • Sony PSP – 140,300+
  • Sony PS2 – 105,000-

Let’s put that in perspective — the total number of games consoles of all kinds sold in August in the US was about 1.5M. Which is probably a bit less than the number of iPhones Apple sold in the same period, or the number of iPhones and iPod Touches Apple sold in the US during that period.

There’s a reason that competition in the App Store is so fierce — I’ve seen several iPhone games that are more compelling than anything I’ve tried on the Nintendo DS — well, until I get my hands on Scribblenauts. As for the horror stories about Apple’s approval process, you should read about Palm’s.

Apple’s Accidental Game Strategy

When Apple released the Macintosh its primary focus was on competing with the IBM PC as a “serious” computer. The Apple II was widely seen as being a “games machine”. It shipped with game paddles, and pretty much every classic computer game started out as an Apple II game. Ultima I-IV, Wizardry, Sierra’s first titles, EA’s first titles, Broderbund’s first titles… all started life on the Apple II.

Macs are not games machines, dammit

For computer games enthusiasts, the Mac was extremely frustrating. It had excellent graphics, but its CPU really wasn’t up to updating all those pixels really fast. And on top of that there were no decent native development tools for the first couple of years. Worst of all, Apple refused to provide standardized game controller specifications or even to allow games to go full screen without using evil hacks.

Apple’s anti-game bias was probably a result of Steve Jobs’s desire to have Macs taken seriously by business, but after he was forced out, this policy was continued mindlessly for over a decade. It’s highly unlikely that Jobs would have persisted with such a self-destructive policy had he remained in charge of Apple. (There are persistent rumors that Jobs hates games. Maybe so… even though he and Woz created games together. But he’s enough of a businessman not to piss in the hand that feeds him.)

But if we pretend really hard…

Since about 1993, Apple has periodically tried to recapture its lost opportunity in games, notably by employing games “evangelists” who tried to convince developers that Apple was serious about games and convince Apple to be serious about games, the introduction of “Game Sprockets” (libraries of code to make life easier for game developers, something Microsoft arguably imitated with DirectX, and which Apple spectacularly failed to follow through on, eventually abandoning the whole concept in the switchover to MacOS X), the ill-fated and underpowered Pippin games console, and, more recently, the highlighting of games in Mac marketing events and literature (starting with Steve Jobs bringing the Bungie folks on stage to show off early alpha code of HALO, shortly before they were bought by Microsoft and HALO was turned into a flagship launch title for the X-Box).

Accidental Victory

I don’t know if it’s an accident or not, but the iPhone turns out to be a very nice piece of game hardware with a very odd game control interface. Fortunately for Apple, the Nintendo Wii and DS have whetted people’s appetites for games which use weird control interfaces. As for the raw specifications, compared to the Sony PSP, it has more memory, a far better CPU, and a somewhat inferior GPU. Compared to the Nintendo DS it is grotesquely superior in every way except battery life. Unlike the original Mac, it can push pixels as fast as needed for games, and it has excellent developer tools that Apple gives away to anyone interested. Anyone complaining about the iPhone being a closed platform should try to get a PSP or DS dev kit.

So, suddenly, Apple has a game platform that is dominant in its obvious category (smart phones) and a serious contender in its less obvious category (handheld games consoles). Certainly in terms of available titles, the iPhone has more games available for it now than the PSP, DS, and all earlier Gameboys combined. Most iPhone games suck ass, but guess what, so do most PSP, DS, and Gameboy titles, and they’re way cheaper. What’s more, Apple can sell a $5 or $10 title direct to a consumer, collect 30% and pass on 70% — no middlemen involved. The developer of a $10 iPhone game probably gets more money per sale than the developer of a $29 DS title. (Last I heard, the developer of a AAA $40 PC game title nets about $14 per game sold at full price, but consoles take more money off the top, especially titles that ship on cartridges.)

This is all pretty cool, but there’s more: 

 

  • There’s no reason why iPhone games can’t run with a simple recompile on a Mac. Possibly without a recompile (via CPU emulation). iPhones are, after all, Macs running on an ARM CPU. We should start to see games developed for both platforms simply because it’s easy to do.
  • There’s no reason why iPhone games can’t run with a simple recompile on an AppleTV. AppleTV’s are, after all, Macs. It follows that Apple could reposition the AppleTV as a games platform with a system update.
  • The Unity game development system is going to be able to target iPhones as of this month. (It’s currently in beta.) The development process isn’t quite seamless with Windows/Web/Mac/Wii development, but there’s no reason not to expect to be able to target Windows/Web/Mac/Wii/iPhone from a single codebase in Unity within six months.

 

So, Apple could be in the process of becoming a serious contender in the game platform wars almost accidentally as a result of its success with the iPhone. And Apple has done this without flushing a ton of money down the toilet the way Microsoft has with both the XBox and XBox 360. And, unlike Sony, it doesn’t need to offset hardware losses with software profits — it made money from the iPhone from day one.

OS X Everywhere

Here’s my contribution to rampant speculation on the “Product Transition I Can’t Get Into” referred to in Apple’s recent Earnings Call. Let’s see how good a pundit I am. Now, there are many things I’d like the transition to be but which are highly unlikely. I may publish the long-winded article I’ve written on the subject eventually, but I thought I’d keep this brief…

By November, every iPod — except possibly the Nano — will be an iPod Touch of some kind, running OS X. To achieve this, Apple will have to drop the basic iPod Touch price down to $149 or less. iPod Touches are kind of expensive to make, so this will hurt margins and cannibalize some higher margin products.

The upside: within 12-24 months, Apple will — arguably — have the dominant computing platform on the planet — the largest games platform except for the PS2, the largest mobile computing platform except for the OSes embedded in commodity cell phones, and the largest platform that, as a whole, can natively run apps compiled against a single OS toolbox API.

For bonus points, they can merge the AppleTV into the Mac Mini (and put AppleTV functionality into every Mac) or simply expose extra functionality in [new?] AppleTVs (such as the ability to run iPhone games apps).

Now, I’m not sure this is a Good Thing™. Apple has, historically, been a pretty arrogant company. (Look at its treatment of game developers from 1985-2000.) I’m not sure whether the world would be a better place with Apple in the driver’s seat, but this is, I think, the plan: OS X everywhere.

Post Script

Another rumor I’ve seen is that there’ll be a MacBook Touch which will presumably draw attention away from Apple’s very successful MacBook Air and also the MacBook Pro (especially if the MacBook Touch has good stylus support). A MacBook Touch would help dissolve the dividing line between Mac and iPhone applications (it’s easy to imagine that some apps will appear that are, essentially, identical on both platforms) and turn OS X into a more unified platform.