Showing posts with label AJAX. Show all posts
Showing posts with label AJAX. Show all posts

Gmail is no more 'Beta' !!

Good Bye! to Beta
Google has removed the 'BETA' label from its very famous email service called Gmail. This is also applicable to Google Calendar, Google Docs, Google Talk, and Google Video for Business. The move is seen as a way to attract large businesses to Google Apps (its suite of messaging and productivity applications).

Released on April 1, 2004, Gmail was still in beta five years and tens of millions of users later.


According to Google it has beefed up the Google Apps suite by adding offline access to e-mail and calendars and streamlining access to Google Apps for BlackBerry users.
Google also says that its Web-based messaging platform is now more compatible with Microsoft Outlook and it has improved contact management for Google Apps.



What is Beta ?
The term "beta" refers to a piece of software or web application that's still being developed.
Expect problems with betas and you won't be surprised, but enjoy the thrill of being among the first to use a new bit of software.
If you don't like those kinds of thrills wait until the software is "out of" beta.


The beta version of a software release is considered to be a preview. It has all the standard features, but is not yet ready for wide release or sale. During this point, the company will collect feedback from users about the product's usability — what they like and what should be changed — before the product's wide release.



What Google representatives say ?
.......... by no means does the removal of the beta label mean Google will stop innovating and experimenting with new features offered through Google Labs for Gmail, Google Calendar, and other Google App services. They say existing Google Labs users can re-enable the beta label for Gmail from the Labs tab under Settings.



Reference:
http://www.sfgate.com/cgi-bin/blogs/sfgate/detail?blogid=19&entry_id=43121

Advantages and Disadvantages of AJAX

Now Mr. Pravin presents reasons to use and why not to use AJAX.
To help you decide whether AJAX is for you or not, here are some of the advantages it has over classic web development techniques:

1. The interface is much more responsive, as explained before, because only a small part of the page is transferred at a time. The user has the feeling that changes are instantaneous.

2. Waiting time is reduced – when the visitor submits a form, they no longer have to wait for the entire page to be rebuilt and re-transmitted by the server. Instead, only the relevant content changes, and in non-critical cases, the visitor can still work while the data is being submitted.

3. If a page section encounters an error, other sections are not affected (if not logically linked) and the data already entered by the user is not lost. This way, the application fails graciously, without causing head-aches for the users.

4. Traffic to and from the server is reduced considerably – because you do not have to send the entire page content (CSS, images, static sections), the bandwidth usage is most likely to decrease.

5. Real-Time Form Data Validation: Form data such as user IDs, serial numbers, postal codes, or even special coupon codes that require server-side validation can be validated in a form before the user submits a form.

6. Auto completion: A specific portion of form data such as an email address, name, or city name may be auto completed as the user types.

The Disadvantages of AJAX
As with most new web development techniques, AJAX has its critics. There are a couple of disadvantages that need to be considered before considering an AJAX-based solution:
1. Building an AJAX-powered application can increase development time and costs. It is usually considered more difficult than building a classic web application, because of the mixture of technologies and the special concern about everything going smoothly. However, because it is dealing with relatively known technologies, AJAX is not rocket science.
2. Although AJAX relies on existing and mature technologies like JavaScript, HTML and CSS, the available frameworks and components still need to completely mature. Tools like the Dojo toolkit or the Rico framework are just a milestone on this long road.
3. Using AJAX to asynchronously load bits of content into an existing page conflicts with the way we are used to navigate and create bookmarks in modern browsers. Because viewing some part of the page information no longer corresponds to a newly loaded page, the browser history and bookmarks will not be able to restore the exact page state. Also, clicking the Back button in a browser might not have any effect, since the URL was unchanged (even if parts of the page were changed). To overcome these problems you must implement a way to save the current page state so that it can be restored later on, when called from a bookmark or from the browser history.
4. AJAX is not meant to be used in every application. One of the main reasons for this stays in the fact that Google cannot index it. "Suppose you are building an e-commerce site. A complete AJAX application would be a mistake because search engines won't be able to index it. And without a search engine, a site won't be able to sell products." Keeping this in mind, a much better idea than creating complete AJAX applications would be to scatter AJAX features within the application.
5. The biggest concern with AJAX is accessibility. This is because not all browsers (especially older ones) have complete support for JavaScript or the XMLHttpRequest object. Some of the visitors do have browsers with the required features, but they choose or have to turn off JavaScript support. When you design the application you must make sure that a fail-safe solution exists for those users, so it can be accessed by anyone.
Furthermore, the way to access and use the XMLHttpRequest object in Internet Explorer and other browsers is different, which leads to a fork in the code and the need to treat each case separately.
6. Debugging: AJAX applications are also difficult to debug because the processing logic is embedded both in the client and on the server.
7. Viewable Source: The client-side JavaScript technology may be viewed simply by selecting View Source from an AJAX-enabled HTML page. A poorly designed AJAX-based application could open itself up to hackers or plagiarism (illegal use or stealing or copying).
8. The last disadvantage lies in the actual XMLHttpRequest object itself. Due to security constraints, you can only use it to access information from the host that served the initial page. If you need to display information from another server, it is not possible within the AJAX paradigm.
Given these advantages and disadvantages of AJAX, you have to decide whether you need to use it or not before you start the design and implementation of your next project
The AJAX approach to building web applications shed a new light on the web and help close the gap between web applications and desktop applications in terms of usability and responsiveness. As the technique approaches maturity, many benefits and pitfalls will be uncovered, but the overall principles promise to revolutionize the web as we know it.

Who Is Using AJAX?

Lets see what Mr. Pravin has to share today.

AJAX is already widely used in web development. One of the most important players on the AJAX scene is Google. With Gmail, Google Groups, Google Suggest or Google Maps, AJAX is being put to good use by millions of visitors every day. The user interfaces respond quickly and are pretty intuitive, leaving no time for users to admire a blank screen.

AJAX is used in Meebo to allow users to connect to multiple instant messaging networks from a web-based application, and in Flickr, to allow photo sharing and tagging.
KTML is an online visual HTML editor that emulates the familiar Microsoft Word. You can use it for web content authoring just as you would use any other desktop-based text editor.
MX Query Builder is a visual tool for creating and managing SQL queries. It runs in a browser window, but can be launched from Macromedia Dreamweaver. Its many panels allow asynchronous interaction with your database. When you're done, you can save your query and use it in Dreamweaver as a regular record set.

These projects demonstrate that Ajax is not only technically sound, but also practical for real-world applications. This isn’t another technology that only works in a laboratory. In addition, Ajax applications can be any size, from the very simple, single-function Google Suggest to the very complex and sophisticated Google Maps.

How Does AJAX Works?

Classic Web Application:
The classic web application model works like this: Most user actions in the interface triggers an HTTP request back to a web server. The server does some processing — retrieving data, crunching numbers, talking to various legacy systems — and then returns an HTML page to the client.
This approach makes a lot of technical sense, but it doesn’t make for a great user experience. While the server is doing its thing, what’s the user doing? That’s right, waiting. And at every step in a task, the user waits some more.
Obviously, if we were designing the Web from scratch for applications, we wouldn’t make users wait around. Once an interface is loaded, why should the user interaction come to a halt every time the application needs something from the server? In fact, why should the user see the application go to the server at all?

AJAX Web Application:
An Ajax application eliminates the start-stop-start-stop nature of interaction on the Web by introducing an intermediary — an Ajax engine — between the user’s interface and the server. It seems like adding a layer to the application would make it less responsive, but the opposite is true. Instead of loading a webpage, at the start of the session, the browser loads an Ajax engine — written in JavaScript and usually tucked away in a hidden frame. This engine is responsible for both rendering the interface the user sees and communicating with the server on the user’s behalf. The Ajax engine allows the user’s interaction with the application to happen asynchronously — independent of communication with the server. So the user is never staring at a blank browser window and an hourglass icon, waiting around for the server to do something.

Working


Classic:

When the visitor requests a page, the server will send the full HTML and CSS code at once. After the visitor fills in a form and submits it, the server processes the information and rebuilds the page. It then sends the full page back to the client. And so on.

AJAX:
When using AJAX, the page is loaded entirely only once, the first time it is requested. Besides the HTML and CSS code that make up the page, some JavaScript files are also downloaded: the AJAX engine. All requests for data to the sever will then be sent as JavaScript calls to this engine. The AJAX engine then requests information from the web server asynchronously. Thus, only small page bits are requested and sent to the browser, as they are needed by the user. The engine then displays the information without reloading the entire page. This leads to a much more responsive interface, because only the necessary information is passed between the client and server, not the whole page. This produces the feeling that information is displayed immediately, which brings web applications closer to their desktop relatives.
In AJAX-powered applications, HTTP requests for data can be made completely in the background, without the user experiencing any interruptions. This means the user can continue working and using the application, while the necessary page sections are received from the server.

References: Refernces remains the same as for previous articles by Mr. Pravin K. Dubey on AJAX. We wish him luck for providing his knowledge and sharing it.

Defining AJAX

Now, this one is in continuation of the AJAX research compiled by Mr. Praving K. Dubey.

Read it !! Get informed and leave your valuable comments for us.

I heard many people saying that AJAX is a new technology used in web development. But in fact AJAX is neither new, nor a technology. It’s really several technologies, each flourishing in its own right, coming together in powerful new ways to build a friendlier web. Ajax incorporates:
• Standards-based presentation using XHTML and Cascading Style Sheet (CSS).
• Dynamic display and interaction using the Document Object Model (DOM).
• Data interchange and manipulation using Extensible Markup Language (XML) and XSLT
• Asynchronous data retrieval using XMLHttpRequest and JavaScript binding everything together.

XML is used to store and move information between the client and server, HTML and CSS to format the output and JavaScript to bind all of these elements together in a dynamic manner.
Role of Each Terminology
HTML and CSS is used to display the information in the browser. To present information to the client, you still need to use the language that browsers understand: HTML for content and CSS for layout and formatting.
In the age of dynamic websites, displaying content is not enough. You have to first retrieve it from a dynamic data source, and process it for final output. This is where XML and XSLT come into play.

Getting the information from the server and in the user's browser is the next step. The XMLHttpRequest JavaScript object is used for this part.
Once the information is displayed, you need to modify it dynamically. For this, you will use the Document Object Model (or DOM, for short). To provide dynamics to a static HTML page, DOM manipulation is used to alter the properties of already created page elements. It is done through JavaScript and allows (for example) a div element to become visible, or a button to gray-out when a certain selection has been made.

The glue that holds all these elements together is JavaScript. This allows retrieving dynamic information, displaying and modifying the page elements. JavaScript is a lightweight programming language used to perform various tasks on the web client.
The notion AJAX has come to define a development framework, which aims to improve web page usability.

As you can see from the list above, none of the technologies used within AJAX are new. What is new is the way these technologies are used together to create new types of web applications that are much more responsive and intuitive than the existing ones. To illustrate this, just have a look at Gmail and Google Maps. The user interfaces are quick in providing the user with the desired information, by performing the minimum of page reload possible.
This new approach to user interaction and application responsiveness is part of a wider technology trend, aimed at making the Internet friendlier and faster.

FAQs for AJAX

01. Did Adaptive Path invent Ajax? Did Google? Did Adaptive Path help build Google’s Ajax applications?
Ans. Neither Adaptive Path nor Google invented Ajax. Google’s recent products are simply the highest-profile examples of Ajax applications. Adaptive Path was not involved in the development of Google’s Ajax applications.

02. Is Adaptive Path selling Ajax components or trade marking the name? Where can I download it?
Ans. Ajax isn’t something you can download. It’s an approach — a way of thinking about the architecture of web applications using certain technologies. Neither the Ajax name nor the approaches are proprietary to Adaptive Path.

03. Is Ajax just another name for XMLHttpRequest?
Ans. No. XMLHttpRequest is only part of the Ajax equation. XMLHttpRequest is the technical component that makes the asynchronous server communication possible; Ajax is a name for the overall approach described in my earlier articles, which relies not only on XMLHttpRequest, but on CSS, DOM, and other technologies.

04. Techniques for asynchronous serve communication have been around for years. What makes Ajax a "new" approach?
Ans. What’s new is the prominent use of these techniques in real-world applications to change the fundamental interaction model of the Web. Ajax is taking hold now because these technologies and the industry understand of how to deploy them most effectively have taken time to develop.

05. Is Ajax a technology platform or is it an architectural style?
Ans. It’s both. Ajax is a set of technologies being used together in a particular way.

06. What kinds of applications is Ajax best suited for?
Ans. I don’t know yet. Because this is a relatively new approach, my understanding of where Ajax can best be applied is still in its infancy. Sometimes the traditional web application model is the most appropriate solution to a problem.

07. Does this mean Adaptive Path is anti-Flash?
Ans. Not at all. Macromedia is an Adaptive Path client. As Ajax matures, I expect that sometimes Ajax will be the better solution to a particular problem, and sometimes Flash will be the better solution. I’m also interested in exploring ways the technologies can be mixed (as in the case of Flickr, which uses both).

08. Does Ajax have significant accessibility or browser compatibility limitations? Do Ajax applications break the back button? Is Ajax compatible with REST? Are there security considerations with Ajax development? Can Ajax applications be made to work for users who have JavaScript turned off?
Ans. The answer to all of these questions is "maybe". Many developers are already working on ways to address these concerns. I think there’s more work to be done to determine all the limitations of Ajax, and I expect the Ajax development community to uncover more issues like these along the way.

09. Some of the Google examples you cite don’t use XML at all. Do I have to use XML and/or XSLT in an Ajax application?
Ans. No. XML is the most fully-developed means of getting data in and out of an Ajax client, but there’s no reason you couldn’t accomplish the same effects using a technology like JavaScript Object Notation or any similar means of structuring data for interchange.

10. Are Ajax applications easier to develop than traditional web applications?
Ans. Not necessarily. Ajax applications inevitably involve running complex JavaScript code on the client. Making that complex code efficient and bug-free is not a task to be taken lightly, and better development tools and frameworks will be needed to help us meet that challenge.

11. Do Ajax applications always deliver a better experience than traditional web applications?
Ans. Not necessarily. Ajax gives interaction designers more flexibility. However, the more power we have, the more caution we must use in exercising it. We must be careful to use Ajax to enhance the user experience of our applications, not degrade it.


These FAQs are a compilation of Mr. Pravin Kumar Dubey from below references.
We are proud to have a member like him, and thank him for keeping the blog live.


References:
  • www.ajaxian.com
  • www.ajaxreview.com
  • java.sun.com
  • www.crockford.com
  • www.informationweek.com

Introducing AJAX

This article is researched and presented to us by Mr. Pravin Kumar Dubey.


If anything about current interaction design can be called "glamorous", it’s creating Web applications. After all, when was the last time you heard someone rave about the interaction design of a product that wasn’t on the Web? (Okay, besides the iPod.) All the cool, innovative new projects are online.
Despite this, desktop applications have a richness and responsiveness that has seemed out of reach on the Web. The same simplicity that enabled the Web’s rapid proliferation also creates a gap between the experiences web application can provide and the experiences users can get from a desktop application.
That gap between the web application and the desktop application is closing. Take a look at Google Suggest. Watch the way the suggested terms update as you type, almost instantly. Now look at Google Maps zoom in. Use your cursor to grab the map and scroll around a bit. Again, everything happens almost instantly, with no waiting for pages to reload.
Google Suggest and Google Maps are two examples of a new approach to web applications that the people at Adaptive Path have been calling AJAX. The name is shorthand for Asynchronous JavaScript and XML, and it represents a fundamental shift in what’s possible on the Web.

References: