World Line

Kindle Goban

with 11 comments

One of the things I’ve been working on in my copious free time has been a pair of Kindle applications that are near to my heart. By this time it’s no surprise to anyone that Amazon has released a Kindle Development Kit which allows a couple of beta developers to write native applications for the device; it’s not entirely surprising that this was announced two weeks before the anticipated iPad announcement. What is surprising is that, around six months later, there is still no sign of app distribution actually beginning, nor have they given any of the beta developers even an inkling of when (or if) that will be happening.

Personal gripes aside, the technology itself is pretty interesting. (I’m technically under an NDA, so I’ll avoid saying anything not obvious from the publicly-available Javadocs) The first thing that is clearly being emphasized, right from the name — it’s not “Kindle Applications” but “Kindle Active Content” that we’re developing, after all — is that the KDK (or, indeed, the Kindle) is not well-suited to traditional mobile applications (by which everyone means, iOS applications). First of all, the screen’s refresh rate is literally measured in seconds, and the amount of processing time it takes to do something like load a bunch of images can actually safely be measured in tens of seconds. Secondly, (as-is-publicly-stated-on-their-webpage-so-please-don’t-sue-me-Amazon), because the wireless plan is all paid for by Amazon, they’re very stingy with the amount of data your app can use, there’s no way to programatically access your current total usage, overflow charges are actually charged to the developer, and the lack of a Wi-Fi option, the foregone conclusion is that most developers will not make more than nominal use of the networking component of the Kindle.

So what does that leave us with? Surprisingly, my answer is still “quite a lot.” Because Amazon is right, the Kindle is not an iPad no matter how much the Apple blogs compare them, and the kinds of “apps” you see on the latter does not translate into good “Active Content” for the former. Good Kindle content is exactly what their marketing name sounds like — a way of leveraging the advantage of an electronic device over a paper book, rather than constantly trying to imitate every physical aspect of it. Of course, a lot of people’s imagination when they hear that goes as far as “embedded video” or something (which can be very well-done, of course), but I think there’s a lot more to it than that; people have just become so used to the static nature of books today, that seeing their future as more than just a webpage is really quite a mental leap. Now, when it comes to most types of books, like fiction, that probably is about as far as we can stretch the metaphor. But for other “technical-knowledge” kinds of books, we can do much better.

For example, I’m really into Chess and Go. It probably comes as a surprise to most people not in that “scene” that there’s actually a vast technical literature behind each of these two subjects. There are (literally) thousands of English-language Chess books alone, and dozens more being published every year; and I’m not just talking about “Mickey-Mouse Teaches Chess” types of things either. These consist of important new research in opening ideas, widely read by virtually all competitive players, and cuttingly relevant. It’s not unusual for high-level chess players to describe a book printed in 2005 as “very good, but too outdated to be useful.” My point here is just that I’m not picking a purely niche, toy example to start off. Now, if you’ve ever looked at a non-beginner-oriented Chess book, it often looks something like this:

Despite what it looks like, this is actually NOT a Perl script! Humans read this!

Okay, so two problems here. First of all, in spite of the superhuman impression many chess players would like you to have of them, it’s not easy for anyone to visualize the lines shown above in the kind of way that would be conducive to learning. Even for super-grandmasters, all you have to do is look at games from blindfold tournaments like Melody-Amber to confirm that thinking of chess in purely logical, textual terms is a handicap for anyone. Most books will print diagrams every so often, but they’re limited by space so these are typically only printed in whichever positions the author deems critical; it is left up to the players to visualize the lines in between. So in order to really make use of this book, you’d need to have a physical board or a chess program available to transcribe the moves onto — at which point, what’s the point of even studying this in a book? ChessBase probably has a nice DVD about the French Defence you can watch instead, which would surely be a much more pleasant experience. Second of all, chess players born after the 1970’s would have a hard time understanding the notation in this old book anyway, because it uses “descriptive notation” rather than the modern “algebraic notation” that new players are brought up on. That’s right: chess has two mutually exclusive but equivalent languages for the same market — and the vast majority of books are only ever printed in one of them. And yet people put up with this because there is something useful and exciting being written here, it’s just hidden behind this wall of notation. It’s the price you pay to remain a competitive player.

Solving problems like this, I think, is where the Kindle can bring an actual measurable advantage over the paperbacks to which it’s constantly being unfavourably compared. It should be striving for more than simple duplication. On a Kindle, the software can convert algebraic notation to descriptive notation to match the reader’s preference. It can place diagrams wherever and as often as the reader wants — and make them interactive, with the user scrolling through moves and trying sidelines not covered by the text. The author can choose as many real games to illustrate a point as he wants without worrying about taking up too many pages or boring they user, because they can all be collapsed or expanded on demand. This, also, is where the Kindle differentiates itself from the iPad. There’s over 20 chess-playing apps in the Apple App Store — but there can be a chess-publishing app on the Kindle store, and any serious player can tell you which one they’d rather have available on a long airplane ride. And although chess and Go are my hobby-horses that I perennially focus my examples on, it doesn’t take much to see that the same principle applies to other technical topics in which text is not necessarily the most natural way to express ideas — engineering, programming, mathematics … the sky’s the limit.

So this is why I’m excited about the KDK in spite of its shortcomings. This is what the KDK eventually could become; it’s not yet, because unfortunately the applications are still stand-alone at this point and not “plug-in-able” to items in the library. The place where Active Content belongs, in my opinion, is as an extension to the MOBI format — or an entirely new format which Amazon almost uniquely is in the position to define and propagate. But I’ll take what I can get. I’ve started implementing a publishing platform for Go (as a proof-of-concept) which allows a lot of the things I’ve described. I’ve also got a branch running for Chess, but that one’s not testable on device yet because of technical issues (missing Unicode glyphs for the chess pieces). You can find both of them on GitHub at KindleChess and KindleGoban respectively, but it’s really kind of moot for now because nobody except other developers can actually run Kindle applications yet. To whet your appetite, however, and possibly as one of the first examples of Kindle apps in the wild, here’s what it looks like:

Anyone recognize the match?

At the moment, it can take any SGF and generate a book-like thing out of it, with markup, comments, and variations. Of course, this falls short of the vision I outlined above, where the visual widgets plug into the flow of otherwise normal text — but that will probably have to wait until the KDK becomes more powerful and allows code to be embedded into regular library items (or even just let applications provide library items… I’ll write a whole parser if I have to).

About these ads

Written by Adrian Petrescu

July 3, 2010 at 4:28 pm

Posted in Chess, Development, Go

Tagged with

11 Responses

Subscribe to comments with RSS.

  1. Hi Adrian,
    This is a very interesting post. I’m an ardent go player and also a developer. I’ve had several conversations with my friend Bill Cobb who runs Slate&Shell about electronic publishing of go books. Drop me an email, I’d like to discuss this further.
    – gurujeet

    gurujeet

    July 4, 2010 at 5:12 pm

  2. Hey Adrian,

    Enjoyable read. I am not an experienced player but you did a great job of synchronising some concepts in Chess and ideas appertaining to portable devices and Chess in this post.

    Rarely do I find a Blog site on the internet which has quality writing and useful information.

    Your interest in the subject really came through in your article.

    Cheers!

    Thomas

    August 10, 2010 at 1:20 pm

  3. That’s exactly the kind of thing (interactive chess book) I always dreamed of. Good luck and let us know about your progress.

    PS Do you know about similar attempts (APIs) for other devices? I must say I started to love touchscreen on a reader…

    Mekk

    September 24, 2010 at 4:51 am

  4. Hi, any new developments with the Kindle chess publising?
    Also, does the kindle 3 change anything?
    Such a cool idea! Good luck :)

    Austin

    October 23, 2010 at 1:13 pm

  5. Hi, any news about the KindleGoban?

    David Krebs

    May 5, 2011 at 2:55 pm

    • Hi David,

      KindleGoban and KindleChess will both be released this summer. I’m taking the time between my graduation and starting work to polish them both. Look for it soon :)

      Adrian Petrescu

      May 5, 2011 at 3:27 pm

      • Hi Adrian,
        Would you be able to port this into Kindle Touch?
        Thanks,

        Rez

        April 25, 2012 at 8:58 am

  6. Va salut domnule Adrian.

    Ma bucur ca gasesc conationali care fac ceva valoros!
    Astept un kindle 3 in cateva zile si cautand referinte despre aplicatii am dat de dumneavoastra. Sunt un jucator okazional de go si am copiat de aici https://github.com/apetresc/KindleGoban cele 2 aplicatii. Puteti sa-mi dati niste detalii cum se folosesc ele pentru a funcyiona pe kindle? Scuze… Sunt novice rau in domeniu :)
    Felicitari pentru realizari! Va doresc mult spor si succes!
    Va doresc mult spor si

    cristi

    May 8, 2011 at 5:02 pm

  7. Hi, Adrian.
    Is there any chance that KindleGoban will be available for other ebook readers (as Pocketbook, Onyx Boox, Sony)? Are you going to go farther and make it able to enter games from touch screen? Unfortunately I don’t have Kindle and ability to enter and read sgf for me is one of the main reasons to choose ereader model.

    Alex

    May 17, 2011 at 11:38 am

  8. Hi Adrian,

    Great work, it looks really good. When you release KindleGoban, please let me know if you’d like be interviewed by Go Game Guru. It would be similar to the one we did with Anders Kierulf about SmartGo Books for iPad here: http://gogameguru.com/interview-anders-kierulf-smartgo/

    Thanks

    David - Go Game Guru

    May 19, 2011 at 12:17 am

  9. [...] going to deploy KindleGoban, a Go (weiqi) game viewer, as an example app. Adrian Petrescu, the man behind this open source [...]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: