Archive for the ‘Ajax’ Category

Defining Web 2.0 - At 3 Levels

Wednesday, January 23rd, 2008

Web 2.0

Web 2.0 - almost everyone have heard the term - but few are sure about its meaning. Unfortunately, it cannot be defined easily. People in different fields have their own unique definitions for the term. In this article, I will attempt to define the term at three different level - the Philosophy, the Technology and the Design.

Disclaimer: Before anyone reacts violently to the term Web 2.0, let me make myself very clear…
Web 2.0 is an ambiguous buzz word. It has been used and abused so many times that it does not have a consistent meaning - so people are free to interpret it as they see fit. And this is how I interpret it.

Philosophy

The design philosophy of a web site can make it a Web 2.0 site. This is perhaps the key difference between a Web 1.0 site and a Web 2.0 site…

Web 1.0 is a web site where there is a one way communication between the web master to the visitor. A Web 2.0 site is a site where the visitors can communicate with each other.

For example, compare the Encyclopedia Britannica to Wikipedia. In Encyclopedia Britannica, the web master creates the content and gives it to the visitor - the visitor has no way of talking back. But in Wikipedia, the visitor create the content for other visitors.

Technology

The keyword here is “Internet as a platform”. In Web 2.0, the net became the platform rather than just a data transfer mechanism. For a simple example, when you visit a site, the videos in it come from YouTube, the images from Flickr, the search is done using Google API and you can bookmark pages using the API from del.icio.us.

Some technologies that are described as Web 2.0…

  • Ajax
  • Valid Markup
  • Microformats
  • Tagging, Tag Clouds
  • APIs
  • Feeds
  • Mashups

Some features that makes a technology Web 2.0…

Speed
For example, Ajax makes simple tasks much faster.
Ease of Use
A good example of this is Tagging. It is a much easier approach when compared to hierarchies.
Enabling Mashups
APIs, Feeds, etc. makes this possible.
Bringing Web Apps closer to the Desktop
Ajax, AIR, etc.

Design

This is perhaps the only area where the term Web 2.0 can be defined with a reasonable level of accuracy. A site with a Web 2.0 design is one that has at least some of these elements…

Simple Design

Stonewall

Lots of white space

Browse Happy

Nice Icons

37Signal Icons

Violators/Badges/Star Flashes

A List Apart Violator

Big Fonts

37Signal Font

Gradients

Stonewall

Reflections

Curve 2 Reflections

Shadows

Shadows

And More…

Web 2.0 Design Style Guide

For More Information

Keyboard Shortcuts JavaScript Library

Saturday, July 21st, 2007

I have created the second version of the JavaScript Shortcut Library. It is one of my more popular scripts. This script eases the work involved in making shortcuts in JavaScript.

Despite the many JavaScript libraries that are available today, I cannot find one that makes it easy to add keyboard shortcuts(or accelerators) to your javascript app. This is because keyboard shortcuts where only used in JavaScript games - no serious web application used keyboard shortcuts to navigate around its interface. But Google apps like Google Reader and Gmail changed that. So, I have created a function to make adding shortcuts to your application much easier.

Changelog

  • The single function method was abandoned for an object with two functions
  • Shortcut Remove function added
  • New option to disable shortcuts in textarea, input fields.

If you are using this script in any of your projects, please switch to the latest version.

Previous Version Documentation

Success/Error Design Pattern For Ajax

Friday, June 22nd, 2007

‘Success/Error’ design pattern for Ajax requests is a JSON encoded string in a specific format - each response has a minimum of two elements in it - ie ’success’ and ‘error’ - like this…

{
"success":"Task done successfully",
"error":false
}

OR

{
"success":false,
"error":"Database Connection Error!"
}

This method is used extensivly in Nexty. Almost all Ajax response in Nexty ares in this format.

Since this is in the JavaScript domain, I thougt it might be better to pubish the details in my OpenJS site. Read more about Success/Error Design Pattern For Ajax.

Subscribe to Feed