File this site with IsTwitterDown.com and IsKottkeKottke.org.
Update: An important status page from the Large Hadron Collider.
| Subtitle: | A public record of my projects and related works. |
| Keywords: | Bit Henge Favorites Fingernail Clippings Ogoglio Transmutable |
| Streams: | trevor.smith.name twitter reader linkmonger flickr |
| Search: |
« April 2008 | Main | June 2008 »
File this site with IsTwitterDown.com and IsKottkeKottke.org.
Update: An important status page from the Large Hadron Collider.
May 30, 2008 at 01:18 PM | Permalink | Comments (0)
You know when you have ideas which just won't go away; those nagging little realizations that the state of the world isn't optimal and that you might know how to make it better given a little time to run experiments?
Two years ago I had the idea of making online 3D spaces into just another web data type and I'm still working on that, but in doing so I've run across a few other ideas that just won't fall off the back burner. It doesn't help that I ate a lot of lunches with Ian Smith who's scary smart and he helped me kick these ideas into shape.
It all started when I realized that no matter how slick our web stacks become they quickly reach a scale beyond which we invariably end up debugging the raw materials of the modern web: HTTP, SQL, and Ajax. Despite taking on the mental load of stack abstractions (e.g. IoC, ActiveRecord, JPA, Hibernate, GWT...) we don't really enjoy the benefits of ignoring lower level code. The burden of development with these stacks is often heavier than without them because the details of the raw materials have been hidden from us so debugging involves wading through strange territory.
In other words: Web abstractions always leak at scale.
At the same time the web development community shrugged off a lot of abstraction misconceptions from early HTML by embracing a style language, CSS, and a pattern for sub-page server interaction, Ajax. We're pushing forward a pure separation of presentation logic from service logic by forcing everything in our services through RESTful APIs and fronting them with Ajax UIs. Combine that advance with a development-time cascading template tool to eliminate duplicate Ajax code, and suddenly the httpd can serve UIs like any other static files, enabling a huge reduction in web tier CPU load and pushing the presentation logic to the browser where it can be more responsive.
In other words: Web presentation logic belongs on the client..
One day, during a particularly frustrating session spent debugging a load balancer, apache servers, a Tomcat cluster, a log4j service, and a MySQL cluster, I realized that though the idea of "once and only once" is making its way through each horizontal tier, it really hasn't happened vertically through the stack (yes, even in Rails). How many transliterations does a value in your database go through when making its way to a user's browser, and how many times did a developer have to make decisions about those transliterations? MyISAM to JDBC to POJO to XML over HTTP to Javascript object to HTML element... and at each layer we're burning time installing, configuring, updating and debugging the abstraction libraries.
In other words: Web stacks need vertical unity.
Finally, with the arrival of open cloud toolkits like the Google App Engine and Scalr for EC2, we're quickly approaching a time when you will be laughed out of the boardroom if you suggest that you should manage your own rack of servers for anything except the most exotic of web applications. Despite experiencing first hand the growing pains of EC2, I firmly believe that the reduced cost of dynamically allocating CPU cores and the efficiencies of scale for hardware management are enough to sustain the cloud businesses through their awkward adolescence.
In other words: Web apps are cloud apps.
Watch this space for the results of my experiments with these ideas. In my Copious Free Time I plan to cherry pick technologies from existing open stacks and assemble prototypes which allow me to experience what our world could be if these ideas took hold.
May 30, 2008 at 12:46 PM | Permalink | Comments (1)
As I approach the two year anniversary of my first public post about the Ogoglio project, Foundations, I happen to be in a period of introspection; at a pivot point in my life. Coincidentally, I've also had the chance to spend a few hours in an online city not entirely unlike the online city I'm dedicated to building. Though this other city, Liberty City, was designed for a very different function than Ogoglio City, many of the techniques and technologies underlying it are the same and it was built in roughly the same period that I've been working on Ogoglio City.
A few points of comparison:
Point #1: Rockstar, the makers of Liberty City, had a budget of US$100M and a team of 1000 people. Those numbers includes marketing, distribution, licensing, and production costs but that's three orders of magnitude more money and more than 300 times the headcount than has been applied to Ogoglio City.
Point #2: Grand Theft Auto IV, the game in Liberty City, has grossed US$400M in about a week, making it one of (if not the) largest entertainment launch in history, and it is receiving top marks and kudos from industry rags and my gamer friends. Ogoglio City is basically unknown outside of serious virtual world wonks and the occasional Forrester report.
Point #3: I'm exhausted but recovering. This period of my professional life has been a mixture of optimistic public work and hectic business development. With my left hand I've been directing time and resources to the creation of an open platform for online cities and with my right hand I have been the fledgling chief executive of a startup aimed at merging 2D productivity web apps with simple online spaces. The efforts aren't entirely independent, but they're not entirely in sync and the balancing act has been hard on me physically and very hard on my personal life. I'm back on a good path, but there were costs.
When I look at the progress made towards Ogoglio City in comparison to what can be done with resources like those that went into Liberty City, it's clearly time to change organizational strategies. I have a clear picture of where the project needs to go culturally and technically, but the time for bootstrapping startups is past.
Option #1: Create a non-profit, raise money from VW companies, use that money to fund group events, a content library, and more open tools. This would require some group to immediately step in with a large enough donation to make this very low-risk for me, financially.
Option #2: Find a host company forward thinking enough to hire me to work on the Ogoglio project for some portion of my workday. The Ogoglio platform is already in use in a few internal projects at companies which are growing, so it's not out of the realm of possibility that they might find it in their best interests to ensure its continued development.
Option #3A: Recruit a new project lead and hand over control to someone with fresh ideas and resources, then go join a company with interesting problems.
Option #3B: Make Ogoglio City a hobby project, return to my previous career as a software engineer and geek wrangler for innovative software companies.
Right now I'm investigating the possibilities of options #2 and #3B. The companies in the running for the former are smaller and remote, while the front runner for the latter is huge and local, but is apparently excellent to employees. (No, it's not Microsoft.)
Based on the email and comments you've sent about various posts to this blog, I know that a fair number of VW pros read this feed. So what do you think? Fish? Cut bait? Go pro? Moonlight?
May 06, 2008 at 07:11 PM | Permalink | Comments (0)
Now that Google Reader has added a few much needed features, I'll no longer be using del.icio.us. One side effect is that my link feed will no longer be added to this weblog.
If you'd like to see what I find interesting while browsing, check out my shared links page (mit der feed)
May 05, 2008 at 09:13 PM | Permalink | Comments (1)
Since Cory was nice enough to release his new book under an open license, I mixed up a "Little Brother" speed reader.
Enjoy!
May 05, 2008 at 09:12 AM | Permalink | Comments (0)
May 02, 2008 at 01:30 AM | Permalink