When HTML was first dreamed up, its original intention was "to use and share documents" across single or multiple networks. Tim Berners-Lee was the man who wrote the simple tags which defined the structure of how HTML presents a document. With the rapid growth of the interconnected networks (Internet), HTML quickly became the default option when providing a document for viewing across networks.
Enter: Capitalism. Once people realized the potential of being able to provide content to anyone around the world, ideas began to manifest themselves at break-neck speed, and HTML was the main vessel for this craze. Sites began to pop up offering different services, all based on HTML. The first adaptation of HTML occurred when scripts that ran on the HTML server were used to determine what to show on the HTML document and to whom. There are a plethora of server-side scripting languages and frameworks. To name a few: ASP.NET, PHP, Ruby, Perl, Python... the list goes on. Each are very unique and require a lot of expertise to successfully deliver.
You are here
Present day. Web developers consecutively use dozens of tools to build custom/dynamic web experiences for businesses. Since HTML was not intended to do such nonsense, we constantly trip around the many band-aids used to make the web experience what it is today. Realizing this problem, a handful of proprietary solutions have been invented, and have seen various levels of adoption, but none as widely adopted as HTML itself. Some of these solutions are Flash, Silverlight and Java Applets, which claim to provide a rich, global user experience across browsers and platforms.
Why don't those proprietary solutions work? They're proprietary, that's why. Granted, they have their bonuses of being able to control things in a closed environment, they do not have the adoption necessary or the standards behind them to reach 100% of users. So what's the best solution for getting around all these band-aids in a universally acceptable way?
Scrap HTML, and create something that addresses all of these issues from scratch. People want to see cool things. They want to interact with cool things. Can we make a standard that uniformly addresses those two issues? I think we can.
But we're moving in the right direction. With the various display capabilities of HTML 5, including some dynamic behaviors, HTML is aiming to standardize the way things are viewed and interacted with today on the web. Maybe in HTML 6 or 7, a full library definition will be created for providing dynamic behavor on the client. Leaving the last issue to be resolved: server-side scripting.
A couple ideas to look out for, which might end up providing the ultimate solution:
- Opa: A single-source scripting language for creating dynamic and data-driven applications on the web.