Skip to main content

What is Project Zero?

Project Zero is an incubator project started within IBM that is focused on the agile development of the next generation of dynamic Web applications.

Think Corporate Gibberish Generator meets Web 2.0 Bullshit Generator.

Why is it called Project Zero?

The name Zero is a reminder of the project's aspirations.

IBM: we took the "web" out of "web 2.0". And the "2". And the dot. And then we managed to make the "0" more complicated.

Zero unnecessary overhead and complexity.

Pay no attention to the 191 MB of prerequisites behind the curtain. (51 MB Java SDK + 140 MB Eclipse SDK)

Zero barriers to success.

For some definition of "success" that precludes using more than 4 cores, running more than 4 instances, or making money.

Zero of what you don't need.

...like freedom!

Can I contribute to Project Zero?

Contributions to the Zero Core are limited to approved IBM committers. Others may propose changes to the Zero Core, but the changes must be approved and committed by IBM. All intellectual property on such suggestions is owned by IBM.

In the true spirit of Web 2.0, we'll let you make all the content, and we'll keep all the money.

What is Community Driven Commercial Development?

I see it as developing in a room with panoramic windows -- You can see in, we can see out...

Do not tap on glass. Stay behind the railing at all times. Avoid flash photography. Do not feed the developers after midnight.

While the Community Driven Commercial Development process shares many of the benefits of open source projects,

Except the freedom.

Project Zero is a Commercial endeavor and write access is restricted to IBM approved committers.

As opposed to open source projects, where even the janitors have CVS access.

In the future IBM may choose to provide commercial offerings if there is demand for support or for use beyond the limits of the current license.

But dual licensing under the GPL is right out, because the GPL has cooties.

Does this mean IBM will not be pursuing new open source activities?

IBM remains committed to open source.

For some definition of "committed" that involves taking but not giving.

That fact that Project Zero is based on a number of open source technologies and that it represents such a significant investment on top of these technologies speaks to IBM's commitment.

More than you will ever know.

§

Source: Neil Chase's comment on valleywag.com.

Welcome to the birth of conversational marketing.

We've reinvented payola and given it five more syllables.

It's making people like you and me, who came from the world of traditional newspapers, have to learn about three-way conversations.

Three-way conversation is like three-way sex; it sounds good on paper, but in reality it's awkward and you never know where to put your elbows.

... So the next step, naturally, is for marketers to want to join the conversation.

This has never happened before in the history of conversation.

It can be done in ethical, responsible ways, and FM's authors are among the first to figure out how to do it.

I am high as a kite.

In the case of this Microsoft campaign, the marketers asked if our writers would join a discussion around their "people ready" theme. Microsoft is an advertiser on our authors' sites, but it's paying them only based on the number of ad impressions delivered.

Advertisers give us money.

There was no payment for joining the conversation and they were not required to do it.

We like money.

They're not writing about this on their blogs, and of course several of them have been known to be pretty hard on Microsoft at times as reporters. They're talking about the topic, and readers joined that conversation.

Money money money.

We're carefully expanding conversational marketing based on all kinds of new ideas that are coming from authors, marketers and our sales reps.

Our advertisers shit all over us, then leave it to us to convince everyone else that shit is the new black.

We're drafting a set of principles for conversational marketing that will help everyone, inside FM and across the industry, frame the discussion about how we do this the right way.

You too can be covered in the new black.

And we're taking care at every step of the process to make sure we don't compromise the editorial integrity of our authors.

Integrity is the old black.

Because our authors are in constant conversation with their readers, they know how their audience feels.

We're hoping our audience can't tell payola from Shinola.

If a reader feels an author has crossed a line or betrayed the reader's trust, that author will hear about it quickly.

You can post a comment in our Can You Hear Me Now?™ section.

Best,
Neil Chase
Vice President
Federated Media Publishing

Brought to you by Carl's Jr.

(with apologies to John Gruber,
who did it first and did it best)

Disclosure: I work for a company with an advertising distribution network.

§

Springtime means conference time, which means it's silly season on the web again. Adobe introduced Apollo, their latest attempt to recreate the web in their own image. Apollo is based on Adobe's own markup language, Adobe's own runtime, Adobe's own graphics and animation framework, Adobe's own video and audio codecs, and Adobe's own developer tools. You can do many things with it, but "you may not sublicense or distribute the Software. ... You may not modify, adapt, translate or create derivative works based upon the Software. You may not reverse engineer, decompile, disassemble or otherwise attempt to discover the source code of the Software. ... You may not install or use the Software on any non-PC device or with any embedded or device version of any operating system." It requires at least Windows XP SP 2 or Mac OS X 10.4.

Meanwhile, Microsoft announced Silverlight, their latest attempt to recreate the web in their own image. Silverlight is based on Microsoft's own markup language, Microsoft's own runtime, Microsoft's own graphics and animation framework, Microsoft's own video and audio codecs, and Microsoft's own developer tools. You can do many things with it, but "you may not disclose the results of any benchmark tests of the pre-release version of software to any third party without Microsoft's prior written approval; work around any technical limitations in the software; reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation; publish the software for others to copy; rent, lease or lend the software; or transfer the software or this agreement to any third party." It requires at least Windows XP SP 2 or Mac OS X 10.4.8.

(Not to be outdone, Sun is working on an "alternative" to AJAX, because "AJAX sort of deals with all of the old way of doing things. It makes it simpler, which is great, but underneath it’s still all this junky HTML, Document Object Model, CSS, all that stuff." (discussion) To their credit, they claim they will release it as open source, and I'd bet it'll work on Linux, but that's easy to say because it doesn't exist yet. Let's be polite and forget I mentioned it.)

Reactions? "The web just got richer." Well, somebody's getting richer, but I doubt it's gonna be the web. And did you hear the news? You'll write it one time, and test it one time (for real this time, we promise). And Microsoft "rebooted the web." I guess that's all you can do after freezing up for five years. Hey, look over there, shiny objects! That poster may as well be titled "Fucked 6 Ways From Sunday," because that's what you'll be if you buy into any of this.

Sigh. I used to have the strength to argue against such foolishness. Nowadays I'm reduced to nothing more than Grey's-Anatomy-esque catchphrases. Seriously? Seriously? Do I really have to explain why this is a bad idea? Again? To a bunch of technological virgins who haven't been fucked yet? Seriously?

No. Not this time. At some point, you just have to give up on virgins. Y'all have fun. Play with your vendor-specific runtimes. Don't call me when you wake up one morning with a pink line in the round window and your BFF vendor won't return your calls. If you need me (but of course you won't), I'll be holed up in my drab unpainted toolshed around the corner, quietly building applications on the web that works.

§

Source: Twitter Trouble.

Twitter is an amazing success story in terms of rapid user uptake and flattering press.

I feel I deserve an enormous share of that flattering press.

I had a chance to speak with the team a while back about the wild ride they've been on. At that time they were fielding spikes of up to 11,000 requests per second across some 16 cores with very little caching thrown into the mix to mitigate. No wonder their site had been feeling slow.

I'm going to pretend that everyone has these problems.

It sounded like they had a good plan at the time, though. Roll in a rack of new servers, look into doing substantial caching, and move beyond a single database server. The normal road to sanity employed by most any web application experiencing rapid growth.

I am a software developer, therefore this is obviously a hardware problem.

It seems like at least one of their developers felt this standard approach to scaling was too much work and decided to share his feelings about that in an interview.

Fuck you, Alex.

On some level, I can empathize with this sentiment. Rails makes the act of developing such a pleasant experience that when you need to follow the same scaling path as every other shared-nothing stack, the contrast can feel stark.

My ego is the size of Montana.

But I would still like to address two points raised in the interview. First, Alex mentions that scaling the application by adding more Mongrels and servers eventually puts a greater strain on the database. That's absolutely correct, but also the intended consequence, not an unexpected side-effect. There should have been no surprises there.

The only surprise here is that you're treating my utter disregard for scalability as a bug, when it is in fact a feature.

Scaling is the act of removing bottlenecks. When you remove one bottleneck (like application code execution), you tend to reveal another (like database queries). That's natural and means you're making progress.

Rails is an ogre, and ogres have layers.

Second, when you work with open source and you discover new requirements not met by the software, it's your shining opportunity to give something back. Rather than just sit around idle waiting for some vendor to fix your problems, you get the unique chance of being a steward of your own destiny.

My utter disregard for performance issues is entirely your fault.

This is especially true with frameworks like Rails that are implemented in high-level languages like Ruby. The barriers to contribution are exceptionally low.

I am high as a kite.

In this case, it seems that Twitter requires more sophisticated ways of talking to many databases at the same time. Alex puts it a little black and white with "...there's no facility in Rails to talk to more than one database at a time", which isn't really true, but it could definitely be done better. Last I spoke with Twitter, we discussed this and they sounded enthusiastic about being able to further this area of Rails.

I can't distinguish between people fluffing me because they want something, or fluffing me because they just can't help themselves.

It's disappointing to hear that they've forsaken that opportunity for an arms-crossed alternative.

It's disappointing to discover that there are people in the world who disagree with me.

Once the stress of having to deal with that in the moment subsides, I'm convinced that the team will grow beyond the blame game, get their hands dirty as full participants in an open source community, and contribute back their advances to the framework.

I know this sucks, and I'm waiting for you to fix it so I can take credit for it.

(with apologies to John Gruber)

§

I've been peripherally following the latest fad of full-screen "writing-focused" text editors. Here's what I've learned so far: in the beginning, there was WriteRoom (Mac OS X, $24.95). WriteRoom is "just about you and your text." WriteRoom begat DarkRoom (Windows + .NET, $0), which is also "just about you and your text" but requires a 22 MB runtime environment. DarkRoom begat JDarkRoom (Java, $0), which is just about you, your text, and somebody else's multi-megabyte runtime environment. (Depending on your platform, it may be as small as 13 MB, which is what the kids these days would call "an improvement.")

No doubt JDarkRoom will beget something even sillier, like PalmDarkRoom ("just you and your graffiti"), or iPodRoom ("just you, your text, and your scroll wheel"), or WiiDarkRoom ("just you, your text, and the incessant flicking of your wrist"). It's like a Biblical lineage of silliness.

Here's the basic problem: you're writing a text editor. Stop doing that. It's 2007. Saying to yourself "I'm gonna build my own text editor" is as silly as saying "I'm gonna build my own build system" or "I'm gonna build my own amusement park." Blackjack and hookers and all that. Writing a great text editor is insanely difficult. There is a certain class of software that sounds easy but is actually insanely difficult. I call it "garden path software." If I ever start a software company, I'll name it "Garden Path Software," but until then, just stop.

Reading the change logs of these programs is like traveling back in time. Way back. Latest changes in JDarkRoom 8: Undo / Redo. Seriously. Version 8, and they now support undo. No offense, but what the fuck?

I guess the part I don't understand is the target audience. Who is so serious about writing that they need a full-screen editor, but so unserious that they don't have a favorite editor already? I've published two full-length books and posted a hell of a lot more than that, and you can pry my text editor from my cold dead hands. I'm not even going to mention which one it is; it doesn't matter. Switching to a new one would be a frustrating and painful experience that would get in the way of my writing for weeks, maybe months.

All right, I think I've got it. (Write|J?Dark)Room is the SUV of editors. Remember when SUVs were new, and they were actually advertised as off-road vehicles? At some point the auto makers realized that no one was taking them off-road, and they switched to playing up their safety instead (which turned out to be just as much a fantasy as the off-road thing, but hey, it's advertising). I think that's what's going on here. These programs aren't for serious writers at all. They're for the writer's equivalent of script kiddies -- people who want to go to Starbucks and pick up chicks with their MacBooks and their iPods and their glowing full-screen text editors.

No doubt they will be wildly successful. Meanwhile, if you need me, I'll be in the corner writing my next book with a real text editor. I think it even has a full-screen mode.

§