Wednesday, March 25, 2009

John Carmack on iPhone development: Wolfenstein 3D Classic

I always enjoy reading a good Carmack tale of software development. One of these should go in Joel Spolsky's next Best Software Writing collections.

[NB: By the way I'm talking about the Carmack who is a videogame developer (You've heard of Doom? Quake?) not Carnac the Magnificent or Cormac the author. Cormac is, like Carnac, also magnificent, but not with a capital M.]

Here, John talks about bringing Wolfenstein 3D to iPhone.

Wolfenstein 3D Classic:
Rather than having a big confrontation over the issue, I told them to just send the project to me and I would do it myself. Cass Everitt had been doing some personal work on the iPhone, so he helped me get everything set up for local iPhone development here, which is a lot more tortuous than you would expect from an Apple product. As usual, my off the cuff estimate of "Two days!" was optimistic, but I did get it done in four, and the game is definitely more pleasant at 8x the frame rate.
And I had fun doing it.
....this was the first time I had taken full responsibility for an entire product in a very long time.
This next bit is a realization that more app designers need to have. It's all about what the user wants to do. Don't make me sit for your program to load. Fer cryin' out loud, Sidekick taught us this lesson! (No, THIS SideKick, not THAT Sidekick.)
There is definitely something to be said for a game that loads in a few seconds, with automatic save of your position when you exit. I did a lot of testing by playing the game, exiting to take notes in the iPhone notepad, then restarting Wolf to resume playing. Not having to skip through animated logos at the start is nice. We got this pretty much by accident with the very small and simple nature of Wolf, but I think it is worth specifically optimizing for in future titles.
Apple's interface guidelines do practically beg developers to take this perspective, not just as a feature to implement, but as a design philosophy.

Perhaps the best quote of the article is the last line:
...I do expect Classic Doom to come fairly soon for the iPhone.

Sunday, March 15, 2009

Gnothi Seauton

The Oracle said Know Thyself.

Polonius said basically the same thing.

I really appreciate this take on it from Roger Ailes:
Another critical point: once you reach a comfortable, successful level of communications, you never have to change it, no matter what the situation or circumstances or the size of the audience. I define an audience as anyone other than yourself.

Whether there's one person or a thousand people listening to you, or if you're on television and there are millions watching [or if you're posting on the Internet and no one is watching - Dan] the essential principles hold true. The key element is that you not change or adapt your essential "self" to different audiences or different mediums. The thing that most confuses people trying to learn to be good communicators is the idea that somehow they have to act differently when giving an after-dinner speech than they would while being interviewed on television or for a job, or while conducting a staff meeting. They think they have to act all these different ways and nobody's given them the script to do this. Remember: You are the message, and once you can "play yourself" successfully, you'll never have to worry again.
Roger Ailes, in case that name is just vaguely ringing a bell, certainly has a track record of communicating effectively. These days he's blogging too, of course.

And I see Poor Richard muses (no, not that Poor Richard)
No need to reach for the stars, either, because when you know and are true to yourself, the stars are inside you. Love to cook and invent your own recipes, like Silence? So you’re not the next Emeril or Rachael Ray. Maybe you’ll end up giving the occasional lecture on garden-fresh cooking, as Silence does, to small but enthusiastic audiences. Maybe you’ll end up publishing a cookbook. Maybe you’ll just continue to delight family and friends with your creations. Whatever the end result, it’s the joy of cooking and creating the dishes that’s the real deal. Anything else is extra.
Bonus link: The Internet says The Oracle may have heard it (stolen it?) from Egyptians.

Monday, March 09, 2009

Maxim: The act of building forces one to clarify

From The Practice of Programming:
It's hard to design a program completely and then build it; constructing real programs involves iteration and experimentation. The act of building forces one to clarify decisions that had previously been glossed over....As much as possible, start with something simple and evolve it as experience dictates.

Sunday, March 08, 2009

I'd like to be in the beta of alpha

Now THIS is cool. It may not yet be flying cars and my own personal robot, but it's getting there - the future is getting closer every day.

Stephen Wolfram writes:
Some might say that Mathematica and A New Kind of Science are ambitious projects.
But in recent years I’ve been hard at work on a still more ambitious project—called Wolfram|Alpha.
And I’m excited to say that in just two months it’s going to be going live.
Mathematica has been a great success in very broadly handling all kinds of formal technical systems and knowledge.
But what about everything else? What about all other systematic knowledge? All the methods and models, and data, that exists?
Fifty years ago, when computers were young, people assumed that they’d quickly be able to handle all these kinds of things.
And that one would be able to ask a computer any factual question, and have it compute the answer.
But it didn’t work out that way. Computers have been able to do many remarkable and unexpected things. But not that.
I’d always thought, though, that eventually it should be possible. And a few years ago, I realized that I was finally in a position to try to do it.
Excited? Me? Yes!

So naturally I've signed up for the beta of alpha.

It'll go live in May 2009 at

Saturday, March 07, 2009

@kindlejunkie saved me via @twitter when @amazon's #Kindle #iPhone app didn't like me

Herein find the heartwarming tale of how the twitterverse saved me from the terrible fate of not being able to try out the Kindle iPhone app.

I cannot login - it says "no internet connection, please check your wifi or cellular data network and try again"

However I *do* have internet connectivity - and in fact if I change the PW to something wrong, the app correctly reports "Invalid email or password".

(I proved I had internet connectivity by uploading the screenshots on the spot with Pixelpipe app store link.)

What to do? Contacted amazon tech support with a detailed writeup & screenshots, but just got "can we talk to you live" and troubleshoot - great, not a known issue. I don't want to debug this, I want to play with it! :-(

But I was twittering about this, and out of the blue Julia Taylor aka @kindlejunkie started giving me suggestions:

@doofusdan Change your p/w. Make the first character a lower-case letter. The rest can be upper/lower, special or numbers.
from Tweetie in reply to doofusdan

Didn't do the trick though. I tried with another Amazon account (one I only use for things I'm going to expense for work, it doesn't get much use) but apparently Amazon decided that my iPhone was tied to the first Amazon account now. Drat. But @kindlejunkie was not giving up yet!

@doofusdan Read something somewhere about "&" in registered to name causing same error. Does that apply to you?
from Tweetie in reply to doofusdan

@kindlejunkie OMG! We DO have an & in our name! Holy cow is this just an escaped character bug? Those wacky amazon Perl hackers... :-)
from twhirl in reply to kindlejunkie

Our account name is in the form of His & Hers Lastname. I changed the name on our account by going to Your Account - Account settings - Change Name, E-mail Address, or Password. I changed it from "His & Hers" to "His and Hers" and:

@kindlejunkie the & in our registered to name WAS the cause of the @amazon #kindle #iPhone app login fail! changing the"&"to "and" fixed it!
from twhirl in reply to kindlejunkie

Poof! Instant Kindle iPhone app success!

So, my very sincere thanks to Julia the @kindlejunkie!

Behold the awesome power of the twitterverse!

(And note this is another case study that the aforementioned powers work even for people who don't have thousands of followers....)