Mashups

So I tried to think about the web from the perspective of an application platform. Having built what we have, what could we do differently if we could do it from scratch? Clearly, security is one of the biggest problems. It is a problem with existing applications, but many of those security holes can be protected against with effort. The even harder security problems are the ones that have no solution. The kind that are attempting to be solved by Google Gears. Mashups have become a popular idea that cannot meet their true potential due to insecure connections between domains/owners/code bases.

In a recent presentation by Douglas Crockford, he talks about moving the web forward. There is a lot of great stuff here. There always is. But there are two major things that I wanted to address.

  1. “The next great leap [in software] might realize the dream of assembling software like Lego.” He further stated that that leap was being realized already through Mashups.
  2. Mr. Crockford goes on to describe how the current web technologies (both open AND closed) are far too insecure for anything but the most trivial Mashups. He then lays out how the web can move forward:
    • Safe JavaScript subsets (Caja, Cajita, ADsafe)
    • Communicating Vats (Gears)
    • Secure Programming Language (?????)

Interestingly enough, I recently saw something on InfoQ about “Lego” software in a presentation called, “The Lego Hypothesis” by James Noble. His presentation is worth a listen, but it is long and rambling and a little hard to summarize as easily as Douglas Crockford’s. However, the subject matter was relative. He discusses the history and feasibility of the dream of Lego block software. The same concept as described by Crockford in his presentation that he believes will be the “next great leap”. Noble demonstrated the complication in the Lego dream. Mostly that it’s a lot more complicated than plugging different parts together. You cannot build a complete application out of simple reusable parts. Some things have far too many dependencies to be simply abstracted into a reusable plug interface. In contemporary programming the best we can hope for is to glue together what we can to reuse.  Near the end of the presentation, he did in fact point out how Mashups have the right idea and that more and more software will go in that direction.

I agree with Crockford and Noble. The fact is that modern software and the web are fully intertwined. There is no going back to the dark ages of isolated machines. It’s not just about RIA anymore. And the fact is, as we move more and more towards networked information, we will need the ability to integrate between parties that have to operate under mutual suspicion. Crockfords third point about how the web can move forward has some question marks next to it, but I hope that Spindle can be a possible solution. A language with the goals of secure distributed computing.

I know I keep putting this off. I started this post with the intent of actually describing Spindle, but I guess it’ll have to wait till next time.

Where our hero does some hand waving…

…and pretends like he didn’t disappear into the void for over a month.

I hate to say it, but this blogging thing is tough. Between spring cleaning, a five month old baby, and a startup company, time can sometimes be a problem :) As for actually making any progress on code. I think that might be a pipe dream at the moment. Oh well. I’ll do what I can.

In my absence, there has been SOOO much great stuff going on, and I just wanted to mention them.

  • YAHOO! BrowserPlus was released. Its kind of like Gears but with a different slant. Different goals. It hasn’t completely opened up yet, but they claim it will soon, so that’s exciting. Unlike Gears, I’m pretty sure Y! is not as concerned about implementing/creating new standards. Maybe something like JSONRequest could go that direction, but certainly not FlickrUploader. I would actually say that if there was anything that might be considered a “new browser standard”, it would be the idea of cross-browser plugins. Unlike Gears which is closed to plugins by design, BrowserPlus is specifically built for the purpose of being pluggable. Imagine if you could write a Firefox plugin that could be used cross-browser, wouldn’t you be more likely to write one?
  • Google Gears turned one and became just Gears! – I’m really happy about this. After talking to Brad, I could really tell that the Gears team’s vision was set on helping bring all browsers up to speed and focus on new and old standards. I thought that was great but it always really bugged me that it was closely affiliated with Google. Dropping the “Google” part of the name is the first step, so “Good job guys!”. The next step would be to move the governance of the project outside of Google.
  • SquirrelFish – So awesome. Those webkit guys just make my day every frickin time. Too lazy to click the link? SquirrelFish is a new superfast JS vm runtime. Benchmarks show it faster than Tamarin at the moment even.  Not much need for explanation here. The better performance runtimes we get for the open web, the better it can compete against proprietary competition!
Ok, I guess that’s enough for now. I really don’t want to turn this into a news aggregation blog, regurgitating things that I think are cool. You can just go to Ajaxian to see where I get MY news from. However, news regurgitation is easy, and I needed to write something. Also, I feel like such a negative nancy sometimes and I thought a positive post would be nice for a change.