Clean Ajax


Clean Ajax is an attempt to make Ajax development easier. Clean Ajax is inspired on the Java Message API and offers a reliable solution to Ajax.

Below are the features that Clean Ajax promises.

Features Provided

Clean focus is on simplicity and speed on development, keeping the focus only on AJAX issues.

It is very important to note that the sense of simplicity does not mean poorness, so Clean is not negligent with AJAX
problems and needs. To accomplish the mission of improve AJAX applications Clean provides:

  • A high level of abstraction, you can use just one facade to work with AJAX, abstracting everything else.
  • Configuration by exception, the messages require mimimum explicit configuration to work.
  • Simple way to customize message's behavior and apply your on logic to them.
  • Multiple request handle, the engine is able to handle multiple requests simultaneously.
  • Exception handle, the engine is aware about exceptions that can occur and how to report them.
  • Trace console to monitor messages life cycle.
  • Cache and history control (new on version 4.1).
  • Message queue used to manage the requests.
  • Garbage collection.
  • Integration with WebServices based on SOAP and XMLRPC protocols.
  • Cross-browser implementation compatible with the major browsers (Internet Explorer, Firefox, Mozilla,
    Opera and Netscape).

You can read more about Clean Ajax here and you can see some nice demos here. To download Clean Ajax here.

Below is the code from the planet example on the demo page.

				function showError(e){
				function get(url, consumer, progress_bar, cache){
				  var message = Clean.createSimpleMessage(url, consumer, showError);
				  if(cache != null)
					message.cache = cache;
				  if(progress_bar != null){
					var progress = new EmbeddedProgressBar(document, progress_bar);
					message.progressBar = progress;  
				function post(url, consumer, form){
				  var message = Clean.createSimpleMessage(url, consumer, showError);	
				  Clean.postFormByName(message, form, false);

The code used does look very clean and small. I think there can be a lot of good uses for Clean Ajax and look forward to playing with it more.

Writing Your First YUI Application


If you are interested in creating applications using the Yahoo! User Interface then you may be looking for a good resource to get started. Well, over at O'Relly's Inside RIA they have put together a good post to help you get started.

Below is an excerpt from the post.

Getting Started

YUI consists of several CSS components and nearly three dozen JavaScript components, all of which are designed to empower the rapid creation of web applications that run in all the major web browsers. Yahoo! uses a Graded Browser Support approach in which we "white-list" a subset of browsers that we'll fully support — we call these the "A-Grade browsers," and, taken together, they represent more than 90% of traffic on Yahoo!'s network worldwide. YUI is tested and supported in all A-Grade browsers (including current versions of Safari, Opera, Firefox and Internet Explorer).


The best way to think about YUI and what it does for you is to consider the difference between the user interface language of the browser as compared with the desktop. In the browser, the "default" language is relatively limited. You have form elements (buttons, select menus, text inputs) and hyperlinks. On the desktop, you expect much more: Tabs, sliders, cascading menus, dialogs, tooltips, data grids, rich text editing, drag and drop, animation, autocompletion, and so on. Here's one way to visualize this difference, with the browser's native UI elements on the left and the richer set of desktop-style UI elements on the right:

In the browser, everything on the right side of this diagram requires some hard work. YUI, like other JavaScript/CSS libraries, aims to make that work less hard.

You can read the full post here.

The Yahoo! User Interface is a great JavaScript library and this will give anybody that wants to learn it a good jump start.

BuddyBlend Adds LinkedIn Support


The latest application from Ajaxonomy Labs, BuddyBlend, has just added LinkedIn support. As you know LinkedIn is one of the most used social networks for business professionals. So, we hope the addition will be very useful to all of our users.

If you haven't started using BuddyBlend yet, you may not know that BuddyBlend is a free service that makes it easy to find out what your friends on various social networks are up to. BuddyBlend is an attempt to make it easier to keep track of your friends and easier to setup tracking your friends by allowing you to simply put in your username for a social network and then it will get what your friends are doing (so, you don't need to make friends all over again on a "sub" social network). BuddyBlend also allows you to filter the content that appears on your BuddyBlend, so you can get right to what you are interested in.

LinkedIn is the latest addition to the social networks on BuddyBlend which include the below.

To all of our BuddyBlend users we hope that the addition of LinkedIn will be very useful to you and if you haven't started using BuddyBlend we hope that the addition of LinkedIn will make it useful for you if you decide to use the free service.


XSketch - Just in time for Friday!


Ryan Dewsbury has built a multiplayer GWT based Pictionary game called XSketch. He is the creator of GPokr and KDice. XSketch is pretty fun and straightforward game. One player is shown a word he needs to illustrate. While he's drawing, the other players try to guess that word. The sketcher and correct guesser are awarded points only when the word is guessed correctly. However, only the sketcher loses points when no correct answer is guessed. The role of sketcher moves around the table so each player has the opportunity to draw.

Go Play XSketch!

TIBCO Advances SOA with Closer Microsoft Integration


AjaxWorld Magazine has posted an interesting post about TIBCO working closely with Microsoft. I find this quite interesting as TIBCO is usually thought to be more of a Java shop.

Below is an excerpt from the post.

TIBCO announced that the company is working closely with Microsoft to make it easier for customers to use their respective technologies together – giving them more power and flexibility over their service-oriented architectures.

The new technology integration and support announcements are focused on:

* TIBCO and Microsoft Windows Communication Foundation – enables Microsoft .NET Framework services and applications to easily communicate using TIBCO’s Enterprise Message Service platform, giving these applications a degree of reliability and scalability not previously possible.
* TIBCO’s selection of Microsoft Silverlight for Rich Internet Application development – Delivers the best experience for customers that have large-scale deployment and scalability requirements and complements what can be done using AJAX.

These announcements are the first wave of commitments focused on making it easier for customers to take advantage of their existing IT investments in software from Microsoft and TIBCO.

“We want to help customers make the most of their existing technology investments and provide them with the tools and infrastructure to continue to innovate," said Burley Kawasaki, director of the Connected Systems Division at Microsoft Corp. “By working with TIBCO to enhance interoperability with Windows Communication Foundation, we will make it easier for developers to create services across platforms.”

You can read the full post here.

While much of this may be marketing speak it is interesting to see them "embrace" Microsoft at least to a degree.

NetSquared Mashup Challenge - Developers Wanted!


Are you someone that has written or would like to write a sweet mash-up? Would you like to get a share of $100,000? Well, NetSquared's Mash-up Challenge is perfect for you.

The challenge will be happening on May 27-28 at Cisco in San Jose, CA, so mark your calendars now.

Below is an excerpt from the post about the challenge:

How to Participate

I'm working with Billy Bicket, NetSquared's organizer, to recruit Project Leads interested in participating in a 4-week sprint leading up to NetSquared's conference, happening on May 27-28 at Cisco in San Jose, CA.

By contributing to NetSquared in the capacity of Project Lead, participants will be working with a leading social innovator working on a range of challenges including:

1. refining some of their ideas about how the data they are using could be rendered in mashups; and

2. in some cases, building mashups using a variety of APIs, products, or coming up with creative technical solutions to particular problems they are facing.

Project Leads will receive access to all NetSquared Hack Days. The next invite-only event is happening on May 4 at Moscone Center in San Francisco and is hosted by Sun and NetSquared. Project leads will also receive two free tickets to this year's NetSquared Conference.

Here is a quick run-down of the role and expectations for Project Leads and here are the simple next steps if you would like to participate:

1. Scroll through the list of 21 Featured Projects

2. Send Billy Bicket (billybicket -at- yahoo.com) an email with your favorite three (3) featured projects, and confirm your interest in participating by Wednesday, April 30 at noon.

4. Once you send Billy an email, he'll send easy next steps (including link to conference registration) and details about engaging with featured projects for expedient approach and execution.

You can read the full post here.

This looks like a great opportunity for anybody interested in making mash-ups!

JavaScriptMVC's Test Plugin Making JavaScript Testing Easier


You may remember me writing about JavaScriptMVC about a month ago. Well, they have made a very cool plug-in for JavaScriptMVC (although you can also use the plug-in for non-JavaScriptMVC features) called Test that makes JavaScript testing much easier.

Below is an excerpt from the post on the plug-in.

Easy to use

Test is optimized for easy use. But, every library
says that. Here's why we mean it:

1. JavaScriptMVC's Console provides helpful messages to guide you through

Test runner window

2. Asynchronous event tests avoid using nested functions to keep your
code easier to understand

test_open: function(){
   // a controller action helper doubleclicks the second directory
   // call the next function when the open animation is complete

assert_open: function(params){
   // check there are 5 files in the directory
   this.assertEqual(5, params.element.childNodes.length);
Asynchronous event testing

3. If you use Controller, helper methods are automatically created that
simulate each controller action's event, such as TodoClick

4. Event simulation syntax so simple your grandma could understand it2

this.Keypress(element, 'h'); // Test syntax
YAHOO.util.UserAction.keypress(element, { charCode: 72 }); // Yahoo syntax
Event simulation syntax comparison

You can read the full post and see a demo of the plug-in here.

Further more the plug-in does more than just unit tests. It lets you simulate user interactions with your page:

  • Cross browser support for typical DOM events, like keypress, click, submit, blur, and focus
  • Simulate writing text or dragging an element

This plug-in looks pretty good and I plan on using it in a future application using JavaScriptMVC. Anything that makes JavaScript testing easier is a very good thing!

TubeSpy adds support for 11 languages

TubeSpy, our YouTube application from Ajaxonomy Labs, now supports 11 new languages. By utilizing the Google Language API, TubeSpy is now able to dynamically change the language used in the application.

Languages now supported by TubeSpy include:

  • English
  • Arabic
  • Chinese
  • Dutch
  • French
  • German
  • Italian
  • Japanese
  • Korean
  • Portuguese
  • Russian
  • Spanish

Here's a sample in Russian:

The app is still in beta, so be aware there may be some layout/formatting issues with the additional languages. In any case, please send us your comments, bugs, and feature requests.

Go to TubeSpy

Ajaxonomy Labs



BuddyBlend is a way to easily get all of your friends activities in one location without logging into a bunch of different Social Networks. The big difference between FriendFeed and BuddyBlend is that with BuddyBlend you don't need to make friends with a new set of people to see what they are doing, instead it brings together the latest updates from the friends you already have on various social networks.

These social services are currently available on BuddyBlend.

  • Digg
  • del.icio.us
  • Twitter
  • flickr
  • FriendFeed
  • FaceBook



TubeSpy is a web based spy that allows you to see what videos are being watched on YouTube right now. YouTube has a widget like this on their homepage and TubeSpy was an effort to turn that widget into an app. TubeSpy takes advantage of the Google Ajax Language API to enable support for 11 languages besides English.


del.icio.us Spy

Our del.icio.us spy application allows you to see the latest bookmarks being added to del.icio.us so that you can find great new sites. The application also includes links to help make it easy to share what you find with others.
The application allows you to filter results (i.e. type in "web" and you will only see links containing the word web) and to be notified (via sound) when new items are added. The application also allows you to pause the items that are shown so if you find something you like you can see it for a while.

del.icio.us spy

Bury Recorder

Our Bury Recorder application records all buries on Digg that are made available in the digg spy. Buries are recorded and stored for atleast two weeks and are accessible by the story's URL. There's also a feature that graphs Diggs vs Buries for a story using the Google Chart API. Finally, you can even view Digg's most buried stories through this application.

Go check out Bury Recorder!

JavaScript Jobs Site


John Resig has just created JavaScript Ninja Jobs, a site dedicated to JavaScript Jobs. Currently, it's free to post and to apply for jobs on the site.

Some example jobs include:

  • Ajax Developer
  • User Experience Developer
  • Senior-level Web Developer
  • jQuery Plugin Developer
  • Rails Developer
  • Front-End Software Engineer

Check out these and other jobs at jobs.jsninja.com

There's also a Jobs RSS feed to keep you updated on the newest job postings.

Syndicate content