Archive for September, 2008

Lights Off – Porting the iPhone app to Cappuccino

Saturday, September 27th, 2008

A couple days ago, Steven Troughton-Smith decided to try his luck at Cappuccino. With a background in Cocoa programming, and recent work on rewriting Lights Off for the iPhone (the game originally released by Lucas Newman for jailbroken phones), he thought it would be interesting to port Lights Off to Cappuccino.  In only an hour or two, he had the complete app running in a web browser on top of Cappuccino.


Lights Off Final Demo (Cappuccino) from Steven Troughton-Smith on Vimeo.
Steven had to say this about Cappuccino:

Wow, just wow. I’ve spent five mins with Cappuccino and Obj-J, and it feels like home. Because it matches AppKit, I dont have to check docs. I can easily code an Obj-J web app just from what I already know about AppKit, and all the structures and methods are basically the same.

This is a testament to the power of Cappuccino, and the ease with which existing Cocoa programmers can pick it up. Without needing to know any CSS or HTML, Steven was able to get Lights Off running, complete with animations backed by our implementation of Core Animation. He was kind enough to e-mail me his code, which you can download and play around with.

Right now we’re working on tools to boost performance and usability on the iPhone, and once they’re ready we’ll get Lights Off running on the iPhone to show it off. I think everyone will be impressed with how well it works. In the meantime, I hope this inspires you existing Cocoa developers to try out Cappuccino and see what it can do!

Cappuccino at AJAX Experience, September 30

Wednesday, September 24th, 2008

Our very own Francisco Tolmasky is speaking at the upcoming AJAX Experience conference on September 30th in Boston.

Francisco will be presenting a brief overview of Cappuccino during a 5 minute lightning talk (11:05-11:10 am), as well as a full length presentation called “The Road to Cappuccino” (1:05-2:05 pm), which will provide a more in depth overview of the technologies, as well as a history and rationale of the development of Cappuccino.

The Road to Cappuccino

with Francisco Tolmasky, Co-Founder, 280 North; Creator, Objective-J programming language

This session explores the story behind the development of the Objective-J language and Cappuccino frameworks. This will not only serve as an introduction to building Cappuccino applications, but also shed some light on why this particular course was chosen when developing these technologies.  Francisco discusses the future of the open source project and the next steps being taken with Objective-J and Cappuccino.

Cappuccino/Objective-J

with Francisco Tolmasky, Co-Founder, 280 North; Objective-J programming language

This lightening round introduces Cappuccino and Objective-J and the road to going open source. Cappuccino was implemented using a new programming language called Objective-J, which is modeled after Objective-C and built entirely on top of JavaScript. Programs written in Objective-J are interpreted in the client, so no compilation or plug-ins are required. Hear from Francisco Tolmasky, creator of the Objective-J language.

If you’re at AJAX Experience, be sure to check out these talks, and introduce yourself to Francisco! (don’t worry, he doesn’t bite, usually)

1 Week, 10,000 Downloads Later

Saturday, September 13th, 2008

It’s been an exciting first week for the Cappuccino Open Source project. We’ve gotten over 10,000 downloads of the frameworks so far and counting. We’ve already been getting bug reports, patches, and even additional documentation from the community. There’s still a tremendous amount of work left to be done and its really great to start getting help from you guys.

We’ve also been doing our best to keep up with your requests. We heard you loud and clear that you want more documentation and we are stepping it up in this regard. We’ve already posted another tutorial this week on starting to build a full scale web application using Cappuccino. If you haven’t had a chance to see it, you should check it out.  We’ll be doing several more of these in the coming weeks, so you should let us know in the comments what you’d like to see explained the most!

What’s really surprised us is the wide spectrum of people trying out Cappuccino. From seasoned JavaScript developers, to Cocoa programmers that have never tried web development before, to hackers who have done neither and just think this is a really cool idea. We’re hoping this will mean great things as far as adoption goes, but more importantly, we think this will create an influx of fresh new ideas in this space.

We also have a new release out today, 0.5.1. This includes a number of fixes that people have been requesting, as well as including updated Documentation:

  • Improved handling of command keys
  • Improved CPView graphics performance
  • Improved TextMate mode and vim syntax highlighting
  • Updated Documentation is now included in both download packages
  • And much more!  See them all here
- Francisco

Announcing Cappuccino

Thursday, September 4th, 2008

It is our great pleasure to finally release Objective-J and Cappuccino to the open source community today. We’ve been working hard on this, and we’re incredibly excited to get it into people’s hands and start seeing what they can do with it.

Objective-J and Cappuccino offer a different take on web development.

Imagine that if every time developers wanted to add a new feature to Python, or even just fix a simple long standing bug, they first had to get permission from Intel and AMD. They’d start by drafting up a proposal of the desired changes, then approach the large chip makers, try to build a consensus, and finally wait patiently while these chip makers actually did the implementing of the proposed features. Sounds a bit silly doesn’t it? Well, this is exactly the way web development works today. It’s as if at some point we all decided that the future of the core technologies of the web would be in the hands of a very select minority, while the rest of us would have to look on from the sidelines and hope for the best.

Pretty much everyone agrees that JavaScript, and application development on the web in general, are in serious need of an update. But then why has JavaScript stagnated for so long? The reason is pretty simple: the motivations of the people designing it are fundamentally split from those of the people that actually use it.  You don’t have to search very far to notice this, just look at the now defunct ECMA Script 4 proposal.  Most JavaScript programmers today could list a number of features and bug fixes they’d like in JavaScript, such as classical inheritance, better media support, and access to the webcam.  However, instead of tackling these very tangible concerns, ECMA Script 4 instead chose to focus on obscure problems like let-versus-var scoping rules. The result was an overly bloated and complex proposal that was destined to be scrapped, and more importantly, would have not pushed the next generation of web applications even had it succeeded. Ironically enough, in the last couple of years the most important developments have been proprietary additions like Microsoft’s XMLHTTPRequest and Apple’s canvas tag. Even vendors, though, aren’t in a position to move the web forward at a great pace. Browser vendors decisions are rooted in internal politics, and complicated by the fact that the major players don’t play well together.

And that’s why Objective-J is different. Objective-J is not simply a new JavaScript library, but an attempt to restore control of the language and basic building blocks of web development to the developers.  We believe in the importance of getting the entire community involved, so that we can experiment and move forward at our own pace. So while it’s true that Objective-J is great because it adds features like Ruby’s methodMissing and classical inheritance, the real beauty of Objective-J is that it already works in every major browser and it is completely extendable at our discretion. New language features can be added as necessary, and since every individual developer ships the entire runtime without a plugin, no one company can control the destiny of any other, unlike Silverlight or Flash. Perhaps most importantly, you’re not bound to our development schedule.

It’s the Frameworks, stupid.

In reality, Objective-J was built to support the real star of the show: Cappuccino. Cappuccino is essentially a port of the GNUStep frameworks (or Cocoa as more people are familiar with them), and it aims to fundamentally change the way applications are written on the web. Unlike many other libraries out there today, Cappuccino is designed with the express purpose of building desktop caliber applications that run in the browser. That’s why we chose to base this framework on proven technologies that have had thousands of successful applications written on them already, and have been proven to be one of the best development environments there is.

To be clear, Cappuccino is about building applications, not web pages. When you think about applications, think 280 Slides, or GMail, or Meebo.  jQuery, Prototype, and others do a great job of making static web pages a little more interactive, but they weren’t designed for building full fledged applications.  Similarly, Cappuccino is not for building web pages; it’s optimized for a completely different set of tasks.

280 Slides is the first app built on Cappuccino, and it’s a great showcase of what’s possible.  Cappuccino builds in many of the features you see, like the Document architecture, object copy/paste, global undo and redo, drag and drop, and great graphics support.

We’re open sourcing this technology because we sincerely want to be part of a world where there are more high quality web applications like 280 Slides. We’ll be putting a lot of resources into Cappuccino in the future, and we plan to build a strong open source community around the development platform. We can’t wait to see where you take this with us.

– Francisco

Download

Cappuccino and Objective-J are licensed under the LGPL. For more information, see our licensing page.

Copyright © 2009 - 280 North, Inc. Cappuccino and Objective-J are registered Trademarks of 280 North. Logo by Sofa. Hosting by Slicehost.