A web browser is a program that lets a human access webpages on the World Wide Web. At a bare minimum, a web browser must be able to make HTTP requests and to present parsed HTML to the user in a form that he can understand. Most modern browsers present the user with a flat document that contains text and pictures, according to the HTML page received. Others may present serial text only, or even read the page aloud. While most people interact with their browser with a mouse, many advanced web browsers such as Opera provide full keyboard and voice control. Also, there are specialty browsers designed for people with physical handicaps and other disabilities. For use in a low-resources environment, text-only web browsers such as Lynx may be used.
In addition to the text and pictures of standards-compliant HTML code, most of today's web browsers can display video, play music, and provide a limited amount of scripting ability. While these abilities do afford the webmaster the ability to design more elaborate websites, not all web browsers interpret the non-standard code in the same way. In fact, even the standardized code is not very well supported certain web browsers, notably Internet Explorer. The race to add more features at the expense of standards-compliance is known as the Browser Wars, and has led to a situation where very few websites display properly in all the major web browsers. From 2002 until late 2006 the Browser Wars have been very cool with little development done on IE, the most popular web browser in use today. However, in late October 2006 both IE and Firefox (IE's current arch-foe) released new versions of the software. This has renewed interest and awareness of the subject, especially in light of severe security flaws in the new IE7.
The first web browser was written by Tim Berners-Lee, who also invented HTML, HTTP, and wrote the first web server. The WorldWideWeb web browser was intended for use by physicists working in labs in different parts of the world, thus the HTML language that it supported was designed to be very easy to learn (for physicists). The language is based upon hierarchical outline structure, with tags spread through out the text that define the presentation of the page in question. In the 15+ years since its invention, HTML has moved away from its original goal of defining the layout of webpages, to defining the meaning of its contents. Separate technologies, such as CSS, are responsible for defining page layout today.