review


19
Mar 08

WordPress Plugin Format

Google Summer of Code has announced this years’ OSS projects that have been accepted to the program. While going through the list I stumbled upon some features that I would really like to have in WordPress, like Plugin Update Notification, One-click installation of themes/plugins and this, that and this. They all have something in common, they all require a better plugin format!

There are tons of plugins out there and only a couple support these features. Why? Well, if you look at the Writing a Plugin documentation you see that a plugin can be packaged absolutely in any possible way.

Plugins can be zip, rar, gz, bz2 etc. archives. They can contain any number of subdirectories that the administrator has to copy to certain other folders and the requirement of meta information is quite relaxed. The automation of installation, upgrade, deletion, versioning for all the plugins is impossible with such relaxed rules.

WP plugins (like the others already have — FF extensions, Eclipse plugins, Google Gadgets, WARs …) should have a solid structure so that the management of the plugins could be automated. One click install, update notifications or automatic updates, public repositories and other cool features can be built upon this.

Besides all the other great ideas already posted I’ve submitted one that would try to address these problems from more ground up.


19
Feb 08

Aptana Jaxer or sliced bread?

Sometimes a technology appears that is just so damn cool you are amazed. More often than not the ideas behind it can be quite simple.

Aptana Jaxer is exactly such a technology. There is nothing new about having a server-side API. There is nothing new about building applications in HTML and JavaScript. The genius part is running Mozilla engine on the server-side and having access to full server resources from the browser via a controlled environment with no extra layers.

As far as I understood the communication between server and client is done by:

  • DOM updates are seamlessly propagated from the server to the client
  • Function calls can be proxied to call to the server. All marshalling is done automagically

This pretty much means that code runs seamlessly in a mixed, secure environment.

Although the “runat” attribute that controls whether code is run server-side or client-side can be a bit unlogical at first, the setup can allow to build powerful applications with only one (count it, one) technology — HTML and JavaScript. And this is the technology you have to use anyway to even deploy something on the web.

Of course “the one technology” suffers from being dynamically typed and generally known for its quirkiness, but with JavaScript 2.0 support on the way to Mozilla and good IDE support (which Aptana is in a good position to provide) this technology might yet give a fresh meaning to the word web application.

An interesting question I’d like to ask from the Aptana developers is if we can add a third environment to the mix — desktop applications? Having the same API to use on the server, in the browser and (with less restrictions) on the desktop could give Adobe AIR a run for their money.