Monday, November 16th, 2009

280Atlas: Paid Beta Available

Category: Cappuccino


The long awaited 280Atlas keeps marching on to its full release. The milestone that the awesome 280North team have accomplished this weekend was paid beta.

The tool is Mac only right now and the team interestingly created their own framework for taking a Web app and making it run on the desktop. Note the scrollbars and feel of the application when you run it. Tom talks about the architecture on the beta blog:

At first glance Atlas appears to be a typical desktop application. However, under the hood it’s actually a Cappuccino application. This article talks a little bit about how and why we took this approach.

When we set out to build Atlas, using Cappuccino to create a web application was the obvious choice. However, most developers prefer to work with files on their local filesystem for many good reasons, including convenience, security, and offline access.

We considered a number of solutions, including syncing with the local filesystem or integrating with source control, but packaging the Atlas application as a downloadable desktop app was the easiest solution for everyone.

So how does it work? Atlas functions remarkably like a typical Cappuccino web application.

Instead of a web browser Atlas uses a custom (though generic) native application built around WebKit to bridge to Cappuccino. The application handles things like creating native windows instead of the “inner” windows you see when loading a Cappuccino application in a normal web browser, and using the native menu bar.

Atlas spawns a small web server, which serves the Atlas application, Objective-J and Cappuccino, and other static resources, as well as an application server to handle backend functionality, such as reading and writing to the filesystem.

The “backend” (actually running on user’s computer) is built on Narwhal, a general purpose JavaScript platform, which implements the CommonJS standard APIs. Narwhal provides an environment to run JavaScript (and Objective-J, of course) outside the browser, in our case as part of a desktop application.

On top of Narwhal we have Jack, a web application platform modeled after Ruby’s Rack. Jack implements the JSGI portion of the CommonJS specification, and a lot more. To handle communication with the filesystem we use a Jack-based WebDAV server, called JackDAV. Atlas uses Cappuccino’s CPWebDAVManager class to talk to JackDAV.

Congrats to the entire 280 North team. They are all fantastic blokes and I wish them great success as they help Web developers with great and fun tools.


Posted by Dion Almaer at 1:19 am

3.3 rating from 29 votes


Comments feed TrackBack URI

My idea of a beta is something along the lines of… Here’s some software that’s not ready yet, it may well still have some bugs in it. If you find those bugs you don’t need to be upset, because you haven’t paid for it, but in return I’d like you to tell me about the problem so I can fix it and release a good product that I can charge money for.

Paying for the privilege of QAing someone else’s software seems a bit off to me.

Comment by jeromew — November 16, 2009

Ooops, sorry – must read and engage brain before commenting. So you get the $20 knocked off the final price of the product. Fair enough, I guess but it still rankles.

Comment by jeromew — November 16, 2009

If you have a PC you want to create web applications visually I would also suggest the free community edition of the Agile Platform.

Comment by tiagosimoes — November 16, 2009

@tiagosimoes speak to the moderators about advertising fees… :P

Comment by sixtyseconds — November 16, 2009

@sixtyseconds You’re right, sorry – The Agile Platform 5.0 just went out of beta today and I got carried away.

Comment by tiagosimoes — November 16, 2009

@tiagosimoes I’d never use it myself (programmer pride!) but FWIW that looks like a seriously nice bit of software

Comment by jeromew — November 16, 2009

What I worry about is that I have no idea how long the alpha lasts. I could be done with my app during my alpha. Would I be able to deploy it?

Comment by Nosredna — November 16, 2009

Er, beta. Sorry.

Comment by Nosredna — November 16, 2009

I’ve done this exactly! OMG.. I guess this shows that there is truly no original idea :-) well I digress.. I didn’t try to match the desktops UI .. thats probably the hard part :-)

Comment by sourceRoot — November 17, 2009

Leave a comment

You must be logged in to post a comment.