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.

tagged: , , » 3 reactions

Comments

[gravatar]
Bob Congdon 12:22 AM on 9 Jun 2008

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]
Harry Hill 12:51 AM on 10 Jun 2008

What's the business model if they're giving the thing away for free?

[gravatar]
Christian Schenk 12:36 AM on 17 Jun 2008

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:

name
email
Ignore this:
not displayed and no spam.
Leave this empty:
www
not searched.
 
Name and either email or www are required.
Don't put anything here:
Leave this empty:
URLs auto-link and some tags are allowed: <a><b><i><p><br><pre>.