280slides

Saturday 7 June 2008This is over 16 years old. Be careful.

280 Slides is an interesting application, not so much because of what it does, but because of how it does it. It’s a nicely made presentation tool, but pretty basic as far as these things go (no animations or transitions, for example). But the whole thing runs in your browser, with no Flash, and has a nice snappy feel. The most startling thing though, is the language it is written in: something called Objective-J, an Objective-C clone implemented in 13Kb of JavaScript, executing in the browser.

The rest of the application is delivered in .j files:

import <SlideKit/SKPresentation.j>
import "EditorController.j"

//...

@implementation Document : CPDocument

//...

- (CPData)dataOfType:(CPString)aType error:({CPError})anError
{
    var dictionary = [CPDictionary dictionary],
        data = [CPData dataWithString:@""],
        archiver = [[CPKeyedArchiver alloc] initForWritingWithMutableData:data];

    [archiver encodeObject:_presentation forKey:DocumentPresentationKey];
    [archiver finishEncoding];

    if (aType == DocumentExportType)
        return data;

    [data setString:"documentName=" + encodeURIComponent(_documentName) +
        "&numSlides=" + [[_presentation slides] count] + "\n" + [data string]];

    return data;
}

//...

@end

Objective-J is one of those ideas which seems crazy at first, but then turns out to be not impossible, and even do-able. I wonder if it will be adopted by other Mac developers as a way to on-ramp their skills to the web.

Ajaxian has an interview with the developers (audio, unfortunately), and there’s a lot of info in the comments there. They’ll be distributing the language as objective-j.org.

Comments

[gravatar]
Interesting. I was going to point out that this is similar to Script# (C# to JavaScript) and GWT (Java to JavaScript) but those projects compile source to JavaScript before-hand, they don't try to translate code on the fly.

The 280 Slides application is pretty slick but I did manage to crash Firefox when I tried to change the background color of an object.
[gravatar]
What's the business model if they're giving the thing away for free?
[gravatar]
Hi Harry,
I suggest reading the book "Open Sources" ("Voices from the Open Source Revolution"). Basically, in 280Slides case I guess giving away their code for free helps them to gain popularity among programmers.

Add a comment:

Ignore this:
Leave this empty:
Name is required. Either email or web are required. Email won't be displayed and I won't spam you. Your web site won't be indexed by search engines.
Don't put anything here:
Leave this empty:
Comment text is Markdown.