Web Info & Tutorials

April 8th, 2008

JS TIME MACHINE

Kristian Thornley had a unique requirement for displaying data change overtime and thought that he would build a Mac Leopard JS Time Machine.

JavaScript Time Machine

Kristian told us that “currently the effect suffers if the data in the panels are too detailed and I will probably set up some event handlers e.g. onScale preScale postScale which could trigger Ajax calls and preload data a bit like Livegrid.”

April 8th, 2008

MOOWHEEL: UNIQUE DATA VISUALIZATION

Josh Gross, the creator of the Ajax-powered AjaxIM instant messenger, has come up with a unique way to visualize data:

The purpose of this script is to provide a unique and elegant way to visualize data using Javascript and the canvas object. This type of visualization can be used to display connections between many different objects, be them people, places, things, or otherwise.

By using MooTools, CanvasText (for text support with canvas elements) and ExCanvas (for IE canvas support), he was able to produce an interesting UI for showing off data.

It’s a very cool effect and I’m sure has applicability within applications. I’d like to hear from the Ajaxian community how this might be used. Thoughts?

April 8th, 2008

CHANDLER SERVER UPGRADES TO DOJO 1.0.2

The Chandler Project, an open source, standards-based information manager, has upgraded their OSS PIM to use Dojo v1.0.2. The upgrade has provided for improved performance and extended the UI capabilities via Dojo’s user interface building API, Dijit.

The first changes I’m excited about are, like our latest release, less wholesale modifications than improvements and commitments to stable APIs with performance enhancement sugar to sweeten the deal. Dojo’s internationalization (i18n) and event APIs have matured to the point where developers can expect to rely on them without fearing a future change like the one we’ve just experienced. As a result we’ve begun the process of migratating our custom i18n code to Dojo’s API, away from the custom, backend dependent code we’ve used in the past. We’ve also started streamlining our use of Dojo’s topic APIs to make our code easier to read and understand. Both these processes are works in progress, so keep an eye on this space for more detailed information in the future.

Notable updates include:

  • Updates to the administration interface to leverage dojo.data & Dijit UI components
  • Extensive use of dojo.query for DOM manipulation

Full details of the upgrade can be found at The Chandler Project Blog.

April 8th, 2008

WHAT DOES GOOGLE APP ENGINE MEAN FOR AJAX DEVELOPERS?

I have been really looking forward to seeing the Google App Engine launch, and get in the hands of developers. This is just a preview release, and I obviously would like to see more languages and frameworks above and beyond Python and what we have now. The non-Pythonistas will all be saying “what about [insert my language and framework]”. Slowly, slowly, catchy, monkey.

What is the Google App Engine?

Google App Engine lets you run your web applications on Google’s infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. With App Engine, there are no servers to maintain: You just upload your application, and it’s ready to serve your users.

You can serve your app using a free domain name on the appspot.com domain, or use Google Apps to serve it from your own domain. You can share your application with the world, or limit access to members of your organization.

App Engine costs nothing to get started. Sign up for a free account, and you can develop and publish your application for the world to see, at no charge and with no obligation. A free account can use up to 500MB of persistent storage and enough CPU and bandwidth for about 5 million page views a month.

During the preview release of Google App Engine, only free accounts are available. In the near future, you will be able to purchase additional computing resources.

You have to understand the limitations, and the model that is being used. In my mind this is very different than other solutions like EC2/S3. There are very different use cases at work choosing between a low level (and hence very flexible!) provisioning system like EC2, and a deployment solution that gives you a sandbox to deploy applications. Google App Engine is a full stack.

The stack gives you access to Bigtable, which also means that you are not in the world of booting up MySQL. You do things “the Google way” and some people will like it, and some will not. That is fine!

What excites me about this, is that I often have a bunch of little applications that need a host. Sometimes it can be a pain to setup. Other times you would like to make the service public but don’t want people to go hog wild and give you bandwidth costs and contention for your other apps on your host. Now I have a simple place to put these little apps, and this is where Ajax comes in.

As we develop richer applications with more client side logic, and natural service separations, we can create these modules as Google App Engine apps that do one thing well. There will be a natural fit for applications built with GWT, Flex, and other rich component toolkits.

Google App Engine doesn’t give you something that you couldn’t do in an Ajax application, but it does give you a place to throw up these services in short order. This is one step on the way to the world of DEPLOY. There are other services with different tradeoffs, such as Heroku.

I would love to see JavaScript on the server as an option, but that is back to language wars….


April 8th, 2008

WEB ARCHEOLOGY: JAVA PLUGLET API

I started a newborn program of posts on Web Archeology where I countenance backwards at older Web school to maybe glorious whatever rousing from the future. I am re-posting from my example blog

Stone Henge-esque

Even since Ben and I looked at the notes for the prototypal edition of Mozilla that based XMLHttpRequest, which departed took the profession from “Some ActiveX for IE” to “Ajax”, I hit been fascinated in unseeable technologies that maybe never prefabricated it. In those notes for that promulgation we saw no name of XMLHttpRelease, but profession such as FIXptr was prominently mentioned.

Also, something engrossing most Ajax is meet the fact that the profession was acquirable since 1997, but didn’t attain it bounteous until whatever more Dilbert calendars later.

This points to the fact that there haw be whatever unseeable gems in the instance that could also be resurrected in the now! As I countenance backwards in time, I intellection I would speech most whatever that welfare me in whatever way. Hence, the Web Archeology ordered of postings. If there is a profession that I am missing, gratify permit me know!

Today I am feat to speech most the Java Pluglet API. This profession is conception of the Blackwood send at Mozilla, where it was created in 1999 by Igor Kushnirskiy & Akhil Arora.

Let’s achievement backwards to 1999 for a second. Imagine employed on Mozilla in a anxiety where you had to futz with a aggregation of XPCOM and C++ to physique things. XUL came most a artefact to accomplish discover via more Web-y profession to intend impact finished (XML, JavaScript, CSS, etc). In 1999, Java was a horny language, and everyone was effort primed for strange computer lateral Java with enthusiastic profession same EJB ;)

What if the Java developers could intend in on the application state and amend flush plugins for Mozilla? This is where the Java Pluglet API comes in. It allows you to do meet that, mimicking the C++ lateral of the house:

It was a semiconscious organisation selection to hit the Pluglet API resemble its C++ duplication as such as possible, patch existence healthy to emit every of its functionality to Java, so that Plug-in writers module not hit to wager ease additional API. This concern, in our opinion, outweighed another alternatives which offered a cleaner, more Java-like look. Support for another Plug-in APIs crapper be easily additional by tributary adaptors.

How you run the pluglet is via roleplay types. You could create application/wicked-cool and when that comes backwards from the server, Mozilla module feature “hmm, I don’t wager this roleplay type, Pluglet Engine do you?”

At a broad take the intent of composition extensions in Java makes amount significance to me. It is apparently interbreed platform, but ease baritone take enough, with a Brobdingnagian accumulation ordered to intend a aggregation done.

Isn’t this dead?

Probably? Ed comedian did travel up to the bag though and reenergized the send recently. As conception of the resurrection you crapper today programme direct between the Java lateral and JavaScript itself.

If you abnormalcy a little, you wager an engrossing plugin line for the browser. I ofttimes feature that I would fuck for Gears to be prefabricated using Java instead of C++!

Dimitri Glazkov spinous to the custom trainer hold that has been given in HTML 5, and Ray general linked to his GWT 1.5 posting as a artefact to modify the application using Java.

April 8th, 2008

PI.DEBUGGER: CROSS BROWSER DEBUGGING

Azer Koçulu has added to pi.comet with a new cross browser debugger pi.debugger.

The look is inspired by Firebug:

Pi Debugger

Check out the open source project.