Design & Development

Tech Support: October 2006

Question: I keep hearing about a two-tiered Internet. What is that?

Brian Getting: Two-tiered Internet refers to the attempt by major telecommunication companies, who provide the infrastructure for Internet communications, to send information across the Internet in two separate speeds, or tiers. One tier would be faster than the other and would apply to content sent by the telecommunication companies themselves and by other large firms, such as Microsoft, Google and YouTube, who would presumably pay fees to the TelCos for this faster transmission. The slower, second tier would then be for companies and individuals who are sending information via the Internet but choose not to pay extra fees for faster transmissions.

The telecommunication-company executives contend that since they are spending billions of dollars to improve upon and build new networks that can carry more data, they should be able to use the bulk of that bandwidth to offer their own services and, also, to charge others for higher-speed access. They contend that the increased revenue will encourage more network development, and help them to achieve their goal of providing high-speed Internet access to everyone.

However, the idea is meeting resistance from online content providers like Microsoft and Google. These providers content that the proposal means the telecommunication companies could provide their own (competing) content and deliver that content more quickly and with richer features than what would be available on the “standard,” or second tier. The result could be a choice, for any individual or company, between utilizing the second-tier services or paying the extra fees to have information distributed via the better, faster tier one. Critics of the proposal argue that consumers pay for specific quantities of bandwidth and consumers should be able to use that bandwidth however they want.

More importantly, at least in my estimation, is the idea that there could be preference given to particular content on the Internet. We could have an online caste system that consists of those who can afford to pay the premium rate, which will give their content network priority, and those that cannot afford it.

Suppose that individuals or companies who utilize the next big online trend, such as blogging or podcasting, cannot afford the fees of the higher tier. The “premium” content provider could overshadow their offerings. This threatens consumer choice, in my view.

Gone would be the day, potentially, where Internet service providers treat all companies and all Internet traffic with neutrality and equality. Consumers could no longer rely on consistent access to goods, services and content regardless of what Internet service provider they use.

Smaller ecommerce businesses could be caught-up in this, too. These businesses compete against larger, more established, companies, who perhaps could pay a fee for faster, better transmission to the detriment of a smaller merchant, who presumably could not pay such a fee.

Question: What is Ajax, and how does it work?

Brian Getting: Ajax can be best described as a way of using JavaScript to create user interfaces and other website functionality. Some people will claim that the name itself is an acronym for “Asynchronous JavaScript And XML,” while others claim that it is not an acronym at all, but simply a name that describes a development philosophy. Regardless of the how it was named, Ajax is something of which web developers should take note since it does represent a new shift in web development. A working definition would be to describe Ajax as a method of using JavaScript to enhance user experiences, created dynamic visual interfaces and communicate with a web server asynchronously. However, this is not terribly helpful for someone who wants to understand exactly what Ajax is. So let’s start with the backbone of Ajax, and that is the word “asynchronous,” and work our way through it.

Asynchronous refers to the ability of JavaScript to communicate with a web server at any time that it wants, independently of browser communication and page loads. This may seem confusing, but let’s look at a simple example of a contact form. Such a form usually consists of a few text fields the user must fill out, including their name, email and a message to send. Upon completion, the user would then click a “Submit” button, which would cause the browser to send that information to a web server and request a response. When the server responds, the new page is loaded into the web browser in a manner we are all familiar. After all, this is the old way.

In the Ajax version of a contact form, everything about the form is exactly the same. The differences appear in the method by which the data is transmitted to the server for processing. When the user clicks “Submit” on the Ajax contact form, the browser does nothing. Instead, the data is collected by a JavaScript object, which then sends it to the web server and waits for a response. Since JavaScript, and not the browser, is handling the communication, this all happens asynchronously and does not require the browser to load a new page.

The XML part of the acronym comes from the idea that the response from the server should be in XML format, which JavaScript can then parse and display for the user by altering the HTML of the current page. However, it is not required that the response be XML, which may be why many developers don’t like the acronym. The important thing to understand is that when something is said to be created using Ajax, it really refers to asynchronous server communication that is handled by JavaScript.

In addition to the basics that we have outlined here, JavaScript can also perform actions during the whole process, such as altering HTML on the page to illustrate that it is waiting for the response from the server, such as the common “load bar” or “loading” message. The ability to do this allows web developers to create interactive interfaces and also to send and receive smaller packets of data to the web server, rather than asking for a whole page of data each time a request is made.

Brian Getting
Brian Getting
Bio


x