20 December 2007


As a small developer, I really appreciated the MacSanta promotion last year. And it’s back! A Sharp’s software (notably Opal and Addressix) will be 20% off on Friday, 21 December. For the rest of the year, they’re 10% off. Check out the MacSanta site for details.

01 December 2007

It really should be in Mac OS X

Reviews of utilities frequently say something like “this should be part of Mac OS.” I almost never agree, even if I myself use it. That’s because I’m a power user, and so is the reviewer. The utility does something, um, useful, but it also adds to the complexity of the user experience, and so probably doesn’t belong on everyone’s Mac.

Mac OS X 10.5 introduced Quick Look, where you can almost instantly get a preview of a file’s contents. Apple provided viewers for a number of typical formats, as well as some more specialized ones like property lists. But there was no way to see what was inside the .zip archives that Mac OS X itself creates. This seemed like an obvious omission, that wouldn’t add any complexity. And I kept meaning to file a bug report.

But xdd and Taiyo created a ZIP preview.

And now Robert Rezabek has gone several steps beyond: BetterZip Quick Look Generator. It supports ZIP, TAR, GZip, BZip2, ARJ, LZH, ISO, CHM, CAB, CPIO, RAR, 7-Zip, DEB, RPM, StuffIt (.sit), DiskDoubler, BinHex, and MacBinary. I like the indented format better, and it supports a lot more formats. This is going to make it much easier to clean out my Download folder (which is full of various archives).

I’ll probably still file that bug report, but now the only missing format is Apple’s disk image (.dmg).

16 November 2007

How Mac Games Should Save

Putting on my GameHouse hat, I’d like to post on how games should save their state. (I often receive games that do it wrong.)

Games should not save state within the game bundle.

Games should not save state next to the application.

Both will fail if the game is run from a read-only volume (such as a disk image), or if the user doesn’t have write permissions to the /Applications folder (where someone may have installed the game).

I recommend saving to ~/Library/Preferences (or a folder therein). Locate this with FSFindFolder if you’re not using CFPreferences or NSPreferences.

Why not ~Library/Application Support? I figure most games track options such as sound effect and music volume. These are definitely preferences. Apple says of ~/Library/Application Support: “This directory should never contain any kind of user data.” And saved games are definitely user data.

So I’d say: anything the game saves goes in ~/Library/Preferences. Additional levels, downloaded user avatar images, etc. would go in ~/Library/Application Support.

10 November 2007

Stacks in Leopard

One cool thing about a stack: you can click on its Dock icon, then drag a file. I’ve found this especially handy with the Downloads folder: you can drag a file right to the Trash, or to the Dock icon of an application you want to open it in.

I’ve written before about how the Downloads stack is useful because you can sort by date added. It’s thus easy to get at whatever I most recently downloaded. (I set this stack to View as Fan because it looks cooler, and because I have over 200 items. There’s really no point in seeing the whole thing in a menu.)

Although stacks can be fun and useful, sometimes the old standard menu was handier (especially if you had a folder of folders in the Dock). It would be great if the menu were View as > Fan | Grid | Menu — don’t get rid of stacks, but let us use the old way as well.

09 November 2007

Leopard Spotlight searches any metadata

In Leopard, much more of Spotlight’s functionality is exposed. You can now search on any defined attribute. Several tips are floating around on how to search for system files, but the search window is far more flexible — it lets you query metadata from any application with a Spotlight importer. For example, here’s how to search for all Opal outlines with a lot of topics:

1. Open a search window (in Finder, choose File > Find)
2. Click the Kind popup
3. Choose “Other...” from the bottom of this menu (not from the “is” menu)
4. Locate “Topics,” select it, and click OK.
5. Choose “is greater than”
6. Type the number of topics

04 November 2007

Programming in Leopard

As a developer, getting to use Leopard on a daily basis means getting to use Xcode 3.0 on a daily basis. I’m pretty happy with this update, though some of the changes simply take a bit of getting used to. The new SCM integration is much better, though it also introduces the concept of a project root. SCM applies to all files in the root. With Opal, this isn’t a problem. With a GameHouse game, it is, because each game uses 4 libraries and one game-specific folder from the root. Getting SCM info for the other 50 game-specific folders takes a lot of time, and showing said info confuses things.

It’s a little disconcerting that rebuilding a Cocoa application changes its behavior. For example, Opal’s Export as command used NSExportableAs to specify the possible types. Under Leopard, this requires the use of UTIs, which Opal didn’t use. So Export as (which worked fine in Leopard) broke as soon as I rebuilt. Another change was the preview pane in Print dialogs. This showed up only after I rebuilt in Leopard. That was cool, new behavior for free! Except it wasn’t quite right. So I had to figure out how to hook Opal’s print dialog controls so that they updated the preview. Bottom line: an application that works fine in Tiger may require significant work as soon as you touch it under Leopard.

I haven’t seen anything similar in the Carbon world (which GameHouse games use).

27 October 2007

24 Hours with Leopard

I managed to download (as a developer) Mac OS X 10.5 yesterday. I’d looked at it while it was in development, but I’d never used it as my primary operating system. Here’s some impressions after the first day.

I was impressed at how well my custom settings were retained (I did an Archive and Install), including the login window. And all my widgets were still there when I pressed F12 (a good thing, since I don’t think there’s any other way to see the stickies!

Pretty much everything just works. Even odd stuff like VPN (via Tunnelblick). The only real problem I had was RSS not working in Safari or Mail. I ended up deleting a couple of Syndication-related folders and logged out. Things then worked.

It’s a bit odd when the external hard disk spins up to do a Time Machine backup. I haven’t had occasion to use Time Machine in the last day, but it does look like it behaves as advertised (which I was never able to be sure of in beta). I rather like the custom disk icon. My external disk had been partitioned inefficiently for use with Time Machine (I’d earlier used it as a temporary startup disk when Elise’s PowerBook drive failed), so I’ll be trying to repartition it with Disk Utility. This looks like it may be possible, but it’s not quite as simple as I’d hoped.

I really like how Apple changed the Print dialog. 2-sided printing is now instantly available (my Brother HL-5250DN duplexes), and application-specific options (like Opal’s choice of what to print) is in the default dialog (instead of buried behind a popup).

Quick Look was far more useful than I’d expected, once I was using real data. It was super easy to look at the first page of a bunch of downloaded files and see what they were so I could organize them.

I would have hated the new Dock appearance, except that I’d already executed the Terminal command 
defaults write com.apple.dock no-glass -boolean YES 
which makes it non-reflective. (This was one of those custom settings I referred to.) I rather like the new look, with the bright lights under (unlike the blue light which blends into the reflection in the official look).
I’m still not sure about Spaces. I like setting up a separate workspace for development, though switching between spaces still seems a bit flaky (it didn’t work at all this morning, but then began working again).
And Coverflow in Finder still seems gratuitous. Maybe it’ll be useful. I did notice that one of my image folders has a number of black images with transparent backgrounds — these don’t show up at all in Coverflow!
It was a pain that fanned stacks (in the Dock) are limited to 10 items — this is the best way to use them as replacements for the old hierarchical menus. And stacks don’t work as well with Dock zooming (since they may appear, and then move when you aim for them.) Still, setting the Download folder to sort by date added should be useful.
So after a day, it’s obvious that Leopard isn’t perfect. Many of the aesthetic complaints are justified. But it seems like a solid and reliable upgrade, and I can’t wait to start taking advantage of some of the new features for developers.
And as a developer, the release of Xcode 3.0 was perhaps as important. There are a lot of improvements here that I’ve been waiting for. I’d already booted into a prerelease Leopard so I could use Instruments (née Xray), and the SCM improvements are welcome.

23 October 2007

Gmail has IMAP

Apparently you can now enable IMAP for your Gmail account! This makes it a lot more suitable for use on an iPhone (as an IMAP client essentially mirrors the server, rather than extracting the messages).

The one drawback seems to be that if a message is assigned multiple labels in Gmail, it ends up in multiple folders in your IMAP client — taking up extra disk space on your hard drive (or flash memory in the case of iPhone). I think I’ll be removing a label or two…

Enable IMAP under Settings, then follow the directions for your client. (I set it up in Apple Mail, then synched to my iPhone. It seemed to default to SSL, which didn’t quite match the instructions, but was what I wanted.)

21 October 2007

Resume Advice

I hope to be hiring soon (for a game developer at GameHouse), so I hope people have read this advice from Steve Yegge.

(By the way, I know the word is “résumé,” but the weblog software doesn’t do a good job with non-ASCII titles.)

09 October 2007

Opal On Sale at MacUpdate

For one day only (10 October), Opal is available at half price — just $15.95! Visit MacUpdate for details. You’ll need to use their Buy link to get the discount, rather than purchasing from within Opal.

If you didn’t see this in time, you can still check MacUpdate. A 15% discount is available for another two weeks.

Factoring Code

Code factoring is something I work on with some of my developers. The basic idea is to reuse code whenever practical, so you don’t need to fix bugs in multiple places.

There was a nice comment about this in Worse Than Failure today, quoting Phil Haack: “Avoid premature generalization. ... The first time you notice something that might repeat, don’t generalize it. The second time the situation occurs, develop in a similar fashion — possibly even copy/paste — but don’t generalize yet. On the third time, look to generalize the approach.”

This seems like a pretty good guideline. I’ve certainly worked on projects that were far more general-purpose than they ever needed to be, and were thus harder to learn and maintain.

29 September 2007

Music Downloads

I’m sure I’ll eventually get something from Amazon MP3, but so far I’m not wildly impressed. Let’s do a comparison of a random album.

Amazon MP3 sells the Mekons album “Natural” for $8.99 as unprotected MP3s. There are 12 songs, so that’s $0.75 per song. Sold separately, they’re $0.99 per song. I haven’t played with the site much, but searching seems weak. Playing tracks is easy.

iTunes has it for $9.99 as protected AAC files, but includes two bonus tracks. That’s $0.71 per song. (The bonus tracks seem to be variants of other songs — nice to have but not essential.) Sold separately, they’re $0.99 per song. Searching is excellent — I really like the feature that must have been added recently, where band names are suggested as you type in the “Search iTunes Store” field. Playing tracks is easy.

eMusic has the same 12 songs as unprotected MP3s. Their basic subscription gives you 30 downloads a month for $9.99. That’s $0.33 per song (there’s no discount for buying an entire album). It looks like eMusic changed their plans slightly since I subscribed, but I think that by paying for a year in advance, I get 40 tracks a month for $9.99 — $0.25 per song. A much better deal, and in my opinion worth the crappier web interface (I usually sample songs on iTunes). Searching is OK, but playing tracks is a pain (I get a .m3u file I have to open separately). Oh, and eMusic has free tracks, sometimes entire albums of good stuff (e.g. “A Marmoset Menagerie”).

For what it’s worth, I got the Mekons CD as a birthday present. Amazon sells it for $13.99, or $1.17 per song. But it’s encoded at CD quality, includes liner notes, and is a backup for the version I ripped to my computer.

I’m happy with the CD, but I would have been almost as happy getting the music from eMusic.

I realize most people have different tastes, and may be more interested in the major label stuff that might not be on eMusic. But I do almost all my purchasing from eMusic — currently 1471 songs (which includes free tracks) compared to 1229 songs (including about 150 free tracks) from iTunes. Getting songs for 1/4 the price is worth the inconvenience, and some of the free stuff would have been worth buying.

27 September 2007

iPhone 1.1.1

Am I the only one who noticed that the upgrade added color to the Calculator icon?

By the way, I had absolutely no trouble installing the update. Then again, I hadn’t gotten around to adding 3rd party software.

16 September 2007

iPod touch

Bill Palmer writes, “based on my early testing, I'd have to say that the iPod touch is by far the most amazing product to ever bear the "iPod" brand name.”

It’s perhaps unfair for me to comment without having seen one, but I don’t think that’s possible, based on my experience with iPhone.

I once used a Sansa Rhapsody device, and it was intensely frustrating. Pretty much every time I needed to use its controls, I cursed it. Its controls were nowhere near as easy to use as any iPod I had owned (original, shuffle, white nano). You simply had to pull out the device and look at it in order to pause, skip an annoying song, or change volume. Invariably this meant that I missed whatever announcement the bus driver was making. The iPod’s click wheel can be used simply by reaching into your shirt pocket, and in some cases, through the shirt. This takes very little time.

iPhone doesn’t have a click wheel, and loses that convenience. It does largely make up for it by having an external volume switch, and by having a clicker in the microphone that’s part of the standard earbuds. So the most useful stuff is available without looking at the screen.

But iPod touch doesn’t come with the clicker (and reports are you can’t even use the one from an iPhone). So you would have to pull out the device, and presumably do something to turn on the display. This is clearly not as good as any previous iPod — including iPhone. Touch is really not a very good interface for an iPod’s basic job, playing music through headphones.

26 August 2007

Software In Your Head

Paul Graham writes on “Holding a Program in One’s Head(thanks to Daring Fireball for the link). He’s talking about implementation — the program logic.

A few times I’ve been able to formulate an entire program design in my head before working on it. Those are probably the designs I’m proudest of — Acta and Word Slinger. In both cases, the final product was pretty much exactly what I had envisioned at the start. (Mike Dietrich certainly added visual appeal to Word Slinger, but the way the game worked was how I had it in my head.)

More often, a design will evolve. For example, I had a pretty good idea of what King of Dragon Pass was like before writing a line of code. But the game was complicated enough that I couldn’t predict how it would play before we’d gotten fairly far into implementing it. (So Rob Heinsoo was able to make some significant design contributions.)

Having a software design in your head doesn’t guarantee commercial success, of course, but I think it’s an ideal to aim for.

15 August 2007

Casual Connect Talk Available

The talk I gave at Casual Connect last month (entitled “Secrets of Casual Game Development”) is now available from the CGA (as an MP3 sound recording with PowerPoint slides — 37 MB). I haven’t listened to the whole thing, but the recording quality sounded fine.

Interview on GameHouse Mac Games

Shortly after Casual Connect, I did an interview with Omaha Sternberg of iGame Radio, mostly about GameHouse and its Mac OS X games. The interview is now online. According to Omaha:

You can listen to the podcast at the following locations:





The last two will take you directly to the mp3/m4a stream so you can listen/see the basic/enhanced podcast, and bypass the webpage. Or you can access it through iTunes by just going to the iTunes music store and searching for iGame Radio.

14 August 2007

Big Bills

Other iPhone users have written about the voluminous bill AT&T sends, documenting each byte of your free data plan. An obvious solution is to switch to paperless billing. However, I greatly prefer a paper bill. It actually makes things easier to track, because I have a physical token.

I asked AT&T if there was a solution, and received:

Unfortunately, we are unable to exclude certain aspects of your wireless
bill statement. You have the option of receiving a summary bill that 
will only display the summary of your billed charges; however, this will
omit all of the details of your bill. This includes call, messaging, and
data details. To request this summary bill, you can contact customer 
care by calling 800-331-0500, 611 from your wireless device, or by 
creating a new email from www.att.com/wireless via the myWireless page. 

I don’t know if this will work or not. I do want call details. (I don’t make all that many calls, especially not compared to EDGE usage, so for me this doesn’t generate a long bill.)

Maybe if enough people complain, they’ll give us a better option that’s not all or nothing.

08 August 2007

Apple Wireless Keyboard

For years I’ve been requesting that Apple make a small keyboard again. Now they have, and I can’t use it! My desktop machine doesn’t have BlueTooth (and my laptop already has a small keyboard). This is really a bummer, since I’d love to regain the desk space. (I’m actually using an old semi-compact keyboard, with just the numeric pad but no arrow key block in the middle. But even that’s bigger than it needs to be.)

It’s probably possible to get a BlueTooth adapter, but that will add to the cost, which is already a little high.

I’m also a little surprised at some of the key assignments they made. It looks like Exposé is now F3 -- it’s been F9 since it was released. And the sound keys have moved from F3-F5 (on the MacBook Pro) to F10-F12.

Worse is that there’s no Enter key (unlike the MacBook Pro). I don’t miss a numeric pad, but I do use Enter (since it’s not the same as Return on a Mac).

29 July 2007

King of Dragon Pass: Scripting

I posted a brief example of the Opal Scripting Language on the King of Dragon Pass site. (“Opal” was the game’s code-name.)

I got our writer Robin Laws to write in this format. Elise or I then cleaned it up a little to be compilable. Shawn Steele wrote the interpreter that processes this language when you play a scene.

This language is pretty specialized to King of Dragon Pass’s interaction format. If I were creating a similar game from scratch today, I’d investigate using Lua instead (though the fact that OSL doesn’t require quoting strings was probably a big plus).

Casual Connect 2007

It’s been over a week since Casual Connect (the flagship conference for the casual game business) in Seattle, but I thought I’d post some of my notes.

“Everything Looks Like a Nail” — Josh Welber, Large Animal Games

They used a customized version of Torque Game Builder for Snapshot Adventure. They need to merge with the official version about twice a year.

They build a lot of tools, like a configurable level editor.

Playfirst’s Playground engine is now open source.

Snapshot Adventure was an 11-month project.

I had dinner with a group of Indie gamers, and also Reflexive folk. One guy was getting out of the casual game business because his game had done so poorly. However, he was doing so well running an affiliate (of both Big Fish and Reflexive) that he bought dinner for something like 20 people. (I gave him a spare VIP party invite in thanks.)

The creator of Betty’s Beer Bar was there, all the way from Uruguay.

Keynote — Microsoft

Microsoft’s idea of cross-platform is a lot different than mine! I guess running on Windows and Xbox is technically cross-platform, but...

“Secrets of Casual Game Development” — me

I had fun, and there were a few good questions. One person wanted to know what personality I looked for when hiring QA, and I didn’t really have an answer. Attention to detail is a hallmark of QA, but other than that, I think having a wide variety of skills in your QA department is a plus.

“Virtual Villagers” — Arthur Humphrey, Last Day of Work

People at GameHouse all seemed to pick up on his “Castro” slide — a single person in charge. I guess since he was giving the talk he agreed with the dictator model, but it would be interesting to hear from his team.

They made changes and additions even in beta.

Their interactive tutorial was easy to derail.

The ending of VV1 was the biggest complaint. It hit users by surprise (and was also the least tested area of the game). For VV2 they tried to make progress towards the goal more obvious, and not distract with multiple goals.

Localization was a pain, due to their “emergent story algorithms” (which from the sound of it was much like what I did in King of Dragon Pass, also a pain to localize).

He felt that a game driven by story was hard to clone, since you couldn’t clone the story.

VV1 took 5 months, VV2 20.

They use 10-page design documents, with sections customized to roles. For example, the art section is full of adjectives.


Eric Tams, PopCap

Prototyping drives preproduction

Jason Rober

Human brains think order = priority. So be careful in your prototyping/brainstorming. He said PopCap was big on mind mapping, in part to avoid this. (I’m happy using a hierarchical outliner, since it’s so easy to reorganize.)

He talked about using system dynamics to model your game system. I’d played with this about 30 years ago, but the tools are a bit more advanced now (one is Stella). The idea here is that you can sort of weigh the checks and balances in your game. His example was a classic prey/predator population curve. If you have it set up wrong, the wolves eat all the sheep. You can tune your parameters until you get a more normal boom/bust cycle. This would obviously be faster than trying to play out your game, but it wasn’t immediately obvious how applicable this would be to a lot of game styles.

He showed off his prototyping toolkit: legos, printable business cards, etc.

“Brainstorming” — David Nixon

Ideas, Evaluation, Elimination

He ran an entertaining brainstorming session on how to brainstorm. Lots of audience participation.

Steve Youngwood, MTVN

Apparently “demo” is the in buzzword. It means demographic (or audience?), not a game demo.

He said addictinggames.com was targeted to teen boys, which amused me because my 10-year-old granddaughter has shown me games on the site a couple times. (And the daughter of a friend also frequents the site.)

MTVN is investing $100M in casual games.

I found them scary — all big corporation, no sense of art.

“Return to Fun” — Greg Schaffer, Bernie Stolar, and an unindentified helper

Google is doing in-game advertising. Nothing else.

“Games” is a top search at Google.

Google said almost nothing. I think they really weren’t ready. At the press lunch after this, a number of reporters kept trying to pry info out of them (a woman who didn’t present was answering for Google), and they couldn’t say anything. Since they were there to do an announcement, I don’t think it’s because they were being secretive. I think they don’t have any answers yet.

“PuzzleQuest DS” — Colin Wilkinson

It was challenging making a 90 MB installer on a PC into a 16 MB ROM!

He claimed that PC development was faster and cheaper than DS.

They had a shared code base (which is apparently rare in this sort of port).

“Casual Games Industry” — John Vechey, PopCap

PopCap’s mistakes:

- PopCap is the center of the universe

- Hold onto the PC downloadable space for dear life

- We should be like everyone else

- Everything is the next big thing

- Good business and good game design cannot coexist

“What’s Holding Us Back”

This was a panel, mostly about community in games / community around games.

I argued with the Microsoft guy, who was saying that lack of a single login held us back. I HATE having to give any kind of info to try a game. Just let me try! Get my name / e-mail when I’m hooked and want to save.

Oh, the parties were fun too! I ran into my friend Tony Mann, who was playing keyboards for one of the bands.

Maybe I’ll be able to give my talk in Amsterdam or Kyiv!

22 July 2007

Wii = Whee!

Ever since it came out, I mocked Nintendo’s lame name. Since I don’t watch TV, and get all my news from print in some form, to me the console’s name was obviously pronounced “why.”

But I finally got one yesterday, so I guess I have to say it the way Nintendo does. As I’m sure most of you know by now, it’s a lot of fun.

I think much of this is because of the attention they paid to usability. Some of the Wii Sports tutorials get a bit annoying (as do the tennis replays), but by and large they’ve done a good job making things simple and obvious. All the plugs on the back of the machine obviously fit one way only (except for USB — they’re stuck with that). The controllers let you know when it’s your turn to play. Multiple on-screen pointers are handled well (a hand with your controller number; frequently one is transparent if it’s not active). The “alert cat” during a slow operation was a nice way to draw your attention without being obtrusive (and it had force feedback as you patted it).

I’m also pleased that I could get it into my secure wireless network (which took longer than it should have only because I forgot that I limited access to specific MAC addresses).

I had to go back out today and buy a second nunchuk controller, but at least those are easy to find (unlike the Wii itself — I had to go to two stores before I found one).

The biggest problem is probably with our living room — it’s not well configured for two people who need to leave room to swing while watching the screen. And when Elise is playing, I worry that her dog Tristan will get clonked, since he follows her around and wants to stand in front of her.

iPhone vs Spam

Michael Tsai “just issued a refund to a customer who bought SpamSieve under the assumption that it would run on his iPhone.” Unfortunately, the iPhone has no anti-spam features. When I expect to be making serious use of email on my iPhone, I try to leave a computer running (Mac OS X) Mail. This does have spam filtering, and since the email accounts I use are all IMAP, there’s no contention for which device gets the mail.

BTW, SpamSieve is a great spam filter for Mac OS X. I use it with Eudora (and a POP account). It’ll work with Mail as well, but I guess inertia keeps me from setting that up (besides the fact that Mail has been trained well enough that it does a pretty good job on its own).

20 July 2007

iPhone vs ClearWire?

I was recently at a conference where ClearWire was trying to sell their WiFi service. There were a number of networks throughout the facility, thoughtfully protected via WEP key (weak encryption, but better than nothing). I was able to select them with my iPhone and type the password. The iPhone would accept it, but never switch from EDGE to WiFi. But Settings clearly showed that the ClearWire network was current. At least one other person had the same problem, with the exact same symptoms. And this happened on each of the networks.

The ClearWire representative couldn’t explain it or get it to work. He finally set up an unprotected network, and that did work. (And was acceptable for my use, since I use SSL for the e-mail accounts I check from my iPhone.)

My MacBook Pro had absolutely no problem with the same networks. Although when I tried copying something from a friend’s PowerBook, it was glacially slow.

I believe ClearWire was running with standard NetGear base stations, but I don’t know how they were configured.

The ClearWire representative was helpful (hi Sky!), but obviously not there to support the iPhones at the show. Still, it was troubling that they didn’t work, and this doesn’t make me want to buy their service.

It was cool how the iPhone kept working (even if I had to drop to EDGE speeds).

11 July 2007

Top Posting

One of my big complaints about email on the iPhone is that it’s virtually impossible to do anything except top posting.

This is an always controversial question. John Gruber has a good argument against.

BTW, I’ve filed a bug on the subject. If you don’t have access to Apple’s Radar system (all it takes is a free developer account — you don’t actually have to develop anything), you can use the iPhone Feedback page to ask for an improved email experience.

09 July 2007

iPhone Security

iPhone lets you use a 4-digit password to lock your phone. I realize that’s not very secure, but I’d like to keep my e-mail and contacts from casual reading if I happen to lose my iPhone. It’s a little bit of a pain, but Apple helps lessen it.

For one thing, you can use the headphones to control the iPod without unlocking.

You can see the current date and time without unlocking — I know lots of people who use their phone as a clock, and I sometimes do myself.

And you can receive incoming calls without unlocking! (I just noticed this today.) This is hugely convenient. Once the call is over, the phone is still locked.

For better or worse, iPhone doesn’t save any web passwords. There’s no equivalent of the Mac’s keychain (which holds passwords and encrypted notes). I suppose this protects me if I lose the device, though I’d prefer the ability to set a strong password on a keychain.

07 July 2007

Syncing New Events From iPhone

I ran into a bug where an event I created on my iPhone ended up in a read-only calendar (i.e. one I’d subscribed to) in iCal.

After filing the bug (rdar://5319313), I played around some more and found a workaround.

I had chosen (via iTunes) to sync “All calendars.” If I changed the setting to “Selected calendars” and then checked all the calendars, new events created on my iPhone ended up in the calendar I’d actually selected.

Presenting at Casual Connect

I will be giving a presentation at Casual Connect in a little over a week. I’m calling it “Secrets of Casual Game Development.”

Trying out Blogger

I'm mostly experimenting with Google’s Blogger, but I was also unhappy with the software I used to create my previous (and rather sporadic) weblog. And it looks like Google doesn’t index my weblog often enough, so that’s another incentive to move here. (Hmm, funny that...)

So I’ll duplicate my recent posts (with their original dates) and see how it goes from there.

01 July 2007

iPhone Inside the Firewall

Apparently iPhone lacks Bonjour (Zeroconf) — I tried using a bookmark to my printer (which is a .local address), and the server couldn’t be found. So if you have internal servers which are only accessible as “intranet.local”, you’re out of luck. (But you can use a local IP address, like “”.)

30 June 2007

iPhone backup

iTunes 7.3 saves iPhone backup data in your Library/Application Support/MobileSync folder. It looks like it’s saving various preferences, so that if you have to restore your iPhone, it’ll be as you left it.