Online Server Support

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg
Showing posts with label html. Show all posts
Showing posts with label html. Show all posts

Tuesday, 7 August 2007

Optimisation data for HTML5 parser implementors

Posted on 15:58 by Unknown
By Ian Hickson, editor of the HTML5 specification

Last month, just before I left on vacation, I posted three sets of data to help implementors of the HTML5 parser specification optimise their code. There are several implementations coming along, for example those that are part of the html5lib project and the one behind Validator.nu.

The three sets of data that I posted are all derived from parsing several billion documents from Google's Web search index using a parser I wrote in Sawzall.

The first set of data gives the relative aggregate distribution of invocations of the "in head", "in body", and "in table" insertion modes, for each of the insertion modes. This allows implementors to determine, for instance, that invoking the "in body" code while in a cell must be very efficient, while invoking the "in body" code from the "after frameset" code need not be as efficient, in case the implementor has a strategy that optimises one at the cost of another. See: documentation, data.

The second set of data gives the relative aggregate distribution of tokens for each phase/insertion mode pair. This can help implementors that are using a cascade of if statements decide on the right order for their statements. For instance, the most common token type seen in the "in body" insertion mode is character data, and the second most token is the start tag token for an a element, but the isindex start tag was almost never seen. This tells implementors that they should check for characters and a start tags long before checking for isindex tags. See: documentation, data.

The last set of data examines the number of attributes per element. It allows implementors to decide on the optimum memory allocation strategy for attributes. For example, since most elements have 9 or fewer attributes, the data structure that stores attributes can be optimised for simply having 9 attributes, using little memory, and if an element has more than this number of attributes, the implementation can switch to a separate implementation that is more memory-heaving but is optimised for large numbers of attributes. See: data.

I hope this data is useful!

Read More
Posted in html, html5 | No comments

Wednesday, 28 March 2007

Interview with Ian Hickson on X/HTML 5

Posted on 20:31 by Unknown
Posted by Dion Almaer, Google Developer Programs

What is more important to the future of the web than the future of HTML, and adoption of technology in the browsers? Our own Ian Hickson has been blazing a trail under the WHATWG umbrella, as he tries to do the right thing, and standardize what is already being down, instead of making a specification in an isolated room.

Back in 2005, Ian conducted a comprehensive, detailed analysis of how markup is used on the Web which gives his real world metrics to go by.

Vlad Alexander from xhtml.com was invited to post a series of questions to the X/HTML 5 team on their public mailing list, and recently published their Q & A session.

If you haven't stayed up to date on what is happening around the standards, take a peek to see how the team answered questions such as:
  • Why do we need X/HTML 5? When did this need become apparent?
  • X/HTML 5 is currently in Working Draft stage. What is the tentative timetable for moving X/HTML 5 through the standards approval process towards Recommendation stage?
  • X/HTML 5 introduces new markup constructs such as sectioning elements, enhancements to the input element, a construct for dialogs, a way to mark up figures, and much more. Can you briefly describe these new constructs and the reason they were added?
  • X/HTML 5 has a construct for adding additional semantics to existing elements using predefined class names. Predefined class names could be the most controversial part of X/HTML 5, because the implementation overloads the class attribute. XHTML 2 provides similar functionality using the role attribute. Which approach is better and why?
  • Is it due to a flaw in HTML that it is difficult to build authoring tools, such as WYSIWYG editors, that generate markup rich in semantics, embody best-practices and that can be easily used by non-technical people?
  • Since much of the content on the Web is created using such authoring tools, can we ever achieve a semantically rich and accessible Web?
  • The XHTML 5 spec says that "generally speaking, authors are discouraged from trying to use XML on the Web". Why write an XML spec like XHTML 5 and then discourage authors from using it? Why not just drop support for XML (XHTML 5)?
The full writeup can be read here.
Read More
Posted in html, standards | No comments
Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • Weekly Google Code Roundup for July 2-6th
    By Dion Almaer, Google Developer Programs Having the July 4th holiday smack in the middle of the week creates a strange week when it is hard...
  • Weekly Google Code Roundup for July 16-20th
    By Dion Almaer, Google Developer Programs This week we have the pleasure of having MashupCamp hosted walking distance from the Googleplex. I...
  • Weekly Google Code Roundup for July 23-27th
    By Dion Almaer, Google Developer Programs It has been a busy time for conferences. From MashupCamp last week, to OSCON and The Ajax Experien...
  • Weekly Google Code Roundup for July 8-12th
    By Dion Almaer, Google Developer Programs In API and developer-product news... Othman Laraki talked about the Gears roadmap and development ...
  • Weekly Google Code Roundup for June 11-15th
    By Dion Almaer, Google Developer Programs In API and developer-product news... I will start by going meta. Linking to a roundup from a round...
  • Google Gadget Ventures
    By Tom Stocky, Google Developer Programs Good news for Google Gadget developers. We've just launched Google Gadget Ventures , a new pil...
  • Google Developer Day sessions move to San Jose Convention Center
    Posted by Andrew Bowers, Google Developer Programs Thanks to the incredible interest in Google Developer Day, we've moved the session po...
  • Google Releases Maps API for External Use
    I'm very happy to let you know that our friends who have created Google Maps have released an API so that you can post interactive, dra...
  • Weekly Google Code Roundup for June 25-29th
    By Dion Almaer, Google Developer Programs It has been a great week. From the new Google Gadget Ventures, to the new ability to click and dra...
  • Google Developer Podcast Episode Three: Mike Tsao on Google Gears
    By Dion Almaer, Google Developer Programs Using iTunes? We have published the third episode of the Google Developer Podcast, which delves ...

Categories

  • 20% project
  • 3d
  • accessibility
  • advogato
  • ajax
  • ajax search
  • ajax search books news apis
  • amarok
  • android
  • apache
  • apis
  • apis. charts
  • apple
  • atom publishing protocol
  • axsjax
  • barcodes
  • blogger
  • building ajax apps
  • c++
  • caja
  • calendar
  • camino
  • chronoscope
  • cifs
  • cms
  • collada
  • community
  • conferences
  • cricket
  • cryptography
  • danish linux forum
  • developer
  • django
  • documentation
  • dojo
  • dot net
  • dreamweaver
  • drupal
  • eclipse
  • eclipsecon
  • education
  • email
  • events
  • feeds
  • firevox
  • fosdem
  • freebsd
  • freenet
  • gadgets
  • gcc
  • gdata
  • gdd07
  • geoserver
  • getpaid
  • ghop
  • gnome
  • gnome women's summer outreach program
  • Google
  • google apps for your domain
  • google chart api
  • google checkout
  • google code
  • google code project hosting
  • google code search
  • google data apis
  • google developer day
  • google earth
  • google gadgets
  • google gears
  • google grants
  • google mashup editor
  • google summer of code
  • google web toolkit
  • green linux
  • gsoc
  • gtags
  • guice
  • GWSOP
  • gwt
  • haproxy
  • hibernate
  • howto
  • hpux
  • html
  • html5
  • igoogle
  • image search
  • Imara
  • interviews
  • java
  • javascript
  • joomla
  • joomladayus2007
  • joomladayusa
  • karaoke
  • KDE
  • KDE 4.0
  • kernel
  • kernel summit
  • kml
  • linux
  • linux foundation
  • linux summit
  • linux virtual server
  • linuxconf eu
  • LoCo
  • london
  • mac
  • MacFuse
  • maps
  • meetup
  • MIT CSAIL
  • mobile
  • mylar
  • MySQL
  • mythtv
  • named
  • netbsd
  • nss
  • objective-c
  • OCaml
  • ocr
  • ODF
  • oha
  • OOXML
  • open source
  • openajax alliance
  • opensocial
  • openssl
  • oreilly
  • oscon
  • oscon2007
  • oss devs
  • ossjam
  • osx
  • pactester
  • phone
  • picasa
  • picasa web
  • plone
  • plone sprint
  • podcast
  • portugal
  • programming
  • py3k
  • python
  • python sprint
  • reader
  • research
  • samba
  • scalability
  • screencast
  • security
  • shindig
  • silverstripe
  • sitemaps
  • sixapart
  • sketchup
  • soc
  • solaris
  • spa2007
  • speakers
  • standards
  • student programs
  • subversion
  • summer of code
  • syndication
  • testing
  • themes
  • topp
  • ubucon
  • ubuntu
  • unit test
  • unix
  • video
  • Vim
  • weekly roundup
  • windows
  • windows programming
  • Winter of Code
  • youtube
  • zurich
  • ZXing

Blog Archive

  • ▼  2008 (7)
    • ▼  January (7)
      • KDE 4.0 Release Event wrap-up
      • iGoogle Themes API
      • Wednesday in San Francisco: OpenSocial Hackathon a...
      • An OpenSocial HappyHour party with Gears
      • ChartMaker: A tool for the Google Chart API
      • Google Developer Courses on YouTube
      • Thanks to you
  • ►  2007 (159)
    • ►  December (8)
    • ►  November (13)
    • ►  October (16)
    • ►  September (11)
    • ►  August (16)
    • ►  July (11)
    • ►  June (14)
    • ►  May (13)
    • ►  April (12)
    • ►  March (19)
    • ►  February (14)
    • ►  January (12)
  • ►  2006 (98)
    • ►  December (10)
    • ►  November (14)
    • ►  October (13)
    • ►  September (11)
    • ►  August (14)
    • ►  July (9)
    • ►  June (5)
    • ►  May (5)
    • ►  April (6)
    • ►  March (4)
    • ►  February (2)
    • ►  January (5)
  • ►  2005 (40)
    • ►  December (4)
    • ►  November (1)
    • ►  October (3)
    • ►  September (2)
    • ►  August (5)
    • ►  July (3)
    • ►  June (11)
    • ►  May (2)
    • ►  April (4)
    • ►  March (5)
Powered by Blogger.

About Me

Unknown
View my complete profile