Sat 22 Sep 2007
It has been a few weeks since I posted anything about iShudan. There are many new developments, so I think it’s time to set my thoughts down for others who may be interested.
We currently have about 5 people with different specific itches to scratch who are all listed as admins on the project home page. This is in order to facilitate subversion access to the code, and these are known, trusted associates of mine. Since the big “G” is hosting it, there are a variety of different methods for checking out a copy of the code for inspection that will be familiar to anyone who has used Subversion in the past. Personally, I use IntelliJ IDEA for checkouts and edits, I have a registered copy but there are free trials available.
One of the first updates was against a type of SQL injection attack, contributed by my very remote friend Sam. My buddy Adam has been working hard in the background on adding in support for the Ext Javascript Library. Matthew, a classmate from UW who is currently expatriated to somewhere in TN is working on helping me with the SQL-related portions of implementing a “request takeback” feature so that accidental moves (which I have found are common to a novel mobile interface such Apple’s multi-touch screen) or rash overplays can be erased from the game in progress.
Matt also has noted a particular limitation of the current design: all the games are kept in a single game database, instead of as a separate instance for each person’s game. This means there is an upper limit of people who can be online using iShudan at the same time, since each re-display of the board reads from this single DB. Matt estimates this limit optimistically at around one hundred connections. I cannot imagine this type of activity short of a Denial of Service attack.
Currently, I am troubleshooting a particular odd behavior that makes the reminder emails sometimes use a broken URL. The simple fix for my public installation (the Go Dojo) would be to create a symlink on the host where the dead end points. However, I find it confusing that this appears to be intermittent, and so I’m stepping through it in more detail since I’d rather solve this than just patch the problem.
I have also noticed that someone added code that will send emails if a game is idle for a period of time, but I have not seen this triggered yet, so there may be some flow error or it was never completely implemented. It seems like a reasonable feature, so I will look more at this When There Is Time.
I’d like to make a mailing list but it doesn’t appear that Google includes the necessary tools for this on their hosting site. I will look about for something else to fill that need, so that interested parties can talk generally about the code amongst themselves or listen in to the current dialogue. I have received a few notes of interest on the project so far, and I’d like to continue encouraging other people to participate.
The next thing to do quickly is to get autodetection of the iPhone or iPod Touch working. Then we can start doing some smart resizing of the view portal to the known size of MobileSafari on these screens. There’s a good thread with techniques on this here.
One very amusing thing I have done this week is roll a .app “package” for installing onto an iPhone. This is basically just a clickable bookmark which appears on the Springboard with a custom icon, and takes you to the main play page for iShudan. It is not necessary to run a full unlock of an iPhone to install the .app file; you just have to be able to copy this file onto the iPhone and then make a few modifications to the files to have it show up. Therefore it would be available to anyone who can run Nullriver’s Installer.app on their phone.
(Installer.app is the single MOST useful application I have found. This one “mod” for the iPhone enables a full package management system, similar to apt-get or yum. Anyone with an iPhone should try installing this at least once to take a look at what the homebrew iPhone scene is doing.)
This “app” isn’t a big deal, but it allows iShudan to superficially resemble a native iPhone application. Local techie Wil Shipley writes a great entry here about why Apple really ought to release some kind of dev kit and allow this type of work to continue. Instead it appears they would rather than engage in a tit-for-tat war against the rest of the human race. Some people know Wil as one of the authors of Delicious Library, which is a great application for the Mac that is very popular and rather unique. This guy has purchased no less than 19 iPhones (!!!), and owns a few hundred thousand dollars worth of Apple stock. He’s not just another whiny random blogger asking for His Steveness to bend an ear and listen to the outcry against the “sweet” dev system currently authorized by Apple.
Much thanks to both the authors of iPhone Apper and OpenURL , as well as to the entire iPhone Dev Team and all of the people working to make this marvelous device more useful for everyone. “I honor the place where you and I come together.”

September 22nd, 2007 at 1:29 pm
Rock! iShudan is going to kick booty when we get rolling out some updates. We need a good day to work on this where we can get everyone on irc together or something.