Pacific Connection(英語)

Sipping Cappuccino at 280 North

この記事を読むのに必要な時間:およそ 7.5 分

The Silicon Valley dream of young entrepreneurs starting their own company is alive and well at 280 North. Named after the highway that travels the hills above Northern Californias technology center, 280 North was launched by its three co-founders while they were still college students-which wasnt all that long ago. The company has since developed its own language, Objective-J, a re-implementation of Objective-C written in JavaScript, and Cappuccino, a framework written in Objective-J for building Web-based applications. Cappuccino is now an open source project . The partners have used this foundation to build an application, 280 Slides, a free Web-based slide presentation program that accepts PowerPoint files. 280 Slides serves both as a proof-of-concept for Cappuccino and a potential money maker.

280 Norths ability to turn a profit is also of concern to Paul Graham of the venture capital group Y Combinator, which has provided both early funding and mentorship. Graham has written books on Lisp, and he co-founded Viaweb, which was later sold to Yahoo! When he first heard about 280 North, the tip-off was not so much the technology as the groups raw programming talent. “This is a lot of how Silicon Valley works: there is a lot of behind-the-scenes chatter. You hear: ‘Hey, these guys are good.’ That was the case with 280 North: they seemed not only to be good programmers, but have other qualities that are really useful in a startup. They had really good sense of design, and they were extremely determined, which is important. To be a good founder you need to keep your morale up in tough situations. We also liked that they were bold enough hackers that they were not just writing applications, but building an application platform.”

Like 280 North, Y Combinator is an example of America’s ever-evolving technology culture. The venture capital firm migrates like a bird, spending the summer months in Cambridge, Massachusetts, the winter in the Silicon Valley. Newly funded companies are expected to work out of either location for three months: the New York Times called Y Combinator “a hatchery for replicant hackers.” The firm funds companies in the earliest stages, rarely investing more than $20,000 for a small stake of the company. “We’re like first gear,” Graham says.

Graham thinks that 280 North is essentially following Microsofts model of build your own development platform, then build applications on top of it. The modern twist is that the platform, Cappuccino, is open source. The broader idea behind Cappuccino-Web-based applications that run via the browser-is also being pursued by more established companies, including Adobe and Google. But Cappuccinos closest rival is SproutCore, another open source web application framework, which employs HTML, CSS and JavaScript, whereas Cappuccino is strictly about JavaScript. SproutCore picked up momentum when Apple used it for its MobleMe data synchronization program. SproutCore developer Charles Jolley has argued that the most successful frameworks “embrace their platform instead of trying to hide it,” whereas 280 North talks about the reduced learning curve from not having to go beyond JavaScript.

The rivalry seems friendly enough, and ultimately, Cappuccino and SproutCore may both attract separate followings who are each pursuing the same goals. Ryan Carson of the UKs Carsonified wrote that Cappuccino and SproutCore collectively represent a shift away from the client-server model, enabling asynchronous, offline, web applications to be launched right inside the browser, yet can work online or off. “And even more interesting is this: if you use Cappuccino, those apps will automatically look and behave like OS X native desktop apps-with zero learning curve on the developers side.” Developers can concentrate on building applications “instead of trying to re-invent basic UI functionality every single time. You might be saying ‘Duh. You can already do this with [Adobe] AIR or Silverlight. Whats the big deal?’” The answer, Carson says, is that these technologies are open source. “I think this is very important as it ensures the ideas arent directed by one specific company or organization (and their financial goals).”

As for Graham, he has no illusions that all software will eventually be built on top of Cappuccino. “But pretty much all software will be built on top of something like Cappuccino. Even Microsoft is gradually and grudgingly moving their applications to Web-based versions. All software data is going to live on servers and youll have some kind of application that is dynamically updated, and sort of runs on your computer and sort of runs on the server.”

Thats what 280 Norths three partners-Ross Boucher, Francisco Tolmasky and Tom Robinson-have in mind for Cappuccino: a framework for building applications that use the client and server to best advantage without relying completely on either one. Boucher, who graduated the University of Southern California in 2006, worked for Apple on back-end server technology for iTunes. Tolmasky graduated USC a year later and worked on iPhone development. Tom Robinson, who graduated in January 2008, went straight from college to entrepreneurship.

Robinson spoke with me by phone:

How did 280 North get started?
We all met at USC as undergraduates, all majoring in computer science. After graduating, my colleagues, Francisco Tolmasky and Ross Boucher, worked at Apple for a short time. I just finished school last year. But we actually began the business while we were in college with the idea of making it easier to write Web applications. Our background was mostly in building desktop applications running on Macs OS X. But when we tried to do similar things on the Web, we found it a lot harder to create real applications in HTML and CSS. Its easy to make dynamic Web pages, but when you try to go beyond that, the model breaks down.
Isn’t this already a crowded space?
Of course there are technologies like Java and Flash that do this, but we wanted to do something with JavaScript that didnt require any plug-ins. We also wanted to push as much application logic as possible to the client while still using the server to deploy the application and store data-as opposed to server-side web application technologies like Rails. The advantage is that you can access your application anywhere. Users dont need to download any special plug-ins or worry about what version of Flash or Java they have, and they get instant updates. For the developer, the main benefit of Cappuccinos being interpreted on the client side is that you dont need to keep recompiling for every change you make. You just refresh your browser and the new version works.
You wrote Cappuccino in your own language: Objective-J. How did that project come about?
We started out by trying to create a tool to build dashboard widgets-a widget being a small application traditionally written in HTML and CSS. But soon after we started, Apple came out with Dashcode, which generates JavaScript code and did exactly what we were trying to do. Dashcode isnt widely used, but its bundled with Xcode in Leopard-so its free. So we broadened our focus, realizing this technology would be useful for any sort of Web application, not just dashboard widgets.
We began by adding features to JavaScript. For example, in JavaScript there is no easy way to do classical inheritance-which is the main thing that Objective-C added to C. So our goal was to add the same kinds of object-oriented features, but put them on top of JavaScript. Ultimately, we decided to go all out and try to re-implement Objective-C entirely in JavaScript. We didnt have any of the original Objective-C code, of course, so we wrote it from scratch. That project became Objective-J-J” as in JavaScript. Objective-J code is converted to JavaScript using the browsers own interpreter.
How does that work?
Objective-J adds a few syntax enhancements to JavaScript, which wont be understood by the interpreter. So we preprocess the code. We convert Objective-J code, which is mostly JavaScript, into pure JavaScript. The process is seamless to the developers. There are no explicit compile steps; the conversion happens automatically when it loads into the browser.
How close is Objective-C to Objective-J?
Its very close. If you know C and JavaScript, then its just a matter of understanding the differences between them. If you already know Objective-C, its not too difficult to learn Objective-J.
For some developers, the steepest part of the learning curve will be the Cappuccino framework, which is a re-implementation of the Cocoa APIs built with Objective-J. Those APIs began with Nextstep and OpenStep-which became Cocoa when Apple bought NeXT. But there are also some other implementations of the Cocoa APIs, such as the open source GNUstep. Theres also Cocoatron, which is essentially Cocoa on Windows. Cappuccino is Cocoa on the Web. It provides developers with a solid foundation of technologies to develop very rich web applications. It gives you features like undo, copy/paste, document management and better graphics, together with a rich set of UI widgets.
Cappuccino has been mostly compared with SproutCore. Are you saying Cappuccino’s advantage is in a faster learning curve?
Cappuccinos learning curve is minimal for anyone who already knows Cocoa and Objective-C, but it is substantial for anyone who doesnt-though I wouldnt say its any more so than learning HTML, CSS, and JavaScript for multiple browsers. CSS, especially on different browsers, takes a while to master.
Are you suggesting that SproutCore and Cappuccino are really for two different types of developers with different kinds of background?
Yes-they both have similar ideas and goals. SproutCore still uses HTML and CSS, whereas when you write a Cappuccino application you never touch HTML or CSS. Thats an advantage for a lot of people, but if you are used to HTML and CSS, you might prefer SproutCore.
Whereas if you have an Apple development background, Cappuccino sounds like it might be a better fit.
Definitely. Even if you dont, we still think the benefits of it are worth learning it if you are trying to make the sorts of applications that Cappuccino is useful for.
When did you decide to make Cappuccino open source?
We always knew we wanted to go open source, but we just werent sure when to do it. We only licensed the framework under the LGPL [GNU Lesser General Public License] in late summer. This is a very young open source project.
Is there an open source development community forming around the project?
Yes. Theres a pretty significant sized IRC chat room and mailing list that we are always hanging out in and helping people out with their problems. It gets pretty decent traffic.
There’s been quite a bit of work on JavaScript engines lately. Does that benefit the overall value proposition of Objective-J and Cappuccino?
Our overhead is fairly minimal, but its always great for us to have faster engines-our applications will run faster for free. Anybody who uses the new browsers gets a speed boost for free. The latest versions of Firefox and Safari are our recommended browsers.
Have you seen any boost in Google’s Chrome browser?
Chrome is also very fast, but is not, that weve seen, significantly faster than Safari or Firefox.
Besides 280 Slides from you, I’ve haven’t seen any other applications developed under Cappuccino. What’s in development?
There are not a lot of other applications out there right now, just because this is such a young project. But there are a few people in the open source community that are beginning to share what they are working on. Weve seen a media player similar to iTunes, a Twitter client, and a dashboard-type home screen with a bunch of widgets. If you are doing something very simple, the overhead of Cappuccino is probably not worth it. The application needs to be sufficiently complex in order to benefit.
What about porting apps to the iPhone?
In principle, that should work because the iPhones browser is based on the Webkit open source browser engine. Were still working on optimizing Cappuccino for that very limited memory, but there is definitely potential for Cappuccino on iPhone applications.
What’s the revenue model for 280 North? Do you plan to make money by developing more apps?
Weve got several things in progress that I cant talk about, other than to say that we think 280 Slides, which is free, has the potential for a premium, fee-based version. There are a lot of features we could add and charge for. Thats one option. Another is in building a business around Cappuccino.
You and your colleagues are part of the newest generation of Silicon Valley entrepreneurs. What’s that like?
Its a lot of fun and a lot of hard work-but its great being here. Pretty much every week were going to some sort of event, whether its an entrepreneur meet-up or a technical talk or parties with different start-ups. Silicon Valley definitely seems like the place to be for start-ups, especially young start-ups. Y Combinator also provided a great network of people doing interesting stuff.


Bart Eisenberg

Bart Eisenberg's articles on the trends and technologies of the American computer industry have appeared in Gijutsu-Hyoron publications since the late 1980s. He has covered and consulted for both startups and the major corporations that make up the Silicon Valley. A native of Los Angeles and a self-confessed gadget freak, he lives with his wife Susan in Marin County, north of San Francisco. When not there, he can sometimes be found hiking with a GPS in the Sierra, traveling in India, driving his Toyota subcompact down the California coast, or on the streets of New York and Tokyo.


1980年代後半より,『Software Design』や『Web Site Expert』などの雑誌に,アメリカのコンピュータ業界のトレンドと技術に関するレポートを執筆しています。シリコンバレーで,スタートアップ企業から大企業まで幅広い分野でコンサルタントを務めました。

ロサンゼルス生まれで,自称ガジェットフリークです.現在,妻のSusanとともに,サンフランシスコ北部のMarin County在住。また,SierraのGPSを携えてハイキングしたり,インドを旅したり,カリフォルニア海岸をドライブしたり,NYや東京の街中を歩いたりしています。