Login   Register  
PHP Classes
elePHPant
Icontem

HTML 5 for a better Web - PHP Classes blog

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Blog PHP Classes blog   RSS 1.0 feed RSS 2.0 feed   Blog HTML 5 for a better Web   Post a comment Post a comment   See comments See comments (18)   Trackbacks (4)  
<< Previous: 10th anniversary anno...>> Next: India will become num...

Author: Manuel Lemos

Posted on:

Categories: PHP Performance, PHP Security

The HTML 5 will definitely contribute to a better Web. Despite its specification is still being drafted, several browsers like Firefox 3.5, Internet Explorer 8, Safari 4, Chrome 2 and Opera 10 already implement a significant part of the current HTML 5 specification.

This article reviews a bit of the history of how we got to HTML 5 and presents an overview of the enhancements that HTML 5 introduces to provide a better Web.

It also presents a reflection about whether HTML 5 will render useless browser extensions like Flash, Silverlight and Java.




Contents

* The need for a better Web

* Better Web and Mozilla

* Better Web and Java

* Better Web and Flash

* Better Web and Microsoft

* Better Web and Google (and Apple)

* HTML 5 top new features

- Vectorial graphics with canvas
- Built-in video and audio players
- Standard HTML editing
- Drag and drop, copy and paste
- Session and local storage
- Know exactly where you are with GeoLocation
- Running heavy tasks on the browser using Web workers

* More features to be added to HTML 5

- Responsive browser-server communication with Web sockets
- 3D graphics rendering engine
- Webcam and microphone access
- Better file uploading

* Conclusions

- HTML 5 will lead to bloated browsers
- Neverending HTML 5 specification
- Internet Explorer HTML 5 adoption
- Will HTML 5 kill Flash, Silverlight and Java?

* Your HTML 5 applications


* The need for a better Web

When you are a Web developer, you do not depend only on the capabilities of PHP or any other server side language that you use.

Obviously, users have access to your application content or services by the means of Web pages. So you rely also on client side languages such as HTML, JavaScript, CSS, etc..

However, these languages are often insufficient when you need some browser features that are only available through external browser extensions.

Such extensions may or may not be available. It depends on the browser type, version and often even on the operating systems.

It would be better if such features were always available in any browser, so you could develop better Web applications that everybody could use.

This is where HTML 5 comes in to play. Despite the whole specification is still being worked on, the current draft and existing browser implementations already provide many advanced features that in the past used to be provided by external browser extensions.


* Better Web and Mozilla

Mozilla is the codename of the browser created by Marc Andreessen, founder of Netscape communications. It was based on the Mosaic browser that Marc developed in 1993 when he was still a student of University of Illinois.

http://en.wikipedia.org/wiki/Mozilla

Mosaic was also the base of Internet Explorer 1.0 that Microsoft licensed from Spyglass Mosaic in 1995. So, Marc Andreessen should be credited for given birth to the two most important lines of Web browsers. This makes Marc Andreessen along with Tim Berners Lee, one of the inventors of HTML, the two most important people that built the basis of the Web.

In 1998 Netscape Communications decided to Open Source the Mozilla project to be managed by the non-profit Mozilla Foundation.

The Mozilla application suite consisted of several programs that included a Web browser and an e-mail client. In 2003 these applications were split into standalone programs, giving the birth of the Firefox browser and the Thunderbird e-mail client.

By that time Microsoft Internet Explorer was by far the dominant browser because it was given away for free and it was included in every Windows installation.

Despite that fact, Firefox gained a lot of traction, especially among Web developers. Part of the reason for this is the fact that Mozilla Foundation made it easy to develop many useful browser extensions for Firefox. Some extensions provided features that built-in later releases of the browser.

Extensions like Firebug facilitated a lot the lives of Web developers. This article lists several other extensions that helped making Firefox very popular among Web developers.

http://www.phpclasses.org/blog/post/95-How-large-is-the-PHP- ...

Another factor that made Firefox gain traction was Google's help. Google practically funded Mozilla Foundation by the means of sharing revenue from Google Adwords advertising displayed on Google search pages when these were accessed from Firefox search bar.

The more users Firefox has, the more advertising revenue is shared by Google with Mozilla Foundation. Google also helped fostering further the growth of Firefox user base by paying incentives to Web site owners that participate in the Google AdSense programme by showing Firefox ads.

Google funding of Mozilla Foundation continues until today, making their Open Source projects sustainable with plenty of funds to invest on innovative developments for a better and open Web.


* Better Web and Java

Java is a programming language released publicly for the first time by Sun Microsystems in 1995. It promised portability of applications between platforms: write once, run everywhere.

Soon it started being integrated in Web browsers. That allowed running Java programs as part of the Web pages in the form of applets. This was one of the first forms of extending the capabilities of Web browsers beyond what HTML allowed.

JavaScript came a little later, initially named Livescript. Despite there are some similarities, Java and Javascript are distinct languages. JavaScript was only renamed that way due to a marketing agreement between Sun and Netscape.

Java applets can use many Java libraries that can provide much more complex user interfaces than HTML can provide.

Despite the initial hype about the potential of Java for developing any almost kind of Web based application, it really did not gain much traction then.

Running non-trivial applets tended to take too much computer memory. Large applets would take too much bandwidth and time to download for most users then. The initial lack of development tools and libraries to build Web based applications also discouraged adoption.

Java applets did not evolve much over the years. Most of the progress occurred in the Java language itself and Java libraries that were specified and made part of the Java standards.

However, in 2007 Sun announced JavaFX. It is a software platform that allows the development of rich Internet based applications that can run on the desktop, Web and mobile devices, as well in TV set-top boxes, gaming consoles, Blu-ray players in the future.

In late 2008 Sun released JavaFX Script which is a language for scripting applications using the JavaFX software platform.


* Better Web and Flash

Flash is a technology introduced by Macromedia in 1996. Initially it allowed displaying smooth animations in Web pages.

Despite it was not as powerful as Java applets, it was launched with an authoring tool that made it very appealing to Web designers. They could easily create site pages with visual appeal that make them stand out from plain HTML pages.

This fact made motivated browser developers to include the Flash extension within the distribution of their browsers. Nowadays almost all browsers come with Flash support.

Over time, the capabilities of Flash movies were improved to address other needs, like audio and video playback and recording, ActionScript scripting language (which is very similar to Javascript), rich text (HTML) editing, and even 3D object rendering.

In 2004 Macromedia also released Flex, which is basically Flash for programmers. It allows developing Rich Internet Applications either using the Flex Builder IDE tool or by compiling user interface definitions written in a custom XML format.

In 2005 Adobe acquired Macromedia. In 2007 Adobe released AIR, which is a runtime environment that allows Web based Flash and HTML applications run as desktop applications, thus outside of a Web browser.


* Better Web and Microsoft

The HTML and related standard specifications are created by working groups of W3 Consortium. These working groups are composed mainly of people from companies that develop browsers.

After HTML 4.01 it seems that the W3 HTML related groups lowered the pace of the specification activity. Since then there was XHTML, XForms and CSS 3, but for many years some specifications were only partially implemented or not implemented at all by any browsers.

In certain cases some technologies emerged in most browsers and W3 only woke up much later in order to standardize them. That was the case of XmlHttpRequest object, also for providing AJAX support.

http://en.wikipedia.org/wiki/Ajax_(programming)

Microsoft added XmlHttpRequest to Internet Explorer it in 1999. Initially it was implemented as a Java applet which was part of a solution that Microsoft called Remote Scripting.

http://msdn.microsoft.com/en-us/library/ms974566.aspx

Not many people know this, but they used it to develop Microsoft Outlook Web Access, a Web mail interface to access e-mail stored in Microsoft Exchange servers. It provides a responsive Web based user interface similar to Microsoft Outlook desktop application.

http://en.wikipedia.org/wiki/Outlook_Web_Access

In 2002, the XmlHttpRequest object was included in Mozilla 1.0. Jesse James Garrett coined the AJAX term in 2005. Many AJAX based applications started popping up since then.

Only in 2006 W3 released the first standard specification of XmlHttpRequest object. As far as I can recall, it did not introduce nothing new to the XmlHttpRequest object functionality then.

I think it is only fair to give proper credit to Microsoft, despite many criticisms. For many years Microsoft has been bashed for adding non-standard features to Internet Explorer. They were accused of breaking the Web by allowing developers to create sites that only worked in Internet Explorer.

XmlHttpRequest object is just one example of an important innovation introduced by Microsoft in Web browsers. Another example is the "contenteditable" attribute. That is a HTML tag attribute that can be used to make a section of a page be editable by the user.

http://en.wikipedia.org/wiki/Online_rich-text_editor

That is the base of many so called online rich editors. Several browsers implemented it many years later, despite it was never standardized by W3C until recently as part of HTML 5 specification.

The history has proven that introducing these non-standard features, Microsoft only addressed the needs of Web developers. Otherwise those features would not have been added to other browsers too, despite W3C only standardize them much later.

The problem is that Microsoft Web browser development seemed to have stopped in time for many years. They stopped after Internet Explorer 6. Internet Explorer 7 and came much later. So, now they are still catching up on features.

Meanwhile, Microsoft introduced Silverlight. It is a browser extension that provide a graphical user interface controlled by programming components separated from the Web page their are inserted.

http://en.wikipedia.org/wiki/Silverlight

It is basically a late coming technology similar to others introduced many years ago such as those provided by Flash and Java applets.


* Better Web and Google (and Apple)

Google became a relevant player as Web applications developer when they released Gmail in 2004.

http://en.wikipedia.org/wiki/Gmail

Despite the common belief that Google pioneered the use of AJAX (XmlHttpRequest object), Gmail user interface and responsiveness was apparently inspired on Microsoft Outlook Web Access released by Microsoft 4 years before first Gmail release.

Despite that fact, Gmail was much more successful because it provided a free hosted Web mail solution with a responsive user interface to access mailboxes with 1 GB of size. Most users never seen Microsoft Outlook Web Access, as it was only available in networks of customers that paid for Microsoft Exchange.

Fortunately for the Internet users, this was just the beginning of an huge investment of Google on developing tools for a better and open Web.

In 2007 Google introduces Gears. This is a browser extension that provides several advanced features that no browser provided then.

http://en.wikipedia.org/wiki/Google_gears

Some of Google Gears features help overcoming limitations of Web applications.

For instance, it lets Web applications use a local caching proxy and a SQL database (SQLite) that make possible to retrieve page elements and information that is available even when the Internet connection goes down, so users may carry on their work offline.

Google Docs and Gmail are some of the applications that take advantage of this possibility.

Google Gears introduced other interesting features that are now part of the HTML 5 specification. More on these features is explained below.

In September 2008, Google launches their own Open Source browser named Chrome.

http://blog.chromium.org/2008/09/welcome-to-chromium_02.html

The main motivation for launching their own browser seems to be the introduction of innovative features that inspire other browser developers to copy the new approaches. This way every user benefits of a better Web regardless of the browser they prefer.

Chrome uses the WebKit rendering engine, just like Apple Safari browser. This engine was derived by Apple from the KHTML rendering engine used by Konqueror browser. Konqueror is included in the KDE desktop environment, which is usually part of most Linux distributions.

http://en.wikipedia.org/wiki/Web_kit

Among other features, Chrome uses a JavaScript execution engined named V8 that is much faster then other browsers' JavaScript engines.

Another new approach is to use a separate process to retrieve and display pages in different browser windows or tabs. This way, loading and interacting in one browser window does not hang other windows.


* HTML 5 top new features

HTML 5 first draft was released in the beginning of 2008. Despite it is inspired in the work of WHATWG (Web Hypertext Application Technology Working Group), which started in 2004, Google and Apple are pushing most of the HTML 5 specification effort.

http://www.whatwg.org/

The HTML 5 specification process is expected to take several years more, but there are already a few browsers that implement a good part of the features, such as Apple Safari 4, Google Chrome 2, Internet Explorer 8, Opera 10 and Mozilla Firefox 3.5 .

You may find more details about the current HTML 5 specification in the W3C site:

http://www.w3.org/html/wg/html5/

Despite I was already aware of most of the new features that HTML 5 is introducing, it was very interesting to see live demonstrations in the presentations given last week in the Google Developer Day 2009 in São Paulo (Brazil).

In case you are not aware, this is a free event organized by Google that will be repeated in many other important cities in the world. In São Paulo only 1000 of the 3000 people that requested to attend were accepted. If you would like to attend, stay tuned to the event page to know when you can register to attend to an edition in a city near where you live.

http://code.google.com/events/developerday/2009/

This year there were presentations about Google Wave and other more specific HTML 5 sessions given respectively by Stephanie Hannon and Patrick Chanezon of Google. Those presentations demonstrated the power of the new HTML 5 features.

Below you can see the slides of Patrick's session on HTML 5 current and future features.



Here follows an overview of the new HTML 5 features that I find most relevant.


- Vectorial graphics with canvas

This is an area in a page on which you can render either vectorial shapes, text, images, video, animated transformations, etc..

The canvas element can be used for similar purposes as SVG elements, except that canvas is just a bitmap with no DOM elements. You just use Javascript to render graphics dynamically in a canvas.

Although you can draw vectorial graphics in a canvas, the result is always a bitmap. That bitmap can be converted into string that represents the canvas contents in one common image format, like PNG. That string can be uploaded to the server, so it can be saved or processed somehow by server side scripts.

Basically, this is the basis of an image editing program. I think that overlaying several canvas elements, you can quickly implement a layers based image editor ala Photoshop or GIMP.


- Built-in video and audio players

In HTML 5, video and audio players can be embedded in Web pages as native elements.

Such elements may display built-in playback controls, or be controlled using external elements that trigger JavaScript code to execute actions for controlling media playback such as: play, stop, seek to position, etc..

One interesting aspect of video elements is that you have access to the video frames at the pixel level. This enables the implementation of impressive video effects right in the browser, like chroma key and motion detection which were demonstrated in Google Developer Day.

This is absolutely amazing. Watch this video to see a demonstration of the chroma key effect. It works by replacing the green background color in the original video frames with a different background image.




This other video is another impressive demonstration of how to implement realtime motion detection. It dynamically places other page elements over a video that is playing. The placed elements follow the movements of a person in the video.




You can try and see these demonstrations for yourself by using Firefox 3.5 or other browser that supports HTML 5 video elements.

Keep in mind that this not only this requires HTML 5 support, but also a browser with fast JavaScript implementation. All this is achieved using JavaScript. That is why it was very important to boost the speed of JavaScript engines used in Firefox, Chrome, Safari and Opera.

The video and audio elements allow playing media from container streams in MPEG, Ogg and other formats.

Keep in mind that in particular Open Source browsers, may not be able to play media in all formats because some codecs may be patent encumbered. Supporting such formats may cost too much money to obtain the required patent licences.

Therefore, the video and audio elements allow specifying multiple alternative media sources with a syntax like this, so the browser uses the first that it supports:

<video>
<source src="video.mp4">
<source src="video.ogg">
Your browser does not support HTML video elements.
</video>


- Standard HTML editing

HTML editing (also known as is online rich editing) is possible by using the "contenteditable" attribute. This is an attribute that was introduced by Internet Explorer 5.5 many years ago. Several other browsers already supported this attribute in past versions that did not yet support HTML 5.

The following HTML code lets you create a simple in-place HTML editor:

<div id="myeditor" contenteditable="true">Click <strong>here</strong> to edit this HTML text</div>

Of course this is not all you need to create an online HTML editor. You may provide additional controls that use browser APIs standardized by HTML 5 to: check selected text, format selected areas, and retrieve the edited HTML content and submit it somehow to the server.

Another concern is the security. You will probably use an hidden form field to copy the HTML from the editor element, before submitting the form that will send the HTML being edited to the server.

The problem that you need to be aware is the fact that a cracker may use this to forge HTTP requests pretending to be the browser submitting the form to send HTML with malicious tags.

If the application accepts the submitted HTML without proper validation and displays it in a site with logged users, it may be vulnerable to cross-site scripting (XSS) attacks. This kind of security problem was explained in this past post:

http://www.phpclasses.org/blog/post/55-Improved-browsing-and ...

The malicious HTML may contain code with Javascript tags that may be used to steal browser cookies and send them to the site of the cracker. Then he may use the stolen cookie values to pretend that he is a legitimate user, and then abuses of his account.

In the case of HTML editors, there is not much that can be done on the browser side to prevent the problem because crackers use custom programs to emulate browser accesses.

What should be done to avoid the problem is to validate the submitted HTML and filter the malicious tags without letting the cracker know about it. This is not a simple task because there are many combinations of tricky HTML that need to detected and filtered.

This is part of the reason why it is taking me some time to finish the visual template editor to let users propose new site design themes.

http://www.phpclasses.org/blog/post/86-2008-balance-and-2009 ...

I looked for existing HTML filtering solutions in PHP but there was none that addressed all my needs. I have developed an HTML parser from scratch that does most of what is necessary to detect and discard invalid HTML.

However, it needs to be perfected to handle more obscure HTML tag sequences. Once it is finished I will publish the HTML parser and filtering package, so everybody interested can benefit from it and implement your own secure HTML editors.


- Drag and drop, copy and paste

Drag and drop support is also part of the HTML 5 specification. It is mainly based on the drag and drop support already available for a while in Internet Explorer. So the implementation of browsers that follow HTML 5 is compatible.

Copy and paste is handled as a particular case of drag and drop operations. It is the same as if you are dragging objects to another application when you copy, or dropping objects from another application when you drop. Cutting is handled as paste operation followed by a delete selection operation on the source object.


- Local storage and application cache

HTML 5 allows storing data in the machine on which the browser is running, so it can be accessed later.

This type of storage is similar to cookies, except that the stored information is not sent to the server on every request like with cookies. The information is stored as key-value pairs. For each key name, there is only one stored value.

There are two types of storage, like there are two types of cookies: session and local.

Session storage is restricted to the browser document window that stored the value. Once the document window is closed, the stored values are lost.

Local storage is restricted to the domain of the document script that stored the value. It cannot be accessed by document scripts served under other domains. The information is kept in storage even after the document window that stored it is closed. It will only be lost when it is deleted explicitly.

Local storage is useful for storing information that can be used after the browser is closed or even when the browser goes off-line.

There is also a means to detect when the browser goes off-line, so applications may decide to store working information in local storage instead of sending it to the server.

Applications that intend support the possibility to let the user continue to work when the browser goes offline, may need to use certain pages, images, Javascript, CSS resources.

HTML 5 offline browsing support allows applications to define which resources can be fetched and cached while the browser is online, so those resources are still available when it goes offline.

http://www.w3.org/TR/html5/offline.html

Additionally, a new API that provide access to a local database that can be queried using SQL is being considered by W3C. It is inspired on the SQLite local database implementation provided by Google Gears extension.


- Know exactly where you are with GeoLocation

Nowadays, there are many Web applications that need to determine your geographic location, especially when you are using a browser on a mobile device.

There are many databases that associate IP addresses with geographic locations. Usually they relate IP address ranges with geographic locations of points of access of Internet service providers. If you are using a browser in a mobile device, you may be quite far from the geographic location of your ISP point of access.

There are better ways to make a closer guess of your location if your mobile device that has GPS support or somehow can perform antenna triangulation.

A browser can use any of these methods to guess the user location can provide that information Web applications via the GeoLocation JavaScript API.

http://dev.w3.org/geo/api/

Despite the GeoLocation API was specified separately from HTML 5, some browsers that support HTML 5 features already provide this API.


- Running heavy tasks on the browser using Web workers

Sometimes Web applications need to perform intensive tasks that take a while to complete and use the CPU a lot. When that happens it may halt the whole browser. Usually, current browsers prompt the user asking if he wants to interrupt the task. The work being done may be wasted if the user tells the browser to stop the intensive task.

A better solution is to use Web workers. These are background processes that can execute a given segment of JavaScript code. The main process and the worker processes communicate via a messaging API.

This way the processes do not halt each other and the user may carry on doing what he wants without having to wait for long tasks to finish.

The Web Workers API is documented in a separate section of the HTML 5 specification:

http://dev.w3.org/html5/workers/Overview.html


* More features to be added to HTML 5

The HTML 5 specification still has a long time to go until it is finished. The editors of the HTML 5 specification expect that it is finished some time in 2012.

While some browsers have already implemented parts of the current specification, even more features will be added later to the specification. Here follows a list of some of the features that are planned to be added:


- Responsive browser-server communication with Web Sockets

The XmlHttpRequest object (AJAX) allowed browsers to communicate with the server without reloading the page. However, when you want to send more information to the server, you need to wait for the response and setup a new connection to send a new request.

Web Sockets are meant to address this problem by allowing bidirectional communication within the same HTTP connection.


- 3D graphics rendering engine

Canvas elements allow rendering arbitrary 2D graphics. Rendering triangles is the basis for 3D graphics engines. Canvas elements can be used to render 3D graphics, but it would be more efficient if canvas had native support to render OpenGL, eventually taking advantages of 3D hardware acceleration when available.

Flash Player 10 already provides some support to 3D object rendering.


- Webcam and microphone access

Video and audio playback are already supported by HTML 5. However some applications could benefit also of video and audio recording capabilities if they are allowed to access to the webcam and microphone that many computers and mobile devices have.

Flash applications already can record video and audio using the local the webcam and microphone when allowed by the user.


- Better file uploading

HTML 5 already supports letting the user select multiple files for upload using a single file input. It would also be useful to track form file upload progress directly in the browser showing custom progress bar and remaining time estimates, just like you can do using Flash.


* Conclusions

- HTML 5 will lead to bloated browsers

HTML 5 is adding so many features that it is almost unavoidable that browsers need so much new code to fully support it. That will make browsers even more bloated.

Furthermore, to make browsers more efficient, it is natural that pages that use many of the features take more CPU and RAM to be rendered and processed.

This may not have great implications for desktop computers because faster CPUs and RAM are becoming cheaper. However, for mobile phones this may end up requiring faster CPUs that consume the battery faster and heat the devices even more. If you have a mobile phone that heats a lot, you are already familiar with the problem.


- Neverending HTML 5 specification

The HTML 5 specification is already large but the plans to evolve are even more ambitious. The feature list does not seem to be closed yet.

This may slow down HTML 5 adoption by Web site developers that prefer to wait for the final specification version or wait for general browser adoption.

On the other hand, you may start using the features that are well specified and widely implemented among all the popular browsers.


- Internet Explorer HTML 5 adoption

More important than Web developer adoption, is the availability of HTML 5 features under Internet Explorer.

The fact is that Internet Explorer is the dominant browser. It will always be while Windows is the dominant desktop operating system and Internet Explorer comes built-in the Windows distribution.

Internet Explorer 8 comes with support to some HTML 5 features. Windows 7 is going to be released this year. Soon Internet Explorer 8 is expected to be the most popular Web browser. That may be a good thing to help HTML 5 gain some adoption.

On the other hand, HTML 5 adds already so many features that it will take a long time to write all the code to implement those features in browsers that do not support them, like Internet Explorer.


- Will HTML 5 kill Flash, Silverlight and Java?

HTML 5 is so appealing that there are already developers working on emulation JavaScript libraries that make it work in Internet Explorer and other popular browsers.

Depending on the browser, those libraries will use Flash, Silverlight and eventually Java applets to provide adapter APIs based on those extensions under browsers that do not support certain HTML 5 features.

That is just one of the reasons why Flash, Silverlight and Java will not be killed by HTML 5, at least not anytime soon.

Another reason is the existence of a large number of legacy applications that rely on those technologies, many of which will never be migrated to HTML 5 because they just work.

Many developers that invested so much time and money to obtain know-how on those technologies will not be very motivated to switch, especially while there is market demand for professionals specialized in such technologies.

The availability of productivity tools for developers that work with those technologies is another reason to keep them faithful.

Other than that, rest assured that those technologies will also evolve and provide even more features beyond what HTML 5 provides. That is probably why HTML 5 feature list keeps growing. It seems to be a reflex of an eventual race for adoption and survival between HTML and those alternative technologies.

So, if you were in doubt whether Flash, Silverlight and Java will be killed by HTML 5, in my opinion the answer is: of course not, at least for now.


* Your HTML 5 applications

HTML 5 features definitely make it very appealing. It is very tempting to start using HTML 5 now to develop new Web based applications, especially if we can use emulation libraries that make it possible to take advantage of its features and still make it work in older browsers.

Personally, I have been working on solutions that provide at least some of the features of HTML 5 that I need, as part of the HTML Forms Validation and Generation package. Soon I expect to start releasing some new plug-ins that resulted of that work.

http://www.phpclasses.org/formsgeneration

What about you? Are you planning to develop applications that take advantage of HTML 5 features? What is your plan? Have you been working on any emulation libraries too?

Feel free to post a comment on this article about this matter.

You need to be a registered user or login to post a comment

Login Immediately with your account on:

Facebook ConnectGmail or other Google Account
Hotmail or Microsoft Windows LiveStackOverflow
GitHubYahoo


Comments:

11. framework for html5 forms in php - jonas (2011-08-16 23:59)
depage-forms: html5 in php forms made easy... - 1 reply
Read the whole comment and replies

10. Excellent work - ap09links (2010-01-18 14:29)
About article... - 0 replies
Read the whole comment and replies

9. <Video> is not working - nad (2009-07-18 07:30)
<Video> is not working for me... - 1 reply
Read the whole comment and replies

8. great article - Simon Hanson (2009-07-13 18:49)
very informative... - 0 replies
Read the whole comment and replies

7. We Still Worry about ie6!! - Ahmad Shukr (2009-07-08 18:19)
ie6!!!... - 0 replies
Read the whole comment and replies

1. Nice Article - dave (2009-07-07 20:08)
Nice article. (+ small correction)... - 3 replies
Read the whole comment and replies

6. HTML 5? Not a chance.. - Martin Angelov (2009-07-06 22:47)
At least not yet... - 1 reply
Read the whole comment and replies

5. :) - NOnica (2009-07-06 18:41)
html 5... - 0 replies
Read the whole comment and replies

3. Would like to use HTML 5 but... - Tatsh (2009-07-06 18:40)
Lack of support, the problem is Microsoft... - 1 reply
Read the whole comment and replies

4. flash..... - søren jacobsen (2009-07-06 17:41)
flash was futuresplash before........ - 0 replies
Read the whole comment and replies


Trackbacks:

4. Web Sockets tutorial with simple Python server (2009-12-17 16:40)
The Landscape: HTML5...

3. HTML 5 para uma web melhor (2009-07-13 11:51)
O Manuel Lemos do PHP Classes escreveu sobre as novidades para o HTML 5...

2. HTML 5 con vídeo pero sin codec (2009-07-06 11:44)
hasta donde sé, la sintaxis de arriba _es_ la válida, pero no lo he comprobado con el W3C...

1. HTML 5 for a better Web (2009-07-06 04:02)
This page tells good things about HTML5


<< Previous: 10th anniversary anno...>> Next: India will become num...

  Blog PHP Classes blog   RSS 1.0 feed RSS 2.0 feed   Blog HTML 5 for a better Web   Post a comment Post a comment   See comments See comments (18)   Trackbacks (4)