CSS Working Group discussed the idea for the flexible box model sometime before 2008. Flexbox’s first working draft was published on July 23rd, 2009. The original spec (specification) is based on XUL, the technology Firefox uses to produce its UI (user interface). The spec included layout primitives that were easier to use than just plain HTML for interface design. Flexbox’ layout capability was thought to be useful for webpages as well. The basic XUL flex content was translated into a CSS spec that is seen in the 2009 working draft. There were several problems with the first working draft. The layout algorithm was slow, the spec was vague, and between its two implementations, Webkit and Firefox, there were divergent details. The spec worked differently between Webkit and Firefox even with basic components.
In 2011, Tab Atkins takes over as editor for the Flexbox spec. He does a significant revision of the syntax and publishes two working drafts within the year. The unofficial syntax from 2011 is referred to as the “tweener” syntax, which is supported in Chrome, Opera, and IE 10. The display from the 2009 to 2011 syntax changed from box to flexbox.
The 2012 version of the Flexbox spec is in W3C candidate recommendation. When a spec is in candidate recommendation it is at a certain point in the spec’s lifetime in the W3C. This means the spec is stable, supported in browsers, tests are being written for it and there should not be a significant change from this version. Again, the 2012 syntax is edited from its previous version and Opera releases un-prefixed support. Mozilla is close to releasing an un-prefixed support at this time. Atkins wrote an editor’s draft in 2013. The new version of the spec (2012 version/2013 editor’s draft) made a better factoring of Flexbox’s ability, tightened the algorithm, and increased Flexbox’s efficiency.
Today, the newest version of Flexbox is a W3C candidate recommendation. Flexbox’s last call working draft was published May 14, 2015. The status of this document is that it is a draft document, which means it “may be updated, replaced or obsoleted, by other documents at any time” (W3C). Basically, the draft is still a work in progress. This draft was reviewed through June 11th, 2015. The current editor’s draft is from December 3rd, 2015, meaning Flexbox is updating as we speak. The editor’s draft is public and is provided by the W3C as means of discussion. In order to create the kind of technology change Haas describes, Flexbox needs to continue to update its content until it can achieve the best optimization of user interface design within the module.