A common thought pattern starts with optimism:
*ding* Wow, wouldn’t it be cool if my browser could do X?
As a developer, I would love to be able to do Y.
And then you often get to disillusionment:
Bugger, but if IE doesn’t support it, I am screwed.
I think that there is probably a good connection between Hope and Web innovation. I have felt this many times. If I feel like I can do something, I go after it with vigour. On the other hand, if I know that after a ton of work it won’t work for a large number of people, then I am far less likely to take her home.
I have talked about this a bit before, but I would also love to do smart work with respect to registering libraries enabling sites to not have to re-download and compile them all the darn time. We register Dojo, Prototype, jQuery, YUI, GWT, and [insert your favourite library] in a versioned way, and these versions can even be optimized for a particular browser. Instead of the
if (thisbrowser) crud that we still see now and then (instead of the if (FEATURE)) we could have browser specific code, and all of the code can be compiled to be super fast.
When an application loads Dojo v1.0.2, it is swapped in with crazy speed.
If we ever get to this reality, then think about how things change. All of the optimizations and “keep my library to 3kb” arguments change. We always want nice small libraries, but we won’t have to make the compromises that we have had to in the past. We can do more in these libraries.
Gears isn’t the only solution here of course. Browsers can do this too. Ideally, browsers would do it, and Gears would be there to once again mop up for browsers that don’t implement it.
Wot no server?
There is also the server side of the equation. I have long thoughts that:
It needs to be:
- Crazy fast
- CDN (see: crazy fast)
- Access is given to the projects themselves to manage (not run by one company person)
- Community driven
We have had JSAN, and other sites out there, but we need a big guy to come along. Yahoo! does it for YUI. AOL does it for Dojo. I want someone to do it for everyone. Of course, I would love Google to be that place, but I don’t care who actually does it. Google already has a bunch of people using Google Code to hotlink to their libraries, as it actually fulfills most of the requirements. There are some issues such as the fact that it only works for open source projects, and how it isn’t explicitly made for this purpose.
And there is more…
You can also take the case where Gears swaps in a JS 2 engine and generalize it. What if someone came up with a new CSS engine? Or any other library that makes sense to be cross-browser-platform. Hmm.
Other Future APIs
- Crypto API
- Developer Tools
- Factory API updates
- Blog API
- Logging API
- Messaging API
- Location API
- Desktop Shortcut API
- Image Manipulation API
- Introduction to the series
Disclaimer: This is me rambling about APIs and tools that I would love to see in Gears, or the Open Web as a whole. Do you have ideas for cool Gears that make the Web better? Let us know!.