Saturday, December 8, 2007

Web 2.0 and the Future Web User

Web 2.0 is not so much a defined iteration to replace what could be called Web 1.0 that is used now but instead more of a different way of utilizing the web for social networking and business. New technologies such as Asynchronous JavaScript with XML (AJAX), RSS, and XHTML are allowing web developers and network specialists to change the way people use the web and how the web can process data. Dynamic content, Flash, Shockwave, AJAX or ASP is fast becoming the standard for the World Wide Web. Using the term “Web 2.0” is merely a way to refer to these changes and new direction the web is taking.

What does all this mean for the user? Well, the user is going to start seeing web interfaces that resemble local, rich applications on their hard drive. The increases in bandwidth and the unrelenting march forward of Moore’s Law means that computing becomes more network intensive and more powerful with each passing day. Off-hand, I can think of one excellent example of how quickly processing power is gaining momentum. About 5 months ago, I was working on a project for UOP about a totally centralized enterprise computing solution utilizing nothing more than a central supercomputer and thin-clients. Not to mention, a whole lot of fiber-optics. At that time, the fastest Cray (http://www.cray.com) supercomputer was the XT4. Each XT4 cabinet had 1 teraflop of computing power. Essentially, that means that one cabinet could perform 1 trillion floating-point calculations per second. I checked again about 2 weeks ago on the Cray website and the XT5 had come out which has 7 teraflops per cabinet instead of 1.

Web 2.0 is the natural outcome of these increases in computing power and the rise of broadband. Pardon the author’s prognostication, but is it not unrealistic to see that one day all computers will be a thin-client or at least a thin-fat hybrid client with hard drives becoming a thing only computer users over 35 remember. If Moore’s Law holds true, the client may not even be a PC at all but a implant within the users skull that shows output directly to their optical and auditory nerves. Perhaps the user will control the browsing with a mere thought.

All of this may seem irrational but consider that Web 2.0 is already going to make web applications and interfaces remarkably similar to local rich client applications. Is it not reasonable to assume that eventually the differences and capabilities of the former and the latter will disappear completely? I can remember, when I was about 8, my Father said to me “640K is enough memory for anything you’re going to do Bob.” Looking back on those times now, it is almost as if they never existed. The command line has all but disappeared in the Windows systems of today. What was once essential to the functionality of the user is now just a faded memory. Now the minimum memory amount I would recommend to someone is 2 GB.

Web 2.0 is just another logical step in the direction of progress in both technology and innovation. I think that one day we will have to call the World Wide Web something different entirely and that the platform it provides will drastically change the face of human existence. Why will humans go to school when a neural-wireless interface is within their brain that allows them to access all the information known to mankind in the literal blink of an eye? Who will visit a library when upon birth they are implanted with their neural-interface device that allows them to communicate, access, collaborate, and create without even moving their arms and legs?

Monday, November 12, 2007

Ajax: The Shiny Future of the Web

Ajax, Asynchronus JavaScript and XML, will have a significant impact on the development of web forms in the near future. Ajax is not so much a new technology but a way of extending and blending existing technology standards and extending the scope of their operation.



  • JavaScript

  • XMLHttpRequest - JavaScript object with an API that interfaces with HTTP protocol

  • XML

  • HTML/CSS

  • Document Object Model(DOM)

  • Extensible Stylesheet Language and Transformation(XLST)



In short, Ajax allows dynamic web pages to update without refreshing the browser. Ajax handles data in the background to minimize server transactions providing a rich-client interface (Holzner, 2006). It seems to me to be the logical crossroads of the above listed technologies. The server-side web services of the past are beginning to creak under their own weight requiring strong servers and fast connections to maintain web service connectivity. The shift to client-side processing and dynamic web forms that can alter content after download without connection to the server or browser refresh.


JavaScript facilitates the dynamic power of Ajax via the specific JavaScript object HTTPRequest (Zakas, McPeak, Fawcett, 2006). This object that facilitates an API via the HTTP protocol is often referred to as the Ajax engine. All user interaction is carried out via JavaScript calls to the Ajax engine. The Ajax engine processes and initiates all requests instead of the web browser.


Ajax, given some time, will revolutionize the way business looks at web applications, services, and forms. When all the functionality of a rich client application can be joined with the connectivity of a web based application the result is an all "pro" solution existing free of any "cons." Personally, one of the biggest problems I have with web based applications is the constant refreshing and cumbersome, irregular performace. Ajax will provide web applications without these issues. I see a big increase in the market of application hosting over the next 5-10 years in which enterprise businesses will outsource the hosting of business applications and run all information off a leased line connection to an off-site server farm.


I actually disapprove of the above prognostication. A business should not hand away "the keys to the kingdom" to some outfit providing application hosting. There are too many variables and possibilities to worry about for someone like me to allow application hosting off-site. I like my equipment and services nearby, where I can keep an eye, and a lock, on them.

Tuesday, November 6, 2007

OOP and HTML

Most of my time in our new Web Development class has been spent learning how HTML and scripting languages interface with one another to provide dynamic functionality. While searching through my volumes of IT tomes, I found an explanation that succinctly describes the realtionship between JavaScript and HTML. HTML creates the objects with tags whilst JavaScript manipulates the objects using the dot operator. While sifting through the mountains of information available on my library drive, I also discovered that several languages can be used for CGI scripting. If I wanted to, within the tags I could use good old C, PERL, VB, JavaScript, whatever language my heart or mind desires.

The main issue I am having now is with ASP.NET pages and how they relate to the class hierarchy within a solution framework. I understand the concept of objects and classes but when the using the higher level languages, everything is a class or object. I know in ASP that each form is its own class derived from a prototype that isn't even instantiated.

What I am gathering from years of striving to learn programming and lower system runlevels, is that all computers, in terms of programming and operation, have a pattern of functionality. I can't quite articulate what this pattern is yet but I am convinced it exists. Syntactical differences between languages are starting to disappear; the lines between languages are becoming hopelessly blurred into one big category called "Computer." I am beginning to grasp the fact that once you know C or C++ well enough, you basically know all the major OOP languages. JAVA is so close in similarity to C++ it's not even funny. My advice is to get your one programming lanuage learned real well and move on to the others without fear.