Market Research Logo

2007 Technology - Internet - Volume 2 - Web Development & Audio-Visual Coding

This new biennial report covers the key technologies of the World Wide Web and audio visual coding (compression) technologies: SSL/TLS Transport Layer Security, HTTPS, HTTP 1.1, web forms, MIME, ETag, log file analysis, cookies, WebDav, Web Services, SGML, XML, HTML 4.01, XHTML, browser compatibility, Cascading Style Sheets (CSS), Document Object Model (DOM), WebFeed, RSS, Atom, PodCasting, Java, JavaScript, ECMAScript, SMIL, XUL, Ajax, XSLT, SHTML, JavaBeans, Java Servlets, Java Platform Enterprise Edition, cgi-bin programming, C, C++, daemons, Perl, PHP, Python, Apache, MySQL, PostgreSQL, Microsoft IIS, Active Server Pages (ASP), Common Language Infrastructure (CLI), ColdFusion, wikis, Drupal, Mambo, Joomla, Plone, Ruby on Rails, JPG, GIF, PNG, SVG, Flash, PDF, Web 2.0, blogs, pay-per-click advertising, user-generated content, mashups, the long tail, Network Neutrality and QoS, 64kb/s and ADCPM compression for voice, 44.1kHz 16 bit and 96kHz 24 bit compression for music, lossless audio compression, MP3 coder and decoder, Modified Discrete Cosine Transform (MDCT), variable bit rate, Real Audio, Windows Media, Ogg Vorbis, MPEG-2 5.1 channel audio compression, Advanced Audio Coding (AAC), Scalable Sample Rate AAC, AACPlus, Spectral Band Replication, Parametric Stereo, Scalable Lossless Coding, Code-Excited Linear Predictive (CELP) and Harmonic Vector Excitation Coding (HVXC) speech compression, MPEG-2 Video Compression principles, chroma subsampling, motion compensation, MPEG-2 profiles and levels, MPEG-2 variable bit rate, principles of MPEG-4 Video and multimedia compression, Advanced Video Coding / H.264/AVC, Interactive and VRML elements, synthetic and composite images, texture mapping and lighting, synthetic speech and sound, AFX animation, Java - MPEG-J, QoS, Delivery Multimedia Integration Framework (DMIF), FlexTime advanced synchronisation, Binary Format for Scene Description (BIFS), critical view of MPEG-4 regarding reliability and robustness, MPEG-7 metadata and MPEG-21 Digital Rights Management (DRM).

Report also contains overviews and details of

HTTP transport and content negotiation.
HTML, Cascading Style Sheets, JavaScript and Document Object Model client-side (browser) programming.
Web-server programming languages and content management systems.
Major trends, including “Web 2.0”, Ajax and mashups.
MP3, MPEG-2, H.264/AVC and MPEG-4 audio, video and interactive multimedia coding systems.

This report introduces technical specialists and non-technical readers to the major technologies of the World Wide Web, including audio and video compression technologies used for the Web, telecommunications and broadcasting. We provide overviews of and detailed introductions to the key technologies which in various combinations provide the rich communications environment of the Web.

We begin with the basic transport protocol, HTTP and its secure HTTPS version, which is based on SSL/TLS (Secure Sockets Layer/Transport Layer Security). HTTP 1.1 is a sophisticated resource request protocol with capabilities beyond what is visible with ordinary web-browsing. HTTP 1.1 is the basis of WebDav (Web-based Distributed Authoring and Versioning) and the inter-server programming techniques known as Web-services.

We discuss HTML and the related markup languages XML and XHTML, which are the basis of web-page design. These are complex languages which work together with JavaScript, ECMAScript and (as Microsoft terms it) Active Scripting, and with Cascading Style Sheets (CSS). We introduce these page design and techniques together with the Document Object Model: a standardised programming framework which enables a JavaScript in the page to modify the page itself, respond to user input and to communicate with a remote server. This leads to a detailed discussion of Ajax programming, in which a web page alters itself, without reloading, whilst responding to user actions and by retrieving data from the server. Ajax is a promising set of techniques, exemplified by web applications such as Google Maps. However we highlight a number of drawbacks, including unexpected and impractical user interface behaviour, erratic performance and browser compatibility problems.

We describe WebFeed, in its RSS and Atom forms, and the related technology of PodCasting. These are genuinely new and important protocols, which enable flows of information - usually links to other resources - on a push basis.

We describe and compare the major database-driven web-server programming techniques which are the basis of most commercial and organisational sites, including: Java Servlets, Java Platform Enterprise Edition, cgi-bin programming, C, C++, daemons, Perl, PHP, Python, Apache, MySQL, PostgreSQL, Microsoft IIS, Active Server Pages (ASP) and the Common Language Infrastructure (CLI). Choosing between these techniques can be difficult, and once a site is established with one technology, only a complete rewrite will enable it to be run with another.

Related to server programming languages and environments are content management systems, including ColdFusion, Drupal, Mambo, Joomla, Plone and Ruby on Rails on which many large websites are built. We discuss these and their integrated programming languages.

We describe the major graphic file formats in common use on websites, including JPEG, GIF, PNG, PDF, SVG and Flash - the last three of which can involve client side programming, interactivity. SVG and Flash can involve highly sophisticated programming sufficient to implement animation and interactivity. We discuss major trends, including “Web 2.0”, weblogs, pay-per-click advertising, mashups (sites which combine information from other sites, such as Google Maps and weather information) and using the Web to cater for the substantial “long tail” of the demand curve. We also discuss the debate over calls to legislate “Network Neutrality” vs. the desire of ISPs to use Quality of Service and other arrangements to provide favourable carriage of certain types of traffic, or traffic to and from certain destinations.

Web communications increasingly involves delivery of complete sound and video programs which formerly were only available via cable, broadcast and stored media (VCRs and DVDs). The report concludes with a comprehensive description of the major sound and video compression techniques, including MPEG-4 - which goes far beyond compression to include client-side applications, Virtual Reality Modelling Language 3D animation, voice synthesis, sound synthesis and processing of local sound signals. We provide detailed descriptions of MP3 audio and MPEG-2 and H.264/AVC video compression systems as well as the MPEG-7 metadata and MPEG-21 Digital Rights Management (DRM) standards.

The BuddeComm Technical Library is intended for readers with minimal technical background, and for technical specialists in related fields. The Library’s Biennial and Web Reports provide an overview of a field together with sufficient low level detail to enable readers to develop a genuine understanding of the various technologies. While most of the material is introductory and of a tutorial nature, we also provide critical viewpoints of particular technologies and discuss how different technologies compete with each other or can be used together. This is intended to enable our customers to critically evaluate proposals and to extend their ability to plan their own projects and investments.

The companion volume to this report is available and includes information on Internet Infrastructure technologies: 2007 Internet Technology - Volume 1 - Infrastructure

1.1 Introduction - the Web
1.2 Introduction to HTTP
1.3.1 SSL/TLS Transport Layer Security
1.3.2 Privacy and security
1.3.3 Public key cryptography
1.3.4 Key length and random numbers
1.3.5 Hardware generation of random numbers
1.3.6 Authentication of server and client
1.4 HTTP 1.1
1.4.1 URI, URN and URL
1.4.2 Persistence and pipelining
1.4.3 Typical request
1.4.4 Typical response
1.4.5 Request and response pairs are independent
1.4.6 MIME Content-Type header
1.4.7 Other response headers
1.4.8 Request methods and headers
1.4.9 Response codes
1.4.10 ETag
1.4.11 Authorisation
1.4.12 POST and GET methods for web forms
2.1 Server log files
2.1.1 Log file analysis
2.2 Proxy servers
2.2.1 Transparent proxy servers
2.2.2 Reverse proxy integrated with web server
2.2.3 Cache control
2.3 Clustering - large server sites
2.3.1 Multiple servers in parallel
2.3.2 Multiple layers of servers
2.4 Cookies
2.5 Applications and extensions to HTTP 1.1
2.5.1 Microsoft Front Page extensions
2.5.2 IPP - Internet Printing Protocol
2.6 WebDAV
2.6.1 Applications and extensions
2.7 Web Services
2.7.1 SOAP
2.7.2 CORBA
2.7.3 WSDL and UDDI description schemes
2.7.4 Complexity
3.1 Current and future standards
3.1.1 Complexity and compatibility
3.1.2 Accessibility versus visual appeal
3.1.3 Usability guidelines
3.1.4 Breadcrumbs navigational aids
3.2 Semantic Web
3.3 Basic HTML
3.3.1 A simple HTML example
3.3.2 Elements, attributes and values
3.3.3 Collapsing whitespace
3.4 SGML and XML
3.4.1 Document Type Definition - DTD
3.4.2 Simpler XML
3.4.3 Previous versions of HTML
4.1 HTML 4.01 - the current standard
4.1.1 Internationalisation
4.1.2 Accessibility
4.1.3 Tables
4.1.4 The LINK header element
4.1.5 Compound documents - OBJECT
4.1.6 Frames
4.2.1 XHTML 1.0
4.2.2 XHTML Basic
4.2.3 Modular XHTML
4.2.4 XHTML 2.0
4.3 HTML standardisation failure
4.3.1 Browser compatibility
4.3.3 The W3C changes tack
5.1 Cascading Style Sheets (CSS)
5.1.2 Printing and other rendering models
5.1.3 Inline style
5.1.4 Default stylesheet and stylesheet language
5.1.5 Defining a style
5.1.6 Importing style sheets
5.1.7 The Cascade - Precedence of different sources of style information
5.1.8 Inheritance
5.1.9 Multiple classes
5.1.10 Multiple selectors
5.1.11 Aspects of presentation controlled by CSS
5.2 HTML and CSS editors
5.2.1 Dreamweaver
5.2.2 Mozilla Composer and Nvu
5.2.3 Amaya
5.2.4 Web Developer plugin
5.3 Document Object Model (DOM)
5.3.1 DOM standardisation
5.3.2 DOM Level 1
5.3.3 DOM Level 2
5.3.4 DOM Level 3
5.3.5 Web page as a programming environment
6.1 Webfeed - RSS, Atom and PodCasting
6.1.1 Basic Syndication
6.1.2 Metadata
6.1.3 Active bookmarks
6.1.4 Link types for webfeed
6.1.5 Atom versus RSS
6.1.6 Podcasting
6.2 Java and scripting languages
6.2.1 Java
6.2.2 SMIL
6.2.3 XUL
6.2.4 Other scripting languages
6.2.5 JavaScript and ECMAScript
7.1 Ajax
7.1.1 Google Maps
7.1.2 JavaScript and the Ajax Engine
7.1.3 HTML and CSS
7.1.4 Document Object Model
7.1.5 XML communication with the server
7.1.6 Ajax example - Google Suggest
7.1.7 XSLT
7.1.8 Difficulties with Ajax
7.1.9 Computer independence
7.2 Ajax engines and frameworks
7.2.1 Google Web Toolkit
7.2.2 Alternative Ajax-like architectures
7.2.3 JavaScript and XML compression
7.2.4 Ajax server software
7.2.5 Rich Internet Application - Single Page Application
8.1 Server languages and frameworks
8.1.1 SHTML - Server Side Includes (SSI)
8.1.2 JavaBeans
8.1.3 Java servlets and server pages
8.1.4 Java Platform - Enterprise Edition
8.1.5 CGI-BIN
8.1.6 C, C++ and deamons
8.1.7 Perl
8.1.8 PHP
8.1.9 Python
8.1.10 Apache
8.1.11 Database Management Systems
8.1.12 LAMP - databases and PHP
8.1.13 MySQL and PostgreSQL
9.1 Microsoft IIS
9.1.1 Active Server Pages (ASP)
9.2 Common Language Infrastructure
9.2.1 Java bytecode not suitable for other languages
9.2.2 Protection of source code
9.2.3 CPU and Operating System independence
9.2.4 Dependence on Microsoft frameworks
9.3 ColdFusion
9.3.1 Capabilities
9.3.2 ColdFusion alternatives
9.4 Content Management Systems
9.4.1 Long URLs and complexity
9.4.2 Stellent
9.4.3 Wikis
9.4.4 Drupal, Mambo, Joomla and Plone
9.4.5 Ruby on Rails
9.5 Control Panels
9.5.1 cPanel and Plesk
9.5.2 Commercial and open-source control panels
10.1 Graphic and multimedia file formats
10.1.1 JPG
10.1.2 GIF
10.1.3 PNG
10.1.4 SVG
10.1.5 Adobe Flash
10.1.6 Adobe PDF
10.2 Web 2.0 and the future
10.2.1 New methods of linkage
10.2.2 Blogs and discussion sites
10.2.3 User generated content
10.2.4 Pay-per-click advertising
10.2.5 New traffic patterns
10.2.6 Network Neutrality and QoS
10.2.7 New user interfaces
10.2.8 Web services and mashups
10.2.9 New markets - the long Tail
11.1 MPEG 1 and MP3
11.1.1 Introduction
11.1.2 Data compression and ‘coding’
11.1.3 MPEG-1
11.1.4 MPEG-1 Audio Layers I and II
11.1.5 MPEG-I Audio Layer III (MP3)
11.1.6 Other lossy audio compression standards
11.2 MPEG 2 AAC and Video
11.2.1 Introduction
11.2.2 MPEG-2 Transport Stream
11.2.3 MPEG-2 audio compression
11.2.4 MPEG-2/4 Advanced Audio Coding (AAC)
11.2.5 MPEG-4 Parametric Audio Coding - HILN
11.2.6 MPEG-2 video compression
11.3 MPEG 4 Video and VRML
11.3.1 Introduction
11.3.2 MPEG-4 Video and multimedia compression
11.3.3 Advanced Video Coding - H.264/AVC
11.3.4 Interactive and VRML elements
11.3.5 MPEG-7 metadata
11.3.6 MPEG-21 Digital Rights Management
Exhibit 1 - H.264/AVC Levels

Download our eBook: How to Succeed Using Market Research

Learn how to effectively navigate the market research process to help guide your organization on the journey to success.

Download eBook

Share this report