<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>WebDev FeedHouse</title>
	<link>http://www.webdevfeedhouse.com</link>
	<language>en</language>
	<description>WebDev FeedHouse - http://www.webdevfeedhouse.com</description>

<item>
	<title>W3C: WebCGM 2.1 is a W3C Recommendation</title>
	<guid>tag:www.w3.org,2010://4.8743</guid>
	<link>http://www.w3.org/News/2010.html#entry-8743</link>
	<description>&amp;amp;lt;p&amp;amp;gt;The &amp;amp;lt;a href=&quot;/Graphics/WebCGM/WG/&quot;&amp;amp;gt;WebCGM Working Group&amp;amp;lt;/a&amp;amp;gt; has published a W3C Recommendation of &amp;amp;lt;a href=&quot;/TR/2010/REC-webcgm21-20100301/&quot;&amp;amp;gt;WebCGM 2.1&amp;amp;lt;/a&amp;amp;gt;. Computer Graphics Metafile (CGM) is an ISO standard, defined by ISO/IEC 8632:1999, for the interchange of 2D vector and mixed vector/raster graphics. WebCGM is a profile of CGM, which adds Web linking and is optimized for Web applications in technical illustration, electronic documentation, geophysical data visualization, and similar fields. WebCGM aims to balance graphical expressive power on the one hand, and simplicity and implementability on the other. A small but powerful set of standardized metadata elements supports the functionalities of hyperlinking and document navigation, picture structuring and layering, and enabling search and query of WebCGM picture content. WebCGM 2.1 refines and completes the features found in WebCGM 2.0. Learn more about the &amp;amp;lt;a href=&quot;/Graphics/&quot;&amp;amp;gt;Graphics Activity&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Call for Review: XProc -  An XML Pipeline Language Proposed Recommendation</title>
	<guid>tag:www.w3.org,2010://4.8742</guid>
	<link>http://www.w3.org/News/2010.html#entry-8742</link>
	<description>&amp;amp;lt;p&amp;amp;gt;The &amp;amp;lt;a href=&quot;/XML/Processing/&quot;&amp;amp;gt;XML Processing Model Working Group&amp;amp;lt;/a&amp;amp;gt; has published a Proposed Recommendation of &amp;amp;lt;a href=&quot;/TR/2010/PR-xproc-20100309/&quot;&amp;amp;gt;XProc: An XML Pipeline Language&amp;amp;lt;/a&amp;amp;gt;. This specification describes the syntax and semantics of XProc: An XML Pipeline Language, a language for describing operations to be performed on XML documents. Pipelines are made up of simple steps which perform atomic operations on XML documents and constructs similar to conditionals, iteration, and exception handlers which control which steps are executed. The group has produced an &amp;amp;lt;a href=&quot;/XML/XProc/2010/02/ir.html&quot;&amp;amp;gt;implementation report&amp;amp;lt;/a&amp;amp;gt; Comments are welcome through 15 April. Learn more about the &amp;amp;lt;a href=&quot;/XML/&quot;&amp;amp;gt;Extensible Markup Language (XML) Activity&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Last Call: Web Security Context: User Interface Guidelines</title>
	<guid>tag:www.w3.org,2010://4.8741</guid>
	<link>http://www.w3.org/News/2010.html#entry-8741</link>
	<description>&amp;amp;lt;p&amp;amp;gt;The &amp;amp;lt;a href=&quot;/2006/WSC/&quot;&amp;amp;gt;Web Security Context Working Group&amp;amp;lt;/a&amp;amp;gt; has published a Last Call Working Draft of &amp;amp;lt;a href=&quot;/TR/2010/WD-wsc-ui-20100309/&quot;&amp;amp;gt;Web Security Context: User Interface Guidelines&amp;amp;lt;/a&amp;amp;gt;. This specification deals with the trust decisions that users must make online, and with ways to support them in making safe and informed decisions where possible. This document specifies user interactions with a goal toward making security usable, based on known best practice in this area. Comments are welcome through 31 March. Learn more about the &amp;amp;lt;a href=&quot;/Security/&quot;&amp;amp;gt;Security Activity&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Ontology for Media Resource 1.0, API for Media Resource 1.0 Drafts Published</title>
	<guid>tag:www.w3.org,2010://4.8740</guid>
	<link>http://www.w3.org/News/2010.html#entry-8740</link>
	<description>&amp;amp;lt;p&amp;amp;gt;The &amp;amp;lt;a href=&quot;/2008/WebVideo/Annotations/&quot;&amp;amp;gt;Media Annotations Working Group&amp;amp;lt;/a&amp;amp;gt; has published Working Drafts of &amp;amp;lt;a href=&quot;/TR/2010/WD-mediaont-10-20100309/&quot;&amp;amp;gt;Ontology for Media Resource 1.0&amp;amp;lt;/a&amp;amp;gt; and
&amp;amp;lt;a href=&quot;/TR/2010/WD-mediaont-api-1.0-20100309&quot;&amp;amp;gt;API for Media Resource 1.0&amp;amp;lt;/a&amp;amp;gt;.
The former document defines the Ontology for Media Resource 1.0, a core vocabulary to describe media resources on the Web. It is defined based on a core set of properties which covers basic metadata to describe media resources. Further it defines syntactic and semantic level mappings between elements from existing formats. The ontology is supposed to foster the interoperability among various kinds of metadata formats currently used to describe media resources on the Web. The latter defines a client-side API to access metadata information related to media resources on the Web. 
Learn more about the &amp;amp;lt;a href=&quot;/2008/WebVideo/&quot;&amp;amp;gt;Video in the Web Activity&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Dr. Jeffrey Jaffe Named W3C CEO</title>
	<guid>tag:www.w3.org,2010://4.8738</guid>
	<link>http://www.w3.org/News/2010.html#entry-8738</link>
	<description>&amp;amp;lt;p&amp;amp;gt;
&amp;amp;lt;a class=&quot;imageLink&quot; href=&quot;http://www.w3.org/People/Jeff/&quot;&amp;amp;gt;
  &amp;amp;lt;img width=&quot;100&quot; height=&quot;150&quot; src=&quot;http://www.w3.org/2010/03/JeffreyJaffe_thumb.jpg&quot; alt=&quot;Dr. Jeffrey Jaffe&quot;/&amp;amp;gt;
&amp;amp;lt;/a&amp;amp;gt;
W3C today named &amp;amp;lt;a href=&quot;/People/Jeff/&quot;&amp;amp;gt;Dr. Jeffrey Jaffe&amp;amp;lt;/a&amp;amp;gt; its new Chief Executive Officer. 
&quot;Web technologies continue to be the vehicle for every industry to incorporate the rapid pace of change into their way of doing business,&quot; said Dr. Jaffe. &quot;I'm excited to join W3C at this time of increased innovation, since W3C is the place where the industry comes together to set standards for the Web in an open and collaborative fashion.&quot; As W3C CEO, Dr. Jaffe will work with Director Tim Berners-Lee, staff, Membership, and the public to evolve and communicate W3C's organizational vision. The CEO is responsible for W3C's global operations, for maintaining the interests of all of the W3C's stakeholders, and for sustaining a culture of cooperation and transparency, so that W3C continues to be the leading forum for the technical development and stewardship of the Web. Read the &amp;amp;lt;a href=&quot;http://www.w3.org/QA/2010/03/w3c_ceo_blog_first_posting_mar.html&quot;&amp;amp;gt;CEO Blog&amp;amp;lt;/a&amp;amp;gt; and learn more in the &amp;amp;lt;a href=&quot;/2010/03/ceo-pr.html&quot;&amp;amp;gt;press release&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Seven Documents Related to HTML Published</title>
	<guid>tag:www.w3.org,2010://4.8735</guid>
	<link>http://www.w3.org/News/2010.html#entry-8735</link>
	<description>&amp;amp;lt;p&amp;amp;gt;W3C published today seven documents related to HTML:&amp;amp;lt;/p&amp;amp;gt; &amp;amp;lt;ul class=&quot;show_items&quot;&amp;amp;gt; &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href=&quot;/TR/2010/WD-html5-20100304/&quot;&amp;amp;gt;HTML 5&amp;amp;lt;/a&amp;amp;gt; and &amp;amp;lt;a href=&quot;/TR/2010/WD-html5-diff-20100304/&quot;&amp;amp;gt;HTML5 differences from HTML4&amp;amp;lt;/a&amp;amp;gt;. In addition, some content that was part of the HTML 5 specification has been published in two new standalone drafts: &amp;amp;lt;a href=&quot;/TR/2010/WD-2dcontext-20100304/&quot;&amp;amp;gt;HTML Canvas 2D Context&amp;amp;lt;/a&amp;amp;gt; and &amp;amp;lt;a href=&quot;/TR/2010/WD-microdata-20100304/&quot;&amp;amp;gt;HTML Microdata&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/li&amp;amp;gt; &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href=&quot;/TR/2010/WD-html-markup-20100304/&quot;&amp;amp;gt;HTML: The Markup Language&amp;amp;lt;/a&amp;amp;gt;, a first draft. This document describes the HTML markup language and provides details necessary for producers of HTML content to create documents that conform to the language. By design, it does not define related APIs, nor attempt to specify how consumers of HTML content are meant to process documents, nor attempt to be a tutorial or &quot;how to&quot; authoring guide.&amp;amp;lt;/li&amp;amp;gt; &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href=&quot;/TR/2010/WD-rdfa-in-html-20100304/&quot;&amp;amp;gt;HTML+RDFa&amp;amp;lt;/a&amp;amp;gt;, which defines rules and guidelines for adapting the RDF in XHTML: Syntax and Processing (RDFa) specification for use in the HTML5 and XHTML5 members of the HTML family.&amp;amp;lt;/li&amp;amp;gt; &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href=&quot;/TR/2010/WD-html-bidi-20100304/&quot;&amp;amp;gt;Additional Requirements for Bidi in HTML&amp;amp;lt;/a&amp;amp;gt;, a first draft. Authoring a web app that needs to support both right-to-left and left-to-right interfaces, or to take as input and display both left-to-right and right-to-left data, usually presents a number of challenges that make it an especially laborious and bug-prone task. Some of these are due to browser bugs, but some can be traced to a gap in the specification of the bidirectional aspects of a given HTML feature. And some of these challenges could be greatly simplified by adding a few strategically placed new HTML features. This document proposes fixes for some of the most repetitive pain points.&amp;amp;lt;/li&amp;amp;gt; &amp;amp;lt;/ul&amp;amp;gt; &amp;amp;lt;p&amp;amp;gt;All documents were published by the &amp;amp;lt;a href=&quot;/html/wg/&quot;&amp;amp;gt;HTML Working Group&amp;amp;lt;/a&amp;amp;gt; except the last one, published by the &amp;amp;lt;a href=&quot;/International/core/&quot;&amp;amp;gt;Internationalization Core Working Group&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Voice Extensible Markup Language (VoiceXML) 3.0 Draft Published</title>
	<guid>tag:www.w3.org,2010://4.8734</guid>
	<link>http://www.w3.org/News/2010.html#entry-8734</link>
	<description>&amp;amp;lt;p&amp;amp;gt;The &amp;amp;lt;a href=&quot;/Voice/&quot;&amp;amp;gt;Voice Browser Working Group&amp;amp;lt;/a&amp;amp;gt; has published a Working Draft of &amp;amp;lt;a href=&quot;/TR/2010/WD-voicexml30-20100304/&quot;&amp;amp;gt;Voice Extensible Markup Language (VoiceXML) 3.0&amp;amp;lt;/a&amp;amp;gt;. This document specifies VoiceXML 3.0, a modular XML language for creating interactive media dialogs that feature synthesized speech, recognition of spoken and DTMF key input, telephony, mixed initiative conversations, and recording and presentation of a variety of media formats including digitized audio, and digitized video. See the &amp;amp;lt;a href=&quot;/TR/2010/WD-voicexml30-20100304/diff.html&quot;&amp;amp;gt;diff-marked version&amp;amp;lt;/a&amp;amp;gt; of changes since the previous draft, and learn more about the &amp;amp;lt;a href=&quot;/Voice/&quot;&amp;amp;gt;Voice Browser Activity&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Security Drafts Update: XML Signature Syntax and Processing 2.0; Canonical XML Version 2.0</title>
	<guid>tag:www.w3.org,2010://4.8733</guid>
	<link>http://www.w3.org/News/2010.html#entry-8733</link>
	<description>&amp;amp;lt;p&amp;amp;gt;The &amp;amp;lt;a href=&quot;/2008/xmlsec/&quot;&amp;amp;gt;XML Security Working Group&amp;amp;lt;/a&amp;amp;gt; has published two Working Drafts: &amp;amp;lt;a href=&quot;/TR/2010/WD-xmldsig-core2-20100304/&quot;&amp;amp;gt;XML Signature Syntax and Processing Version 2.0&amp;amp;lt;/a&amp;amp;gt; and &amp;amp;lt;a href=&quot;/TR/2010/WD-xml-c14n2-20100304/&quot;&amp;amp;gt;Canonical XML Version 2.0&amp;amp;lt;/a&amp;amp;gt;. The first specifies XML syntax and processing rules for creating and representing digital signatures. XML Signatures can be applied to any digital content (data object), including XML. The second is a major rewrite of Canonical XML Version 1.1 to address issues around performance, streaming, hardware implementation, robustness, minimizing attack surface, determining what is signed and more. It also incorporates an update to Exclusive Canonicalization, effectively a 2.0 version, as well. Learn more about the &amp;amp;lt;a href=&quot;/Security/&quot;&amp;amp;gt;Security Activity&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Call for Review: XML Linking Language (XLink) Version 1.1 Proposed Recommendation</title>
	<guid>tag:www.w3.org,2010://4.8729</guid>
	<link>http://www.w3.org/News/2010.html#entry-8729</link>
	<description>&amp;amp;lt;p&amp;amp;gt;The &amp;amp;lt;a href=&quot;/XML/Core/&quot;&amp;amp;gt;XML Core Working Group&amp;amp;lt;/a&amp;amp;gt; has published a Proposed Recommendation of &amp;amp;lt;a href=&quot;/TR/2010/PR-xlink11-20100225/&quot;&amp;amp;gt;XML Linking Language (XLink) Version 1.1&amp;amp;lt;/a&amp;amp;gt;. This specification defines the XML Linking Language (XLink) Version 1.1, which allows elements to be inserted into XML documents in order to create and describe links between resources. It uses XML syntax to create structures that can describe links similar to the simple unidirectional hyperlinks of today's HTML, as well as more sophisticated links. Comments are welcome through 31 March. Learn more about the &amp;amp;lt;a href=&quot;/XML/&quot;&amp;amp;gt;Extensible Markup Language (XML) Activity&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Call for Review: Speech Synthesis Markup Language (SSML) Version 1.1 Proposed Recommendation</title>
	<guid>tag:www.w3.org,2010://4.8728</guid>
	<link>http://www.w3.org/News/2010.html#entry-8728</link>
	<description>&amp;amp;lt;p&amp;amp;gt;The &amp;amp;lt;a href=&quot;/Voice/&quot;&amp;amp;gt;Voice Browser Working Group&amp;amp;lt;/a&amp;amp;gt; has published a Proposed Recommendation of &amp;amp;lt;a href=&quot;/TR/2010/PR-speech-synthesis11-20100223/&quot;&amp;amp;gt;Speech Synthesis Markup Language (SSML) Version 1.1&amp;amp;lt;/a&amp;amp;gt;. The Speech Synthesis Markup Language Specification is designed to provide a rich, XML-based markup language for assisting the generation of synthetic speech in Web and other applications. The essential role of the markup language is to provide authors of synthesizable content a standard way to control aspects of speech such as pronunciation, volume, pitch, rate, etc. across different synthesis-capable platforms. SSML 1.1 improves SSML 1.0 support for a broader set of natural (human) languages. Known implementations are documented in the &amp;amp;lt;a href=&quot;/Voice/2009/ssml11-ir/&quot;&amp;amp;gt;Implementation Report&amp;amp;lt;/a&amp;amp;gt;, along with the associated test suite. Comments are welcome through 23 March. Learn more about the &amp;amp;lt;a href=&quot;/Voice/&quot;&amp;amp;gt;Voice Browser Activity&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Candidate Recommendation Updated for Timed Text Markup Language (TTML) 1.0</title>
	<guid>tag:www.w3.org,2010://4.8727</guid>
	<link>http://www.w3.org/News/2010.html#entry-8727</link>
	<description>&amp;amp;lt;p&amp;amp;gt;The &amp;amp;lt;a href=&quot;/AudioVideo/TT/&quot;&amp;amp;gt;Timed Text Working Group&amp;amp;lt;/a&amp;amp;gt; has published an updated Candidate Recommendation of &amp;amp;lt;a href=&quot;/TR/2010/CR-ttaf1-dfxp-20100223/&quot;&amp;amp;gt;Timed Text Markup Language (TTML) 1.0&amp;amp;lt;/a&amp;amp;gt;. TTML is a content type that represents timed text media for the purpose of interchange among authoring systems. Timed text is textual information that is intrinsically or extrinsically associated with timing information. This an updated document based on implementation experience; see the &amp;amp;lt;a href=&quot;http://www.w3.org/TR/2010/CR-ttaf1-dfxp-20100223/#change-history-cr2-to-cr3&quot;&amp;amp;gt;list of changes&amp;amp;lt;/a&amp;amp;gt;. A &amp;amp;lt;a href=&quot;http://www.w3.org/2008/10/dfxp-testsuite.zip&quot;&amp;amp;gt;test
suite&amp;amp;lt;/a&amp;amp;gt; for TTML is available, along with its &amp;amp;lt;a href=&quot;http://www.w3.org/2008/10/dfxp-test-coverage.html&quot;&amp;amp;gt;coverage
report&amp;amp;lt;/a&amp;amp;gt; and a &amp;amp;lt;a href=&quot;http://www.w3.org/2009/05/dfxp-results.html&quot;&amp;amp;gt;preliminary
implementation report&amp;amp;lt;/a&amp;amp;gt;. The test suite and implementations are work in progress and may not reflect all of the changes of this document.  Learn more about the &amp;amp;lt;a href=&quot;/2008/WebVideo/&quot;&amp;amp;gt;Video in the Web Activity&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Second Web Compatibility Test for Mobile Browsers Released</title>
	<guid>tag:www.w3.org,2010://4.8725</guid>
	<link>http://www.w3.org/News/2010.html#entry-8725</link>
	<description>&amp;amp;lt;p&amp;amp;gt; The &amp;amp;lt;a href=&quot;/2005/MWI/Tests/&quot;&amp;amp;gt;Mobile Web Test Suites Working
       Group&amp;amp;lt;/a&amp;amp;gt; has &amp;amp;lt;a
       href=&quot;/2005/MWI/Tests/blog/2010/02/09/wctmbv2&quot;&amp;amp;gt;just released&amp;amp;lt;/a&amp;amp;gt; a &amp;amp;lt;a href=&quot;/2010/01/wctmb2/&quot;&amp;amp;gt;brand new Web Compatibility Test for Mobile Browsers&amp;amp;lt;/a&amp;amp;gt;. Based on the same idea of evaluating support of a number of Web technologies at a glance as in the &amp;amp;lt;a href=&quot;/2008/06/mobile-test/&quot;&amp;amp;gt;first Web Compatibility Test published in July 2008&amp;amp;lt;/a&amp;amp;gt;, this second version features a number of more recent technologies that promise to make Web browsers more powerful, in particular on mobile devices. Learn more about the &amp;amp;lt;a href=&quot;http://www.w3.org/Mobile/&quot;&amp;amp;gt;Mobile Web Initiative&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: W3C Community Invited to Discuss Future Standards for Model-Based User Interfaces</title>
	<guid>tag:www.w3.org,2010://4.8723</guid>
	<link>http://www.w3.org/News/2010.html#entry-8723</link>
	<description>&amp;amp;lt;p&amp;amp;gt;W3C announced today a &amp;amp;lt;a href=&quot;/2010/02/mbui/cfp&quot;&amp;amp;gt;Workshop on Future Standards for Model-Based User Interfaces&amp;amp;lt;/a&amp;amp;gt;, 13-14 May 2010 in Rome Italy. Participants will examine the challenges facing Web developers due to  
variations in device capabilities, modes of interaction and software  
standards, the need to support assistive technologies for  
accessibility, and the demand for richer user interfaces. Discussion  
will focus on reviewing research on model-based design of context- 
sensitive user interfaces in relation to these challenges, and the  
opportunities for new open standards in the area of Model-Based User  
Interfaces. W3C Membership is not required to participate; anyone who satisfies
the &amp;amp;lt;a href=&quot;/2010/02/mbui/cfp.html#requirements_for_participants&quot;&amp;amp;gt;participation requirements&amp;amp;lt;/a&amp;amp;gt; may attend as long as space permits. Statements of interest are due 2 April. Please see the &amp;amp;lt;a href=&quot;2010/02/mbui/cfp&quot;&amp;amp;gt;Call for Participation&amp;amp;lt;/a&amp;amp;gt; for more information.  &amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: RIF Production Rules Dialect Revised; Last Call for Comments</title>
	<guid>tag:www.w3.org,2010://4.8721</guid>
	<link>http://www.w3.org/News/2010.html#entry-8721</link>
	<description>&amp;amp;lt;p&amp;amp;gt;During the &amp;amp;lt;a href=&quot;/News/2009#entry-6545&quot;&amp;amp;gt;implementation phase&amp;amp;lt;/a&amp;amp;gt; of the Rule Interchange Format (RIF), the &amp;amp;lt;a href=&quot;/2005/rules/wiki/RIF_Working_Group&quot;&amp;amp;gt;Working Group&amp;amp;lt;/a&amp;amp;gt; discovered a problem with the design of the Production Rules Dialect.  This problem is addressed with a new &amp;amp;lt;a href=&quot;/TR/2010/WD-rif-prd-20100211/&quot;&amp;amp;gt;Last Call Working Draft&amp;amp;lt;/a&amp;amp;gt; that changes the way actions are handled to more closely match existing production rule engines.   Please send comments and &amp;amp;lt;a href=&quot;/2005/rules/wiki/How_to_Submit_an_Implementation_Report&quot;&amp;amp;gt;RIF implementation reports&amp;amp;lt;/a&amp;amp;gt; to &amp;amp;lt;a href=&quot;mailto:public-rif-comments@w3.org&quot;&amp;amp;gt;public-rif-comments@w3.org&amp;amp;lt;/a&amp;amp;gt;. Last Call comments should be sent before 5 March. Learn more about the &amp;amp;lt;a href=&quot;/2001/sw/&quot;&amp;amp;gt;Semantic Web&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;

    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Call for Review: XML Entity Definitions for Characters Proposed Recommendation Published</title>
	<guid>tag:www.w3.org,2010://4.8720</guid>
	<link>http://www.w3.org/News/2010.html#entry-8720</link>
	<description>&amp;amp;lt;p&amp;amp;gt;The &amp;amp;lt;a href=&quot;/Math/&quot;&amp;amp;gt;Math Working Group&amp;amp;lt;/a&amp;amp;gt; has published  a Proposed Recommendation of &amp;amp;lt;a href=&quot;/TR/2010/PR-xml-entity-names-20100211/&quot;&amp;amp;gt;XML Entity Definitions for Characters&amp;amp;lt;/a&amp;amp;gt;. This document presents a completed listing harmonizing the known uses in math and science of character entity names that appear throughout the XML world and Unicode. This document is the result of years of employing entity names on the Web. There were always a few named entities used for special characters in HTML, but a flood of new names came with the symbols of mathematics.  Comments are welcome through 11 March. Learn more about the &amp;amp;lt;a href=&quot;/Math/&quot;&amp;amp;gt;Math Activity&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Wed, 10 Mar 2010 20:00:18 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>Vitamin: Setting rather than Resetting Default Styling</title>
	<guid>http://carsonified.com/?p=4943</guid>
	<link>http://carsonified.com/blog/design/setting-rather-than-resetting-default-styling/</link>
	<description>&lt;div class=&quot;tweetmeme_button&quot;&gt;&lt;a href=&quot;http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdesign%2Fsetting-rather-than-resetting-default-styling%2F&quot;&gt;&lt;img src=&quot;http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdesign%2Fsetting-rather-than-resetting-default-styling%2F&quot; height=&quot;61&quot; width=&quot;51&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;http://carsonified.com/?administer_redirect_4=http://futureofwebdesign.com/?utm_source=thinkvitamin&amp;amp;utm_medium=banner&amp;amp;utm_campaign=setting_resetting&amp;gt;&amp;lt;img src=&quot;&gt;&lt;img src=&quot;http://carsonified.com/wp-content/themes/carsonified/img/adverts/fowd_london_2010_side.jpg&quot; alt=&quot;Future of Web Design London 2010&quot; width=&quot;470&quot;&gt;&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Editors Note:&lt;/strong&gt; In his first article for Think Vitamin Thierry Koblentz discusses the issue of &amp;#8220;resetting&amp;#8221; your CSS.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;&amp;#8220;base.css&amp;#8221; versus &amp;#8220;reset.css&amp;#8221;&lt;/h3&gt;
&lt;p&gt;For a long time, the very first line in my styles sheets was:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;* {padding:0;margin:0;}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This &lt;a title=&quot;Fight the (Power) Default&quot; href=&quot;http://leftjustified.net/journal/2004/10/07/css-negotiation/&quot;&gt;simple rule&lt;/a&gt; was very convenient as it leveled margin and padding values of all elements across browsers. This &amp;#8220;hard reset&amp;#8221; was short and simple and it had the advantage of belonging to the main styles sheet rather than being an &lt;a title=&quot;Eric Meyer's, Yahoo's and Ed Eliot's Reset&quot; href=&quot;http://www.css-reset.com/&quot;&gt;external file&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Later, this technique was denounced as &lt;a title=&quot;Writing Efficient CSS&quot; href=&quot;https://developer.mozilla.org/en/Writing_Efficient_CSS#Guidelines_for_Efficient_CSS&quot;&gt;bad practice&lt;/a&gt; as it makes the rendering agent style (check) &lt;em&gt;every single element&lt;/em&gt; in a document. It also  triggered issues with form controls, but authors were used to specifying styles for these.&lt;/p&gt;
&lt;p&gt;Then came  &amp;#8220;reset&amp;#8221; styles sheets. These files go way beyond resetting margin and padding. The most complete in terms of properties/elements involved has to be &lt;a href=&quot;http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/&quot;&gt;Eric Meyer&amp;#8217;s&lt;/a&gt;. It &amp;#8220;unstyles&amp;#8221; everything you could think of, from &lt;tt&gt;a&lt;/tt&gt; to &lt;tt&gt;var&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;Authors start with a clean slate. From there, they most often write rules to style elements that were originally styled by the browser&amp;#8217;s styles sheet, but overwritten by the reset file. In short, many elements are styled three times:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;by the browser&amp;#8217;s styles sheet (see &lt;a href=&quot;http://meiert.com/en/blog/20070922/user-agent-style-sheets/&quot;&gt;User Agent Styles Sheets&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;by the &amp;#8220;reset&amp;#8221; file.&lt;/li&gt;
&lt;li&gt;by the author&amp;#8217;s styles sheet.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Criticism of this Approach&lt;/h3&gt;
&lt;p&gt;&lt;a title=&quot;No CSS reset&quot; href=&quot;http://snook.ca/archives/html_and_css/no_css_reset/&quot;&gt;Jonathan Snook&lt;/a&gt;, &lt;a title=&quot;Why&quot;&gt;Jens Meiert&lt;/a&gt; and others have &amp;#8220;criticized&amp;#8221; this approach, saying more or less that there was no use for a &amp;#8220;middle man&amp;#8221;. On Jen&amp;#8217;s site,  &amp;#8220;&lt;a href=&quot;http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/#comment-96465&quot;&gt;randomCommenter&lt;/a&gt;&amp;#8221; summarizes the issue pretty well when asking: &lt;q&gt;&quot;Wouldn't a well written base style sheet render a reset style sheet redundant and therefore useless?&quot;&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;Actually, I believe Eric Meyer himself hints in that direction when he says:&lt;/p&gt;
&lt;blockquote cite=&quot;http://meyerweb.com/eric/tools/css/reset/&quot;&gt;&lt;p&gt;&quot;I don&amp;#8217;t particularly recommend that you just use this in its  unaltered state in your own projects. It should be tweaked, edited,  extended, and otherwise tuned to match your specific reset baseline.  Fill in your preferred colors for the page, links, and so on.  In other words, this is a starting point, not a self-contained black box of no-touchiness.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;In any case, people should at least evaluate the rules in these reset files before copying and pasting their content. For example, if one authors documents as HTML 4.01 Strict! one may safely remove from a reset styles sheets any reference to elements like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;iframe&lt;/li&gt;
&lt;li&gt;applet&lt;/li&gt;
&lt;li&gt;strike&lt;/li&gt;
&lt;li&gt;u&lt;/li&gt;
&lt;li&gt;font&lt;/li&gt;
&lt;li&gt;s&lt;/li&gt;
&lt;li&gt;center&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span id=&quot;more-4943&quot;&gt;&lt;/span&gt;My Base Styles Sheet&lt;/h3&gt;
&lt;p&gt;Following the idea of &amp;#8220;tweaking&amp;#8221; a reset file, I came up with this &amp;#8220;&lt;a href=&quot;http://tjkdesign.com/ez-css/css/base.css&quot;&gt;base styles sheet&lt;/a&gt;&amp;#8220;. It sets default styling for many elements,  follows a couple of recommendations regarding usability/accessibility, and addresses a few &amp;#8220;common issues&amp;#8221; as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What does it do that a reset doesn&amp;#8217;t?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It fixes a few things&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It forces a gutter for a vertical scrollbar (when content is too short to require a scrollbar)&lt;/li&gt;
&lt;li&gt;It includes an &lt;a title=&quot;How to remove the extra padding IE creates&quot; href=&quot;http://jehiah.cz/archive/an-even-better-ie-button-width-fix&quot;&gt;IE button width fix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;It removes &amp;#8220;sticky&amp;#8221; outline  (not in Internet Explorer though)&lt;/li&gt;
&lt;li&gt;It prevents &amp;#8220;&lt;a href=&quot;https://developer.mozilla.org/en/Images,_Tables,_and_Mysterious_Gaps&quot;&gt;mysterious gaps below images&lt;/a&gt;&amp;#8220;&lt;/li&gt;
&lt;li&gt;It prevents descenders letters in &lt;tt&gt;legend&lt;/tt&gt; from being cut-off in Internet Explorer&lt;/li&gt;
&lt;li&gt;It vertically aligns checkboxes and radio buttons with their label&lt;/li&gt;
&lt;li&gt;It sets a default color background for the document with no shrink wrap effect on &lt;tt&gt;body&lt;/tt&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;It styles lists by default&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It is easier to remove markers on lists than to style them. So, by default, lists are styled to show indentation and markers depending on hierarchy and list types. But the styles sheet contains a class to reset this styling. When applied to a &lt;tt&gt;UL&lt;/tt&gt; or &lt;tt&gt;OL&lt;/tt&gt; &amp;#8211; it will remove markers and left margin on their items.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;It creates vertical &amp;#8220;gutters&amp;#8221;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Left and right padding are applied to most block-level elements to create vertical gutters. This allows to build layouts without having to use &amp;#8220;padding&amp;#8221; on main containers which helps to produce designs that do not break in IE 5 (or IE 6 in quirks mode) as width and padding values are not mixed. This is also an alternative to using non semantic wrappers as a workaround to avoid mixing these properties.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why using padding instead of margin to create that space?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using padding allows to paint elements&amp;#8217; background all across their parent container. Stretching from one edge to another. When this behavior is not seeked, for example when styling a heading with a bottom border that should be no wider than what appears to be the &amp;#8220;content box&amp;#8221;, authors can use a class (in the sheet already) to revert that styling (swaping padding values with margin values).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;It creates horizontal white space too&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Via margin&lt;/strong&gt; &amp;#8211; By default, vertical space is obtained through top margin. A top margin of 1.2em is applied to most block-level elements.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Via padding&lt;/strong&gt; &amp;#8211; Authors can uncomment two rules in the styles sheet to create spacing using padding instead of margin. The advantage of this method is that it prevents two common &amp;#8220;issues&amp;#8221;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Collapsing margins &lt;/strong&gt;- Margins will not collapse since elements are not styled with vertical (top/bottom) margins.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Loss of top margin when clearing  floats&lt;/strong&gt; &amp;#8211; When an element clears a float, it &amp;#8220;loses&amp;#8221; its  top margin, but that gap is preserved if top padding is used instead.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;What else?&lt;/h3&gt;
&lt;p&gt;Rules in this &lt;a href=&quot;http://tjkdesign.com/ez-css/css/base.css&quot;&gt;base styles sheet&lt;/a&gt; are well commented and values that one would like to change (&lt;tt&gt;font-family&lt;/tt&gt;, &lt;tt&gt;font-size&lt;/tt&gt;, &lt;tt&gt;line-height&lt;/tt&gt;, &lt;tt&gt;color&lt;/tt&gt;, &lt;tt&gt;padding&lt;/tt&gt;, etc.) are placed near the top of the file.&lt;/p&gt;
&lt;p&gt;You can download &lt;a href=&quot;http://tjkdesign.com/ez-css/css/base.css&quot;&gt;base.css with comments&lt;/a&gt; or a &lt;a href=&quot;http://tjkdesign.com//ez-css/css/min-base.css&quot;&gt;minified version&lt;/a&gt;. My advice is to use these rules as a starting point to create your own styles sheet. Do not link to an external file to then override  property values, instead, add, remove and edit anything you want to end up with a main styles sheet for your own project(s).&lt;/p&gt;
&lt;p&gt;My &lt;a href=&quot;http://tjkdesign.com/ez-css/css/base.css&quot;&gt;base.css&lt;/a&gt; styles sheet is a work in progress.  If you play with it, and if you see things that should not belong in there or to the contrary things that should be included, please join the discussion.&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; The YUI reset styles sheet sets a background-color on &lt;tt&gt;html&lt;/tt&gt;. This styling makes the browser paint the background of &lt;tt&gt;body&lt;/tt&gt; no taller than its content instead of matching the viewport&amp;#8217;s height (this is by specs). I believe a future release of YUI reset will include this change.&lt;/p&gt;
&lt;img src=&quot;http://carsonified.com/?ak_action=api_record_view&amp;id=4943&amp;type=feed&quot; alt=&quot;&quot;&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=-IG7ojHYcUY:JE33_Y7wbK0:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=-IG7ojHYcUY:JE33_Y7wbK0:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=-IG7ojHYcUY:JE33_Y7wbK0:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=-IG7ojHYcUY:JE33_Y7wbK0:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=-IG7ojHYcUY:JE33_Y7wbK0:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=-IG7ojHYcUY:JE33_Y7wbK0:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 10 Mar 2010 14:00:05 +0000</pubDate>
	<dc:creator>Thierry Koblentz</dc:creator>
</item>
<item>
	<title>Microsoft - IEBlog: Working with the HTML5 Community</title>
	<guid>91d46819-8472-40ad-a661-2c78acb4018c:9975634</guid>
	<link>http://blogs.msdn.com/ie/archive/2010/03/09/Working-with-the-HTML5-Community.aspx</link>
	<description>&lt;p&gt;We're always excited to engage with members of the W3C including the developers of other browsers as well as the broader web development community to help shape the direction of emerging Web standards, particularly &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2010/03/05/W3C-HTML-Working-Group-Publishes-New-Drafts.aspx&quot;&gt;HTML5&lt;/a&gt;.&amp;nbsp; This includes participating in events like TPAC, which &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/11/02/participating-at-w3c-s-tpac-2009.aspx&quot;&gt;we wrote about in November&lt;/a&gt;, and on-going engagement with various working groups.&amp;nbsp; Patrick recently talked about &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2010/01/05/microsoft-joins-w3c-svg-working-group.aspx&quot;&gt;joining the SVG working group&lt;/a&gt;, and I'd like to share a brief list of other happenings on the way to making HTML5 well-defined, well-tested, and accessible:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Providing feedback on HTML5 &lt;br&gt;&lt;/b&gt;Tony Ross, Internet Explorer Program Manager, and Jonas Sicking of Mozilla, led a discussion about extensibility in HTML5 at TPAC after our &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html/2009Sep/att-1216/MicrosoftDistributedExtensibilitySubmission.htm&quot;&gt;initial submission&lt;/a&gt;.&amp;nbsp; While the working group hasn't resolved the issue yet, we think the event helped inform everyone and generate the &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html/2009Nov/0545.html&quot;&gt;different&lt;/a&gt; &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html/2010Jan/0618.html&quot;&gt;proposals&lt;/a&gt; submitted since.&amp;nbsp; &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Testing HTML5&lt;/b&gt; &lt;br&gt;Kris Krueger, Internet Explorer Test Lead, was appointed facilitator of the W3C&amp;nbsp;&lt;a href=&quot;http://www.w3.org/html/wg/wiki/TaskForces#Testing_Task_Force&quot;&gt;HTML5 Testing Task Force&lt;/a&gt;.&amp;nbsp; The task force has set up necessary infrastructure like a &lt;a href=&quot;http://www.w3.org/html/wg/wiki/Testing&quot;&gt;wiki&lt;/a&gt;, &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html-testsuite/2009Nov/0002.html&quot;&gt;Bugzilla&lt;/a&gt;, a &lt;a href=&quot;http://www.w3.org/html/wg/test/track/actions/open&quot;&gt;work item tracker&lt;/a&gt;, and &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html-testsuite/2009Nov/0003.html&quot;&gt;CVS repository for test cases&lt;/a&gt;.&amp;nbsp; With that in place, they've started to &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html-testsuite/2010Feb/0009.html&quot;&gt;review DOM Level 2 HTML test cases&lt;/a&gt; to use as the start of HTML5 testing.&amp;nbsp; &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/01/27/microsoft-submits-thousands-more-css-2-1-tests-to-the-w3c.aspx&quot;&gt;As with CSS2.1&lt;/a&gt;, we think a good test suite is critical to ensuring a specification results in interoperable implementations. &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Ensuring new specifications enable accessibility&lt;/b&gt; &lt;br&gt;We care deeply about an accessible web so besides implementing &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/12/10/new-accessibility-features-in-ie8.aspx&quot;&gt;accessibility-focused browser features&lt;/a&gt;, we're working with Apple, IBM, and other interested parties to &lt;a href=&quot;http://www.w3.org/html/wg/wiki/AddedElementCanvas&quot;&gt;ensure the new HTML5 &amp;lt;canvas&amp;gt; and &amp;lt;video&amp;gt; elements have great accessibility support&lt;/a&gt; so everyone can use sites leveraging them.&amp;nbsp; This work is driven by the &lt;a href=&quot;http://www.w3.org/WAI/PF/wiki/HTML_Task_Force&quot;&gt;Accessibility Task Force&lt;/a&gt;.&amp;nbsp; Together, we're working on &amp;lt;canvas&amp;gt; HTML prototypes to use as &quot;proof of concepts' to ensure the feature is well-designed, as &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-canvas-api/2010JanMar/0148.html&quot;&gt;discussed in a recent teleconference&lt;/a&gt;.&amp;nbsp; &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Indexed DB Proposal&lt;/b&gt; &lt;br&gt;Together with Mozilla, we're excited about a new design for local storage called Indexed DB.&amp;nbsp; We think this is a great solution for the web.&amp;nbsp; Look for another post with more information about this proposal.&amp;nbsp; In the meantime, you can read &lt;a href=&quot;http://www.w3.org/TR/IndexedDB/&quot;&gt;the latest working draft&lt;/a&gt;.&amp;nbsp; &lt;/li&gt;
&lt;li&gt;&lt;b&gt;DOM Level 3 Events&lt;/b&gt; &lt;br&gt;Travis Leithead, Internet Explorer Program Manager, continues to help close down open issues with the latest editor's draft. It's been awhile since the working group published the last &lt;a href=&quot;http://www.w3.org/TR/DOM-Level-3-Events/&quot;&gt;working draft&lt;/a&gt; and the group plans to publish an update soon that will improve clarity for implementers and web authors alike. On a recent teleconference, we noted that &lt;a href=&quot;http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/&quot;&gt;DOM Level 2 Events&lt;/a&gt; was published as a Recommendation nearly 10 years ago; it's exciting to have the next milestone in sight! &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Finally, you can read &lt;a href=&quot;http://www.w3.org/QA/2010/03/interview_paul_cotton_on_micro.html&quot;&gt;an interview with Paul Cotton&lt;/a&gt; from Microsoft and co-Chair of the W3C HTML Working Group on the W3C Blog.&lt;/p&gt;
&lt;p&gt;Adrian Bateman &lt;br&gt;Program Manager&lt;/p&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=9975634&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
	<pubDate>Tue, 09 Mar 2010 21:23:00 +0000</pubDate>
	<dc:creator>ieblog</dc:creator>
</item>
<item>
	<title>Vitamin: Freelancing Together</title>
	<guid>http://carsonified.com/?p=4916</guid>
	<link>http://carsonified.com/blog/business/freelancing-together/</link>
	<description>&lt;div class=&quot;tweetmeme_button&quot;&gt;&lt;a href=&quot;http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fbusiness%2Ffreelancing-together%2F&quot;&gt;&lt;img src=&quot;http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fbusiness%2Ffreelancing-together%2F&quot; height=&quot;61&quot; width=&quot;51&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;http://carsonified.com/?administer_redirect_7=http://futureofwebdesign.com/?utm_source=thinkvitamin&amp;amp;utm_medium=banner&amp;amp;utm_campaign=freelancing_together&quot;&gt;&lt;img class=&quot;alignnone&quot; title=&quot;Future of Web Design London 2010&quot; src=&quot;http://carsonified.com/wp-content/themes/carsonified/img/adverts/fowd_london_2010_side.jpg&quot; alt=&quot;Future of Web Design London 2010&quot; width=&quot;470&quot; height=&quot;60&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Editors Note:&lt;/strong&gt; In his first article for Think Vitamin Matthew Smith, Principal Designer at &lt;a href=&quot;http://squaredeye.com&quot;&gt;Squared Eye Design&lt;/a&gt;, discusses the benefits, risks and infrastructure required to work effectively with fellow freelancers.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Working Alone&lt;/h3&gt;
&lt;p&gt;Working alone can be great. There's a pleasant autonomy of knowing exactly what you're  doing and when. There are few unknowns. You work directly with the client and don't have to worry about managing others.&lt;/p&gt;
&lt;p&gt;In the past I've done everything from branding, strategy, IA, design, front-end dev, and CMS integration on a single project. These days, if I'm working alone, its usually providing PSDs to a client who has an internal dev team or something similar. I love it!&lt;/p&gt;
&lt;p&gt;These projects are less complex than my collaborative projects, so life is simple. But if I limit myself to the size  and quantity of projects that I'm able to complete all on my own, my business will stagnate. If I am unwilling to pursue entrepreneurship and management, I will forever remain a technician.&lt;/p&gt;
&lt;h3&gt;Be a Jumbo Shrimp&lt;/h3&gt;
&lt;p&gt;Growth isn't for everyone, but for me it's a matter of defining my future. I want to be a Jumbo Shrimp &quot; a big presence in a niche area. I don't want to simply design interfaces for the next 30 years; I want to change the world &quot; even if only in a small way. Growth can magnify my ability to directly affect positive change.&lt;span id=&quot;more-4916&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Working Together&lt;/h3&gt;
&lt;p&gt;By partnering with other professionals, I can grow my business and take on projects that can't be harnessed by one man. A &lt;a href=&quot;http://www.flickr.com/photos/squaredeye/4405974259/&quot;&gt;huge beer&lt;/a&gt; one man can tackle, but a huge project is another undertaking all together. Forming partnerships with others can be overwhelming at first.&lt;/p&gt;
&lt;p&gt;But with the right team and a &lt;span&gt;poorly paid&lt;/span&gt; talented project manager, you can take on more challenging, higher paying projects. Bolster the success of your partnership (and avoid massive cardiac arrest) by setting the stage with a healthy understanding of the risks and the infrastructure required to harvest the bountiful benefits.&lt;/p&gt;
&lt;h3&gt;Risks&lt;/h3&gt;
&lt;p&gt;As with any great opportunity, you'll find an inherent level of risk involved. The normal stuff applies &quot; what if someone gets sick, eaten by a whale, or discovers that working for you is a level of ass pain they never before imagined? What happens if you have a different work ethic than others on your team?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;No one to manage the project&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A project lacking management can quickly descend into the hells of scope creep. When that happens, you may be forced to nominate someone Survivor-style to run point. Managing might not be their strong suit or even what they want to be paid for. This can lead to real frustration within your team, and if combined with alcohol and firearms &quot; there will be blood.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;strong&gt;Your team is flat &lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It doesn't matter if its soda, tires, or teams &quot; flat is bad. If you don't know who's in charge of your project, it's destined for confusion. If you prefer stress and direct path to insanity, then I highly recommend no leadership whatsoever.&lt;br&gt;
&lt;strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;strong&gt;No consequences or incentives&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you don't have a clear set of consequences and incentives to encourage your team to stay unified and on target, you're likely to end up with a wayward child on your hands (I want those sweeties!). Recovering from team disunity or distraction costs valuable energy, which distracts from the project goals.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Infrastructure&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;There are a few areas that aren't quite risks, if they are well defined and everyone has a clear understanding of them, they are as follows:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Choose a project manager&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Once you've chosen the right PM, does everyone agree that he has the authority to tell them what to do, and when? Making sure that everyone is ready to receive instruction from your PM and that everyone trusts the PM is critical to keeping the project's flow. If my PM told me to stop enjoying beer, I'd fire him, so your PM's authority should have some boundaries.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Give your team a hierarchy&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A flat system will cause confusion and delay. It's important that there is clear delineation of responsibility and authority. Sometimes this may coincide with who brought the project to the table, or it may be defined by who is the better leader.&lt;/p&gt;
&lt;p&gt;Whatever the case, make sure you have a clear chain of command. Let your PM define the workflow of your partnership. Ideally everyone has moments of overlap and involvement in every stage of the project so that you aren't simply running a relay race.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Choose incentives or consequences to govern your team&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Finding the right incentives and consequences helps you cover your risks properly to ensure that everyone has the right level of stake in the project and their reputation. Done well, this is a document that everyone can sign on to, so that if the project goes south because of someone's error, it's their agreement with the document that hands out the punishment &quot; not one of your team.&lt;/p&gt;
&lt;p&gt;For our partnership, one incentive/consequence is very simply the ability to be re-hired on the next project, or fired from the current one dependent on whether you're meeting the project expectations or not. We also spank, though for some in our coworking office that's an incentive, so we use it sparingly.&lt;/p&gt;
&lt;h3&gt;Benefits&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;You can now safely move about the cabin, you have a project manager on duty&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A PM's responsibilities and authority can give you room to breathe. It will also allow you to do what you do best &quot; whether that's IA, design, tweeting, or development. It also bears mentioning that your clients will experience a higher level of care and organization. And if you depend on word of mouth like we do, this is one of your greatest assets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Organizational clarity leads to total work nirvana &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Okay, that's overkill, but you and your clients will notice the efficiency that grows from a clear structure of authority. It allows your team to operate as a congruent force with a head, rather than an unruly band of independent freelancers.&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Great incentives and real consequences keep the house clean&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I hate conflict as much as anybody. If you put together a solid document with both incentives and consequences, you'll find your projects and your team keep clean and free from unmanageable conflict. Everyone on your team wants to succeed, make money, and have a big party when every project's done &quot; this will make it so much easier.&lt;/p&gt;
&lt;h3&gt;In Summary&lt;/h3&gt;
&lt;p&gt;Bringing a team of freelancer's together to provide a solid end product to a great client is profitable adventure and a joy. The Blue Sky Resumes project was the most ambitious foray into collaboration for our team.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.blueskyresumes.com/&quot;&gt;&lt;img title=&quot;Blue Sky Resumes&quot; src=&quot;http://carsonified.com/wp-content/uploads/2010/03/bsr-jpg.jpg&quot; alt=&quot;&quot; width=&quot;470&quot; height=&quot;418&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The experience had a high learning curve, some of which I'm hoping to  spare you from. If you move in this direction, you'll see failures along  the way; it'll be as tough as it is fun. But the work you'll get to  engage in, and the &lt;a href=&quot;http://coworkgreenville.com/&quot;&gt;great people&lt;/a&gt; you get to work with are worth every  moment.&lt;/p&gt;
&lt;h3&gt;Resources&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;To Read&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.amazon.com/Army-Davids-Technology-Ordinary-Government/dp/1595550542&quot;&gt;Army of Davids&lt;/a&gt; (Good business oriented abstract read)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.noded.biz/&quot;&gt;Noded&lt;/a&gt; (I've not read this, but ought to)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Other Collaborative Freelancers&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://sidebarcreative.com/&quot;&gt;Sidebar Creative &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://analog.coop/&quot;&gt;Analog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Coworking Is a Good Place to Start&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Coworking&quot;&gt;Coworking on Wikipedia &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://coworking.pbworks.com/&quot;&gt;Coworking Site &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;img src=&quot;http://carsonified.com/?ak_action=api_record_view&amp;id=4916&amp;type=feed&quot; alt=&quot;&quot;&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=wkLEIu9G_AM:a7nNhNJqHnE:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=wkLEIu9G_AM:a7nNhNJqHnE:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=wkLEIu9G_AM:a7nNhNJqHnE:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=wkLEIu9G_AM:a7nNhNJqHnE:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=wkLEIu9G_AM:a7nNhNJqHnE:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=wkLEIu9G_AM:a7nNhNJqHnE:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Tue, 09 Mar 2010 14:00:06 +0000</pubDate>
	<dc:creator>Matthew Smith</dc:creator>
</item>
<item>
	<title>456 Berea St: Seven HTML related working drafts published</title>
	<guid>http://www.456bereastreet.com/archive/201003/seven_html_related_working_drafts_published/</guid>
	<link>http://feedproxy.google.com/~r/456bereastreet/~3/QFRYxukVSbU/</link>
	<description>&lt;p class=&quot;preamble&quot;&gt;On March 4, the W3C published no less than seven new or updated working draft documents related to HTML:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/html5/&quot;&gt;HTML5&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/html-markup/&quot;&gt;HTML: The Markup Language&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/html5-diff/&quot;&gt;HTML5 differences from HTML4&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/rdfa-in-html/&quot;&gt;HTML+RDFa&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/microdata/&quot;&gt;HTML Microdata&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/2dcontext/&quot;&gt;HTML Canvas 2D Context&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/2010/WD-html-bidi-20100304/&quot;&gt;Additional Requirements for Bidi in HTML&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a href=&quot;http://www.456bereastreet.com/archive/201003/seven_html_related_working_drafts_published/&quot;&gt;Read full post&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Posted in &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/xhtml/&quot; rel=&quot;tag&quot;&gt;(X)HTML&lt;/a&gt;, &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/html_5/&quot; rel=&quot;tag&quot;&gt;HTML 5&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/gxxpfhUuhqLRDK1WhOLJp__GdUk/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/gxxpfhUuhqLRDK1WhOLJp__GdUk/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/gxxpfhUuhqLRDK1WhOLJp__GdUk/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/gxxpfhUuhqLRDK1WhOLJp__GdUk/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=QFRYxukVSbU:joySZKQ1owc:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=QFRYxukVSbU:joySZKQ1owc:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=QFRYxukVSbU:joySZKQ1owc:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=QFRYxukVSbU:joySZKQ1owc:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=QFRYxukVSbU:joySZKQ1owc:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=QFRYxukVSbU:joySZKQ1owc:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=QFRYxukVSbU:joySZKQ1owc:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/456bereastreet/~4/QFRYxukVSbU&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Mon, 08 Mar 2010 19:05:30 +0000</pubDate>
	<dc:creator>Roger Johansson</dc:creator>
</item>
<item>
	<title>QuirksMode: HTML5 apps</title>
	<guid>http://www.quirksmode.org/blog/archives/2010/03/html5_apps.html</guid>
	<link>http://www.quirksmode.org/blog/archives/2010/03/html5_apps.html</link>
	<description>&lt;p&gt;Right now nobody&amp;#8217;s interested in a mobile solution that does not contain the words &amp;#8220;iPhone&amp;#8221; and &amp;#8220;app&amp;#8221; and that is not submitted to a closed environment where it competes with approximately 2,437 similar mobile solutions.&lt;/p&gt;

&lt;p&gt;Compared to the current crop of mobile clients and developers, lemmings marching off a cliff follow a solid, sensible strategy. Startling them out of this &lt;a href=&quot;http://www.quirksmode.org/blog/archives/2010/02/the_iphone_obse.html&quot;&gt;obsession&lt;/a&gt; requires nothing short of a new buzzword.&lt;/p&gt;

&lt;p&gt;Therefore I&amp;#8217;d like to re-brand standards-based mobile websites and applications, definitely including W3C Widgets, as &amp;#8220;HTML5 apps.&amp;#8221; People outside our little technical circle are already aware of the existence of HTML5, and I don&amp;#8217;t think it needs much of an effort to
elevate it to full buzzwordiness.&lt;/p&gt;

&lt;p&gt;Technically, HTML5 apps would encompass all websites as well as all the myriads of (usually locally installed) web-standards-based application systems on mobile. The guiding principle would be to write and maintain one single core application that uses web standards, as well as a mechanism that deploys that core application across a wide range of platforms.&lt;/p&gt;</description>
	<pubDate>Mon, 08 Mar 2010 14:45:15 +0000</pubDate>
</item>
<item>
	<title>Vitamin: Getting Started with Yahoo! GeoPlanet Explorer</title>
	<guid>http://carsonified.com/?p=4883</guid>
	<link>http://carsonified.com/blog/dev/getting-started-with-yahoo-geoplanet-explorer/</link>
	<description>&lt;div class=&quot;tweetmeme_button&quot;&gt;&lt;a href=&quot;http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Fgetting-started-with-yahoo-geoplanet-explorer%2F&quot;&gt;&lt;img src=&quot;http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Fgetting-started-with-yahoo-geoplanet-explorer%2F&quot; height=&quot;61&quot; width=&quot;51&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;http://carsonified.com/?administer_redirect_7=http://futureofwebapps.com/?utm_source=thinkvitamin&amp;amp;utm_medium=banner&amp;amp;utm_campaign=geoplanet&quot;&gt;&lt;img class=&quot;alignnone&quot; title=&quot;Future of Web Apps Dublin 2010&quot; src=&quot;http://carsonified.com/wp-content/themes/carsonified/img/adverts/fowa_dublin_2010_side.jpg&quot; alt=&quot;Future of Web Apps Dublin 2010&quot; width=&quot;470&quot; height=&quot;60&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Where are you and what is around you?&lt;/h3&gt;
&lt;p&gt;Geolocation is a hot topic. Google just got the patent on geolocated advertising, mobile phones allow us to pinpoint ourselves on the planet and find things nearby and with augmented reality applications we can even find our way by filming our surrounding and finding hidden treasures by moving our mobile around. Using geolocation as a developer is quite easy, you can do a few things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you are building something in a social network, you can get the geographical location from the user&amp;#8217;s profile.&lt;/li&gt;
&lt;li&gt;If you work on a certain mobile platform (Android, WebOS, iPhone) you get APIs to detect the current location.&lt;/li&gt;
&lt;li&gt;If that is not an option you can use the W3C geo location API in browsers that support it.&lt;/li&gt;
&lt;li&gt;If everything else fails you can guess the visitor&amp;#8217;s location from their IP number.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;That is the where, but how to know what is around me?&lt;/h3&gt;
&lt;p&gt;Knowing the location is one thing, but what if you want to know more about the area? What about the geographical hierarchy? What part of the city/country are you in and which other geographical and administrative areas are nearby?&lt;/p&gt;
&lt;p&gt;All of this has been available for you for quite a while. The &lt;a href=&quot;http://developer.yahoo.com/geo/geoplanet/&quot;&gt;GeoPlanet API&lt;/a&gt; and &lt;a href=&quot;http://developer.yahoo.com/geo/geoplanet/data/&quot;&gt;dataset&lt;/a&gt; released by Yahoo! has been out for a while but did not quite get the love from the mainstream developer crowd it deserves. The geo hackers, on the other hand already love it to bits and helped make it more accurate by providing feedback.&lt;/p&gt;
&lt;p&gt;To make it a bit easier for you to understand what the GeoPlanet API allows you to do, I&amp;#8217;ve put together the &lt;a href=&quot;http://isithackday.com/geoplanet-explorer/&quot;&gt;GeoPlanet Explorer&lt;/a&gt; &amp;#8211; a tool that lets you explore all the GeoPlanet data in an interactive way:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The Geoplanet Explorer uses three tools: &lt;a href=&quot;http://developer.yahoo.com/yql/&quot;&gt;YQL&lt;/a&gt; for accessing and filtering data, &lt;a href=&quot;http://yuilibrary.com/projects/yui3/&quot;&gt;YUI3&lt;/a&gt; for the rich interaction and &lt;a href=&quot;http://developer.yahoo.com/yui/grids/&quot;&gt;CSS layout&lt;/a&gt;, &lt;a href=&quot;http://developer.yahoo.com/maps/ajax/&quot;&gt;Yahoo Maps&lt;/a&gt; for display and PHP to glue all of that together. You can get the &lt;a href=&quot;http://github.com/codepo8/geoplanet-explorer&quot;&gt;full source code on GitHub&lt;/a&gt;.&lt;span id=&quot;more-4883&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Simplifying matters using woeid&lt;/h3&gt;
&lt;p&gt;One big problem of geo location is ambiguity. If you have a location with latitude and longitude you can pinpoint it on the globe. You don&amp;#8217;t know what it is though. The centre of a certain county, city and a point of interest could share the same latitude and longitude, but they are actually totally different things.&lt;/p&gt;
&lt;p&gt;To fix this problem, Yahoo! a long time ago introduced the &lt;a href=&quot;http://developer.yahoo.com/geo/geoplanet/guide/concepts.html&quot;&gt;Where on Earth ID&lt;/a&gt; (or short &lt;tt&gt;woeid&lt;/tt&gt;) which is a number that defines a place with its geographical location and describes what it is. For example my neighbourhood in London has the &lt;tt&gt;woeid&lt;/tt&gt; of &lt;tt&gt;36239&lt;/tt&gt; and that means I can get the following information from it when querying the GeoPlanet API:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Stoke Newington (Suburb):
&lt;ul&gt;
&lt;li&gt;Country: United Kingdom&lt;/li&gt;
&lt;li&gt;WOEID: 36239&lt;/li&gt;
&lt;li&gt;Administrative:
&lt;ul&gt;
&lt;li&gt;England (Country)&lt;/li&gt;
&lt;li&gt;Greater London (County)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Localities:
&lt;ul&gt;
&lt;li&gt;London (Town)&lt;/li&gt;
&lt;li&gt;Stoke Newington (Suburb)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Postal N16 (Postal Code)&lt;/li&gt;
&lt;li&gt;Location (lat/lon): 51.561199, -0.082980&lt;/li&gt;
&lt;li&gt;Bounding Box: NE 51.577190, -0.058070 SW 51.546692, -0.092380&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The bounding box information is very useful for displaying this information on a map as it shows you which points need to be visible in order to see the whole place.&lt;/p&gt;
&lt;p&gt;There is just something pretty about having a number instead of a lat/lon pair which is why &lt;tt&gt;woeid&lt;/tt&gt; is rapidly becoming a standard. Flickr supported it for quite a while, Dopplr uses it under the hood, the Yahoo! Weather API understands it and soon Twitter will also use it for geolocating content in an unambiguous way (right now there is only support in the &lt;a href=&quot;http://engineering.twitter.com/2010/02/woeids-in-twitters-trends.html&quot;&gt;Twitter Trends API&lt;/a&gt;).&lt;/p&gt;
&lt;h3&gt;So how could you use this for your own products?&lt;/h3&gt;
&lt;p&gt;There are a lot of ways you can use the geo tools by Yahoo! in your own solutions &amp;#8211; by far the easiest is using YQL to access the data. This, for example allowed me to write the &lt;a href=&quot;http://isithackday.com/hacks/geo/addmap.html&quot;&gt;addmap.js&lt;/a&gt; solution:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://isithackday.com/hacks/geo/addmap.html&quot;&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4058/4408673432_e4f2cb178a.jpg&quot; alt=&quot;Analyse text and add a map with its locations in pure JavaScript by  you.&quot; width=&quot;470&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Using this you can can easily take the content of a page element with a certain ID and add a map of the locations it &amp;#8220;talks about&amp;#8221; to the document:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script src=&quot;http://github.com/codepo8/geotoys/raw/master/addmap.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
addmap.config.mapkey = 'YOUR_API_KEY';
addmap.analyse('content');
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The API key is needed for the Google maps, not for YQL. YQL in this case under the hood uses &lt;a href=&quot;http://developer.yahoo.com/geo/placemaker/&quot;&gt;Placemaker&lt;/a&gt; which is an API that finds geographical content in URLs or texts.&lt;/p&gt;
&lt;p&gt;YQL and the geo tools offer you some other interesting options:&lt;/p&gt;
&lt;h3&gt;Geographical locations in texts/urls/RSS feeds&lt;/h3&gt;
&lt;p&gt;By using the Placemaker table in YQL you can extract geographical locations from a texts or a source on the web:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;select * from geo.placemaker where documentContent =
&quot;Hi, I am Chris, I live in London but actually I am from Germany&quot;
and documentType=&quot;text/plain&quot; and appid=&quot;&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This finds both &amp;#8220;London&amp;#8221; and &amp;#8220;Germany&amp;#8221; as geographical locations. You can see the result of this &lt;a href=&quot;http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placemaker%20where%20documentContent%20%3D%20%0A%22Hi%2C%20I%20am%20Chris%2C%20I%20live%20in%20London%20but%20actually%20I%20am%20from%20Germany%22%20%0Aand%20documentType%3D%22text%2Fplain%22%20and%20appid%3D%22%22&amp;amp;format=xml&amp;amp;env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&quot;&gt;here as an XML file&lt;/a&gt;. You will find places and references. Places are what has been found and references where it was found. The &lt;tt&gt;start&lt;/tt&gt; and &lt;tt&gt;end&lt;/tt&gt; elements describe the character location in the whole string.&lt;/p&gt;
&lt;p&gt;Placemaker also takes feed and web site URIs and finds the locations in them for you. For example to see the locations mentioned in my portfolio page you can do the following:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;select * from geo.placemaker where documentURL =
&quot;http://icant.co.uk&quot; and documentType=&quot;text/html&quot; and appid=&quot;&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Again, you can check the &lt;a href=&quot;http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placemaker%20where%20documentURL%20%3D%20%0A%22http%3A%2F%2Ficant.co.uk%22%20and%20documentType%3D%22text%2Fhtml%22%20and%20appid%3D%22%22&amp;amp;format=xml&amp;amp;env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&quot;&gt;result as an XML&lt;/a&gt; file. As this is an HTML document there is no start and end but the references are reported as XPATHs.&lt;/p&gt;
&lt;p&gt;Feeds are also supported, so if you want to get the locations in the BBC News feed you can use the following:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;select * from geo.placemaker where documentURL =
&quot;http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml&quot;
and documentType=&quot;text/rss&quot; and appid=&quot;&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Verify the &lt;a href=&quot;http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placemaker%20where%20documentURL%20%3D%20%0A%22http%3A%2F%2Fnewsrss.bbc.co.uk%2Frss%2Fnewsonline_uk_edition%2Ffront_page%2Frss.xml%22%20%0Aand%20documentType%3D%22text%2Frss%22%20and%20appid%3D%22%22&amp;amp;format=xml&amp;amp;env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&quot;&gt;result as an XML&lt;/a&gt; at your leisure &amp;#8211; this time the XPATHs point to the RSS items.&lt;/p&gt;
&lt;p&gt;The easiest way to see the power of Placemaker is using &lt;a href=&quot;http://icant.co.uk/geomaker&quot;&gt;GeoMaker&lt;/a&gt; which gives you a simple interface to do turn a text or URL into a map or microformats to embed into your documents:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://icant.co.uk/geomaker&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2559/3751595472_199877c7b2.jpg&quot; alt=&quot;GeoMaker screenshot&quot; width=&quot;470&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Location by IP&lt;/h3&gt;
&lt;p&gt;Getting the geographical location of an IP is possible with the following YQL statement:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;select * from geo.places where woeid in (
  select place.woeid from flickr.places where (lat,lon) in (
    select Latitude,Longitude from ip.location where ip = &quot;123.23.23.33&quot;
  )
)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can &lt;a href=&quot;http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20woeid%20in%20(%0A%20%20select%20place.woeid%20from%20flickr.places%20where%20(lat%2Clon)%20in%20(%0A%20%20%20%20select%20Latitude%2CLongitude%20from%20ip.location%20where%20ip%20%3D%20%22123.23.23.33%22%0A%20%20)%0A)&amp;amp;format=xml&amp;amp;env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&quot;&gt;see this as an XML file here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;What we&amp;#8217;re doing here is using the &lt;a href=&quot;http://www.ip2location.com/&quot;&gt;IP2location API &lt;/a&gt;,get the woeid from the latitude and longitude using the &lt;a href=&quot;http://www.flickr.com/services/api/flickr.places.findByLatLon.html&quot;&gt;Flickr &lt;tt&gt;findByLatLon&lt;/tt&gt; method&lt;/a&gt; and run the result through the &lt;a href=&quot;http://developer.yahoo.com/geo/geoplanet/guide/api_docs.html&quot;&gt;geo API&lt;/a&gt; to get all the information &amp;#8211; quite some work off your hands, isn&amp;#8217;t it? Without YQL you&amp;#8217;d have to sign up for all these APIs and understand their inner workings to get the same information.&lt;/p&gt;
&lt;p&gt;Getting location by IP is an old trick in the book of advertisers &amp;#8211; you probably will have encountered ads like &amp;#8220;meet singles in &lt;em&gt;your city&lt;/em&gt; now&amp;#8221; and see them changing when you went to another place &amp;#8211; this is what they use to get this information. The accuracy of IP location is not very high though. It also can feel a bit creepy.&lt;/p&gt;
&lt;h3&gt;Location by Latitude and Longitude&lt;/h3&gt;
&lt;p&gt;Therefore it is much better to use a system that allows people to opt-in to tell their geographical location. There are services for that but we also have a &lt;a href=&quot;http://dev.w3.org/geo/api/spec-source.html&quot;&gt;W3C API&lt;/a&gt; built into browsers. Right now Firefox and Mobile Safari support it but it also cropped up in the latest &lt;a href=&quot;http://www.wait-till-i.com/2010/03/04/google-chrome-getting-navigator-geolocation/&quot;&gt;developer build of Chrome&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Using the W3C location API is easy:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script&amp;gt;
if(navigator.geolocation){
  navigator.geolocation.getCurrentPosition(function(position){
    var lat = position.coords.latitude;
    var lon = position.coords.longitude;
    alert('you are at' + lat +','+lon);
  },function(error){
    alert('Couldn\'t get your location :(');
  });
}
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You test if the browser supports &lt;tt&gt;navigator.geolocation&lt;/tt&gt; and if it does you use the &lt;tt&gt;getCurrentPosition()&lt;/tt&gt; method to retrieve the current position. This will cause the browser to ask the visitor if they want to share their information &amp;#8211; normally in an information bar on top of the viewport as shown in this screenshot:&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;Security popup triggered by navigator.geolocation by codepo8, on Flickr&quot; href=&quot;http://www.flickr.com/photos/codepo8/4408578132/&quot;&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4068/4408578132_73bcb575c6.jpg&quot; alt=&quot;Security popup triggered by navigator.geolocation&quot; width=&quot;470&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The &lt;tt&gt;getCurrentPosition()&lt;/tt&gt; method takes two parameters which are function to call in the success and the failure case &amp;#8211; meaning that the visitor allowed you to get their location or not &amp;#8211; or that there was some other error.&lt;/p&gt;
&lt;p&gt;You can then use YQL once more to get the location from latitude and longitude &amp;#8211; this time using the Flickr API method as the first one:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;select * from geo.places where woeid in (
  select place.woeid from flickr.places where lat=51.5142271 and lon=-0.1289602
)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;See the &lt;a href=&quot;http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20woeid%20in%20(%0A%20%20select%20place.woeid%20from%20flickr.places%20where%20lat%3D51.5142271%20and%20lon%3D-0.1289602%0A)&amp;amp;format=xml&amp;amp;env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&quot;&gt;XML output here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Putting it all together&lt;/h3&gt;
&lt;p&gt;Let&amp;#8217;s end with an example script how you can use this. We use the W3C geolocation API to get a visitor&amp;#8217;s location and if it isn&amp;#8217;t available we fall back to using the IP. In any case, we use YQL to get the location information and the areas around the current location. The solution uses JavaScript except for retrieving the IP which is done in this case by PHP. You can see the full &lt;a href=&quot;http://isithackday.com/hacks/geo/geotest.php&quot;&gt;demo in action here&lt;/a&gt;. See the comments &lt;tt&gt;//&lt;/tt&gt; for information about what is going on.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&amp;gt;
&amp;lt;?php
  if ($_SERVER['HTTP_X_FORWARD_FOR']) {
   $ip = $_SERVER['HTTP_X_FORWARD_FOR'];
  } else {
   $ip = $_SERVER['REMOTE_ADDR'];
  }
  if(preg_match('/^[\d+\.?]+$/',$ip)){
    echo 'var IP = &quot;' . $ip . '&quot;';
  }
?&amp;gt;

// ^^
// This PHP block will get the current IP and assign it to a JavaScript
// variable - if it is the right format.

if(navigator.geolocation){
  navigator.geolocation.getCurrentPosition(
    function(position){
      getDataForLatLon(position.coords.latitude,
                       position.coords.longitude);
    },
    function(error){
      if(IP){
        getFromIP(IP);
      }
    });
} else{
  if(IP){
    getFromIP(IP);
  };
}

// ^^
// we test if the W3C location API is supported and if it is, we
// get the current lat and lon and call the appropriate method.
// if there was an error or the API is not available at all we call
// getFromIP.

function load(yql,cb){
  var src = 'http://query.yahooapis.com/v1/public/yql?q='+
            encodeURIComponent(yql) + '&amp;amp;format=json&amp;amp;callback=' + cb + '&amp;amp;'+
            'env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys';
  var head = document.getElementsByTagName('head')[0];
  var s = document.createElement('script');
  s.setAttribute('src',src);
  head.appendChild(s);
}

// ^^
// YQL is a web service that returns JSON. This allows us to create
// script nodes dynamically to get information from it. This function
// does that for us.

function getDataForLatLon(lat,lon){
  var yql = 'select * from geo.places where woeid in ('+
            'select place.woeid from flickr.places where lat='+
            lat + ' and  lon=' + lon + ')';
  load(yql,'foundLocation');
}
function foundLocation(o){
  if(o.query.results){
    var place = o.query.results.place
    var out = '&amp;lt;p&amp;gt;You are in ' + place.name + ' which is a '+
               place.placeTypeName.content + ' located at ('+
               place.centroid.latitude + ',' + place.centroid.longitude+
               ')&amp;lt;/p&amp;gt;';
    document.getElementById('location').innerHTML = out;
    getBelongTos(place.woeid);
  }
}

// ^^
// If we can get a lat and lon from the API, we put together the right
// YQL statement. If we are successful we call the foundLocation() method
// which writes out the right HTML to the document and calls the
// getBelongTos() method

function getFromIP(ip){
  var yql = 'select * from geo.places where woeid in ('+
            'select place.woeid from flickr.places where (lat,lon) in('+
            'select Latitude,Longitude from ip.location'+
            ' where ip=&quot;'+ip+'&quot;))';
  load(yql,'foundLocation');
}

// ^^
// If there was no luck with the W3C geo API we call this function using
// the IP we got from PHP

function getBelongTos(woeid){
  var yql = 'select * from geo.places.belongtos(0) where '+
            'member_woeid='+woeid;
  load(yql,'foundBelongs');
}
function foundBelongs(o){
  if(o.query.results){
    var out = '&amp;lt;p&amp;gt;Your location belongs to: ';
    var place = o.query.results.place;
    var info = [];
    for(var i=0;i&amp;lt;place.length;i++){
      var cur = place[i];
      info.push(cur.name + ' (' + cur.placeTypeName.content + ')');
    }
    var out = '&amp;lt;p&amp;gt;Your location belongs to: ' + info.join(', ') + '&amp;lt;/p&amp;gt;';
    document.getElementById('location').innerHTML += out;
  }
}

// ^^
// If we found a location, then we call the belongtos method of the
// GeoPlanet API to get all the areas the current location belongs to.

&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In my case the result from the W3C geo location is:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;You are in St. Giles&amp;#8217;s which is a Suburb located at (51.516151,-0.125460)&lt;/p&gt;
&lt;p&gt;Your location belongs to: WC1V 6 (Postal Code), London Borough of Camden (Local Administrative Area), 0207 London (Zone), Middlesex (Historical County), London (Town), Greater London (County), MMA London (MMA), South East England (Colloquial), DMA South East England (DMA), England (Country), England and Wales (Colloquial), Great Britain (Colloquial), United Kingdom (Country), Market United Kingdom and Ireland (Market), Europe/London (Time Zone), British Isles (Supername), Northern Europe (Supername), European Union (Supername), Western Europe (Supername), Europe (Continent), Eurasia (Supername), Earth (Supername)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Only using IP I get:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;You are in Whitehall which is a Suburb located at (51.501831,-0.125760)&lt;/p&gt;
&lt;p&gt;Your location belongs to: SW1A 2 (Postal Code), Westminster (Suburb), City of Westminster (Local Administrative Area), 0207 London (Zone), Middlesex (Historical County), London (Town), Greater London (County), MMA London (MMA), South East England (Colloquial), DMA South East England (DMA), England (Country), England and Wales (Colloquial), Great Britain (Colloquial), United Kingdom (Country), Market United Kingdom and Ireland (Market), Europe/London (Time Zone), British Isles (Supername), Northern Europe (Supername), European Union (Supername), Western Europe (Supername), Europe (Continent), Eurasia (Supername), Earth (Supername)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Quite a lot of information using a few lines of code, isn&amp;#8217;t it? Geographical location is a very interesting topic and allows us to show much more useful content to our visitors. Using YQL and GeoPlanet it is pretty easy for you to do so &amp;#8211; give it a go!&lt;/p&gt;
&lt;img src=&quot;http://carsonified.com/?ak_action=api_record_view&amp;id=4883&amp;type=feed&quot; alt=&quot;&quot;&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=gu4s0geVWwo:LrVg7jcCpDQ:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=gu4s0geVWwo:LrVg7jcCpDQ:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=gu4s0geVWwo:LrVg7jcCpDQ:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=gu4s0geVWwo:LrVg7jcCpDQ:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=gu4s0geVWwo:LrVg7jcCpDQ:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=gu4s0geVWwo:LrVg7jcCpDQ:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 08 Mar 2010 14:00:04 +0000</pubDate>
	<dc:creator>Christian Heilmann</dc:creator>
</item>
<item>
	<title>Vitamin: Future of Web Apps Highlights Video</title>
	<guid>http://carsonified.com/?p=4900</guid>
	<link>http://carsonified.com/blog/dev/future-of-web-apps-highlights-video/</link>
	<description>&lt;div class=&quot;tweetmeme_button&quot;&gt;&lt;a href=&quot;http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Ffuture-of-web-apps-highlights-video%2F&quot;&gt;&lt;img src=&quot;http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Ffuture-of-web-apps-highlights-video%2F&quot; height=&quot;61&quot; width=&quot;51&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Our friends Jim and Nick at &lt;a href=&quot;http://doctype.tv/&quot;&gt;Doctype&lt;/a&gt; recently attended Future of Web Apps Miami along with their camera gear. They kindly put together a highlight reel of the day including interviews and clips from the main stage sessions. They will be releasing full length interviews over on their &lt;a href=&quot;http://facebook.com/doctype&quot;&gt;Facebook&lt;/a&gt; page shortly.&lt;/p&gt;
&lt;p&gt;Just as a quick heads up the full length videos from the event will be made available shortly here on Think Vitamin.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;Useful Links&lt;/h3&gt;
&lt;p&gt;Doctype Future of Web Apps episode: &lt;a href=&quot;http://doctype.tv/fowa&quot;&gt;http://doctype.tv/fowa&lt;/a&gt;&lt;br&gt;
Twitter: &lt;a href=&quot;http://twitter.com/doctypetv&quot;&gt;http://twitter.com/doctypetv&lt;/a&gt;&lt;br&gt;
Facebook: &lt;a href=&quot;http://facebook.com/doctype&quot;&gt;http://facebook.com/doctype&lt;/a&gt;&lt;/p&gt;
&lt;img src=&quot;http://carsonified.com/?ak_action=api_record_view&amp;id=4900&amp;type=feed&quot; alt=&quot;&quot;&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=_4v1SSKoXeI:y0jQnDJlThk:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=_4v1SSKoXeI:y0jQnDJlThk:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=_4v1SSKoXeI:y0jQnDJlThk:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=_4v1SSKoXeI:y0jQnDJlThk:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=_4v1SSKoXeI:y0jQnDJlThk:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=_4v1SSKoXeI:y0jQnDJlThk:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 08 Mar 2010 09:19:37 +0000</pubDate>
	<dc:creator>Keir Whitaker</dc:creator>
</item>
<item>
	<title>Microsoft - IEBlog: IE8 SmartScreen Filter - Protecting Users at Internet Scale</title>
	<guid>91d46819-8472-40ad-a661-2c78acb4018c:9973803</guid>
	<link>http://blogs.msdn.com/ie/archive/2010/03/05/ie8-smartscreen-filter-protecting-users-at-internet-scale.aspx</link>
	<description>&lt;p&gt;The RSA 2010 Security Conference is just finishing up here in San Francisco, and I'm struck by how many of the conference sessions and keynotes have warned about the threat that socially engineered malware poses to the security of the Internet. Malware has become the scourge of the Internet, and it's not just the security experts who are worried&quot;the top story in my&amp;nbsp;morning paper&amp;nbsp;yesterday described how a typical malware attack &lt;a href=&quot;http://www.usatoday.com/money/industries/technology/2010-03-04-1Anetsecurity04_CV_N.htm&quot;&gt;compromised a financial firm's network&lt;/a&gt;. Our data shows that one out of every 250 downloads&lt;b&gt; &lt;/b&gt;is the result of a user being tricked into downloading malware to their PC.&lt;/p&gt;
&lt;p&gt;We're proud of the protection &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/03/25/ie8-security-part-ix-anti-malware-protection-with-ie8-s-smartscreen-filter.aspx&quot;&gt;SmartScreen® Filter&lt;/a&gt; provides to protect IE8 users from such attacks, and I'd like share some of the latest numbers on our level of protection. &lt;/p&gt;
&lt;p&gt;Since we launched IE8 in March 2009, SmartScreen has &lt;b&gt;blocked over 560 million attempts to download malware&lt;/b&gt;, recently averaging over 3 million blocks per day! Hosted in datacenters around the world, SmartScreen's URL Reputation Service (URS) has evaluated over 250 billion URLs to help keep IE8 users safe from malware. Even more impressively, since IE7's Phishing Filter was introduced in 2005, the URS has processed over 5.7 &lt;i&gt;trillion&lt;/i&gt; reputation requests in order to block malicious web sites. Every day, Microsoft receives around 300 million telemetry reports from IE8 users and processes 4.1 billion URLs looking for malicious websites and files. On the back end, our systems and analysts evaluate over 1 terabyte of binaries every day to help identify sites delivering malware.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://nsslabs.com/browser-security&quot;&gt;Q1 2010 NSS Lab's test&lt;/a&gt; shows that Microsoft's continued investment in SmartScreen is paying off. Since launch, IE8's SmartScreen Filter has continued to improve its protection against Socially Engineered Malware threats. &lt;/p&gt;&lt;img title=&quot;line graph of browsers malware block rate.&quot; alt=&quot;line graph of browsers malware block rate.&quot; src=&quot;http://ieblog.members.winisp.net/images/ericlaw_smartscreen.png&quot; longdesc=&quot;http://ieblog.members.winisp.net/misc/ericlaw_smartscreen_table.html&quot;&gt; 
&lt;p&gt;IE6 and 7 don't provide protection against socially-engineered malware. If your family and friends aren't up-to-date, please encourage them to &lt;a href=&quot;http://www.microsoft.com/windows/internet-explorer/default.aspx&quot;&gt;upgrade&lt;/a&gt; to IE 8 for a safer Internet experience.&lt;/p&gt;
&lt;p&gt;While IE8 offers the best built-in protection any browser offers against socially engineered malware, you still should follow best-practices to stay safe online. For instance:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enable &lt;a href=&quot;http://www.microsoft.com/security/filters/smartscreen.aspx&quot;&gt;SmartScreen Filter&lt;/a&gt; using IE8's &lt;strong&gt;Safety&lt;/strong&gt; menu (&lt;img title=&quot;safety menu icon&quot; alt=&quot;safety menu icon&quot; src=&quot;http://ieblog.members.winisp.net/images/ericlaw_smartscreenprotection_3.png&quot;&gt;). &lt;/li&gt;
&lt;li&gt;Install antivirus and antispyware software from &lt;a href=&quot;http://www.microsoft.com/windows/antivirus-partners/windows-7.aspx&quot;&gt;trusted sources&lt;/a&gt; and keep it up-to-date. &lt;a href=&quot;http://www.microsoft.com/security_essentials/default.aspx&quot;&gt;Microsoft Security Essentials&lt;/a&gt; is available for free. &lt;/li&gt;
&lt;li&gt;Turn on your &lt;a href=&quot;http://www.microsoft.com/security/firewalls/whatis.aspx&quot;&gt;firewall&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;Enable Automatic Updates for Windows and other Microsoft software using &lt;a href=&quot;http://update.microsoft.com/&quot;&gt;Microsoft Update&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;Keep your computer's other software, including browser add-ons, up-to-date. &lt;/li&gt;
&lt;li&gt;Before downloading software, consider the risks and be aware of the fine print. For example, make sure the license agreement does not conceal a warning that you are about to install software with unwanted behavior. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;You can read more tips and learn about common Internet attacks over on the &lt;a href=&quot;http://blogs.msdn.com/securitytipstalk/&quot;&gt;Security Tips blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Stay safe out there!&lt;/p&gt;
&lt;p&gt;Eric Lawrence &lt;br&gt;Program Manager&lt;/p&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=9973803&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
	<pubDate>Fri, 05 Mar 2010 21:44:00 +0000</pubDate>
	<dc:creator>ieblog</dc:creator>
</item>
<item>
	<title>Microsoft - IEBlog: W3C HTML Working Group Publishes New Drafts</title>
	<guid>91d46819-8472-40ad-a661-2c78acb4018c:9973387</guid>
	<link>http://blogs.msdn.com/ie/archive/2010/03/05/W3C-HTML-Working-Group-Publishes-New-Drafts.aspx</link>
	<description>&lt;p&gt;Last week, &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html/2010Feb/0851.html&quot; target=&quot;_blank&quot;&gt;the W3C HTML Working Group reached a decision&lt;/a&gt; to publish several new working drafts and these are now available. The discussion about what to publish and how to structure the HTML5 specification has taken several months. In November, at the &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/11/02/participating-at-w3c-s-tpac-2009.aspx&quot; target=&quot;_blank&quot;&gt;TPAC meeting&lt;/a&gt;, a &lt;a href=&quot;http://www.w3.org/Bugs/Public/show_bug.cgi?id=8220&quot; target=&quot;_blank&quot;&gt;request&lt;/a&gt; was made for the Microdata section of the specification to be removed. Back in August, I posted about our support for a &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html/2009Aug/0628.html&quot; target=&quot;_blank&quot;&gt;separate Canvas 2D API&lt;/a&gt; specification.&lt;/p&gt;
&lt;p&gt;Some people in the community raised concerns about exactly what should be in scope for the HTML working group. &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html/2010Feb/0871.html&quot; target=&quot;_blank&quot;&gt;Tim Berners-Lee shared his thoughts&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&quot;I agree with the WG chairs that these items -- data and canvas -- are reasonable areas of work for the group.&amp;nbsp; It is appropriate for the group to publish documents in this area. On the one hand, they elaborate areas touched on in HTML4. On the other, these elaborations are much deeper than the features of HTML4, but also they form separate subsystems, and these subsystems have strong overlaps with other design areas. It is important (a) that the design be modular; (b) that the specifications be kept modular and (c) that the communities of expertise of the respective fields (graphics and data) be involved in the design process.&quot;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;We strongly support Tim's call for &lt;a href=&quot;http://www.w3.org/QA/2008/01/modularity&quot; target=&quot;_blank&quot;&gt;modular&lt;/a&gt; design and modular specifications in web standards. Large monolithic documents are hard to consume and take longer to stabilise with well thought out engineering decisions. In fact, the decision to take these features from HTML5 and make them separate documents continues the process that started last year as the storage and networking APIs were moved out of HTML5 and into the &lt;a href=&quot;http://www.w3.org/2008/webapps/&quot; target=&quot;_blank&quot;&gt;W3C WebApps working group&lt;/a&gt;. Just like good software design, &lt;a href=&quot;http://en.wikipedia.org/wiki/Coupling_(computer_science)&quot; target=&quot;_blank&quot;&gt;loose coupling&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Cohesion_(computer_science)&quot; target=&quot;_blank&quot;&gt;high cohesion&lt;/a&gt; are good principles for defining web standards. That doesn't make them easy to apply and there is &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-webapps/2009OctDec/1335.html&quot; target=&quot;_blank&quot;&gt;still more work&lt;/a&gt; to do to reduce the coupling between drafts. The group is working on improving the tools used to generate the documents to improve the cross-references, which will help towards this goal.&lt;/p&gt;
&lt;p&gt;Microdata and Canvas 2D are now available as new working drafts alongside the core HTML5 draft. This also sets Microdata on a similar footing to the updated HTML+RDFa draft. You can review the full set of documents &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html/2010Mar/0137.html&quot; target=&quot;_blank&quot;&gt;published yesterday&lt;/a&gt; here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/html5/&quot; target=&quot;_blank&quot;&gt;HTML5&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/rdfa-in-html/&quot; target=&quot;_blank&quot;&gt;HTML+RDFa&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/microdata/&quot; target=&quot;_blank&quot;&gt;HTML Microdata&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/2dcontext/&quot; target=&quot;_blank&quot;&gt;HTML Canvas 2D Context&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/html-markup/&quot; target=&quot;_blank&quot;&gt;HTML: The Markup Language&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/html5-diff/&quot; target=&quot;_blank&quot;&gt;HTML5 diffs from HTML4&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Adrian Bateman &lt;br&gt;Program Manager&lt;/p&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=9973387&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
	<pubDate>Fri, 05 Mar 2010 16:56:00 +0000</pubDate>
	<dc:creator>ieblog</dc:creator>
</item>
<item>
	<title>QuirksMode: Fronteers 2010</title>
	<guid>http://www.quirksmode.org/blog/archives/2010/03/fronteers_2010.html</guid>
	<link>http://www.quirksmode.org/blog/archives/2010/03/fronteers_2010.html</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://fronteers.nl/congres/2010&quot; class=&quot;external&quot;&gt;Fronteers 2010&lt;/a&gt; has been announced: 7 and 8 October, Amsterdam. &lt;a href=&quot;http://adactio.com/&quot; class=&quot;external&quot;&gt;Jeremy Keith&lt;/a&gt; and &lt;a href=&quot;http://jeffcroft.com/&quot; class=&quot;external&quot;&gt;Jeff Croft&lt;/a&gt; have been announced as speakers. Ticket sale will start in April at the latest.&lt;/p&gt;

&lt;p&gt;For clarity's sake: this year I have nothing to do with the organisation; I'll just attend the conference, relax, enjoy the show, as well as a beer or two.&lt;/p&gt;

&lt;p&gt;Maybe I'll meet some of my readers at Fronteers 2010.&lt;/p&gt;</description>
	<pubDate>Fri, 05 Mar 2010 16:13:54 +0000</pubDate>
</item>
<item>
	<title>Vitamin: Think Vitamin Radio: Episode 3</title>
	<guid>http://carsonified.com/?p=4870</guid>
	<link>http://carsonified.com/blog/tvr/think-vitamin-radio-episode-3/</link>
	<description>&lt;div class=&quot;tweetmeme_button&quot;&gt;&lt;a href=&quot;http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Ftvr%2Fthink-vitamin-radio-episode-3%2F&quot;&gt;&lt;img src=&quot;http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Ftvr%2Fthink-vitamin-radio-episode-3%2F&quot; height=&quot;61&quot; width=&quot;51&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;After a brief hiatus due to heading across the pond for Future of Web Apps Miami we're back with Episode #3 of Think Vitamin Radio. This week we are joined by &lt;a href=&quot;http://twitter.com/greg_a&quot;&gt;Greg Annandale&lt;/a&gt; as Ryan is on holiday.&lt;/p&gt;
&lt;p&gt;A full transcript is &lt;a href=&quot;http://carsonified.com/thinkvitaminradio/transcripts/episode-3/&quot;&gt;available&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;img src=&quot;http://carsonified.com/?ak_action=api_record_view&amp;id=4870&amp;type=feed&quot; alt=&quot;&quot;&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=hQ_TghtRoJI:5uvoVOSv28Y:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=hQ_TghtRoJI:5uvoVOSv28Y:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=hQ_TghtRoJI:5uvoVOSv28Y:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=hQ_TghtRoJI:5uvoVOSv28Y:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=hQ_TghtRoJI:5uvoVOSv28Y:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=hQ_TghtRoJI:5uvoVOSv28Y:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 05 Mar 2010 08:12:17 +0000</pubDate>
	<dc:creator>Keir Whitaker</dc:creator>
</item>
<item>
	<title>Microsoft - IEBlog: Tab Isolation</title>
	<guid>91d46819-8472-40ad-a661-2c78acb4018c:9958499</guid>
	<link>http://blogs.msdn.com/ie/archive/2010/03/04/tab-isolation.aspx</link>
	<description>&lt;p&gt;Tab isolation has recently become a more &lt;a href=&quot;http://news.cnet.com/8301-30685_3-10424471-264.html?tag=mncol;txt&quot;&gt;popular&lt;/a&gt; &lt;a href=&quot;https://wiki.mozilla.org/Content_Processes&quot;&gt;topic&lt;/a&gt;. This post is a quick survey of what tab isolation is, how it works, and what it provides. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;What is it? &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Tab isolation is a way to improve a browser's reliability by containing the impact of a crash. Depending on how it's implemented, tab isolation can also help contain some security attacks. There are two different implementations available today, each with different benefits.&lt;/p&gt;
&lt;p&gt;In a tabbed browser without isolation, a problem in one tab can crash the entire browser. For example, a crash in a webpage in Firefox 3.6 or IE7 will bring down the entire browser. While modern browsers have features to &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/07/28/ie8-and-reliability.aspx&quot;&gt;recover tabs&lt;/a&gt; after a crash, the point of isolation is to contain the problem and prevent the browser from stopping. You can see a demo of this &lt;a href=&quot;http://videos.visitmix.com/MIX09/KEY02&quot;&gt;here&lt;/a&gt; (starting around 13:25).&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;A Quick Historical Survey&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;On March 5, 2008, Microsoft released the &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/03/05/internet-explorer-8-beta-1-for-developers-now-available.aspx&quot;&gt;first IE8 beta&lt;/a&gt; with &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/03/11/ie8-and-loosely-coupled-ie-lcie.aspx&quot;&gt;Loosely-Coupled IE&lt;/a&gt; (or LCIE for short). This was the first mainstream implementation of tab isolation. On September 2, 2008, Google Chrome's first beta &lt;a href=&quot;http://en.wikipedia.org/wiki/Google_chrome&quot;&gt;released&lt;/a&gt; with &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Google_chrome#cite_note-81&quot;&gt;process isolation&lt;/a&gt;.&quot; Mozilla Firefox has recently discussed an &quot;Out of Process Plugins&quot; (OOPP) or &lt;a href=&quot;http://itmanagement.earthweb.com/osrc/article.php/3861206/Whats-Next-for-Firefox-Electrolysis.htm&quot;&gt;Electrolysis&lt;/a&gt; project aimed at isolating Firefox plug-ins, such as Flash, from the rest of the browser. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;How do isolation approaches differ today in approach and benefits?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;There are a lot of different subsystems in a browser to isolate from each other, and different ways to do it. &lt;/p&gt;
&lt;p&gt;IE8 isolates the &lt;i&gt;frame&lt;/i&gt; process (title bar, back button, address bar, etc.) from the &lt;i&gt;tabs&lt;/i&gt; processes (that show web pages). If anything causes a site to crash (an extension like Flash, or the rendering or scripting engine, etc.), the frame and other tab processes will not crash. IE isolates the &lt;i&gt;whole&lt;/i&gt; tab &quot; all of its code, data, and extensions &quot; to keep IE resilient to webpages with issues. &lt;/p&gt;
&lt;p&gt;In addition to using multiple processes, IE8 on Windows 7 and Vista (and IE7 on Vista) sandboxes the tab processes in &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx&quot;&gt;Protected Mode&lt;/a&gt; for security reasons. Specifically, tabs run without permissions to install software, modify settings, or change files of any user. Protected Mode provides defense in depth so that (in most cases) security vulnerabilities in the browser or an add-on (like Flash) cannot be exploited to harm the computer. Isolation makes this additional security possible. (Technically, there are several different types of isolation (&lt;a href=&quot;http://en.wikipedia.org/wiki/Process_isolation#Browsers_with_process_isolation_for_tabs&quot;&gt;process isolation&lt;/a&gt;, origin isolation, etc.), and of sandboxing (integrity levels, restricted subsets, DOM mirroring, etc.) as well.)&lt;/p&gt;
&lt;p&gt;Chrome's isolation is a bit different, factoring the different subsystems of that browser along different lines. From their documentation, they have separate processes for rendering, for the frame, and for add-ons (native plug-ins, not extensions). As with IE7, part of Chrome runs with lower privilege. Unlike IE (where page add-ons run in &lt;a href=&quot;http://technet.microsoft.com/en-us/library/cc749393(WS.10).aspx&quot;&gt;low&lt;/a&gt;),&amp;nbsp;plugins in Chrome by default run with more privileges. As with any architectural difference, there are scenarios that are better in one architecture and worse in another. Theoretically, for example, a vulnerability in the Flash control running in Chrome does not have a defense in depth protection like Protected Mode to contain it. &lt;/p&gt;
&lt;p&gt;Isolation is a super important part of modern browsers.&amp;nbsp; It's essential for delivering a more reliable browsing experience. It can also improve security. Depending on how it's engineered, it can also have an impact on compatibility with sites and browser extensions. &lt;/p&gt;
&lt;p&gt;Andy Zeigler &lt;br&gt;Program Manager&lt;/p&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=9958499&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
	<pubDate>Thu, 04 Mar 2010 23:16:00 +0000</pubDate>
	<dc:creator>ieblog</dc:creator>
</item>
<item>
	<title>456 Berea St: Visual display of alternative text</title>
	<guid>http://www.456bereastreet.com/archive/201003/visual_display_of_alternative_text/</guid>
	<link>http://feedproxy.google.com/~r/456bereastreet/~3/zbiJ-OI8kEQ/</link>
	<description>&lt;p class=&quot;preamble&quot;&gt;The fact that web browsers have different ways of displaying alternative text when images are missing or disabled is something that I talked about in &lt;a href=&quot;http://www.456bereastreet.com/archive/200912/safari_webkit_and_alt_text_for_missing_images/&quot;&gt;Safari, WebKit and alt text for missing images&lt;/a&gt; and Steve Faulkner expanded on in &lt;a href=&quot;http://www.paciellogroup.com/blog/?p=498&quot;&gt;alt and title content display in popular browsers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In &lt;a href=&quot;http://rebuildingtheweb.com/en/how-should-browsers-render-alt-text/&quot;&gt;How should Web browsers render alternative text?&lt;/a&gt;, Vlad Alexander asks (and answers) a few questions on this topic.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.456bereastreet.com/archive/201003/visual_display_of_alternative_text/&quot;&gt;Read full post&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Posted in &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/accessibility/&quot; rel=&quot;tag&quot;&gt;Accessibility&lt;/a&gt;, &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/browsers/&quot; rel=&quot;tag&quot;&gt;Browsers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/QLMubdfe1saGAV-fPKIJ-OzFjVw/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/QLMubdfe1saGAV-fPKIJ-OzFjVw/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/QLMubdfe1saGAV-fPKIJ-OzFjVw/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/QLMubdfe1saGAV-fPKIJ-OzFjVw/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=zbiJ-OI8kEQ:m99tDHrwwnU:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=zbiJ-OI8kEQ:m99tDHrwwnU:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=zbiJ-OI8kEQ:m99tDHrwwnU:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=zbiJ-OI8kEQ:m99tDHrwwnU:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=zbiJ-OI8kEQ:m99tDHrwwnU:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=zbiJ-OI8kEQ:m99tDHrwwnU:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=zbiJ-OI8kEQ:m99tDHrwwnU:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/456bereastreet/~4/zbiJ-OI8kEQ&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Thu, 04 Mar 2010 17:41:56 +0000</pubDate>
	<dc:creator>Roger Johansson</dc:creator>
</item>
<item>
	<title>Vitamin: The Web as a Database</title>
	<guid>http://carsonified.com/?p=4812</guid>
	<link>http://carsonified.com/blog/dev/the-web-as-a-database/</link>
	<description>&lt;div class=&quot;tweetmeme_button&quot;&gt;&lt;a href=&quot;http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Fthe-web-as-a-database%2F&quot;&gt;&lt;img src=&quot;http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Fthe-web-as-a-database%2F&quot; height=&quot;61&quot; width=&quot;51&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;One of the things that&amp;#8217;s great about the Internet is that it&amp;#8217;s open to everyone. There are a million sites, all different, and everyone is free to invent their own way of doing things. Of course, that has left us with a legacy of systems which don&amp;#8217;t always work well together.&lt;/p&gt;
&lt;p&gt;When you are using a web browser things mostly work because everyone adheres more or less to web standards, or at least the bits major browsers support. When you want to get data from the web to use in your app things aren&amp;#8217;t quite as simple. Enter &lt;a href=&quot;http://developer.yahoo.com/yql/&quot;&gt;YQL (Yahoo Query Language)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Almost every developer knows about using SQL for getting data from databases. We wanted to do that for the Internet. YQL allows you to access all kinds of information from the internet in a very similar way to the way you would get data using SQL.&lt;/p&gt;
&lt;h3&gt;A YQL Query&lt;/h3&gt;
&lt;p&gt;A basic query in YQL is really easy:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;select * from search.web where query = &quot;javascript&quot;;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The thing we want to do is select all data (*) from Yahoo! search for web pages where the query is the term &amp;#8220;javascript&amp;#8221;. If you already know SQL it&amp;#8217;s obvious, if you don&amp;#8217;t it&amp;#8217;s still pretty easy to read. In this case what&amp;#8217;s happening under the hood is YQL is mapping the request to the search.web table to a pattern to call the &lt;a href=&quot;http://developer.yahoo.com/search/boss/&quot;&gt;Yahoo! BOSS&lt;/a&gt; (search) web service. So we are actually making a request, on your behalf, to the url:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;http://boss.yahooapis.com/ysearch/web/v1/javascript?format=xml&amp;amp;start=0&amp;amp;count=10&lt;span id=&quot;more-4812&quot;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;A Sample Result&lt;/h3&gt;
&lt;p&gt;The data is returned in your choice of XML, JSON or JSONP. Like SQL most  YQL data tends to be organised as rows of results.&lt;/p&gt;
&lt;p&gt;In the case of the above query it looks like this (NB: this is truncated to show one result, &lt;a href=&quot;http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20search.web%20where%20query%20%3D%20%22javascript%22%3B&amp;amp;format=xml&quot;&gt;view a full version in your browser&lt;/a&gt;):&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;br&gt;
&amp;lt;query xmlns:yahoo=&quot;http://www.yahooapis.com/v1/base.rng&quot; yahoo:count=&quot;10&quot; yahoo:created=&quot;2010-03-02T09:22:58Z&quot; yahoo:lang=&quot;en-US&quot; yahoo:updated=&quot;2010-03-02T09:22:58Z&quot; yahoo:uri=&quot;http://query.yahooapis.com/v1/yql?q=select+*+from+search.web+where+query+%3D+%22javascript%22%3B&quot;&amp;gt;&lt;br&gt;
&amp;lt;diagnostics&amp;gt;&lt;br&gt;
&amp;lt;publiclyCallable&amp;gt;true&amp;lt;/publiclyCallable&amp;gt;&lt;br&gt;
&amp;lt;url execution-time=&quot;157&quot;&amp;gt;&amp;lt;![CDATA[http://boss.yahooapis.com/ysearch/web/v1/javascript?format=xml&amp;amp;start=0&amp;amp;count=10]]&amp;gt;&amp;lt;/url&amp;gt;&lt;br&gt;
&amp;lt;user-time&amp;gt;158&amp;lt;/user-time&amp;gt;&lt;br&gt;
&amp;lt;service-time&amp;gt;157&amp;lt;/service-time&amp;gt;&lt;br&gt;
&amp;lt;build-version&amp;gt;4265&amp;lt;/build-version&amp;gt;&lt;br&gt;
&amp;lt;/diagnostics&amp;gt;&lt;br&gt;
&amp;lt;results&amp;gt;&lt;br&gt;
&amp;lt;result xmlns=&quot;http://www.inktomi.com/&quot;&amp;gt;&lt;br&gt;
&amp;lt;abstract&amp;gt;&amp;lt;![CDATA[&amp;lt;b&amp;gt;JavaScript&amp;lt;/b&amp;gt;.com is your source for all things &amp;lt;b&amp;gt;JavaScript&amp;lt;/b&amp;gt;, including tutorials, free java scripts, downloads, tools, &amp;lt;b&amp;gt;javascript&amp;lt;/b&amp;gt; source code and other scripting resources.]]&amp;gt;&amp;lt;/abstract&amp;gt;&lt;br&gt;
&amp;lt;clickurl&amp;gt;http://lrd.yahooapis.com/_ylc=X3oDMTQ4YzcwbGR0BF9TAzIwMjMxNTI3MDIEYXBwaWQDb0pfTWdwbklrWW5CMWhTZnFUZEd5TkouTXNxZlNMQmkEY2xpZW50A2Jvc3MEc2VydmljZQNCT1NTBHNsawN0aXRsZQRzcmNwdmlkAzc4ZHhPR0tJY3JyNGp1ZDd4R3RJcERZWXZOOFNqMHVNMlBJQUM0NkU-/SIG=10va2460d/**http%3A//www.javascript.com/&amp;lt;/clickurl&amp;gt;&lt;br&gt;
&amp;lt;date&amp;gt;2010/02/28&amp;lt;/date&amp;gt;&lt;br&gt;
&amp;lt;dispurl&amp;gt;&amp;lt;![CDATA[www.&amp;lt;b&amp;gt;javascript.com&amp;lt;/b&amp;gt;]]&amp;gt;&amp;lt;/dispurl&amp;gt;&lt;br&gt;
&amp;lt;size&amp;gt;59075&amp;lt;/size&amp;gt;&lt;br&gt;
&amp;lt;title&amp;gt;&amp;lt;![CDATA[&amp;lt;b&amp;gt;JavaScript&amp;lt;/b&amp;gt;.com]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br&gt;
&amp;lt;url&amp;gt;http://www.javascript.com/&amp;lt;/url&amp;gt;&lt;br&gt;
&amp;lt;/result&amp;gt;&lt;br&gt;
&amp;lt;/results&amp;gt;&lt;br&gt;
&amp;lt;/query&amp;gt;&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Read AND Write with YQL&lt;/h3&gt;
&lt;p&gt;Looking at the example above you might agree that it&amp;#8217;s pretty easy to use the BOSS web service already since it&amp;#8217;s RESTful and the URL are easy to construct. Well, the same can&amp;#8217;t really be said for the Wordpress XML-RPC API. But, with YQL we can still easily insert a new post into a Wordpress blog:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;insert into wordpress.post (title, description, blogurl, username, password) values (&quot;Test Title&quot;, &quot;This is a test body&quot;, &quot;&lt;a href=&quot;http://yqltest.wordpress.com&quot; target=&quot;_blank&quot;&gt;http://yqltest.wordpress.com&lt;/a&gt;&quot;, &quot;yqltest&quot;, &quot;password&quot;); &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;A few things are interesting here. Firstly we are still using SQL syntax, but this time we are inserting data. YQL doesn&amp;#8217;t just read data, you can write too. More than that even though BOSS uses REST and Wordpress is XML-RPC with YQL you don&amp;#8217;t need to care. You just ask for what you want and the YQL table deals with it. Once you start using YQL to get one piece of data there isn&amp;#8217;t any more cost to using more services.&lt;/p&gt;
&lt;h3&gt;Getting Started&lt;/h3&gt;
&lt;p&gt;So far we&amp;#8217;ve looked at some of the things YQL can do but not how you would go about getting started, so let&amp;#8217;s do that. The easiest way to become familiar with YQL is the &lt;a href=&quot;http://developer.yahoo.com/yql/console&quot; target=&quot;_blank&quot;&gt;YQL console&lt;/a&gt;. It&amp;#8217;s a lot like the MySQL console in that you can use it to easily query available tables or to test and construct queries you want to make in your application. The console looks like this:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://developer.yahoo.com/yql/console/&quot;&gt;&lt;img title=&quot;yql-console1&quot; src=&quot;http://carsonified.com/wp-content/uploads/2010/03/yql-console1.jpg&quot; alt=&quot;&quot; width=&quot;470&quot; height=&quot;253&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The first and most obvious thing is the query box. This opens with the query &amp;#8220;show tables&amp;#8221; which as in SQL returns a list of all the available tables. You can see that result underneath the query box. You can use the radio buttons to get the results as XML or JSON, your choice.&lt;/p&gt;
&lt;p&gt;On the right hand side we have some navigation to get you started quicker. The list of the current tables is shown and you can open the tree to folders to show specific tables.&lt;/p&gt;
&lt;p&gt;By default we show all the Yahoo! tables, but you can also click on a button to show all the tables created by the community. These cover a wide variety of services, almost anything you can think of.&lt;/p&gt;
&lt;h3&gt;Contribute Tables of your Own&lt;/h3&gt;
&lt;p&gt;You can also contribute new tables. They can be either really straight forward in the case of a good REST web service, or as complex as it needs to be to get the job done. A simple table might look like this one:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;table xmlns=&quot;&lt;a href=&quot;http://query.yahooapis.com/v1/schema/table.xsd&quot; target=&quot;_blank&quot;&gt;http://query.yahooapis.com/v1/schema/table.xsd&lt;/a&gt;&quot;&amp;gt;&lt;br&gt;
&amp;lt;meta&amp;gt;&lt;br&gt;
&amp;lt;author&amp;gt;Yahoo! Inc.&amp;lt;/author&amp;gt;&lt;br&gt;
&amp;lt;documentationURL&amp;gt;&lt;a href=&quot;http://craigslist.org/&quot; target=&quot;_blank&quot;&gt;http://craigslist.org/&lt;/a&gt;&amp;lt;/documentationURL&amp;gt;&lt;br&gt;
&amp;lt;sampleQuery&amp;gt;select * from {table} where location=&quot;sfbay&quot; and type=&quot;sss&quot; and query=&quot;schwinn mountain bike&quot;&amp;lt;/sampleQuery&amp;gt;&lt;br&gt;
&amp;lt;/meta&amp;gt;&lt;br&gt;
&amp;lt;bindings&amp;gt;&lt;br&gt;
&amp;lt;select itemPath=&quot;&quot; produces=&quot;XML&quot;&amp;gt;&lt;br&gt;
&amp;lt;urls&amp;gt;&lt;br&gt;
&amp;lt;url&amp;gt;http://{location}.&lt;a href=&quot;http://craigslist.org/search/%7Btype%7D?format=rss&quot; target=&quot;_blank&quot;&gt;craigslist.org/search/{type}?format=rss&lt;/a&gt;&amp;lt;/url&amp;gt;&lt;br&gt;
&amp;lt;/urls&amp;gt;&lt;br&gt;
&amp;lt;inputs&amp;gt;&lt;br&gt;
&amp;lt;key id=&quot;location&quot; type=&quot;xs:string&quot; paramType=&quot;path&quot; required=&quot;true&quot; /&amp;gt;&lt;br&gt;
&amp;lt;key id=&quot;type&quot; type=&quot;xs:string&quot; paramType=&quot;path&quot; required=&quot;true&quot; /&amp;gt;&lt;br&gt;
&amp;lt;key id=&quot;query&quot; type=&quot;xs:string&quot; paramType=&quot;query&quot; required=&quot;true&quot; /&amp;gt;&lt;br&gt;
&amp;lt;/inputs&amp;gt;&lt;br&gt;
&amp;lt;/select&amp;gt;&lt;br&gt;
&amp;lt;/bindings&amp;gt;&lt;br&gt;
&amp;lt;/table&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;You can see that it&amp;#8217;s just XML, and only a few lines at that. The important bits are the &amp;#8220;select&amp;#8221; element. This represents a select statement we can make in YQL. If you wanted to insert you&amp;#8217;d need an &amp;#8220;insert&amp;#8221; element too.&lt;/p&gt;
&lt;p&gt;The select statement has a &amp;#8220;url&amp;#8221; which maps each &amp;#8220;key&amp;#8221; to the web service. In this case we have two path parameters which are inserted into the URL with &lt;tt&gt;{ }&lt;/tt&gt; and a query parameter which is automatically added to the end. This is the entire data required to let you select from Craigslist in YQL.&lt;/p&gt;
&lt;p&gt;YQL is easy and extensible, and best of all there are already &lt;a href=&quot;http://github.com/yql/yql-tables&quot; target=&quot;_blank&quot;&gt;hundreds of tables contributed by the community&lt;/a&gt; to all kinds of great services like Twitter, Facebook, Etsy, bit.ly?&lt;/p&gt;
&lt;p&gt;What are you waiting for, &lt;a href=&quot;http://developer.yahoo.com/yql/console&quot; target=&quot;_blank&quot;&gt;try the console today&lt;/a&gt;!&lt;/p&gt;
&lt;img src=&quot;http://carsonified.com/?ak_action=api_record_view&amp;id=4812&amp;type=feed&quot; alt=&quot;&quot;&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=XVt3SeRGnCs:S5Rl45KnRE4:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=XVt3SeRGnCs:S5Rl45KnRE4:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=XVt3SeRGnCs:S5Rl45KnRE4:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=XVt3SeRGnCs:S5Rl45KnRE4:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=XVt3SeRGnCs:S5Rl45KnRE4:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=XVt3SeRGnCs:S5Rl45KnRE4:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Thu, 04 Mar 2010 14:54:23 +0000</pubDate>
	<dc:creator>Tom Hughes-Croucher</dc:creator>
</item>
<item>
	<title>Microsoft - IEBlog: CSS Crunch: new IE Extension for developers</title>
	<guid>91d46819-8472-40ad-a661-2c78acb4018c:9959109</guid>
	<link>http://blogs.msdn.com/ie/archive/2010/03/03/css-crunch-new-ie-extension-for-developers.aspx</link>
	<description>&lt;p&gt;There are many tools in the market that allow you to customize your pages' cascading style sheets (CSS), but there are actually a very few that do the opposite&quot;scan for all the CSS rules in the document and remove those that are not used. Cleaning out the CSS will not only reduce the bandwidth impact, but will also improve the performance of the browser (minimizing the time spent by the CSS engine to parse the style sheets). &lt;/p&gt;
&lt;p&gt;In this post, I will describe how to build that tool using a bookmarklet and a &lt;a href=&quot;http://www.w3.org/TR/selectors-api&quot;&gt;new standard function&lt;/a&gt; introduced in Internet Explorer 8: &lt;b&gt;document.querySelectorAll()&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Let's start with the basics: a Web page can include many cascading style sheets, each of which is composed of one or more &lt;i&gt;selectors.&lt;/i&gt; For instance, &lt;i&gt;#elementId&lt;/i&gt; { }, &lt;i&gt;.className { }&lt;/i&gt;, and &lt;i&gt;body{ } &lt;/i&gt;are each examples of selectors. Using the function &lt;i&gt;querySelectorAll()&lt;/i&gt;, you can programmatically inspect the DOM tree and count the number of times each selector is actually used.&lt;/p&gt;
&lt;p&gt;For instance, the following code snippet counts the number of times the CSS class Foo is used in the document:&lt;/p&gt;
&lt;p&gt;var selectorCount = document.querySelectorAll(&quot;.Foo&quot;).length;&lt;/p&gt;
&lt;p&gt;Now that we have this information, we need a way to run this script inside the document. For the purpose of this article, I didn't want to change our server-side code.&lt;/p&gt;
&lt;p&gt;I decided to create a bookmarklet, which is a special link that can interact dynamically with the currently loaded page. The syntax of the bookmarklet is fairly straightforward:&lt;/p&gt;
&lt;div id=&quot;codeSnippetWrapper&quot;&gt;&lt;pre id=&quot;codeSnippet&quot;&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;a&lt;/span&gt; &lt;span&gt;href&lt;/span&gt;&lt;span&gt;=&quot;javascript:( &lt;br&gt;    function() {          &lt;br&gt;        var c = document.createElement('script');&lt;br&gt;        c.type = 'text/javascript';&lt;br&gt;        c.src = 'http://demos.cloudapp.net/IE/CssCrunch/Scripts/CssCrunch.js'; &lt;br&gt;        document.getElementsByTagName('head')[0].appendChild(c); })();&quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;            &lt;br&gt;    CSS Crunch&lt;br&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br&gt;&lt;/div&gt;
&lt;p&gt;As you can see, at runtime this injects a remote script file that runs the analysis and displays the result.&lt;/p&gt;&lt;img title=&quot;CSSCrunch being used on the IE Blog&quot; alt=&quot;CSSCrunch being used on the IE Blog&quot; src=&quot;http://ieblog.members.winisp.net/images/Giorgio_CSSCrunch_1.png&quot;&gt; 
&lt;p&gt;If you scroll to the bottom of the list of CSS rules, you'll see an option to remove temporarily unused selectors. This allow you to test if the page still displays and behaves the same way, as shown in the picture below.&lt;/p&gt;&lt;img title=&quot;CSSCrunch being used to remove the unused style rules&quot; alt=&quot;CSSCrunch being used to remove the unused style rules&quot; src=&quot;http://ieblog.members.winisp.net/images/Giorgio_CSSCrunch_2.png&quot;&gt; 
&lt;p&gt;I'd like to stress the fact that &lt;b&gt;the goal is not to reach 100% usage on any page&lt;/b&gt;; there are scenarios in fact where the same style sheet could possibly be used by multiple pages and it makes sense to pre-fetch some rule, or where the page compression balance well having additional styles to maintain. Instead you should use this tool to identify possible areas for improvement.&lt;/p&gt;
&lt;p&gt;That's it! You can try it here:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Right click &lt;a href=&quot;javascript:(    function() {         var c = document.createElement('script');         c.type = 'text/javascript';         c.src = 'http://demos.cloudapp.net/IE/CssCrunch/Scripts/CssCrunch.js'; document.getElementsByTagName('head')[0].appendChild(c); })();&quot;&gt;Run CSSCrunch&lt;/a&gt; and select &quot;Add to Favorites&quot; &lt;/li&gt;
&lt;li&gt;Accept the security warning (by default, any bookmarklet is considered unsecure due to its nature) &lt;/li&gt;
&lt;li&gt;Choose a location (for example, Favorites Bar) &lt;/li&gt;
&lt;li&gt;Installed! You can now browse to this &lt;a href=&quot;http://demos.cloudapp.net/IE/CssCrunch/Demo.html&quot;&gt;test page&lt;/a&gt; (or any other site) and click &quot;CSS Crunch&quot; in the Favorites Bar &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;This is just a starting point; if you are interested in doing more, you can find the &lt;a href=&quot;http://go.microsoft.com/?linkid=9709555&quot;&gt;source code here&lt;/a&gt;. I encourage you to look at the underlying code and customize it to suit your needs. For example, you might want to add support for multiple-pages analysis, or integration with server-side tools such as Visual Studio or IIS, or a compression capability such as &lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2009/10/15/announcing-microsoft-ajax-library-preview-6-and-the-microsoft-ajax-minifier.aspx&quot;&gt;Microsoft Ajax Minifier&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ok, time to go! I'm checking the CSS on this blog now&quot; :) &lt;/p&gt;
&lt;p&gt;Have fun!&lt;/p&gt;
&lt;p&gt;Giorgio Sardo &lt;br&gt;Web Technical Evangelist &lt;br&gt;Microsoft Corporation&lt;/p&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=9959109&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
	<pubDate>Thu, 04 Mar 2010 01:12:00 +0000</pubDate>
	<dc:creator>ieblog</dc:creator>
</item>
<item>
	<title>Vitamin: 17 Essential Developer Networks</title>
	<guid>http://carsonified.com/?p=4834</guid>
	<link>http://carsonified.com/blog/dev/17-essential-developer-networks/</link>
	<description>&lt;div class=&quot;tweetmeme_button&quot;&gt;&lt;a href=&quot;http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2F17-essential-developer-networks%2F&quot;&gt;&lt;img src=&quot;http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2F17-essential-developer-networks%2F&quot; height=&quot;61&quot; width=&quot;51&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Recently I have been noticing that more and more tech companies are starting up &amp;#8220;developer networks&amp;#8221;. Some of these, like the &lt;a href=&quot;http://developer.yahoo.com/&quot;&gt;Yahoo! Developer Network&lt;/a&gt;, consist of great tools and resources (think &lt;a href=&quot;http://developer.yahoo.com/yql/&quot;&gt;YQL&lt;/a&gt;, &lt;a href=&quot;http://developer.yahoo.com/yui/&quot;&gt;YUI&lt;/a&gt; etc) that we can all make use of in our work whilst others focus on more specific aspects of developing with a particular service or app.&lt;/p&gt;
&lt;p&gt;Whilst tutorials and code examples are great the added bonus of a network is the community that grows around it. It&amp;#8217;s likely that you won&amp;#8217;t be the first person to experience a particular issue so it&amp;#8217;s a great place to share application specific tips and frustrations.&lt;/p&gt;
&lt;p&gt;Here are 17 networks and sites that you might not know about but are worth checking out.&lt;/p&gt;
&lt;h3&gt;Tech Company Networks&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://developer.yahoo.com/&quot;&gt;Yahoo! Developer Network&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://x.com&quot;&gt;PayPal Developer  Network&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://developers.sun.com/&quot;&gt;Sun Developer Network&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com&quot;&gt;Microsoft Developer Network&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/&quot;&gt;IBM Developer Works&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://developer.apple.com/&quot;&gt;Apple Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/En&quot;&gt;Mozilla Developer Network&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://developer.palm.com/&quot;&gt;Palm Developer Center&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://code.google.com/&quot;&gt;Google  Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dev.opera.com/&quot;&gt;Opera Developer Community&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Application Specific Networks &amp;amp; Sites&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://codex.wordpress.org/Main_Page&quot;&gt;WordPress Codex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://developer.ning.com/&quot;&gt;Ning Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://developers.freshbooks.com/&quot;&gt;Freshbook Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://developers.facebook.com/&quot;&gt;Facebook Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://apiwiki.twitter.com/&quot;&gt;Twitter API Wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://about.digg.com/developers&quot;&gt;Digg Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://developer.37signals.com/&quot;&gt;37signals Developer Site&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you know of any more please add them in the comments, it would be great to publish a more complete list.&lt;/p&gt;
&lt;img src=&quot;http://carsonified.com/?ak_action=api_record_view&amp;id=4834&amp;type=feed&quot; alt=&quot;&quot;&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=unLYggYP7M0:N3AhNaw7D4o:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=unLYggYP7M0:N3AhNaw7D4o:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=unLYggYP7M0:N3AhNaw7D4o:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=unLYggYP7M0:N3AhNaw7D4o:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=unLYggYP7M0:N3AhNaw7D4o:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=unLYggYP7M0:N3AhNaw7D4o:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 03 Mar 2010 13:27:37 +0000</pubDate>
	<dc:creator>Keir Whitaker</dc:creator>
</item>
<item>
	<title>Stopdesign: A browsable, searchable archive of tweets</title>
	<guid>http://stopdesign.com/?p=2247</guid>
	<link>http://stopdesign.com/archive/2010/03/02/browsable-searchable-archive-of-tweets.html</link>
	<description>&lt;p&gt;In the past, I&amp;#8217;ve wanted to browse or search through my own tweets. Viewing my &lt;a href=&quot;http://twitter.com/stop&quot;&gt;Twitter profile&lt;/a&gt; is one way to do that. But if I want to browse back through history, it&amp;#8217;s a chore to go back very far. And forget about &lt;a href=&quot;http://twitter.com/#search?q=from%3Astop&quot;&gt;searching through my own tweets on Twitter&lt;/a&gt; since Twitter Search currently only goes back about a seven days.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://stopdesign.com/tweets/&quot;&gt;&lt;img class=&quot;alignright wp-image-2249&quot; title=&quot;tweets&quot; src=&quot;https://stopdesign.com/img/archive/2010/03/tweets.png&quot; alt=&quot;&quot; width=&quot;200&quot; height=&quot;150&quot;&gt;&lt;/a&gt;I know there are a few &lt;a href=&quot;http://www.readwriteweb.com/archives/10_ways_to_archive_your_tweets.php&quot;&gt;apps&lt;/a&gt; or &lt;a href=&quot;http://www.readwriteweb.com/archives/how_to_backup_and_search_all_your_friends_tweets_i.php&quot;&gt;scripts&lt;/a&gt; that create backups and much more for you. But I wanted a database and simple UI completely within my own control. One that wouldn&amp;#8217;t go away if the developer abandoned it. So one Saturday a few weeks ago, in a little over an hour, I had &lt;strong&gt;my own, free,&lt;/strong&gt; &lt;a href=&quot;http://stopdesign.com/tweets/&quot;&gt;browsable, searchable tweet archive&lt;/a&gt;. Now I can easily browse back to my &lt;a href=&quot;http://stopdesign.com/tweets/4238&quot;&gt;&lt;strong&gt;very first tweet&lt;/strong&gt;&lt;/a&gt;, or search for those &lt;a href=&quot;http://stopdesign.com/tweets/?s=paul+rand&quot;&gt;quotes by &lt;strong&gt;Paul Rand&lt;/strong&gt;&lt;/a&gt; I tweeted last year. This isn&amp;#8217;t anything entirely new. I&amp;#8217;m just writing it up what works for me in case it helps fit some pieces together.&lt;span id=&quot;more-2247&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;How to set up your own tweet archive with WordPress&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Assuming you have a collection of past tweets, the first step is to collect them in one place. &lt;a href=&quot;http://tweetbackup.com/&quot;&gt;TweetBackup.com&lt;/a&gt; provides an easy way to do this. It uses OAuth, so there&amp;#8217;s no need to enter your username or password as long as you&amp;#8217;re already signed into twitter.com. Give them an email address, and your tweets start backing up immediately. (See their &lt;a href=&quot;http://tweetbackup.com/faq/&quot;&gt;FAQ&lt;/a&gt; about a possible limitation of 3200 tweets.)&lt;/li&gt;
&lt;li&gt;Once TweetBackup is done grabbing all your tweets (it took about 2 minutes for my ~1,400 tweets), go to the Export tab, and save the RSS format to your local drive&lt;/li&gt;
&lt;li&gt;Install a fresh copy of &lt;a href=&quot;http://wordpress.org/&quot;&gt;WordPress&lt;/a&gt; somewhere on your server if you don&amp;#8217;t want tweets intermingled with other WP content. In the Tools section of WordPress, use the built-in RSS importer to import the file you saved from TweetBackup.&lt;/li&gt;
&lt;li&gt;Assuming you want WordPress to automatically grab each tweet from this point forward, install the &lt;a href=&quot;http://wordpress.org/extend/plugins/twitter-tools/&quot;&gt;Twitter Tools plugin&lt;/a&gt;, enter your Twitter credentials in its settings screen, and configure it to create a blog post for each of your tweets. (Turn off the option to tweet when a post is created from this blog so the universe doesn&amp;#8217;t explode in some endless loop of repeating tweets and blog posts.)&lt;/li&gt;
&lt;li&gt;That&amp;#8217;s it.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;A few extra steps, if you&amp;#8217;re up for them&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Twitter Tools will handle future tweets correctly. But the format of each tweet from TweetBackup starts with a prefix of your Twitter username, followed by a space and a colon, like this: &amp;#8220;stop: Clicking through the new design of&amp;#8230;&amp;#8221;. I used the &lt;a href=&quot;http://wordpress.org/extend/plugins/search-regex/&quot;&gt;Search Regex&lt;/a&gt; plugin to search for and eliminate that prefix.&lt;/li&gt;
&lt;li&gt;Past tweets from TweetBackup won&amp;#8217;t have linked URLs. The &lt;a href=&quot;http://wordpress.org/extend/plugins/sem-autolink-uri/&quot;&gt;Autolink URI&lt;/a&gt; plugin can do this for you automatically.&lt;/li&gt;
&lt;li&gt;If you&amp;#8217;re good enough with regular expressions, you can also use the Search Regex plugin to link up any @mentions and #hashtags in your tweets. I suck at regex, so I cheated and used some of the &lt;a href=&quot;http://davidwalsh.name/linkify-twitter-feed&quot;&gt;patterns from David Walsh&lt;/a&gt; within the Search Regex search/replace UI. Technically, you could probably use David&amp;#8217;s first pattern to link up URLs too.&lt;/li&gt;
&lt;li&gt;A few WP plugins can enhance the built-in search functionality of WordPress. I&amp;#8217;m using &lt;a href=&quot;http://wordpress.org/extend/plugins/search-everything/&quot;&gt;Search Everything&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wordpress.org/extend/plugins/wp-super-cache/&quot;&gt;WP Super Cache&lt;/a&gt; will keep server resources to a minimum and help load pages quickly once they&amp;#8217;re cached.&lt;/li&gt;
&lt;li&gt;If you&amp;#8217;re really up for it, you can customize the templates and design as I did. Anything is possible if you&amp;#8217;re familiar with PHP and WordPress templates. For instance, you could try using the &lt;a href=&quot;http://wordpress.org/extend/plugins/similar-posts/&quot;&gt;Similar Posts&lt;/a&gt; plugin to suggest possibly related tweets on the permalink page.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now, every tweet you&amp;#8217;ve written and will write can be duplicated and backed up in your own MYSQL database, accessible via a WordPress front end. Technically, you could probably use any blogging platform or CMS to do this. (It doesn&amp;#8217;t require WordPress.) You&amp;#8217;ll just need a means to import old tweets and automatically grab new tweets.&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/stopdesign/~4/XKtwbqwuQs4&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Tue, 02 Mar 2010 19:53:05 +0000</pubDate>
	<dc:creator>Douglas Bowman</dc:creator>
</item>
<item>
	<title>Microsoft - IEBlog: How IE8 Determines Document Mode</title>
	<guid>91d46819-8472-40ad-a661-2c78acb4018c:9958497</guid>
	<link>http://blogs.msdn.com/ie/archive/2010/03/02/how-ie8-determines-document-mode.aspx</link>
	<description>&lt;p&gt;This post describes how IE8 determines what &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx&quot;&gt;Document Mode&lt;/a&gt; such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Quirks_mode&quot;&gt;Quirks or Standards Modes&lt;/a&gt;&amp;nbsp;to use for rendering websites. This topic is important for site developers and consumers. &lt;/p&gt;
&lt;p&gt;It's related to the Compatibility View List that we recently &lt;a href=&quot;http://support.microsoft.com/kb/978506&quot;&gt;updated&lt;/a&gt;. This list is down by over 1000 websites, from over 3100 to just over 2000, since IE8 released last March. As we work with site developers and standards bodies, we're excited to see the sites that need to be on the Compatibility View (CV) List continue to go down. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Data-driven Design&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Before we dig in to the design details, I want to share some of the data we use to design the compatibility experience. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;pie chart of what mode high traffic websites render in&quot; alt=&quot;pie chart of what mode high traffic websites render in&quot; src=&quot;http://ieblog.members.winisp.net/images/MarcSil_IE8_Document_Mode_1.png&quot; longdesc=&quot;http://ieblog.members.winisp.net/misc/MarcSil_IE8_Document_Mode_table.txt&quot;&gt; &lt;/p&gt;
&lt;p&gt;When looking at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Doctype&quot;&gt;doctype&lt;/a&gt; and &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx&quot;&gt;X-UA-Compatible meta tag and header&lt;/a&gt; on thousands of high traffic websites worldwide such as qq.com, netlog.com and those on the &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=B885E621-91B7-432D-8175-A745B87D2588&amp;amp;displaylang=en&quot;&gt;initial CV List&lt;/a&gt;, &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;26% specify Quirks such as amazon.com, tworld.co.kr, and unibanco.com.br. &lt;/li&gt;
&lt;li&gt;41% specify a Transitional doctype that puts them in &lt;a href=&quot;https://developer.mozilla.org/en/Gecko's_Almost_Standards_Mode&quot;&gt;Almost Standards Mode&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;14% have already added an X-UA-Compatible meta tag or HTTP response header to render in IE7 Standards Mode. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Here's why this makes sense; many high traffic websites want to render in as many browsers as possible, which is why they write for Quirks. Many websites have pages written specifically for IE7 and many web authoring tools such as &lt;a href=&quot;http://www.aptana.org/&quot;&gt;Aptana Studio&lt;/a&gt; and &lt;a href=&quot;http://www.microsoft.com/expression/&quot;&gt;Expression Web&lt;/a&gt; specify the Transitional doctype by default:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;&lt;/font&gt;&lt;a href=&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;&lt;font size=&quot;2&quot;&gt;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot;&gt;&quot;&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Thinking in terms of web-scale, there are billions of pages written specifically for either Quirks, IE7, Almost Standards, or the latest Standards. IE needs to support all of these web platform variations to ensure that our broad, world-wide, user-base has the best experience. &lt;/p&gt;
&lt;p&gt;With this data in hand, we designed IE8 with a few principles in mind: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Render websites in the most standards compliant way by default. &lt;/b&gt;
&lt;p&gt;As stated in &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/03/03/microsoft-s-interoperability-principles-and-ie8.aspx&quot;&gt;previous&lt;/a&gt; &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/06/17/compatibility-view-and-smart-defaults.aspx&quot;&gt;posts&lt;/a&gt;, we're committed to interoperability, which means rendering websites in the most standards compliant way possible by default. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Users expect the web to just work in IE.&lt;/b&gt; 
&lt;p&gt;A small set of users will tinker to get websites that expect and work best in IE7 Standards Mode to work in IE8's more standards-compliant default mode. For everyone else, IE8 includes &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/08/27/introducing-compatibility-view.aspx&quot;&gt;Compatibility View Settings&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The best experience here is one that works automatically as the web developer intended. This is why we created the &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd567845(VS.85).aspx&quot;&gt;Compatibility View List&lt;/a&gt;. It's also important to give users the ability to fix websites that aren't on the list yet through the Compatibility View button.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Web developers are in control of how their content renders.&lt;/b&gt; 
&lt;p&gt;The &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx&quot;&gt;X-UA-Compatible meta tag and header&lt;/a&gt; override IE and user settings. They also provide web developers with fine-grain control over how each webpage renders in IE. &lt;/p&gt;
&lt;p&gt;For example, some websites have pages written for Quirks and others for IE7 Standards. When IE receives an X-UA-Compatible header with an EmulateIE7 value from servers, it renders each page in the appropriate Quirks or IE7 Standards Mode.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Give web developers tools and time to help transition their content to IE8 Standards.&lt;/b&gt; 
&lt;p&gt;IE8 introduced the X-UA-Compatible meta tag and header to provide web developers time to transition their websites to IE8 Standards. As mentioned above, many websites have already used this mechanism to specify that their content should run in IE7 Standards Mode.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;A Diagram on How IE8 Determines Document Mode&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Given the above principles, there are four rules that you can remember about how IE handles doctype, X-UA-Compatible meta tag and header, Developer Tools, and Compatibility View Settings. These rules follow the diagram below from top to bottom:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd565628(VS.85).aspx#documentmodes&quot;&gt;Developer Tools&lt;/a&gt; settings override all Document Modes for pages displayed in a tab. &lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx&quot;&gt;X-UA-Compatible meta tag and then header&lt;/a&gt; override Compatibility View Settings and the doctype unless the X-UA-Compatible value is EmulateIE7 or EmulateIE8. &lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/08/27/introducing-compatibility-view.aspx&quot;&gt;user's Compatibility View Settings&lt;/a&gt; override the Microsoft &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd567845(VS.85).aspx&quot;&gt;Microsoft Compatibility View List&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;If none of the above rules apply, the doctype determines whether the webpage renders in IE8 Standards, IE8 Almost Standards or Quirks Mode. &lt;/li&gt;&lt;/ol&gt;&lt;img title=&quot;flow chart of IE process for determining the page doc mode&quot; alt=&quot;flow chart of IE process for determining the page doc mode&quot; src=&quot;http://ieblog.members.winisp.net/images/MarcSil_IE8_Document_Mode_2.png&quot; width=&quot;100%&quot; longdesc=&quot;http://ieblog.members.winisp.net/misc/IE8_document_mode.vsd&quot;&gt; 
&lt;p&gt;Compatibility and interoperability are complex. To reduce complexity for developers and users alike, we would love to see websites transition from legacy browser modes. We respect that the choice of mode is up to the site developer. We're excited to work with sites and standards bodies to &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/01/27/microsoft-submits-thousands-more-css-2-1-tests-to-the-w3c.aspx&quot;&gt;continue&lt;/a&gt; &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2010/02/22/mix-microsoft-w3c-and-svg.aspx&quot;&gt;improving&lt;/a&gt; &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers.aspx&quot;&gt;IE's&lt;/a&gt; implementation of interoperable standards.&lt;/p&gt;
&lt;p&gt;Many thanks to Jesse Mohrland for verifying the diagram.&lt;/p&gt;
&lt;p&gt;Marc Silbey &lt;br&gt;Program Manager&lt;/p&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=9958497&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
	<pubDate>Tue, 02 Mar 2010 19:07:00 +0000</pubDate>
	<dc:creator>ieblog</dc:creator>
</item>
<item>
	<title>Vitamin: Forrst: Where Designers Who Code meet Developers Who Design</title>
	<guid>http://carsonified.com/?p=4790</guid>
	<link>http://carsonified.com/blog/design/forrst-finds-designers-who-code-developers-who-design/</link>
	<description>&lt;div class=&quot;tweetmeme_button&quot;&gt;&lt;a href=&quot;http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdesign%2Fforrst-finds-designers-who-code-developers-who-design%2F&quot;&gt;&lt;img src=&quot;http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdesign%2Fforrst-finds-designers-who-code-developers-who-design%2F&quot; height=&quot;61&quot; width=&quot;51&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;http://carsonified.com/?administer_redirect_7=http://futureofwebdesign.com/?utm_source=thinkvitamin&amp;amp;utm_medium=banner&amp;amp;utm_campaign=forrst&quot;&gt;&lt;img class=&quot;alignnone&quot; title=&quot;Future of Web Design London 2010&quot; src=&quot;http://carsonified.com/wp-content/themes/carsonified/img/adverts/fowd_london_2010_side.jpg&quot; alt=&quot;Future of Web Design London 2010&quot; width=&quot;470&quot; height=&quot;60&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Editors Note:&lt;/strong&gt; Forrst is still in beta and as such you will need an account to view the links referenced below. Kyle, the creator of Forrst, has kindly offered 250 Think Vitamin readers an advanced invite. All you have to do is email &lt;a href=&quot;mailto:kyle@forrst.com?subject=I'd love an invite!&quot; target=&quot;_blank&quot;&gt;kyle@forrst.com&lt;/a&gt; with subject &amp;#8220;I&amp;#8217;d love an invite!&amp;#8221;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A few weeks ago Carsonified&amp;#8217;s Mike Kus gave &lt;a id=&quot;tmxr&quot; title=&quot;five good reasons&quot; href=&quot;http://carsonified.com/blog/uncategorized/5-good-reasons-why-designers-should-code/&quot;&gt;five &lt;span&gt;good&lt;/span&gt; great reasons&lt;/a&gt; why designers should know how to code. It generated quite a discussion. Around the same time I stumbled upon &lt;a href=&quot;http://forrst.com/&quot; target=&quot;_blank&quot;&gt;Forrst&lt;/a&gt;, a new platform for short-form sharing between designers and developers. &lt;a href=&quot;http://forrst.com&quot;&gt;&lt;img src=&quot;http://carsonified.com/wp-content/uploads/2010/03/forrst_logo.png&quot; alt=&quot;forrstLogo470&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;The Founder&lt;/h3&gt;
&lt;p&gt;It wasn&amp;#8217;t a big surprise to learn that Forrst is a creation of Brooklyn-based developer/designer, &lt;a href=&quot;http://twitter.com/kylebragger&quot; target=&quot;_blank&quot;&gt;Kyle Bragger.&lt;/a&gt; I first met Kyle when he was a developer for &lt;a href=&quot;http://www.huffingtonpost.com/&quot;&gt;Huffington Post&lt;/a&gt;&lt;em&gt; &lt;/em&gt;(back in the early days), more recently he&amp;#8217;s CTO of Gary Vaynerchuk&amp;#8217;s &lt;a href=&quot;http://corkd.com/&quot; target=&quot;_blank&quot;&gt;Cork&amp;#8217;d&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Anyone who knows Kyle, however, also knows that he produces a seemingly never-ending stream of special projects. Honestly, I&amp;#8217;m almost convinced that the internet actually spat him out as a human a few years ago.&lt;/p&gt;
&lt;h3&gt;The Feedback&lt;/h3&gt;
&lt;p&gt;While Forrst is early in it&amp;#8217;s release, It&amp;#8217;s safe to say that there&amp;#8217;s some great long-term ideas in the community features that will have a profound impact on how designers and developers collaborate and learn more about supporting and even trading roles in development cycles. In fact, here is a sample post from a new member. Within moments it was peppered with positive and helpful feedback:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://carsonified.com/wp-content/uploads/2010/03/forrstScreenshot470.png&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-4829&quot; title=&quot;forrstScreenshot470&quot; src=&quot;http://carsonified.com/wp-content/uploads/2010/03/forrstScreenshot470.png&quot; alt=&quot;&quot; width=&quot;470&quot; height=&quot;407&quot;&gt;&lt;span id=&quot;more-4790&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;What Will You Find in Forrst?&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Editors Note: &lt;/strong&gt;Don&amp;#8217;t forget to claim your invite (see top of the post for info)&lt;br&gt;
&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mike Evans &lt;a id=&quot;bi:t&quot; title=&quot;(@magic6435),&quot; href=&quot;http://twitter.com/magic6435&quot;&gt;(@magic6435),&lt;/a&gt; designer/developer shared a &lt;a id=&quot;m0r.&quot; title=&quot;REST interface for mongodb&quot; href=&quot;http://forrst.com/posts/http-www-snailinaturtleneck-com-blog-2010-02-22-X9&quot;&gt;REST interface for mongodb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Thaibut Ninove &lt;a id=&quot;jlhg&quot; title=&quot;(@thaibutninove)&quot; href=&quot;http://twitter.com/ThibautNinove&quot;&gt;(@thaibutninove)&lt;/a&gt; &lt;a id=&quot;efd3&quot; title=&quot;posted; applescript&quot; href=&quot;http://forrst.com/posts/shortunes-is-an-applescript-that-allows-you-to-twe-7h&quot;&gt;posted; applescript&lt;/a&gt;, allows users to tweet itunes tracks&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;fn&quot;&gt;Kushal Pisavadia&lt;/span&gt; &lt;a id=&quot;uv47&quot; title=&quot;(@kushalp)&quot; href=&quot;http://twitter.com/KushalP&quot;&gt;(@kushalp)&lt;/a&gt; a London-based standards-lover &lt;a id=&quot;f3.i&quot; title=&quot;share javascript&quot; href=&quot;http://forrst.com/posts/html5-enabling-script-hn&quot;&gt;shared javascript&lt;/a&gt; to enable faux html 5 support in IE&lt;/li&gt;
&lt;li&gt;Posted! Relative &lt;a id=&quot;a2g3&quot; title=&quot;time stamps in PHP&quot; href=&quot;http://forrst.com/posts/in-response-to-the-jquery-cutetime-plugin-probab-yZ&quot;&gt;time stamps in PHP&lt;/a&gt; anyone? shared by &lt;a id=&quot;hpjo&quot; title=&quot;Billy Fowkse&quot; href=&quot;http://fowkswe.tumblr.com/&quot;&gt;Billy Fowks&lt;/a&gt;, co-founder of &lt;a id=&quot;z8vv&quot; title=&quot;rososo.com&quot; href=&quot;http://rososo.com/&quot;&gt;rososo.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Quirky endeavors are discovered, like the one from &lt;a id=&quot;wd-x&quot; title=&quot;Jonno Riekwel&quot; href=&quot;http://jonnotie.nl/&quot;&gt;Jonno Riekwel&lt;/a&gt; (Jonnotie), a designer doing a &lt;a id=&quot;lz.n&quot; title=&quot;&quot; for=&quot;for&quot;&gt;&amp;#8220;psd a day for a year&amp;#8221;&lt;/a&gt; thing &amp;amp; another from a user of inspiration sharing site &lt;a href=&quot;http://yayeveryday.com/&quot; target=&quot;_blank&quot;&gt;yayeveryday!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Pre-launch landing pages posted for new products like &lt;a id=&quot;av8n&quot; title=&quot;tapmates'&quot;&gt;tapmates&amp;#8217; &amp;#8220;screenport&amp;#8221;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A few folks share and discuss &lt;a id=&quot;x_ti&quot; title=&quot;their workspace preferences&quot; href=&quot;http://forrst.com/posts/remembering-the-post-yesterday-about-sketching-i-t-74&quot;&gt;their workspace preferences&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;And, finally, &lt;a id=&quot;xbfh&quot; title=&quot;jQuery badassitude&quot; href=&quot;http://home.comcast.net/%7Evonholdt/test/clock_slide/index.htm&quot;&gt;jQuery badassitude&lt;/a&gt; gets lots of love &amp;amp; learning&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;em&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/em&gt;&lt;strong&gt;How Forrst Works &amp;amp; Getting an Invite&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;&lt;br&gt;
&lt;/strong&gt;&lt;/em&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Forrst is currently invite-only during beta testing; you can join the Forrst &amp;#8220;Search Party&amp;#8221; on Twitter. If you weren&amp;#8217;t lucky enough to claim one of the 250 invites for Think Vitamin readers Kyle lifts the invite code requirement for 15 minutes every day, and new users can get instant access v. waiting for an invite code via email.&lt;/li&gt;
&lt;li&gt;Features for now include: profiles, follows, community badges and &amp;#8220;expert mode,&amp;#8221; email notifications, and an activity feed.&lt;/li&gt;
&lt;li&gt;Use the bookmarklet for easy posting as you go about your usual day online&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Q&amp;amp;A With Kyle, Forrst Founder&lt;/h3&gt;
&lt;p&gt;Since Forrst is still in its infancy, I asked Kyle to answer a few more questions in his own words: &lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What makes Forrst different from other repositories out there for code-sharing?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Well Forrst isn&amp;#8217;t quite a repository per se where you might host a project&amp;#8217;s code (like &lt;a href=&quot;http://github.com&quot;&gt;Github&lt;/a&gt; or &lt;a href=&quot;http://beanstalkapp.com/&quot;&gt;Beanstalk&lt;/a&gt;), instead it&amp;#8217;s a destination where community members can share code snippets they find clever, interesting, or maybe even perplexing, and instantly get feedback about them.&lt;/p&gt;
&lt;p&gt;Forrst is designed to help foster discussion and learning between its design and developer users. I do have plans to hook into popular hosted repository sites to a certain extent, so that even if you&amp;#8217;re used to sharing bits of code via &lt;a href=&quot;http://gist.github.com/&quot;&gt;&lt;em&gt;Gist&lt;/em&gt;&lt;/a&gt; or &lt;em&gt;&lt;a href=&quot;http://pastie.org/&quot;&gt;Pastie&lt;/a&gt;,&lt;/em&gt; you&amp;#8217;ll still be able to do that when sharing on Forrst, but Forrst is meant to be the social destination for discussing code and design discoveries.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://carsonified.com/wp-content/uploads/2010/03/kyle022810.jpg&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-4830&quot; title=&quot;kyle022810&quot; src=&quot;http://carsonified.com/wp-content/uploads/2010/03/kyle022810.jpg&quot; alt=&quot;&quot; width=&quot;470&quot; height=&quot;353&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;em&gt;Kyle Bragger, Founder, Forrst&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Forrst is newly launched, but already there are vibrant discussions taking place. What&amp;#8217;s been the biggest surprise to you watching the Forrst community form?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s been simply amazing seeing just how passionate and active the community already is; &lt;a id=&quot;mt3r&quot; title=&quot;two&quot; href=&quot;http://twitter.com/jmonegro&quot;&gt;two guys&lt;/a&gt; are already working on a weekly Forrst podcast, there&amp;#8217;s an informal &amp;#8220;build an app in a week&amp;#8221; contest going on (it ends March 3rd).&lt;/p&gt;
&lt;p&gt;Everyone is just super willing to provide constructive feedback, both to me as I continue to develop the site, but also to each other. It&amp;#8217;s a great feeling &quot; and really encouraging &quot; seeing Forrst grow the way it has so far.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You seem to have become a community manager almost overnight, what&amp;#8217;s it like to manage a community of designers and developers?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So far I&amp;#8217;ve gotten a ton of positive feedback and constructive criticism; I think it&amp;#8217;s hugely beneficial that this product happens to be for designers and developers &quot; it makes distilling bug reports a lot quicker, and everyone&amp;#8217;s had really valuable insight into what&amp;#8217;s working and what&amp;#8217;s not (in many cases, backed up by mockups and code snippets to illustrate their point &quot; I can&amp;#8217;t complain about that!).&lt;/p&gt;
&lt;p&gt;I think, in general, if you&amp;#8217;re building a product, you can&amp;#8217;t be afraid of hearing criticism about it; with Forrst it&amp;#8217;s especially interesting since the target audience are my designers and developers, who have tons of experience in app development.&lt;/p&gt;
&lt;p&gt;The very goal of Forrst is to bring these two groups together to do great things, and the fact that they&amp;#8217;re already helping me build a better product is evidence of how awesome this kind of collaboration can be delivered via short-form sharing.&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bringing designers and developers together can be quite a challenge, and I have to say after the recent (but fun) uproar over whether today&amp;#8217;s designers should code or not, how do you anticipate helping these two user discover one another? If a designer doesn&amp;#8217;t code, will she feel like she can still contribute?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;One of the big focuses I&amp;#8217;ve got for the next few months is tackling the discovery problem, both for people but also for content. Ideally, you&amp;#8217;ll be able to come to Forrst, find some friends who&amp;#8217;re already using it, jump in to the conversation, and ultimately be connected with what I&amp;#8217;m calling &amp;#8220;people you should know&amp;#8221; &quot; fellow developers and designers that you&amp;#8217;ll find valuable to know and share with. I&amp;#8217;m working on similar things for finding great content, too.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m a big fan of the friends-of-friends network, so I expect that will play a role. And, definitely, any designer who doesn&amp;#8217;t code should be especially excited about participating in Forrst, because they can learn a lot from their developer peers (maybe even get inspired to learn to code!) and vice versa.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How does a social short-form sharing app enhance a professional network of creative people?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Minimal effort! I love that I can use Forrst to quickly share something I find interesting (using the Share on Forrst bookmarklet.)&lt;/p&gt;
&lt;p&gt;Short-form sharing is a great way to begin a conversation without a lot of background or setup, and I think it solves a problem for this group who usually have gazillions of tabs open at any moment.&lt;/p&gt;
&lt;p&gt;Forrst capitalizes on serendipity, making the most of great discoveries by connecting people to one another around the core technologies that they&amp;#8217;re passionate about.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Thanks Kyle, see you over in Forrst!&lt;/em&gt;&lt;/p&gt;
&lt;div id=&quot;_mcePaste&quot;&gt;http://pastie.org/&lt;/div&gt;
&lt;img src=&quot;http://carsonified.com/?ak_action=api_record_view&amp;id=4790&amp;type=feed&quot; alt=&quot;&quot;&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=aLSMOEfZh_4:x518NdQkdT0:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=aLSMOEfZh_4:x518NdQkdT0:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=aLSMOEfZh_4:x518NdQkdT0:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=aLSMOEfZh_4:x518NdQkdT0:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=aLSMOEfZh_4:x518NdQkdT0:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=aLSMOEfZh_4:x518NdQkdT0:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Tue, 02 Mar 2010 13:07:15 +0000</pubDate>
	<dc:creator>Chrissie Brodigan</dc:creator>
</item>
<item>
	<title>Vitamin: Cached: Video of Logos, Pancake Platitudes, &amp; Why the Internet Will Fail</title>
	<guid>http://carsonified.com/?p=4804</guid>
	<link>http://carsonified.com/blog/carsonified/cached-video-of-logos-pancake-platitudes-why-the-internet-will-fail/</link>
	<description>&lt;div class=&quot;tweetmeme_button&quot;&gt;&lt;a href=&quot;http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fcarsonified%2Fcached-video-of-logos-pancake-platitudes-why-the-internet-will-fail%2F&quot;&gt;&lt;img src=&quot;http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fcarsonified%2Fcached-video-of-logos-pancake-platitudes-why-the-internet-will-fail%2F&quot; height=&quot;61&quot; width=&quot;51&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;Monday evening&amp;#8217;s roundup of news &amp;amp; treats:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;img class=&quot;aligncenter size-medium wp-image-4806&quot; src=&quot;http://carsonified.com/wp-content/uploads/2010/03/Picture-21-300x170.png&quot; alt=&quot;LogosLogos&quot; width=&quot;300&quot; height=&quot;170&quot;&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;(Klik hier om het &lt;a href=&quot;http://www.garagetv.be/video-galerij/buzzing_bees/De_kortfilm_der_logo_s.aspx&quot;&gt;video filmpje&lt;/a&gt; te bekijken)&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Why the &lt;strong&gt;&lt;a href=&quot;http://bit.ly/b4vjFB&quot; target=&quot;_blank&quot;&gt;internet will fail&lt;/a&gt; &lt;/strong&gt;*From 1995&lt;em&gt; (via ThreeWordChant)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;An entire &lt;strong&gt;&lt;a href=&quot;http://bit.ly/a1lQdR&quot; target=&quot;_blank&quot;&gt;video made out of logos,&lt;/a&gt; &lt;/strong&gt;breathtaking, brilliant, and bizarre! Also nominated for best Animated Short Oscar &lt;em&gt;(via kottke)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Best of &lt;strong&gt;&lt;a href=&quot;http://bit.ly/bYn8Xz&quot; target=&quot;_blank&quot;&gt;TED talks&lt;/a&gt; &lt;/strong&gt;&lt;em&gt;(via GOOD)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Fascinatingly fun (possibly dangerous and illegal) way to&lt;a href=&quot;http://links.zigzo.com/2007/05/09/how-to-make-pancakes-like-a-crack-head/&quot; target=&quot;_blank&quot;&gt; &lt;strong&gt;cook pancakes&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;&lt;em&gt;(via zigzolinks)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://news.cnet.com/8301-1023_3-10461112-93.html&quot; target=&quot;_blank&quot;&gt;Google rolls out a People Finder&lt;/a&gt; &lt;/strong&gt;to connect folks left disconnected by the earthquake in Chile (&lt;em&gt;via Google)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Flickr fumbles?  &lt;strong&gt;&lt;a href=&quot;http://nyti.ms/aWrWDz&quot; target=&quot;_blank&quot;&gt;Google Buys Picnik,&lt;/a&gt; &lt;/strong&gt;a Photo Editing Service &lt;em&gt;(via NYT Bits Blog)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;img src=&quot;http://carsonified.com/?ak_action=api_record_view&amp;id=4804&amp;type=feed&quot; alt=&quot;&quot;&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=qbnhpUH7UBI:ZA-ynVinFi8:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=qbnhpUH7UBI:ZA-ynVinFi8:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=qbnhpUH7UBI:ZA-ynVinFi8:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=qbnhpUH7UBI:ZA-ynVinFi8:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=qbnhpUH7UBI:ZA-ynVinFi8:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=qbnhpUH7UBI:ZA-ynVinFi8:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 01 Mar 2010 22:38:14 +0000</pubDate>
	<dc:creator>Chrissie Brodigan</dc:creator>
</item>
<item>
	<title>456 Berea St: Accessibility issues on Vancouver Olympics websites</title>
	<guid>http://www.456bereastreet.com/archive/201003/accessibility_issues_on_vancouver_olympics_websites/</guid>
	<link>http://feedproxy.google.com/~r/456bereastreet/~3/82aFZeonp0k/</link>
	<description>&lt;p class=&quot;preamble&quot;&gt;Being a pretty big fan of many winter sports I have spent most evenings of the past two weeks in front of the TV, watching the action from the Vancouver 2010 Winter Olympics.&lt;/p&gt;

&lt;p&gt;With excellent live TV coverage from the games I had no reason to visit either the &lt;a href=&quot;http://Vancouver2010.com/&quot;&gt;Vancouver2010.com&lt;/a&gt; or the &lt;a href=&quot;http://CTVOlympics.ca/&quot;&gt;CTVOlympics.ca&lt;/a&gt; website to find more info about the games. But one person who &lt;strong&gt;has&lt;/strong&gt; visited and taken a closer look at those sites is Joe Clark. What he found is that the &lt;a href=&quot;http://joeclark.org/access/webaccess/vancouver2010/&quot;&gt;Vancouver Olympics Web sites are inaccessible to disabled people&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.456bereastreet.com/archive/201003/accessibility_issues_on_vancouver_olympics_websites/&quot;&gt;Read full post&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Posted in &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/accessibility/&quot; rel=&quot;tag&quot;&gt;Accessibility&lt;/a&gt;, &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/web_standards/&quot; rel=&quot;tag&quot;&gt;Web Standards&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/PDUK-yYcaEOjU51gtjdMm2j7-hU/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/PDUK-yYcaEOjU51gtjdMm2j7-hU/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/PDUK-yYcaEOjU51gtjdMm2j7-hU/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/PDUK-yYcaEOjU51gtjdMm2j7-hU/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=82aFZeonp0k:xgCZ-y4KnXQ:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=82aFZeonp0k:xgCZ-y4KnXQ:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=82aFZeonp0k:xgCZ-y4KnXQ:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=82aFZeonp0k:xgCZ-y4KnXQ:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=82aFZeonp0k:xgCZ-y4KnXQ:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=82aFZeonp0k:xgCZ-y4KnXQ:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=82aFZeonp0k:xgCZ-y4KnXQ:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/456bereastreet/~4/82aFZeonp0k&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Mon, 01 Mar 2010 17:31:16 +0000</pubDate>
	<dc:creator>Roger Johansson</dc:creator>
</item>
<item>
	<title>Vitamin: Tips and Tricks for developing Mobile Widgets</title>
	<guid>http://carsonified.com/?p=4672</guid>
	<link>http://carsonified.com/blog/dev/tips-and-tricks-for-developing-mobile-widgets/</link>
	<description>&lt;div class=&quot;tweetmeme_button&quot;&gt;&lt;a href=&quot;http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Ftips-and-tricks-for-developing-mobile-widgets%2F&quot;&gt;&lt;img src=&quot;http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Ftips-and-tricks-for-developing-mobile-widgets%2F&quot; height=&quot;61&quot; width=&quot;51&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;It&amp;#8217;s not often Bath, the home of Carsonified, hosts full day tech events. However I was recently lucky enough to attend &lt;a href=&quot;http://openmicamp.ning.com/&quot;&gt;openMIC&lt;/a&gt; right here on my doorstep.&lt;/p&gt;
&lt;p&gt;&amp;#8220;Open Mobile Innovation Camp&amp;#8221; is organised by &lt;a href=&quot;http://twitter.com/bookmeister&quot;&gt;Chris Book&lt;/a&gt; and takes place around the UK. It describes itself as &amp;#8220;an un-conference for discussion, debate and development new mobile applications and mobile web services&amp;#8221;. You can find out more on their &lt;a href=&quot;http://openmicamp.ning.com/&quot;&gt;Ning&lt;/a&gt; site.&lt;/p&gt;
&lt;p&gt;As part of the morning sessions &lt;a href=&quot;http://www.brucelawson.co.uk&quot;&gt;Bruce Lawson&lt;/a&gt; from &lt;a href=&quot;http://opera.com&quot;&gt;Opera&lt;/a&gt; gave a great presentation entitled &amp;#8220;Tips and tricks for mobile widgets&amp;#8221;. Whilst part of the talk was directly related to mobile widgets much of it can be related to best practice web development.&lt;/p&gt;
&lt;h3&gt;What&amp;#8217;s a Widget?&lt;/h3&gt;
&lt;p&gt;Firstly let&amp;#8217;s be clear on what a Mobile Widget actually is. As Bruce explained we can think of Mobile Widgets as &amp;#8220;client side apps&amp;#8221;. They are created using standard web technologies such as HTML, JavaScript and CSS.&lt;/p&gt;
&lt;p&gt;To create a widget you ZIP up your project files and rename it with an extension of &lt;em&gt;.wgt&lt;/em&gt;. They differ slightly from traditional &amp;#8220;web apps&amp;#8221; in as much as they offer access to the local device file system and can auto-update.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s a summary of Bruce&amp;#8217;s key points, for some this may be new, for others I am sure it will serve as a good reminder.&lt;span id=&quot;more-4672&quot;&gt;&lt;/span&gt;&lt;br&gt;
&lt;strong&gt;&lt;br&gt;
Things to consider when creating the widget&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;The physical and virtual size of the screen&lt;/strong&gt; &amp;#8211; How will your interface work, where will the key elements be, how will users navigate around the screen&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Readability&lt;/strong&gt; &amp;#8211; Make it clear and readable and get your message across&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Input mechanism&lt;/strong&gt; &amp;#8211; Make it easy for users to interact with your widget&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Memory, CPU and Battery limitations&lt;/strong&gt; &amp;#8211; Look at ways to limit their usage&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Network speed&lt;/strong&gt; &amp;#8211; Don&amp;#8217;t rely on speedy networks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Work round flaky networks&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Queue XHR (XMLHttpRequest) requests&lt;/strong&gt; &amp;#8211; This will reduce the initial load on the network connection&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Cache data&lt;/strong&gt; &amp;#8211; Don&amp;#8217;t keep polling for the same data&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Ensure try again options &lt;/strong&gt;- What happens if you loose signal, plan for this&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Pick up where you left off &lt;/strong&gt;- Ensure that your widget resumes where it left off after a phone call&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Minimise HTTP requests&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Use CSS Sprites&lt;/strong&gt; &amp;#8211; Reduce the number of image requests by using one file for all your images (See &lt;a href=&quot;http://css-tricks.com/css-sprites/&quot;&gt;http://css-tricks.com/css-sprites/&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Consider using data URLs&lt;/strong&gt; &amp;#8211; These allow you to use a URL to represent an image as opposed to a file resulting in one less file request across the network as the image will effectively be present in your HTML. (See &lt;a href=&quot;http://software.hixie.ch/utilities/cgi/data/data&quot;&gt;http://software.hixie.ch/utilities/cgi/data/data&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Markup&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Place JavaScript source and file references at bottom of you page&lt;/strong&gt; &amp;#8211; This will mean that the bulk of the page will load before your JS files, users will be able to start reading the page straightaway&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Don&amp;#8217;t use TABLE layout&lt;/strong&gt; &amp;#8211; Extra overhead that isn&amp;#8217;t necessary&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Declare image sizes in HTML&lt;/strong&gt; &amp;#8211; Use height and width attributes on images. This will reduce pages being redrawn once an image is downloaded, resulting in a better user experience and less work for your mobile device&amp;#8217;s CPU.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Consider using SVG (Scalable Vector Graphics) for illustrations or &amp;lt;canvas&amp;gt; for dynamic images &lt;/strong&gt;- These send data as mathematical info which tells the browser how to draw it. It&amp;#8217;s also scalable and doesn&amp;#8217;t pixelate.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Understand accessibility&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There are many similarities between understanding accessibility on the web and mobile devices. Bruce recommends reading &amp;#8220;&lt;a href=&quot;http://www.w3.org/TR/mwbp-wcag/&quot;&gt;Relationship between Mobile Web Best Practices (MWBP) and Web Content Accessibility Guidelines (WCAG)&lt;/a&gt;&amp;#8221;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;No images&lt;/strong&gt; &amp;#8211; What happens to your widget with images off?&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;No fonts/colours &lt;/strong&gt;- What if the device doesn&amp;#8217;t support your preferred font or colour?&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Contrast&lt;/strong&gt; &amp;#8211; Ensure that it&amp;#8217;s readable for visually impaired users&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;CSS for mobile devices&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Use ems not px for fonts&lt;/strong&gt; &amp;#8211; This is better for scalability&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Use CSS sprites&lt;/strong&gt; &amp;#8211; See above&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Fluid layouts&lt;/strong&gt; &amp;#8211; This will enable your widget to work on different resolutions&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Use &lt;a href=&quot;http://www.w3.org/TR/css3-mediaqueries/&quot;&gt;media queries&lt;/a&gt; &lt;/strong&gt;- These will allow you to serve different CSS files dependent on the screen size of the device&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Use SVG for background images&lt;/strong&gt; &amp;#8211; Declaring &amp;#8220;width: 100%;  height: auto;&amp;#8221; will allow your image to scale regardless&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Sniff out the device info&lt;/strong&gt; &amp;#8211; Like media queries this will enable you to serve a different user experience dependent on the device&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Be prepared for HTML5&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Form validation is free&lt;/strong&gt; &amp;#8211; No further need for complicated validation JavaScript&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Client side persistent storage of key/value pairs and support for embedded SQL databases &lt;/strong&gt;- This will reduce the need to make requests over the network&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Server sent events&lt;/strong&gt; &amp;#8211; The &amp;lt;event-source&amp;gt; element reduce need for polling in web apps. It will allow the receiving of push notifications from a server in the form of DOM   events&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Opera widgets SDK&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Documentation&lt;/strong&gt; &amp;#8211; Extensive &lt;a href=&quot;http://dev.opera.com/articles/view/opera-widgets-sdk/&quot;&gt;documentation&lt;/a&gt; provided by Opera&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Test&lt;/strong&gt; &amp;#8211; Use the &lt;a href=&quot;http://dev.opera.com/articles/view/widget-emulator/&quot;&gt;emulator&lt;/a&gt; to test your widget&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Opera Libraries&lt;/strong&gt; &amp;#8211; Lightweight libraries for &lt;a href=&quot;http://dev.opera.com/libraries/animation/&quot;&gt;animation&lt;/a&gt; etc&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Explore the SDK &lt;/strong&gt;- &lt;a href=&quot;http://dev.opera.com/sdk&quot;&gt;http://dev.opera.com/sdk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Debug your widget&lt;/strong&gt; &amp;#8211; Opera provide a free debugging tool called &lt;a href=&quot;http://www.opera.com/dragonfly/&quot;&gt;Dragonfly&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Test your Widget&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Test your widget on real devices&lt;/strong&gt; &amp;#8211; &lt;a href=&quot;http://perfectomobile.com/portal/cms/opera.xhtml?key=OP631R89YL2&quot;&gt;http://perfectomobile.com/portal/cms/opera.xhtml?key=OP631R89YL2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Thoughts?&lt;/h3&gt;
&lt;p&gt;If you have developed a widget or have something to add please let us know in the comments.&lt;/p&gt;
&lt;h3&gt;View the Slides&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNjY*OTA1MDE1MTYmcHQ9MTI2NjQ5MDUwNTczOSZwPTEwMTkxJmQ9c3NfZW1iZWQmZz*yJm89NDMwMjUzMDlkOWM1/NDcxOGIwMjMzNDljMDA2OTg5NGYmb2Y9MA==.gif&quot; border=&quot;0&quot; alt=&quot;&quot; width=&quot;0&quot; height=&quot;0&quot;&gt;&lt;/p&gt;
&lt;div id=&quot;__ss_3156151&quot;&gt;&lt;a title=&quot;Practical Tips for Mobile Widget development&quot; href=&quot;http://www.slideshare.net/brucelawson/practical-tips-for-mobile-widget-development-3156151&quot;&gt;Practical Tips for Mobile Widget development&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/brucelawson&quot;&gt;brucelawson&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;img src=&quot;http://carsonified.com/?ak_action=api_record_view&amp;id=4672&amp;type=feed&quot; alt=&quot;&quot;&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=CgZ0eadsKqo:CpRIRLKVbOE:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=CgZ0eadsKqo:CpRIRLKVbOE:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=CgZ0eadsKqo:CpRIRLKVbOE:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=CgZ0eadsKqo:CpRIRLKVbOE:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=CgZ0eadsKqo:CpRIRLKVbOE:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=CgZ0eadsKqo:CpRIRLKVbOE:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 01 Mar 2010 14:56:43 +0000</pubDate>
	<dc:creator>Keir Whitaker</dc:creator>
</item>
<item>
	<title>Eric Meyer: Better PDF File Size Reduction in OS X</title>
	<guid>http://meyerweb.com/eric/thoughts/?p=1306</guid>
	<link>http://meyerweb.com/eric/thoughts/2010/02/25/better-pdf-file-size-reduction-in-os-x/</link>
	<description>&lt;p&gt;
One of the things you discover as a speaker and, especially, a conference organizer is this:  &lt;em&gt;&lt;a href=&quot;http://www.apple.com/iwork/keynote/&quot;&gt;Keynote&lt;/a&gt; generates really frickin&amp;#8217; enormous PDFs.&lt;/em&gt;  Seriously.  Much like Miles O&amp;#8217;Keefe, they&amp;#8217;re &lt;strong&gt;huge&lt;/strong&gt;.  We had one speaker last year whose lovingly crafted and beautifully designed 151-slide deck resulted in a 175MB PDF.
&lt;/p&gt;
&lt;p&gt;
Now, hard drives and bandwidth may be cheap, but when you have four hundred plus attendees all trying to download the same 175MB PDF at the same time, the venue&amp;#8217;s conference manager &lt;em&gt;will&lt;/em&gt; drop by to find out what the bleeding eyestalks your attendees are doing and why it&amp;#8217;s taking down the entire outbound pipe.  Not to mention the network will grind to a nearly complete halt.  Whatever you personally may think of net access at conferences, at this point, not providing net access is roughly akin to not providing functioning bathrooms.
&lt;/p&gt;
&lt;p&gt;
So what&amp;#8217;s the answer?  &lt;a href=&quot;http://www.panic.com/blog/2010/02/shrinkit-1-0/&quot;&gt;ShrinkIt&lt;/a&gt; is fine if the slides use lots of vectors and you&amp;#8217;re running Snow Leopard.  If the slides use lots of bitmapped images, or you&amp;#8217;re not on Snow Leopard, ShrinkIt can&amp;#8217;t help you.
&lt;/p&gt;
&lt;img src=&quot;http://meyerweb.com/pix/2010/quartzfilter-saveas.png&quot; alt=&quot;&quot; class=&quot;pic&quot;&gt;
&lt;p&gt;
If the slides are image-heavy, then you can always load the PDF into Preview and then do a &amp;#8220;Save As&amp;#8230;&amp;#8221; where you select the &amp;#8220;Reduce File Size&amp;#8221; Quartz filter.  That will indeed drastically shrink the file size&quot;that 175MB PDF goes down to 13MB&quot;but it can also make the slides look thoroughly awful.  That&amp;#8217;s because the filter achieves its file size reduction by scaling all the images down by at least 50% &lt;em&gt;and&lt;/em&gt; to no more than 512 pixels on a side, plus it uses aggressive JPEG compression.  So not only are the images infested with compression artifacts, they also tend to get that lovely up-scaling blur.  Bleah.
&lt;/p&gt;
&lt;p&gt;
I Googled around a bit and found &amp;#8220;&lt;a href=&quot;http://www.hoboes.com/Mimsy/hacks/quality-reduced-file-size/&quot;&gt;Quality reduced file size in Mac OS X Preview&lt;/a&gt; from early 2006.  There I discovered that anyone can create their own Quartz filters, which was the key I needed.  Thus armed with knowledge, I set about creating a filter that struck, in my estimation, a reasonable balance between image quality and file size reduction.  And I think I&amp;#8217;ve found it.  That 175MB PDF gets taken down to 34MB with what I created.
&lt;/p&gt;
&lt;p&gt;
If you&amp;#8217;d like to experience this size reduction for yourself (and how&amp;#8217;s &lt;em&gt;that&lt;/em&gt; for an inversion of common spam tropes?) it&amp;#8217;s pretty simple:
&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download and unzip &lt;a href=&quot;http://meyerweb.com/eric/tools/mac/quartzfilter-reduce-file-size-75.zip&quot;&gt;Reduce File Size (75%)&lt;/a&gt;.  Note that the &amp;#8220;75%&amp;#8221; relates to settings in the filter, not the amount of reduction you&amp;#8217;ll get by using it.&lt;/li&gt;
&lt;li&gt;Drop the unzipped &lt;tt&gt;.qfilter&lt;/tt&gt; file into &lt;tt&gt;~/Library/Filters&lt;/tt&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Done.  The next time you need to reduce the size of a PDF, load it up in Preview, choose &amp;#8220;Save As&amp;#8230;&amp;#8221;, and save it using the Quartz filter you just installed.
&lt;/p&gt;
&lt;p&gt;
If you&amp;#8217;re the hands-on type who&amp;#8217;d rather set things up yourself, or you&amp;#8217;re a paranoid type who doesn&amp;#8217;t trust downloading zipped files from sites you don&amp;#8217;t control (and I actually don&amp;#8217;t blame you if you are), then you can manually create your own filter like so:
&lt;/p&gt;

&lt;img src=&quot;http://meyerweb.com/pix/2010/quartzfilter-reducefilesize.png&quot; alt=&quot;&quot; class=&quot;pic&quot;&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;tt&gt;/Applications/Utilities&lt;/tt&gt; and launch ColorSync Utility.&lt;/li&gt;
&lt;li&gt;Select the &amp;#8220;Filters&amp;#8221; icon in the application&amp;#8217;s toolbar.&lt;/li&gt;
&lt;li&gt;Find the &amp;#8220;Reduce File Size&amp;#8221; filter and click on the little downward-arrow-in-gray-circle icon to the right.&lt;/li&gt;
&lt;li&gt;Choose &amp;#8220;Duplicate Filter&amp;#8221; in the menu.&lt;/li&gt;
&lt;li&gt;Use the twisty arrow to open the duplicated filter, then open each of &amp;#8220;Image Sampling&amp;#8221; and &amp;#8220;Image Compression&amp;#8221;.&lt;/li&gt;
&lt;li&gt;Under &amp;#8220;Image Sampling&amp;#8221;, set &amp;#8220;Scale&amp;#8221; to &lt;tt&gt;75%&lt;/tt&gt; and &amp;#8220;Max&amp;#8221; to &lt;tt&gt;1280&lt;/tt&gt;.&lt;/li&gt;
&lt;li&gt;Under &amp;#8220;Image Compression&amp;#8221;, move the arrow so it&amp;#8217;s halfway between the rightmost marks.  You&amp;#8217;ll have to eyeball it (unless you bust out &lt;a href=&quot;http://iconfactory.com/software/xscope&quot;&gt;xScope&lt;/a&gt; or a similar tool) but you should be able to get it fairly close to the halfway point.&lt;/li&gt;
&lt;li&gt;Rename the filter to whatever will help you remember its purpose.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
As you can see from the values, the &amp;#8220;75%&amp;#8221; part of the filter&amp;#8217;s name comes from the fact that two of the filter&amp;#8217;s values are 75%.  In the original Reduce File Size filter, both are at 50%.  The maximum size of images in my version is also quite a bit bigger than the original&amp;#8217;s&quot;1280 versus 512&quot;which means that the file size reductions won&amp;#8217;t be the same as the original.
&lt;/p&gt;
&lt;p&gt;
Of course, you now have the knowledge needed to fiddle with the filter to create your own optimal balance of quality and compression, whether you downloaded and installed the zip or set it up manually&quot;either way, ColorSync Utility has what you need.  If anyone comes up with an even better combination of values, I&amp;#8217;d love to hear about it in the comments.  In the meantime, share and enjoy!
&lt;/p&gt;</description>
	<pubDate>Thu, 25 Feb 2010 18:17:15 +0000</pubDate>
	<dc:creator>Eric Meyer</dc:creator>
</item>
<item>
	<title>Stopdesign: You cannot copyright a Tweet</title>
	<guid>http://stopdesign.com/archive/2010/02/25/you-cannot-copyright-a-tweet.html</guid>
	<link>http://stopdesign.com/archive/2010/02/25/you-cannot-copyright-a-tweet.html</link>
	<description>&lt;p&gt;Though this may not completely eliminate liability if a publisher or artist rewraps a whole series of your tweets in a different shell, Zeldman makes an interesting point on the limitations of copyright in regards to short phrases (i.e. tweets):&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;As messages sent via Twitter cannot be longer than 140 characters, they cannot be copyrighted. However original, witty, or profound they may be, nothing more than good manners protects your original expression of authorship. If you wish to let other people quote or use your Tweets, you need not &lt;a href=&quot;http://www.tweetcc.com/&quot;&gt;&quot;license&quot;&lt;/a&gt; them; indeed, technically, you cannot license them, since they are in the public domain the instant you publish them.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a class=&quot;linkurl&quot; href=&quot;http://www.zeldman.com/2010/02/25/you-cannot-copyright-a-tweet/&quot;&gt;link&lt;/a&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/stopdesign/~4/RzZQWP4CBJ0&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Thu, 25 Feb 2010 15:18:28 +0000</pubDate>
	<dc:creator>Douglas Bowman</dc:creator>
</item>
<item>
	<title>Microsoft - IEBlog: Documenting Standards in IE</title>
	<guid>91d46819-8472-40ad-a661-2c78acb4018c:9968827</guid>
	<link>http://blogs.msdn.com/ie/archive/2010/02/24/documenting-standards-in-ie.aspx</link>
	<description>&lt;p&gt;This post discusses some of the work we're doing on the IE team to fulfill our &lt;a href=&quot;http://www.microsoft.com/Presspass/press/2009/dec09/12-16Statement.mspx&quot;&gt;commitment&lt;/a&gt; to document our support of web standards. A good starting point is Microsoft's &lt;a href=&quot;http://www.microsoft.com/interop/principles/default.mspx&quot;&gt;interoperability principles&lt;/a&gt;, something we've written about &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/03/03/microsoft-s-interoperability-principles-and-ie8.aspx&quot;&gt;here&lt;/a&gt; on this blog before, and a principle that's easy to see in action in our products, like IE8.&lt;/p&gt;
&lt;p&gt;The essence of interoperability in this context is that the same web page markup works the same way across different browsers. There are many challenges in getting to this goal. Even with the best intentions, as an industry we are still learning and working through how to do this well. You can look at how different tests run even today in modern browsers (for example &lt;a href=&quot;http://videos.visitmix.com/MIX09/KEY02&quot;&gt;here&lt;/a&gt; at 19:57). You can look at how standards evolve, like how quickly CSS2 became CSS 2.1, or the process to finish CSS 2.1 and make it a final Recommendation, or what happened between &lt;a href=&quot;http://www.smashingmagazine.com/2009/07/29/misunderstanding-markup-xhtml-2-comic-strip/&quot;&gt;XHTML and HTML5&lt;/a&gt;. You can look at the challenge of delivering interoperable products while specifications are under construction (as in the &lt;a href=&quot;http://gigaom.com/2006/03/14/ready-or-not-here-comes-80211n-gear/&quot;&gt;case&lt;/a&gt; of &lt;a href=&quot;http://www.engadget.com/2006/05/07/ieee-task-group-n-rejects-first-802-11n-draft-proposal/&quot;&gt;802.11&lt;/a&gt; &lt;a href=&quot;http://www.gss.co.uk/news/article/3117/New_Wi-Fi_standard_delayed_again&quot;&gt;wireless&lt;/a&gt;). There are many challenges, and the web standards process, primarily at the W3C and similar organizations, is an important means to get the different communities involved to a consensus agreement.&lt;/p&gt;
&lt;p&gt;The work in developing a public &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/01/27/microsoft-submits-thousands-more-css-2-1-tests-to-the-w3c.aspx&quot;&gt;CSS 2.1 test suite and contributing&lt;/a&gt; it to the W3C, our recent work on &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/11/02/participating-at-w3c-s-tpac-2009.aspx&quot;&gt;different&lt;/a&gt; &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2010/02/01/w3c-svg-working-group-update-for-january-2010.aspx&quot;&gt;aspects&lt;/a&gt; of &lt;a href=&quot;http://news.cnet.com/8301-1001_3-10305822-92.html&quot;&gt;HTML5&lt;/a&gt;, and the improvements in IE9's &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers.aspx&quot;&gt;interoperability we showed at PDC&lt;/a&gt; are all examples of our principles in action. You &lt;a href=&quot;http://samples.msdn.microsoft.com/ietestcenter/&quot;&gt;can try out&lt;/a&gt; &lt;a href=&quot;http://samples.msdn.microsoft.com/ietestcenter/html5.htm&quot;&gt;some of the tests&lt;/a&gt; yourself, in different browsers and on different operating systems.&lt;/p&gt;
&lt;p&gt;As part of our commitment to interoperability, we're going to make more interoperability information available about IE and keep it up-to-date. Today we're publishing the first pieces of documentation &lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkId=184334&quot;&gt;here&lt;/a&gt;. These documents are drafts, and are not final. We will post more here on the IE blog about interoperability documentation (e.g. how we engineered creating this documentation, the process for keeping the documentation up to date). &lt;/p&gt;
&lt;p&gt;Thanks &quot;&lt;br&gt;Dean Hachamovitch&lt;/p&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=9968827&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
	<pubDate>Wed, 24 Feb 2010 21:42:00 +0000</pubDate>
	<dc:creator>ieblog</dc:creator>
</item>
<item>
	<title>Eric Meyer: MIXmasters</title>
	<guid>http://meyerweb.com/eric/thoughts/?p=1299</guid>
	<link>http://meyerweb.com/eric/thoughts/2010/02/24/mixmasters/</link>
	<description>&lt;p&gt;
The winners of Microsoft&amp;#8217;s &lt;a href=&quot;http://mix10k.visitmix.com/&quot;&gt;MIX 10K Smart Coding Challenge&lt;/a&gt; (for which I was &lt;a href=&quot;http://meyerweb.com/eric/thoughts/2010/01/22/mix-judging/&quot;&gt;honored to serve&lt;/a&gt; as &lt;a href=&quot;http://live.visitmix.com/News/MIX-10K-Judge-Panel-Announced/&quot;&gt;one of the judges&lt;/a&gt;) have been announced, and the Grand Prize has been awarded to&amp;#8230;
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.jimmyinteractive.com/&quot;&gt;Jimmy D&lt;/a&gt;&amp;#8217;s &lt;strong&gt;&lt;a href=&quot;http://mix10k.visitmix.com/Entry/Details/169&quot;&gt;Frog Log&lt;/a&gt;&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
Which is an HTML5/CSS/JS entry.
&lt;/p&gt;
&lt;p&gt;
That doesn&amp;#8217;t run in Internet Explorer.
&lt;/p&gt;
&lt;p&gt;
Yep.
&lt;/p&gt;
&lt;p&gt;
Frog Log was my top pick, and obviously did very well with the other judges too, for a good reason: it&amp;#8217;s a fun game.  It doesn&amp;#8217;t play quite the same in Firefox previous to v3.5, as the drag-n-drop doesn&amp;#8217;t work.  Instead, you click on a frog, then click where you want to place it.  I actually found that made the game a touch easier for me, but your interaction may vary.  In addition to working in Firefox, Safari, and Opera, it also runs on a number of mobile devices.
&lt;/p&gt;
&lt;p&gt;
Here&amp;#8217;s an excerpt from my judging remarks:
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;
Just a great little game, addictive and well thought out with some interesting gameplay.  I would LOVE to see this developed further by the author&amp;#8230;  My only ding was that drag-n-drop failed in Firefox 3.5; clicking worked fine, though.
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
I&amp;#8217;m not sure why I had trouble with drag-n-drop in Firefox 3.5, since I don&amp;#8217;t have have the same problem now.  Maybe I got confused with browser version numbers or something.  Regardless, it works fine, it&amp;#8217;s a great game, and remember: it&amp;#8217;s less than 10K unzipped.
&lt;/p&gt;
&lt;p&gt;
I also gave high marks to the HTML5 runner-up, Chris Evans&amp;#8217; &lt;a href=&quot;http://mix10k.visitmix.com/Entry/Details/188&quot;&gt;100pxls&lt;/a&gt;, which was the source of &lt;a href=&quot;http://twitter.com/meyerweb/status/8725985395&quot;&gt;my Dadaist tweet&lt;/a&gt; a couple of weeks back and lands right in my personal sweet spot for &amp;#8220;doing odd things with popular web services&amp;#8221;.  Here&amp;#8217;s some of what I had to say in my remarks:
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;
&amp;#8230;really liked the concept here, especially the nonsensical tweets that were generated by drawing your own icon.  The icons could be made easier to see in the main display, but I suppose that&amp;#8217;s a minor quibble.
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
I&amp;#8217;d like to thank the MIX 10K crew for getting me involved as a contest judge; I really enjoyed seeing what people created and had a hard time narrowing down my votes to just a handful of winners.  More importantly, though, I offer my heartiest congratulations to all the winners, and most especially to Jimmy and Chris for doing such fun, interesting, and downright cool stuff with 10K of web standards goodness!
&lt;/p&gt;</description>
	<pubDate>Wed, 24 Feb 2010 21:22:46 +0000</pubDate>
	<dc:creator>Eric Meyer</dc:creator>
</item>
<item>
	<title>Stopdesign: Accent Folding for Auto-Complete</title>
	<guid>http://stopdesign.com/archive/2010/02/23/accent-folding-for-auto-complete.html</guid>
	<link>http://stopdesign.com/archive/2010/02/23/accent-folding-for-auto-complete.html</link>
	<description>&lt;p&gt;Carlos Bueno highlights an oft overlooked aspect of internationalization. His address book auto-complete example at the beginning of the article crystalized the problem for me immediately. The solution he discusses for a fuzzy character match dubbed &lt;em&gt;accent folding&lt;/em&gt; seems logical, especially in certain contexts. Beyond those contexts, the problem of transliteration gets complicated quickly. &lt;a class=&quot;linkurl&quot; href=&quot;http://www.alistapart.com/articles/accent-folding-for-auto-complete/&quot;&gt;link&lt;/a&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/stopdesign/~4/5Pslm8LGT_w&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Tue, 23 Feb 2010 18:41:27 +0000</pubDate>
	<dc:creator>Douglas Bowman</dc:creator>
</item>
<item>
	<title>Microsoft - IEBlog: MIX - Microsoft, W3C and SVG</title>
	<guid>91d46819-8472-40ad-a661-2c78acb4018c:9964737</guid>
	<link>http://blogs.msdn.com/ie/archive/2010/02/22/mix-microsoft-w3c-and-svg.aspx</link>
	<description>&lt;p&gt;In addition to our engagement in the &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2010/02/01/w3c-svg-working-group-update-for-january-2010.aspx&quot;&gt;SVG Working Group&lt;/a&gt;, &lt;a href=&quot;http://www.w3.org/People/Schepers/&quot;&gt;Doug Schepers&lt;/a&gt;, W3C Team Contact for the SVG Working Group, and I are going to be presenting &lt;a href=&quot;http://live.visitmix.com/MIX10/Sessions/EX30&quot;&gt;SVG: The Past, Present and Future of Vector Graphics for the Web&lt;/a&gt;, at &lt;a href=&quot;http://live.visitmix.com/&quot;&gt;MIX 2010&lt;/a&gt; in Las Vegas this coming March to share help developers understand where SVG is headed.&amp;nbsp; At Microsoft we have been investigating how SVG can deliver graphics for the next generation of the Web Development. Its &lt;a href=&quot;http://dev.w3.org/html5/spec/Overview.html#svg-0&quot;&gt;inclusion in HTML5&lt;/a&gt; promises many opportunities for developers to enhance their sites. We will provide an overview of SVG and how the standard is evolving to support a broader range of applications on the Web.&lt;/p&gt;
&lt;p&gt;Patrick Dengler &lt;br&gt;Senior Program Manager&lt;/p&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=9964737&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
	<pubDate>Mon, 22 Feb 2010 21:31:00 +0000</pubDate>
	<dc:creator>ieblog</dc:creator>
</item>
<item>
	<title>456 Berea St: CSS efficiency tip: use a single stylesheet file for multiple media</title>
	<guid>http://www.456bereastreet.com/archive/201002/css_efficiency_tip_use_a_single_stylesheet_file_for_multiple_media/</guid>
	<link>http://feedproxy.google.com/~r/456bereastreet/~3/HfXeWJSeTEU/</link>
	<description>&lt;p class=&quot;preamble&quot;&gt;The way most people link CSS intended for different media types, such as screen, print, or handheld, is to use multiple files. The files are then linked either through &lt;code&gt;link&lt;/code&gt; elements with a &lt;code&gt;media&lt;/code&gt; attribute or through &lt;code&gt;@import&lt;/code&gt; statements with one or more media types specified.&lt;/p&gt;

&lt;p&gt;There is nothing wrong with splitting your CSS into multiple files and linking them this way (I currently do that here on this site), but there are two drawbacks: it leads to more HTTP requests from the browser to the server and the need to maintain multiple CSS files.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.456bereastreet.com/archive/201002/css_efficiency_tip_use_a_single_stylesheet_file_for_multiple_media/&quot;&gt;Read full post&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Posted in &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/css/&quot; rel=&quot;tag&quot;&gt;CSS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/yC5BR7FNgI5DaGrlln3badP0M_M/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/yC5BR7FNgI5DaGrlln3badP0M_M/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/yC5BR7FNgI5DaGrlln3badP0M_M/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/yC5BR7FNgI5DaGrlln3badP0M_M/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=HfXeWJSeTEU:g5gp0-Up6e4:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=HfXeWJSeTEU:g5gp0-Up6e4:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=HfXeWJSeTEU:g5gp0-Up6e4:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=HfXeWJSeTEU:g5gp0-Up6e4:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=HfXeWJSeTEU:g5gp0-Up6e4:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=HfXeWJSeTEU:g5gp0-Up6e4:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=HfXeWJSeTEU:g5gp0-Up6e4:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/456bereastreet/~4/HfXeWJSeTEU&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Mon, 22 Feb 2010 20:05:39 +0000</pubDate>
	<dc:creator>Roger Johansson</dc:creator>
</item>
<item>
	<title>QuirksMode: Political blog split off QuirksBlog trunk</title>
	<guid>http://www.quirksmode.org/blog/archives/2010/02/political_blog.html</guid>
	<link>http://www.quirksmode.org/blog/archives/2010/02/political_blog.html</link>
	<description>&lt;p&gt;I have decided to follow Dutch politics a bit more openly and to blog about it. Still, I
don&amp;#8217;t want to force this content on people that are just interested in web development.
According to my own calculations the number of non-Dutch readers that are interested in
Dutch politics is about twelve, so for those twelve, as well as the more sizable group of
Dutch followers interested in politics, I&amp;#8217;ve now created a &lt;a href=&quot;http://www.quirksmode.org/politics&quot;&gt;politics
homepage&lt;/a&gt; and &lt;a href=&quot;http://www.quirksmode.org/politics/blog&quot;&gt;blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Swept away by the literally two requests from non-Dutch readers, I&amp;#8217;ve also decided to
publish my political primer, which will ideally consist of eleven long background articles, of
which only the first eight are written. I will publish one article every Wednesday until I
run out of material.&lt;/p&gt;

&lt;p&gt;Here on the main QuirksBlog I may write some stuff about the JavaScript graph functions I
created for the primer
(&lt;a href=&quot;http://www.quirksmode.org/politics/parliaments.html&quot;&gt;parliament graphs&lt;/a&gt;,
&lt;a href=&quot;http://www.quirksmode.org/politics/table.html&quot;&gt;tables&lt;/a&gt;). Unfortunately, right now any JavaScript-focused article would mainly
consist of a long list of features I haven&amp;#8217;t implemented yet. Most of the graphs aren&amp;#8217;t
really keyboard-accessible, for instance, because I&amp;#8217;m not happy with the idea of adding
dozens of useless &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; elements just to make parts of the graphs keyboard-focusable.&lt;/p&gt;

&lt;p&gt;All in all I&amp;#8217;m hurrying to catch up with events. I hadn&amp;#8217;t planned to publish any
of this, but the government crisis has forced my hands. Please excuse the occasional wart or bug.&lt;/p&gt;</description>
	<pubDate>Mon, 22 Feb 2010 15:11:55 +0000</pubDate>
</item>
<item>
	<title>Stopdesign: 50 Useful Coding Techniques</title>
	<guid>http://stopdesign.com/archive/2010/02/21/50-useful-coding-techniques.html</guid>
	<link>http://stopdesign.com/archive/2010/02/21/50-useful-coding-techniques.html</link>
	<description>&lt;p&gt;Smashing Magazine rounds up a few tricks for &amp;#8220;CSS Layouts, Visual Effects and Forms&amp;#8221;. Not everything in here looks useful to me, but I did notice a few gems while quickly browsing through. Bookmarked for later investigation. &lt;a class=&quot;linkurl&quot; href=&quot;http://www.smashingmagazine.com/2010/02/18/50-css-and-javascript-techniques-for-layouts-forms-and-visual-effects/&quot;&gt;link&lt;/a&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/stopdesign/~4/nrXWU3IK_Vc&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Sun, 21 Feb 2010 15:13:41 +0000</pubDate>
	<dc:creator>Douglas Bowman</dc:creator>
</item>
<item>
	<title>QuirksMode: Dutch government falls over Afghanistan</title>
	<guid>http://www.quirksmode.org/blog/archives/2010/02/dutch_governmen.html</guid>
	<link>http://www.quirksmode.org/blog/archives/2010/02/dutch_governmen.html</link>
	<description>&lt;p&gt;As long-time visitors know I occasionally talk about Dutch politics here for the benefit
of my Dutch readers as well as those twelve foreign readers that are interested in these matters.
Since Dutch government fell late yesterday night, it&amp;#8217;s time for another such post.&lt;/p&gt;

&lt;p&gt;The Balkenende IV government (i.e. the fourth government that Balkenende (CDA) was prime
minister of) was formed three years ago and consists of centre-right
CDA (christian-democrats), centre-left PvdA (Labour), and orthodox-protestant left-leaning
CU (Union of Christians). Yesterday evening the PvdA ministers resigned over a conflict
about the continuing Dutch military presence in the Afghan province of Uruzgan.&lt;/p&gt;

&lt;p&gt;In a week and a half local elections will be held,
and the PvdA was slated to lose a lot of seats everywhere. PvdA party leader and finance
minister Bos clearly hopes to stem the electoral tide by his resignation, and he might well
be right.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: This will be the last political entry on the main QuirksBlog. I now have a separate &lt;a href=&quot;http://www.quirksmode.org/politics&quot;&gt;politics section&lt;/a&gt; with a blog as well as an article series about Dutch political history.&lt;/p&gt;</description>
	<pubDate>Sat, 20 Feb 2010 16:20:52 +0000</pubDate>
</item>
<item>
	<title>456 Berea St: Remember the Authoring Tool Accessibility Guidelines (ATAG)</title>
	<guid>http://www.456bereastreet.com/archive/201002/remember_the_authoring_tool_accessibility_guidelines_atag/</guid>
	<link>http://feedproxy.google.com/~r/456bereastreet/~3/sprzdVDy1hg/</link>
	<description>&lt;p class=&quot;preamble&quot;&gt;An increasing number of web developers are aware of the Web Content Accessibility Guidelines (WCAG) (though they don't necessarily use them in their work). But another set of accessibility guidelines seem to be almost completely overlooked &quot; the Authoring Tool Accessibility Guidelines (ATAG).&lt;/p&gt;

&lt;p&gt;Where WCAG addresses the information and functionality of a website, ATAG addresses software that is used to create websites or manage the content of websites. There are two versions of ATAG; &lt;a href=&quot;http://www.w3.org/TR/ATAG10/&quot;&gt;ATAG 1.0&lt;/a&gt;, which was made a recommendation on 3 February 2000 (yes, &lt;strong&gt;over ten years ago&lt;/strong&gt;), and &lt;a href=&quot;http://www.w3.org/TR/ATAG20/&quot;&gt;ATAG 2.0&lt;/a&gt;, which is currently in Working Draft status. Since a lot has happened on the Web in ten years, ATAG 2.0 is what I am basing the information in this article on.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.456bereastreet.com/archive/201002/remember_the_authoring_tool_accessibility_guidelines_atag/&quot;&gt;Read full post&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Posted in &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/accessibility/&quot; rel=&quot;tag&quot;&gt;Accessibility&lt;/a&gt;, &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/web_standards/&quot; rel=&quot;tag&quot;&gt;Web Standards&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/c_zKnKoc9GarA4SfT6mhbX58ZJ8/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/c_zKnKoc9GarA4SfT6mhbX58ZJ8/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/c_zKnKoc9GarA4SfT6mhbX58ZJ8/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/c_zKnKoc9GarA4SfT6mhbX58ZJ8/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=sprzdVDy1hg:p5DJ6sswrzo:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=sprzdVDy1hg:p5DJ6sswrzo:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=sprzdVDy1hg:p5DJ6sswrzo:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=sprzdVDy1hg:p5DJ6sswrzo:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=sprzdVDy1hg:p5DJ6sswrzo:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=sprzdVDy1hg:p5DJ6sswrzo:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=sprzdVDy1hg:p5DJ6sswrzo:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/456bereastreet/~4/sprzdVDy1hg&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Thu, 18 Feb 2010 19:52:46 +0000</pubDate>
	<dc:creator>Roger Johansson</dc:creator>
</item>
<item>
	<title>QuirksMode: Browser news from the Mobile World Congress</title>
	<guid>http://www.quirksmode.org/blog/archives/2010/02/browser_news_fr_1.html</guid>
	<link>http://www.quirksmode.org/blog/archives/2010/02/browser_news_fr_1.html</link>
	<description>&lt;p&gt;Yesterday evening I returned from my fourth foreign trip this year. This time I went to
the &lt;a href=&quot;http://www.mobileworldcongress.com/&quot; class=&quot;external&quot;&gt;Mobile World Congress&lt;/a&gt;,
the annual Barcelona-based get-together of the mobile industry, and I can tell you, it&amp;#8217;s
&lt;em&gt;something else&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;This post gives an overview of announcements by mobile players that might be of interest
to web developers. There&amp;#8217;s an incredible lot of it, too, because every single major mobile
player except Apple feels that MWC is the ultimate forum for major announcements.&lt;/p&gt;

&lt;p&gt;If you know of more news, or have links to additional information, please leave a comment.&lt;/p&gt;

&lt;p&gt;I was there because Vodafone had invited me to sit on a
&lt;a href=&quot;http://mobilewidgetdev.wordpress.com/2010/02/05/its-not-easy-developing-for-mobile-an-expert-panel-discussion-at-mwc/&quot; class=&quot;external&quot;&gt;panel&lt;/a&gt; in a technical &amp;#8220;embedded
conference&amp;#8221; about W3C Widgets and related technologies.
The concept can use some fine-tuning; I&amp;#8217;m hoping to do some of that in the future.
I was there mainly to stress that the mobile browser situation is not as simple as it looks. THERE
IS NO WEBKIT ON MOBILE! &lt;br&gt;
While I was at it I also invented guerilla browser testing.&lt;/p&gt;</description>
	<pubDate>Thu, 18 Feb 2010 17:24:59 +0000</pubDate>
</item>
<item>
	<title>Microsoft - IEBlog: Search Providers: Best Practices on Setting the Default</title>
	<guid>91d46819-8472-40ad-a661-2c78acb4018c:9964734</guid>
	<link>http://blogs.msdn.com/ie/archive/2010/02/17/search-providers-best-practices-on-setting-the-default.aspx</link>
	<description>&lt;p&gt;This post describes a set of best practices for setting the default search provider. Our goal continues to be keeping users in control of their browser, following our published &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/09/09/guidelines-for-add-on-developers.aspx&quot;&gt;Guidelines and Requirements&lt;/a&gt; for add-on development.&lt;/p&gt;
&lt;p&gt;If you write software that modifies Internet Explorer's search settings or defaults through direct registry manipulation, your software may be contributing to user confusion and frustration. &lt;/p&gt;
&lt;p&gt;Whenever a program tries to modify the default search provider through direct registry manipulation (e.g. modifying the&lt;b&gt; DefaultScope&lt;/b&gt; registry key directly as described in an &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/03/02/why-am-i-seeing-this-dialog.aspx&quot;&gt;earlier blog post&lt;/a&gt; ), IE8 intercepts the change and prompts users to confirm what they want:&lt;/p&gt;&lt;img title=&quot;IE search provider default dialog&quot; alt=&quot;IE search provider default dialog&quot; src=&quot;http://ieblog.members.winisp.net/images/Cash_search.png&quot;&gt; 
&lt;p&gt;&lt;b&gt;Figure 1:&lt;/b&gt; In this dialog, the software requests a search default change using the recommended &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc849088(VS.85).aspx&quot;&gt;SetDefault&lt;/a&gt; API and clear attribution is displayed. In this case, it is the &lt;strong&gt;Contoso Internet Toolbar&lt;/strong&gt; software.&lt;/p&gt;
&lt;p&gt;If multiple search providers try to reset the registry key every time it changes, it causes a confusing and frustrating user experience. The above dialog box will re-appear every time the key is modified directly. &lt;/p&gt;
&lt;p&gt;IE8 includes a &lt;b&gt;Search Provider Default&lt;/b&gt; configuration experience designed for this scenario. When your software uses the &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc849066(VS.85).aspx&quot;&gt;IOpenServiceManager&lt;/a&gt; API (to install a search provider) and the &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc849088(VS.85).aspx&quot;&gt;SetDefault&lt;/a&gt; API (to request users set it as their default), users will see clearer communication about what is happening. This transparency is an important part of the user being in control.&lt;/p&gt;
&lt;p&gt;The following code sample shows how to install a search provider and request that the user set it as the default using the recommended APIs.&lt;/p&gt;
&lt;div id=&quot;codeSnippetWrapper&quot;&gt;&lt;pre id=&quot;codeSnippet&quot;&gt;&lt;span&gt;#include&lt;/span&gt; &amp;lt;windows.h&amp;gt;&lt;br&gt;&lt;span&gt;#include&lt;/span&gt; &amp;lt;atlbase.h&amp;gt;&lt;br&gt;&lt;span&gt;#include&lt;/span&gt; &amp;lt;openservice.h&amp;gt;&lt;br&gt;&lt;br&gt;    HRESULT hr = E_FAIL;&lt;br&gt;    BOOL fComInitialized = &lt;span&gt;FALSE&lt;/span&gt;;&lt;br&gt;&lt;br&gt;    &lt;span&gt;if&lt;/span&gt; (S_OK == CoInitialize(NULL))&lt;br&gt;    {&lt;br&gt;        fComInitialized = &lt;span&gt;TRUE&lt;/span&gt;;&lt;br&gt;&lt;br&gt;        &lt;span&gt;//Open a handle to the OpenService manager&lt;/span&gt;&lt;br&gt;        CComPtr&amp;lt;IOpenServiceManager&amp;gt; spManager;&lt;br&gt;        hr = spManager.CoCreateInstance(CLSID_OpenServiceManager);&lt;br&gt;&lt;br&gt;        &lt;span&gt;if&lt;/span&gt; (SUCCEEDED(hr))&lt;br&gt;        {&lt;br&gt;            CComPtr&amp;lt;IOpenService&amp;gt; spService;&lt;br&gt;&lt;br&gt;            &lt;span&gt;//Install my search provider&lt;/span&gt;&lt;br&gt;            &lt;span&gt;//URL-OF-SERVICE: See http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_description_elements &lt;/span&gt;&lt;br&gt;            hr = spManager-&amp;gt;InstallService(URL-OF-SERVICE, &amp;amp;spService);&lt;br&gt;&lt;br&gt;            &lt;span&gt;if&lt;/span&gt; (hr==S_OK)&lt;br&gt;            {&lt;br&gt;                &lt;span&gt;//Request that the user changes their search default&lt;/span&gt;&lt;br&gt;                hr = spService-&amp;gt;SetDefault(&lt;span&gt;TRUE&lt;/span&gt;, NULL);&lt;br&gt;            }&lt;br&gt;        }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    &lt;span&gt;if&lt;/span&gt; (fComInitialized)&lt;br&gt;    {&lt;br&gt;        CoUninitialize();&lt;br&gt;    }&lt;br&gt;&lt;/pre&gt;&lt;br&gt;&lt;/div&gt;
&lt;p&gt;When called, the &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc849088(VS.85).aspx&quot;&gt;&lt;b&gt;SetDefault&lt;/b&gt;&lt;/a&gt; API will show the above dialog (See &lt;b&gt;Figure 1&lt;/b&gt; above) requesting the user to change their search default. The user can approve or deny this request from the software. If approved, the software can change the default setting. If denied, however, the software will not be allowed to change the user's default settings. The user can change the setting at any time by opening the &lt;b&gt;Manage Add-ons &lt;/b&gt;window. &lt;/p&gt;
&lt;p&gt;If the binary that is calling the &lt;b&gt;SetDefault&lt;/b&gt; API is signed with a valid code signing certificate, the program name and publisher will be displayed in the &lt;b&gt;Search Provider Default&lt;/b&gt; dialog box as in &lt;b&gt;Figure 1&lt;/b&gt; above. Code that calls &lt;b&gt;SetDefault&lt;/b&gt; should be signed.&lt;/p&gt;
&lt;p&gt;In summary, if your software monitors the &lt;b&gt;DefaultScope&lt;/b&gt; registry key directly, please update your code to use the recommended APIs. This will allow the user to see the search provider default dialog only once and lets them be in full control of their default, in support of the Guidelines for add-on development.&lt;/p&gt;
&lt;p&gt;If you are new to OpenSearch Extensibility and would like to learn how to offer your services or how to get started, check out the article &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc891507(VS.85).aspx&quot;&gt;Search Provider Extensibility in Internet Explorer&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Until next time, &lt;/p&gt;
&lt;p&gt;Duc (Cash) Vo &lt;br&gt;Programmer Writer &lt;br&gt;Internet Explorer&lt;/p&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=9964734&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
	<pubDate>Wed, 17 Feb 2010 18:58:00 +0000</pubDate>
	<dc:creator>ieblog</dc:creator>
</item>
<item>
	<title>456 Berea St: How to respond to email messages that contain multiple questions</title>
	<guid>http://www.456bereastreet.com/archive/201002/how_to_respond_to_email_messages_that_contain_multiple_questions/</guid>
	<link>http://feedproxy.google.com/~r/456bereastreet/~3/fobVNpuhp3g/</link>
	<description>&lt;p class=&quot;preamble&quot;&gt;Email messages often contain a number of questions that the sender wants the recipient to answer. I find that many responses to such messages are much more difficult to understand than they should be. Not because of grammar or spelling errors, but because of how the responses are structured and formatted.&lt;/p&gt;

&lt;p&gt;I'd like to share two tips that, in my opinion, will make responses to multiple question messages much easier and quicker to read.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.456bereastreet.com/archive/201002/how_to_respond_to_email_messages_that_contain_multiple_questions/&quot;&gt;Read full post&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Posted in &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/productivity/&quot; rel=&quot;tag&quot;&gt;Productivity&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/C-Of58ttHH2BH2NoiCeDVVkQSzQ/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/C-Of58ttHH2BH2NoiCeDVVkQSzQ/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/C-Of58ttHH2BH2NoiCeDVVkQSzQ/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/C-Of58ttHH2BH2NoiCeDVVkQSzQ/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=fobVNpuhp3g:RBVoPr0Iukc:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=fobVNpuhp3g:RBVoPr0Iukc:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=fobVNpuhp3g:RBVoPr0Iukc:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=fobVNpuhp3g:RBVoPr0Iukc:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=fobVNpuhp3g:RBVoPr0Iukc:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=fobVNpuhp3g:RBVoPr0Iukc:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=fobVNpuhp3g:RBVoPr0Iukc:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/456bereastreet/~4/fobVNpuhp3g&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Mon, 15 Feb 2010 19:48:29 +0000</pubDate>
	<dc:creator>Roger Johansson</dc:creator>
</item>
<item>
	<title>Eric Meyer: Inspector Scrutiny</title>
	<guid>http://meyerweb.com/eric/thoughts/?p=1283</guid>
	<link>http://meyerweb.com/eric/thoughts/2010/02/15/inspector-scrutiny/</link>
	<description>&lt;p&gt;
It&amp;#8217;s been &lt;a href=&quot;http://meyerweb.com/eric/thoughts/2009/11/03/pseudo-phantoms/&quot;&gt;said before&lt;/a&gt; that web inspectors&quot;Firebug, Dragonfly, the inspectors in Safari and Chrome, and so forth&quot;are not always entirely accurate.  A less charitable characterization is that they lie to us, but that&amp;#8217;s not exactly right.  The real truth is that web inspectors repeat to us the lies they are told, which are the same lies we can be told to our faces if we ask directly.
&lt;/p&gt;
&lt;p&gt;
Here&amp;#8217;s how I know this to be so:
&lt;/p&gt;
&lt;pre&gt;
body {font-size: medium;}
&lt;/pre&gt;
&lt;p&gt;
Just that.  Apply it to a &lt;a href=&quot;http://meyerweb.com/eric/css/tests/medium-font.html&quot;&gt;test page&lt;/a&gt;.  Inspect the &lt;code&gt;body&lt;/code&gt; element in any web inspector you care to fire up.  Have it tell you the computed styles for the &lt;code&gt;body&lt;/code&gt; element.  Assuming you haven&amp;#8217;t changed your browser&amp;#8217;s font sizing preferences, the reported value will be &lt;code&gt;16px&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
You might say that that makes sense, since an unaltered browser equates &lt;code&gt;medium&lt;/code&gt; with &amp;#8220;16&amp;#8243;.  But as we saw in &amp;#8220;&lt;a href=&quot;http://meyerweb.com/eric/thoughts/2010/02/12/fixed-monospace-sizing/&quot;&gt;Fixed Monospace Sizing&lt;/a&gt;&amp;#8220;, the &lt;code&gt;16px&lt;/code&gt; value is &lt;em&gt;not&lt;/em&gt; what is inherited by child elements.  What is inherited is &lt;code&gt;medium&lt;/code&gt;, but web inspectors &lt;em&gt;will never show you that&lt;/em&gt; as a computed style.  You can see it in the list of declared styles, which so far as I can tell lists &amp;#8220;specific values&amp;#8221; (as per &lt;a href=&quot;http://www.w3.org/TR/CSS2/cascade.html#value-stages&quot;&gt;section 6.1 of CSS2.1&lt;/a&gt;).  When you look to see what&amp;#8217;s actually applied to the element in the &amp;#8220;Computed Styles&amp;#8221; view, you are being misled.
&lt;/p&gt;
&lt;p&gt;
We can&amp;#8217;t totally blame the inspectors, because what they list as computed styles is what they are given by the browser.  The inspectors take what the browser returns and prettify it for us, and give us ways to easily alter those values on the fly, but in the end they&amp;#8217;re just DOM inspectors.  They don&amp;#8217;t have a special line into the browser&amp;#8217;s internal data.  Everything they report comes straight from the same DOM that any of us can query.  If you invoke:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;var obj = document.getElementsByTagName('body')[0];
alert(getComputedStyle(obj,null).getPropertyValue('font-size'));&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;
&amp;#8230;on &lt;a href=&quot;http://meyerweb.com/eric/css/tests/medium-font.html&quot;&gt;a document being given the rule I mentioned above&lt;/a&gt;, you will get back &lt;code&gt;16px&lt;/code&gt;, not &lt;code&gt;medium&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
This fact of inspector life was also demonstrated in &amp;#8220;&lt;a href=&quot;http://meyerweb.com/eric/thoughts/2010/02/10/rounding-off/&quot;&gt;Rounding Off&lt;/a&gt;&amp;#8220;.  As we saw there, browsers whose inspectors report integer pixel values also return them when queried directly from the DOM.  This despite the fact that &lt;a href=&quot;http://meyerweb.com/eric/css/tests/font-size-rounding.html&quot;&gt;it can be conclusively shown&lt;/a&gt; that those same browsers are internally storing non-integer values.
&lt;/p&gt;
&lt;p&gt;
Yes, it might be possible for an inspector to do its own analysis of properties like &lt;code&gt;font-size&lt;/code&gt; by checking the element&amp;#8217;s specified values (which it knows) and then crawling up the document tree to do the same to all of the element&amp;#8217;s ancestors to try to figure out a more accurate computed style.  But what bothers me is that the browser reported computed values that simply aren&amp;#8217;t accurate in the first place.  it seems to me that they&amp;#8217;re really &amp;#8220;actual values&amp;#8221;, not &amp;#8220;computed values&amp;#8221;, again in the sense of &lt;a href=&quot;http://www.w3.org/TR/CSS2/cascade.html#value-stages&quot;&gt;CSS2.1:6.1&lt;/a&gt;.  This makes &lt;code&gt;getComputedStyle()&lt;/code&gt; fairly misleading as a method name; it should really be &lt;code&gt;getActualStyle()&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
No, I don&amp;#8217;t expect the DOM or browsers to change this, which is why it&amp;#8217;s all the more important for us to keep these facts in mind.  Web inspectors are very powerful, useful, and convenient DOM viewers and editors, essentially souped-up interfaces to what we could collect ourselves with JavaScript.  They are thus limited by what they can get the browser to report to them.  There are steps they might take to compensate for known limitations, but that requires them to second-guess both what the browser does now and what it might do in the future.
&lt;/p&gt;
&lt;p&gt;
The point, if I may be so bold, is this:  never place all your trust in what a web inspector tells you.  There may be things it cannot tell you because it does not know them, and thus what it does tell you may on occasion mislead or confuse you.  Be wary of what you are told&quot;because even though all of it is correct, not quite all of it is true, and those are always the lies that are easiest to believe.
&lt;/p&gt;</description>
	<pubDate>Mon, 15 Feb 2010 14:54:23 +0000</pubDate>
	<dc:creator>Eric Meyer</dc:creator>
</item>
<item>
	<title>Eric Meyer: Fixed Monospace Sizing</title>
	<guid>http://meyerweb.com/eric/thoughts/?p=1265</guid>
	<link>http://meyerweb.com/eric/thoughts/2010/02/12/fixed-monospace-sizing/</link>
	<description>&lt;p&gt;
Monospace text sizing is, from time to time, completely unintuitive and can be quite maddening if you don&amp;#8217;t look at it in exactly the right way.  Fortunately, there is a pretty simple workaround, and it&amp;#8217;s one you might want to consider using even if you weren&amp;#8217;t aware that a problem existed.
&lt;/p&gt;
&lt;p&gt;
But first, allow me to lay some foundations.  Assuming no other author styles beyond the ones shown, consider the following:
&lt;/p&gt;
&lt;pre&gt;
span {font-family: monospace;}

&amp;lt;p&amp;gt;This is a 'p' with a &amp;lt;span&amp;gt;'span'&amp;lt;/span&amp;gt; inside.&amp;lt;/p&amp;gt;
&lt;/pre&gt;

All right, what should be the computed &lt;code&gt;font-size&lt;/code&gt; of the &lt;code&gt;span&lt;/code&gt; element?  Remember, there are no other author styles being applied.

&lt;p&gt;
The savvier among you will have said: &amp;#8220;It depends, but most likely &lt;code&gt;13px&lt;/code&gt;.&amp;#8221;  That&amp;#8217;s because here, the size of the monospace text is controlled by the browser&amp;#8217;s preferences.  The vast majority of users, of course, have never touched their default settings of &amp;#8220;16&amp;#8243; for proportional fonts and &amp;#8220;13&amp;#8243; for monospace/fixed fonts.  For them, then, the answer is &lt;code&gt;13px&lt;/code&gt;.  Similarly, if I&amp;#8217;d asked about the &lt;code&gt;p&lt;/code&gt; element&amp;#8217;s computed &lt;code&gt;font-size&lt;/code&gt;, the answer would be: &amp;#8220;It depends, but most likely &lt;code&gt;16px&lt;/code&gt;.&amp;#8221;
&lt;/p&gt;
&lt;p&gt;
So let&amp;#8217;s add a bit more and see where we land.
&lt;/p&gt;
&lt;pre&gt;
span {font-family: monospace; font-size: 1em;}

&amp;lt;p&amp;gt;This is a 'p' with a &amp;lt;span&amp;gt;'span'&amp;lt;/span&amp;gt; inside.&amp;lt;/p&amp;gt;
&lt;/pre&gt;
&lt;p&gt;
As before: bearing in mind that there are no other author styles, what should be the computed &lt;code&gt;font-size&lt;/code&gt; of the &lt;code&gt;span&lt;/code&gt; element?
&lt;/p&gt;
&lt;p&gt;
In this case, building on the previous question and answer, you might say, &amp;#8220;It depends, but most likely &lt;code&gt;16px&lt;/code&gt;.&amp;#8221;  The reasoning here is pretty straightforward:  since the computed &lt;code&gt;font-size&lt;/code&gt; of the &lt;code&gt;p&lt;/code&gt; element is &lt;code&gt;16px&lt;/code&gt;, the &lt;code&gt;font-size: 1em;&lt;/code&gt; assigned to the &lt;code&gt;span&lt;/code&gt; will result in it having the same size.
&lt;/p&gt;
&lt;p&gt;
And that&amp;#8217;s true&amp;#8230; in two of five browsers I &lt;a href=&quot;http://meyerweb.com/eric/css/tests/monospaced3.html&quot;&gt;tested&lt;/a&gt;: Opera 10 and Internet Explorer 8.  In the other three I tested&amp;mdash;Firefox 3.6, Safari 4, and Chrome 4&amp;mdash;the computed (and rendered) &lt;code&gt;font-size&lt;/code&gt; of the &lt;code&gt;span&lt;/code&gt; is &lt;code&gt;13px&lt;/code&gt;, the same as in our first example.  This result holds true if the rule is changed to use &lt;code&gt;font: 1em monospace;&lt;/code&gt; instead of the two separate properties.  The behavior continues to persist even when adding specific font families, like Courier New, Courier, Andale Mono, and so on to the rule.  It also persists if &lt;code&gt;1em&lt;/code&gt; is converted to &lt;code&gt;100%&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
So in other words, even though I have written CSS that explicitly says &amp;#8220;Make the &lt;code&gt;font-size&lt;/code&gt; of this element the same as its parent&amp;#8221;, three of five browsers apparently ignore me.
&lt;/p&gt;
&lt;p&gt;
I say &amp;#8220;apparently&amp;#8221; because what&amp;#8217;s happening is that those browsers are allowing the &lt;code&gt;span&lt;/code&gt; to inherit the default &lt;code&gt;font-size&lt;/code&gt; from its parent (and thus, indirectly, all its ancestors), but the default &lt;code&gt;font-size&lt;/code&gt; is &lt;code&gt;medium&lt;/code&gt;.  If you go &lt;a href=&quot;http://www.w3.org/TR/CSS2/fonts.html#font-size-props&quot;&gt;look up &lt;code&gt;medium&lt;/code&gt;&lt;/a&gt;, you find out that it doesn&amp;#8217;t have a defined numeric size. So what those browsers do is equate &lt;code&gt;medium&lt;/code&gt; with the preference settings, which means it&amp;#8217;s different for monospace fonts than for everything else.
&lt;/p&gt;
&lt;p&gt;
In other words, those three browsers are doing something like this:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;This &lt;code&gt;span&lt;/code&gt; needs to have the same &lt;code&gt;font-size&lt;/code&gt; as its parent element.&lt;/li&gt;
&lt;li&gt;The parent&amp;#8217;s &lt;code&gt;font-size&lt;/code&gt; is &lt;code&gt;medium&lt;/code&gt;, even though when my web inspector (or an author&amp;#8217;s DOM script) asks, I report the &lt;code&gt;16px&lt;/code&gt; I used to output the text.  So the &lt;code&gt;span&lt;/code&gt;&amp;#8217;s &lt;code&gt;font-size&lt;/code&gt; is actually &lt;code&gt;medium&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;This &lt;code&gt;medium&lt;/code&gt;-sized &lt;code&gt;span&lt;/code&gt; is using a monospace font.  The preference setting for monospace is &amp;#8220;13&amp;#8243;, and I equate &lt;code&gt;medium&lt;/code&gt; with the preference setting, so I&amp;#8217;ll output the &lt;code&gt;span&lt;/code&gt; using 13-pixel text.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Opera 10, as I said, doesn&amp;#8217;t do this, &lt;em&gt;even if your monospace font preference setting is the default value of &amp;#8220;13&amp;#8243;&lt;/em&gt; or indeed different from the preference for non-monospace fonts.  And IE8 doesn&amp;#8217;t appear to do it either, although you can&amp;#8217;t set numeric font size preferences in IE8 so what it&amp;#8217;s actually doing is open to interpretation.  Oh, IE8, you inscrutable little scamp, you.
&lt;/p&gt;
&lt;p&gt;
All that might seem reasonable enough, but it turns out that&amp;#8217;s not the whole story.  No, the three resizing browsers are being a good deal more &amp;#8220;clever&amp;#8221;, if that&amp;#8217;s actually the word I want, than that.  In fact, what those browsers do makes it seem like they use the two preference settings to create a ratio, and that ratio is used to scale monospace text.  That&amp;#8217;s not actually what&amp;#8217;s happening, but it looks that way at first.  To see what I mean, let&amp;#8217;s consider:
&lt;/p&gt;
&lt;pre&gt;
span {font-family: monospace; font-size: 2em;}

&amp;lt;p&amp;gt;This is a 'p' with a &amp;lt;span&amp;gt;'span'&amp;lt;/span&amp;gt; inside.&amp;lt;/p&amp;gt;
&lt;/pre&gt;
&lt;p&gt;
Again: in the absence of other author styles, what should be the computed &lt;code&gt;font-size&lt;/code&gt; of the &lt;code&gt;span&lt;/code&gt; element?
&lt;/p&gt;
&lt;p&gt;
The answer: &amp;#8220;It depends, but most likely &lt;code&gt;26px&lt;/code&gt; as long as we aren&amp;#8217;t talking about Opera 10 or IE8.  If it is one of those two, then most likely &lt;code&gt;32px&lt;/code&gt;.&amp;#8221;  Why?  Because the resizing browsers see the &lt;code&gt;font-size: 2em;&lt;/code&gt; declaration as &amp;#8220;twice &lt;code&gt;medium&lt;/code&gt;&amp;#8221; and twice 13 is 26.  Opera 10 and IE8, as previously established, don&amp;#8217;t do the resizing.  Or else they simply interpret &lt;code&gt;medium&lt;/code&gt; as being equal to the proportional font size preference setting.  Whatever.
&lt;/p&gt;
&lt;p&gt;
Okay.  So what all this means is that in many browsers, you can declare that an element&amp;#8217;s font size should be twice the size of its parent&amp;#8217;s and have it actually be 1.625 times the size&quot;or, if you want to look at it another way, 0.8125 times the size you expected it to be.  The 0.8125 comes from 26/32, which of course reduces to 13/16.  If you were to adjust your browser&amp;#8217;s preferences so the monospace setting is &amp;#8220;15&amp;#8243;, then monospace fonts would be 0.9375 (15/16) times the expected size.
&lt;/p&gt;
&lt;p&gt;
But&quot;and here&amp;#8217;s where things get &lt;em&gt;really&lt;/em&gt; fun&quot;this is not always so.  See, you may not have run into this problem if you&amp;#8217;ve been declaring specific font families with no generic fallback.  Consider this variation (note that I dropped back to &lt;code&gt;1em&lt;/code&gt; for the &lt;code&gt;font-size&lt;/code&gt;):
&lt;/p&gt;
&lt;pre&gt;
span {font-family: &quot;Courier New&quot;; font-size: 1em;}

&amp;lt;p&amp;gt;This is a 'p' with a &amp;lt;span&amp;gt;'span'&amp;lt;/span&amp;gt; inside.&amp;lt;/p&amp;gt;
&lt;/pre&gt;
&lt;p&gt;
This time, in every one of the five browsers I mentioned before, assuming the browser defaults, the computed (and rendered) &lt;code&gt;font-size&lt;/code&gt; of the &lt;code&gt;span&lt;/code&gt; will be &lt;code&gt;16px&lt;/code&gt;.  Not &lt;code&gt;13px&lt;/code&gt;.  And the only difference is that we switched from a generic font family to a specific one.
&lt;/p&gt;
&lt;p&gt;
&amp;#8220;Hey presto!&amp;#8221; you shout.  &amp;#8220;We&amp;#8217;ll just tack the generic family on the end there and be right as rain!&amp;#8221;  Sadly, no.  For if you do this:
&lt;/p&gt;
&lt;pre&gt;
span {font-family: &quot;Courier New&quot;, monospace; font-size: 1em;}

&amp;lt;p&amp;gt;This is a 'p' with a &amp;lt;span&amp;gt;'span'&amp;lt;/span&amp;gt; inside.&amp;lt;/p&amp;gt;
&lt;/pre&gt;
&lt;p&gt;
&amp;#8230;then the answer to the question I keep asking will be:  &amp;#8220;It depends, but given browser defaults it will be &lt;code&gt;16px&lt;/code&gt;, unless we&amp;#8217;re talking about Safari.  In that case, it&amp;#8217;s &lt;code&gt;13px&lt;/code&gt;.&amp;#8221;
&lt;/p&gt;
&lt;p&gt;
Really.  Alone among the browsers I tested, Safari goes back to doing the resizing when you provide a generic fallback to your specific family.  Or even multiple families.  Do your best to make sure the user at least gets a fixed-width font, and you get a size smaller than you&amp;#8217;d intended.  (You can get the back story on this in &lt;a href=&quot;http://webkit.org/blog/67/strange-medium/&quot;&gt;a late-2006 post on the Surfin&amp;#8217; Safari blog&lt;/a&gt;.)
&lt;/p&gt;
&lt;p&gt;
So what do we do?  Get creative.  That&amp;#8217;s what the &lt;a href=&quot;http://www.w3.org/WAI/PF/aria/&quot;&gt;&lt;acronym title=&quot;Accessible Rich Internet Applications&quot;&gt;ARIA&lt;/acronym&gt;&lt;/a&gt; folks did in &lt;a href=&quot;http://www.w3.org/WAI/PF/aria/spec.css&quot;&gt;their specification&amp;#8217;s style sheet&lt;/a&gt;, where they declare two font stacks: the first with a generic fallback, and the second without it.  That works, but it&amp;#8217;s ugly.  I didn&amp;#8217;t like that at all.  And then, halfway through writing up this post, a fix came to me like a shot in the dark.  Check this out:
&lt;/p&gt;
&lt;pre&gt;
span {font-family: &quot;Courier New&quot;, monospace, serif; font-size: 1em;}

&amp;lt;p&amp;gt;This is a 'p' with a &amp;lt;span&amp;gt;'span'&amp;lt;/span&amp;gt; inside.&amp;lt;/p&amp;gt;
&lt;/pre&gt;
&lt;p&gt;
This time around, the answer is:  &amp;#8220;It depends, but given browser defaults, &lt;code&gt;16px&lt;/code&gt;.&amp;#8221;
&lt;/p&gt;
&lt;p&gt;
Really!  Even in Safari!  And in all tested browsers, it falls back to a generic monospace font at the requested size even if the specific family (or families) we declare aren&amp;#8217;t available!  This can be verified by altering the specific font family to something that doesn&amp;#8217;t actually exist:
&lt;/p&gt;
&lt;pre&gt;
span {font-family: &quot;Corier Neu&quot;, monospace, serif; font-size: 1em;}

&amp;lt;p&amp;gt;This is a 'p' with a &amp;lt;span&amp;gt;'span'&amp;lt;/span&amp;gt; inside.&amp;lt;/p&amp;gt;
&lt;/pre&gt;
&lt;p&gt;
Monospacey goodness at the intended, parent-matching size.  It&amp;#8217;s enough to make a body believe in monotheism.
&lt;/p&gt;
&lt;p&gt;
Since I generally assume that anything I devise was already invented by someone else, I went Googling for prior art.  And wouldn&amp;#8217;t you know it, the Wikipedia folks &lt;a href=&quot;http://en.wikipedia.org/wiki/User:Davidgothberg/Test59&quot;&gt;had worked it out around the end of last year&lt;/a&gt;.  This, of course, supports my contention that &lt;a href=&quot;http://www.youtube.com/watch?v=4sAIZlRMeEg&quot;&gt;Wikipedia is the new Steve Allen&lt;/a&gt;.  I also found some claims that ending the font stack with &lt;code&gt;monospace, monospace&lt;/code&gt; would have the same effect, but that wasn&amp;#8217;t borne out in &lt;a href=&quot;http://meyerweb.com/eric/css/tests/monospaced3.html&quot;&gt;my testing&lt;/a&gt;.  Perhaps it worked in older versions of browsers but no longer does.
&lt;/p&gt;
&lt;p&gt;
I did leave out another way to make monospaced fonts behave as expected, which you may have already figured out from the preceding: declare the &lt;code&gt;font-size&lt;/code&gt; for any parent of a monospaced element to be a length value, along the lines of &lt;code&gt;body {font-size: 12px;}&lt;/code&gt;.  That will pass the length value down the document tree to the monospaced element via inheritance, which will use it without resizing it in every browser I tested.  Though you may have heard that page zooming makes pixel-sized text okay, I&amp;#8217;m not really convinced.  Not yet.  There are too many people who don&amp;#8217;t know how to zoom, and too many whose browsers aren&amp;#8217;t advanced enough to zoom pages.  Even in page-zooming browsers, there are problems with pixel text.  So I&amp;#8217;m still on the ems-and-percentages bandwagon.
&lt;/p&gt;
&lt;p&gt;
In fact, there are a fair number of details and extra browser oddities that I left out of this, as it&amp;#8217;s already way more than long enough, and besides you don&amp;#8217;t really want to hear the gory details of manually stepping through 37 different preferences settings just to verify a theory.  Plus you already heard about &lt;a href=&quot;http://meyerweb.com/eric/thoughts/2010/02/10/rounding-off/&quot;&gt;the &lt;code&gt;font-size&lt;/code&gt; rounding investigation&lt;/a&gt; that spawned off of this one, about halfway through.  I think that&amp;#8217;s more than enough for the time being.
&lt;/p&gt;
&lt;p&gt;
I should also lay down a caveat: it&amp;#8217;s possible that this behavior will be interpreted as a bug by the Safari team and &amp;#8220;fixed&amp;#8221;, if that&amp;#8217;s the word I want, in a future release.  I really hope not&quot;and if they&amp;#8217;re looking for ways to improve how they handle monospace font sizing, I have a few suggestions&quot;but it is possible.  Adjust your expectations accordingly.
&lt;/p&gt;
&lt;p&gt;
And with that, I&amp;#8217;m going to stop now.  I hope this will be useful to you, either now or in the future.
&lt;/p&gt;</description>
	<pubDate>Fri, 12 Feb 2010 13:52:36 +0000</pubDate>
	<dc:creator>Eric Meyer</dc:creator>
</item>
<item>
	<title>Hixie's Natural Log: Consistency</title>
	<guid>http://ln.hixie.ch/?start=1265967771&amp;count=1</guid>
	<link>http://ln.hixie.ch/?start=1265967771&amp;count=1</link>
	<description>&lt;p&gt;Adobe CEO Shantanu Narayen, June 2009, when asked about HTML5: &lt;q&gt;To the extent that an improved HTML standard accelerates innovation and consistent reach for web content, we're very supportive&lt;/q&gt;. (&lt;a href=&quot;http://seekingalpha.com/article/143591-adobe-f2q09-qtr-end-5-29-09-earnings-call-transcript?page=-1&quot;&gt;context&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Adobe CTO Kevin Lynch, February 2010: &lt;q&gt;Adobe supports HTML and its evolution&lt;/q&gt;. (&lt;a href=&quot;http://blogs.adobe.com/conversations/2010/02/open_access_to_content_and_app.html&quot;&gt;context&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Adobe Evangelist Dave McCallister, July 2009: &lt;q&gt;For Adobe, &quot;open&quot; is all aspects of communications and technologies. For us, those are open source, standards, &lt;em&gt;and community&lt;/em&gt;. [...] We make sure that we talk to our communities, that we play with the standards groups, [...] We are actually one of the most open companies that are active.&lt;/q&gt; (&lt;a href=&quot;http://www.youtube.com/watch?v=eNzrn8-JFSE&quot;&gt;context&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Someone whom I can't identify publicly, since he posted only on one of the secret W3C member lists, contributed to the following thread over the last few days: 
&lt;a href=&quot;http://lists.w3.org/Archives/Member/w3c-archive/2010Feb/0100.html&quot;&gt;1&lt;/a&gt;
&lt;a href=&quot;http://lists.w3.org/Archives/Member/w3c-archive/2010Feb/0108.html&quot;&gt;2&lt;/a&gt;
&lt;a href=&quot;http://lists.w3.org/Archives/Member/w3c-archive/2010Feb/0110.html&quot;&gt;3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Larry Masinter, Adobe, quoted in &lt;a href=&quot;http://www.w3.org/2010/02/11-html-wg-minutes.html#item07&quot;&gt;the minutes of yesterday's weekly phone status report&lt;/a&gt; for the HTML working group: &lt;q&gt;do I need to repeat objections?&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;Net result: the latest publication of HTML5 is now blocked by Adobe, via an objection that has still not been made public (despite yesterday's promise to make it so).&lt;/p&gt;
&lt;p&gt;With friends like these...&lt;/p&gt;</description>
	<pubDate>Fri, 12 Feb 2010 09:42:51 +0000</pubDate>
</item>
<item>
	<title>Microsoft - IEBlog: Adobe Flash Now Supports InPrivate Browsing</title>
	<guid>91d46819-8472-40ad-a661-2c78acb4018c:9962358</guid>
	<link>http://blogs.msdn.com/ie/archive/2010/02/11/adobe-flash-now-supports-inprivate-browsing.aspx</link>
	<description>&lt;p&gt;As a web browser, Internet Explorer is a platform for many kinds of add-ons (here are &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/11/13/my-favorite-ie-add-on-mouse-gestures-by-ralph-hare.aspx&quot;&gt;some&lt;/a&gt; &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2010/01/14/add-on-guidelines-in-action-crawler-toolbar.aspx&quot;&gt;great&lt;/a&gt; &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/10/06/add-on-guidelines-in-action-avg-security-toolbar.aspx&quot;&gt;examples&lt;/a&gt;). IE users generally don't distinguish between add-ons and Internet Explorer when it comes to &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/07/18/how-to-make-ie-open-new-tabs-faster.aspx&quot;&gt;performance&lt;/a&gt;, &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/07/28/ie8-and-reliability.aspx&quot;&gt;reliability&lt;/a&gt;, or &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/08/25/ie8-and-privacy.aspx&quot;&gt;privacy&lt;/a&gt;. They just use IE and expect it to work. That's why the best add-ons do a good job of integrating with the IE user model, letting customers &quot;just browse&quot;.&lt;/p&gt;
&lt;p&gt;Recently, &lt;a href=&quot;http://www.adobe.com/devnet/flashplayer/articles/privacy_mode_fp10.1.html&quot;&gt;Adobe&lt;/a&gt; announced that their latest version of Flash supports &lt;a href=&quot;http://www.adobe.com/devnet/flashplayer/articles/privacy_mode_fp10.1.html&quot;&gt;InPrivate Browsing&lt;/a&gt;. Version 10.1 of Flash will now respond to &lt;a href=&quot;http://blogs.msdn.com/ieinternals/archive/2009/06/30/IE8-Privacy-APIs-for-Addons.aspx&quot;&gt;interfaces&lt;/a&gt; we built into IE8 when we first released it. When you browse to a site with Flash, it can store &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Local_Shared_Object&quot;&gt;Flash Cookies&lt;/a&gt;&quot;, which are files created by Flash that websites can use to store data. Now, just like your IE history and cookies, these Flash objects will be deleted when you close your &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/08/25/ie8-and-privacy.aspx&quot;&gt;InPrivate Browsing&lt;/a&gt; window. &lt;/p&gt;
&lt;p&gt;We're really happy to see Flash adopt our InPrivate Browsing feature, and happy to see that they've also supported private browsing in Firefox and Chrome as well. Great job Flash team!&lt;/p&gt;
&lt;p&gt;Andy Zeigler &lt;br&gt;Program Manager&lt;/p&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=9962358&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
	<pubDate>Fri, 12 Feb 2010 00:59:00 +0000</pubDate>
	<dc:creator>ieblog</dc:creator>
</item>
<item>
	<title>456 Berea St: Specify a text colour for img elements</title>
	<guid>http://www.456bereastreet.com/archive/201002/specify_a_text_colour_for_img_elements/</guid>
	<link>http://feedproxy.google.com/~r/456bereastreet/~3/pxHQoYe-sVo/</link>
	<description>&lt;p class=&quot;preamble&quot;&gt;When an image specified with an &lt;code&gt;img&lt;/code&gt; element is missing from a web page, some browsers display the alt text instead. Why not all browsers do that is a separate topic which I talk a bit about in &lt;a href=&quot;http://www.456bereastreet.com/archive/200912/safari_webkit_and_alt_text_for_missing_images/&quot;&gt;Safari, WebKit and alt text for missing images&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I think most people will agree that it is a good thing for web browsers to display the contents of an image's &lt;code&gt;alt&lt;/code&gt; attribute when the image is missing or broken, or image rendering has been disabled. However, many web professionals forget to check what the alternative text will actually look like in those cases.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.456bereastreet.com/archive/201002/specify_a_text_colour_for_img_elements/&quot;&gt;Read full post&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Posted in &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/accessibility/&quot; rel=&quot;tag&quot;&gt;Accessibility&lt;/a&gt;, &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/css/&quot; rel=&quot;tag&quot;&gt;CSS&lt;/a&gt;, &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/usability/&quot; rel=&quot;tag&quot;&gt;Usability&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/XSwfEFbgkjhfjBJRhl1U56eXoSk/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/XSwfEFbgkjhfjBJRhl1U56eXoSk/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/XSwfEFbgkjhfjBJRhl1U56eXoSk/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/XSwfEFbgkjhfjBJRhl1U56eXoSk/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=pxHQoYe-sVo:Y5Hm7VfiHBg:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=pxHQoYe-sVo:Y5Hm7VfiHBg:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=pxHQoYe-sVo:Y5Hm7VfiHBg:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=pxHQoYe-sVo:Y5Hm7VfiHBg:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=pxHQoYe-sVo:Y5Hm7VfiHBg:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=pxHQoYe-sVo:Y5Hm7VfiHBg:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=pxHQoYe-sVo:Y5Hm7VfiHBg:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/456bereastreet/~4/pxHQoYe-sVo&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Thu, 11 Feb 2010 18:16:40 +0000</pubDate>
	<dc:creator>Roger Johansson</dc:creator>
</item>
<item>
	<title>Eric Meyer: Rounding Off</title>
	<guid>http://meyerweb.com/eric/thoughts/?p=1253</guid>
	<link>http://meyerweb.com/eric/thoughts/2010/02/10/rounding-off/</link>
	<description>&lt;p&gt;
In the course of digging into the guts of a much more complicated problem, I stumbled into an interesting philosophical question posed by web inspection tools.
&lt;/p&gt;
&lt;p&gt;
Consider the following CSS and HTML:
&lt;/p&gt;
&lt;pre&gt;
p {font-size: 10px;}
b {font-size: 1.04em;}

&amp;lt;p&amp;gt;This is text &amp;lt;b&amp;gt;with some boldfacing&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;
&lt;/pre&gt;
&lt;p&gt;
Simple enough.  Now, what is the computed &lt;code&gt;font-size&lt;/code&gt; for the &lt;code&gt;b&lt;/code&gt; element?
&lt;/p&gt;
&lt;p&gt;
There are two valid answers.  Most likely one of them is intuitively obvious to you, but take a moment to contemplate the rationale for the answer you didn&amp;#8217;t pick.
&lt;/p&gt;
&lt;p&gt;
Now, consider the ramifications of both choices on a situation where there are &lt;code&gt;b&lt;/code&gt; elements nested ten layers deep.
&lt;/p&gt;
&lt;p&gt;
If you hold that the answer is &lt;code&gt;10px&lt;/code&gt;, then the computed &lt;code&gt;font-size&lt;/code&gt; of the tenth level of nesting should still be &lt;code&gt;10px&lt;/code&gt;, because at every level of nesting the mathematical answer will be rounded down to 10.  That is: for every &lt;code&gt;b&lt;/code&gt; element, its computed &lt;code&gt;font-size&lt;/code&gt; will be &lt;code&gt;round(10*1.04)&lt;/code&gt;, which will always yield 10.
&lt;/p&gt;
&lt;p&gt;
If, on the other hand, you hold that the answer is &lt;code&gt;10.4px&lt;/code&gt;, then the computed &lt;code&gt;font-size&lt;/code&gt; of the tenth level of nesting should be &lt;code&gt;14.802442849px&lt;/code&gt;.  That might get rounded to some smaller number of decimal places, but even so, the number should be pretty close to 14.8.
&lt;/p&gt;
&lt;p&gt;
The simplest test, of course, is to &lt;a href=&quot;http://meyerweb.com/eric/css/tests/font-size-rounding.html&quot;&gt;set up a ten-level-deep nesting of &lt;code&gt;b&lt;/code&gt; elements with the previously-shown CSS and find out what happens&lt;/a&gt;.  If the whole line of text is the same size, then browsers round their computed &lt;code&gt;font-size&lt;/code&gt; values before passing them on.  If the text swells in size as the nesting gets deeper, then they don&amp;#8217;t.
&lt;/p&gt;
&lt;p&gt;
As it happens, in all the browsers I&amp;#8217;ve tested, the text swells, so browsers are passing along fractional pixel values from level to level.  That&amp;#8217;s not the interesting philosophical question.  Instead, it is this:  &lt;em&gt;do web inspectors that show integer &lt;code&gt;font-size&lt;/code&gt; values in their &amp;#8216;computed style&amp;#8217; windows lie to us?&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
To see what I mean, load up &lt;a href=&quot;http://meyerweb.com/eric/css/tests/font-size-rounding.html&quot;&gt;the font size rounding test page&lt;/a&gt; in Firefox and use Firebug to inspect the &amp;#8220;1(&amp;#8220;, which is the first of the &lt;code&gt;b&lt;/code&gt; elements, in the first (1.04em) test case.  Make sure you&amp;#8217;re looking at the &amp;#8220;Computed Styles&amp;#8221; pane in Firebug, and you&amp;#8217;ll get a computed &lt;code&gt;font-size&lt;/code&gt; of &lt;code&gt;10.4px&lt;/code&gt;.  That makes sense: it&amp;#8217;s 10 × 1.04.
&lt;/p&gt;
&lt;p&gt;
Now try the inspecting that same &amp;#8220;1(&amp;#8221; in Safari or Opera.  Both browsers will tell you that the computed &lt;code&gt;font-size&lt;/code&gt; of that &lt;code&gt;b&lt;/code&gt; element is &lt;code&gt;10px&lt;/code&gt;.  But we already know that it&amp;#8217;s actually &lt;code&gt;10.4px&lt;/code&gt;, because the more deeply-nested layers of &lt;code&gt;b&lt;/code&gt; elements increase in size.  These inspectors are rounding off the internal number before showing it to us.  Arguably, they are lying to us.
&lt;/p&gt;
&lt;p&gt;
But are they really?  The reason to doubt this conclusion is that the values shown in those inspectors accurately reflect the value being used to render the characters on-screen.  To see what I mean, look at the last example on the test page, where there&amp;#8217;s sub-pixel size testing.  The &amp;#8220;O&amp;#8221; characters run from a flat 10 pixels to a flat 11 pixels in tenths (or less) of a pixel, all of their &lt;code&gt;font-size&lt;/code&gt;s assigned with inline &lt;code&gt;style&lt;/code&gt; elements to pin the characters down as much as possible.  In Safari, you can see the size jump up one pixel right around the text&amp;#8217;s midpoint, where I wrote &lt;code&gt;font-size: 10.5px&lt;/code&gt;.  So everything from &lt;code&gt;10px&lt;/code&gt; to &lt;code&gt;10.49px&lt;/code&gt; gets drawn at 10 pixels tall; everything from &lt;code&gt;10.5px&lt;/code&gt; to &lt;code&gt;11px&lt;/code&gt; is 11 pixels tall.  Safari&amp;#8217;s inspector reflects this accurately.  It&amp;#8217;s telling you the size used to draw the text.
&lt;/p&gt;
&lt;img src=&quot;http://meyerweb.com/pix/2010/OOOOO.png&quot; alt=&quot;A comparative illustration of the many-O test case in three different browsers showing three different results.  The browsers used to create the illustration were Safari, Opera, and Firefox.&quot; class=&quot;pic border&quot;&gt;
&lt;p&gt;
In Opera 10.10, you get the same thing except that the jump from 10 to 11 pixels happens on the very last &amp;#8220;O&amp;#8221;, both visually and in the inspector (Dragonfly).  That means that when it comes to font sizes, Opera &lt;em&gt;always rounds down&lt;/em&gt;.  Everything from &lt;code&gt;10px&lt;/code&gt; to &lt;code&gt;10.9px&lt;/code&gt;&quot;and, presumably, &lt;code&gt;10.99999px&lt;/code&gt; for as many nines as you&amp;#8217;d care to add&quot;will be drawn 10 pixels tall.  Brilliant.
&lt;/p&gt;
&lt;p&gt;
In Firefox for OS X, there&amp;#8217;s no size jump.  The &amp;#8220;O&amp;#8221; characters look like they form a smooth line of same-size text.  In fact, they&amp;#8217;re all being drawn subtly differently, thanks to their subtly different &lt;code&gt;font-size&lt;/code&gt; values.  If you use OS X&amp;#8217;s Universal Access screen zooming to zoom way, way in, you can see the differences in pixel shading from one &amp;#8220;O&amp;#8221; to the next.  Even if you don&amp;#8217;t, though, the fact that it&amp;#8217;s hard to tell that there is an increase in size from one end of the line to the other is evidence enough.
&lt;/p&gt;
&lt;p&gt;
In Firefox for XP, on the other hand, the size jump occurs just as it does in Safari, going from 10 pixels to 11 pixels of text size at the 10.5 mark.  But Firebug still reports the correct computed &lt;code&gt;font-size&lt;/code&gt; values.  Thus, its reported value doesn&amp;#8217;t match the size of the text that&amp;#8217;s been output to the screen.  Arguably, it&amp;#8217;s lying just as much as Safari and Opera,  in a different way.
&lt;/p&gt;
&lt;p&gt;
But, again: is it really?  The computed values are being accurately reported.  That there is a small variance between that fractional number and the display of the text is arguably irrelevant, and can lead to its own confusion.  Situations will arise where apparent rounding errors have occurred&quot;I see people complain about them from time to time&quot;when the apparent error is really an artifact of how information is delivered.
&lt;/p&gt;
&lt;p&gt;
I have my own thoughts about all this, but I&amp;#8217;m much more interested in the thoughts of others.  &lt;strong&gt;What do you think?&lt;/strong&gt;  Should web inspectors report the CSS computed values accurately, without regard to the actual rendering effects; or should the inspectors modify the reported values to more accurately reflect the visual rendering, thus obscuring the raw computed values?
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Addendum 10 Feb 10:&lt;/strong&gt; I&amp;#8217;ve updated the test page with a JS link that will dynamically insert the results of &lt;code&gt;getComputedStyle(el,null).getPropertyValue(&quot;font-size&quot;)&lt;/code&gt; into the test cases.  The results are completely consistent with what the inspectors report in each browser.  This tells us something about the inspectors that most of us probably don&amp;#8217;t consciously realize: that what they show us rests directly on the same JS/DOM calls we could write ourselves.  In other words, inspectors are not privileged in what they can &amp;#8220;see&amp;#8221;; they have no special view into the browser&amp;#8217;s guts.  Thus another way to look at this topic is that inspectors simply repeat the lies that browsers tell the world.
&lt;/p&gt;</description>
	<pubDate>Wed, 10 Feb 2010 18:42:44 +0000</pubDate>
	<dc:creator>Eric Meyer</dc:creator>
</item>
<item>
	<title>456 Berea St: sIFR default CSS hides content from at least one screen reader</title>
	<guid>http://www.456bereastreet.com/archive/201002/sifr_default_css_hides_content_from_at_least_one_screen_reader/</guid>
	<link>http://feedproxy.google.com/~r/456bereastreet/~3/UdUtRW3P9mM/</link>
	<description>&lt;p class=&quot;preamble&quot;&gt;Just a heads-up to anyone using &lt;a href=&quot;http://novemberborn.net/sifr3&quot;&gt;sIFR&lt;/a&gt; to render text: the default CSS that comes with sIFR hides the replaced text from the &lt;a href=&quot;http://www.apple.com/accessibility/voiceover/&quot;&gt;VoiceOver&lt;/a&gt; screen reader. I don't know if any others are affected &quot; VoiceOver is the only screen reader I have been able to verify this problem in.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.456bereastreet.com/archive/201002/sifr_default_css_hides_content_from_at_least_one_screen_reader/&quot;&gt;Read full post&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Posted in &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/accessibility/&quot; rel=&quot;tag&quot;&gt;Accessibility&lt;/a&gt;, &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/css/&quot; rel=&quot;tag&quot;&gt;CSS&lt;/a&gt;, &lt;a href=&quot;http://www.456bereastreet.com/archive/categories/typography/&quot; rel=&quot;tag&quot;&gt;Typography&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/vpuTsOm5WV0Tg6ycEBTbe_o3hhU/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/vpuTsOm5WV0Tg6ycEBTbe_o3hhU/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/vpuTsOm5WV0Tg6ycEBTbe_o3hhU/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/vpuTsOm5WV0Tg6ycEBTbe_o3hhU/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=UdUtRW3P9mM:PjY3KQ760q8:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=UdUtRW3P9mM:PjY3KQ760q8:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=UdUtRW3P9mM:PjY3KQ760q8:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=UdUtRW3P9mM:PjY3KQ760q8:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=UdUtRW3P9mM:PjY3KQ760q8:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=UdUtRW3P9mM:PjY3KQ760q8:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=UdUtRW3P9mM:PjY3KQ760q8:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/456bereastreet/~4/UdUtRW3P9mM&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Mon, 08 Feb 2010 18:30:09 +0000</pubDate>
	<dc:creator>Roger Johansson</dc:creator>
</item>
<item>
	<title>Eric Meyer: Events and A Day, Belatedly</title>
	<guid>http://meyerweb.com/eric/thoughts/?p=1247</guid>
	<link>http://meyerweb.com/eric/thoughts/2010/02/08/events-and-a-day-belatedly/</link>
	<description>&lt;p&gt;
I&amp;#8217;m a bad conference organizer.
&lt;/p&gt;
&lt;p&gt;
Why?  Because we opened the &lt;a href=&quot;http://aneventapart.com/&quot;&gt;An Event Apart&lt;/a&gt; 2010 schedule &lt;a href=&quot;http://store.aneventapart.com/&quot;&gt;for sales&lt;/a&gt; back in, um, flippin&amp;#8217; &lt;em&gt;November&lt;/em&gt;, and I never mentioned it here.  Cripes, I never even posted when we announced the lineup of cities.  I could go through the great big long sob-story list of reasons why 2009 was really tough and blah blah blah, but when you get right down to it, I fell down on my job.
&lt;/p&gt;
&lt;p&gt;
Okay.  So.  Time to correct that.
&lt;/p&gt;
&lt;p&gt;
&lt;small&gt;&lt;i&gt;(deep breath)&lt;/i&gt;&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
Hey everyone, check it out: the complete tour schedule for An Event Apart 2010!  Woohoooo!
&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://aneventapart.com/2010/seattle/&quot;&gt;Seattle&lt;/a&gt;&lt;/strong&gt;: April 5-7, 2010 (yes, &lt;em&gt;three&lt;/em&gt; days; more on that anon)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://aneventapart.com/2010/boston/&quot;&gt;Boston&lt;/a&gt;&lt;/strong&gt;: May 24-25, 2010&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://aneventapart.com/2010/minneapolis/&quot;&gt;Minneapolis&lt;/a&gt;&lt;/strong&gt;: July 26-27, 2010&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://aneventapart.com/2010/dc/&quot;&gt;Washington, DC&lt;/a&gt;&lt;/strong&gt;: September 16-17, 2010&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://aneventapart.com/2010/sandiego/&quot;&gt;San Diego&lt;/a&gt;&lt;/strong&gt;: November 1-2, 2010&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
We&amp;#8217;ve got a pretty killer lineup, if I do say so myself.  You can get the mostly-complete list from &lt;a href=&quot;http://aneventapart.com/news/2009/11/03/registration-is-now-open-for-2010/&quot;&gt;our opening-of-sales announcement last November&lt;/a&gt;.  It lists the people we had confirmed at the time; there have been a few additions since then.  Check out your city of choice to see who&amp;#8217;s going to be there!  (But always remember that speaker lineups are subject to change: speakers are people too, and life has a way of interfering with schedules.  I myself had to withdraw from An Event Apart Boston last year due to a family emergency.)
&lt;/p&gt;
&lt;p&gt;
The price to register for these two-day, one-track Events is the same as it was in 2009, and there are &lt;a href=&quot;http://aneventapart.com/about/&quot;&gt;educational and group discounts available&lt;/a&gt; for those who are interested.
&lt;/p&gt;
&lt;p&gt;
But wait, I just said &amp;#8220;two-day&amp;#8221; when the first show of the year is clearly &lt;em&gt;three&lt;/em&gt; days.  What gives?
&lt;/p&gt;
&lt;p&gt;
Seattle is the site of our first-ever &lt;strong&gt;A Day Apart&lt;/strong&gt;, a full-day workshop that can be attended on its own or as part of a full three days of Event Apart ecstasy.  And the inaugural Day Apart will be nothing less than a detailed plunge into HTML 5 and CSS3 with Jeremy Keith and Dan Cederholm.  Jeremy handles the markup; Dan gets stylish.  It&amp;#8217;s going to be fantastic.  I&amp;#8217;m going to be in the back of the room for the whole day, soaking up as much as I can.
&lt;/p&gt;
&lt;p&gt;
If you want to &lt;a href=&quot;https://store.aneventapart.com/#seattle-2010&quot;&gt;attend just the workshop&lt;/a&gt;, it&amp;#8217;s $399 for the whole day if you buy an early bird ticket (available through March 5th).  The price goes up $50 when early bird ends, and another $100 if you show up at the door.  But I wouldn&amp;#8217;t recommend that last, because I don&amp;#8217;t think there will be any tickets available at the door.  Again: if you show up unannounced on the day of the workshop and ask to buy a ticket, we will most likely have to turn you away, because I expect that there won&amp;#8217;t be any seats available.
&lt;/p&gt;
&lt;p&gt;
On the other hand, maybe you&amp;#8217;d like to experience more than just one day of AEA goodness.  Maybe you&amp;#8217;d like to go whole hog and &lt;a href=&quot;https://store.aneventapart.com/#seattle-2010&quot;&gt;attend both the two-day Event Apart and the subsequent Day Apart&lt;/a&gt;, soaking up all the knowledge and enthusiasm and camaraderie that typifies An Event Apart.  And who could blame you?  If you do &lt;em&gt;that&lt;/em&gt;, then the total early bird price for all three days is $1,190, whereas buying the event and workshop passes separately would total $1,294.  That&amp;#8217;s right: you actually get slightly more than $100 off the cost of the workshop if you attend all three days, over and above the early bird discount.  (Or you can think of it as getting $100+ off the cost of the conference.  We&amp;#8217;re not fussy.)
&lt;/p&gt;
&lt;p&gt;
As it happens, these three-day passes have proved quite popular.  So if you want to get your hands on one of those&quot;or on any Seattle tickets, whether one, two, or three days&quot;I wouldn&amp;#8217;t wait too long.  Our internal analyses suggest that there will come a time, some time before the doors open on April 5th, that the ability to buy a ticket will cease to be.  It may even pine for a fjord or two.
&lt;/p&gt;
&lt;p&gt;
As for the four shows that come after Seattle, well, they&amp;#8217;re looking pretty popular too.
&lt;/p&gt;
&lt;p&gt;
I know I say this every year, but I&amp;#8217;m really excited about what we&amp;#8217;ve got planned for the year.  Jeffrey and I constantly and (we hope) consistently strive to create an event that we ourselves want to attend, and that&amp;#8217;s absolutely true of the shows and workshop we have planned in 2010.  I can&amp;#8217;t wait to hear what the speakers and attendees have to share.  Hope to see you there!
&lt;/p&gt;</description>
	<pubDate>Mon, 08 Feb 2010 15:29:11 +0000</pubDate>
	<dc:creator>Eric Meyer</dc:creator>
</item>
<item>
	<title>QuirksMode: The iPhone obsession</title>
	<guid>http://www.quirksmode.org/blog/archives/2010/02/the_iphone_obse.html</guid>
	<link>http://www.quirksmode.org/blog/archives/2010/02/the_iphone_obse.html</link>
	<description>&lt;p&gt;Since my attempts at capturing web developers&amp;#8217; hearts and minds by
&lt;a href=&quot;http://www.quirksmode.org/blog/archives/2010/02/persistent_touc.html&quot;&gt;publishing&lt;/a&gt;
&lt;a href=&quot;http://www.quirksmode.org/blog/archives/2010/02/the_touch_actio.html&quot;&gt;fundamental&lt;/a&gt;
&lt;a href=&quot;http://www.quirksmode.org/blog/archives/2010/02/do_we_need_touc.html&quot;&gt;research&lt;/a&gt;
have failed miserably but my thirst for attention continues unabated,
today I will once more shout at iPhone developers. That&amp;#8217;s
&lt;a href=&quot;http://www.quirksmode.org/blog/archives/2009/11/apple_is_not_ev.html&quot;&gt;proven to work&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;More specifically, today I will shout at web developers who think that delicately inserting an
iPhone up their ass is the same as mobile web development.&lt;/p&gt;

&lt;p&gt;Before we start, a little thought experiment. Suppose I proposed the following:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;IE6 is today&amp;#8217;s most advanced browser. (&lt;strong&gt;Note&lt;/strong&gt;: this was actually
	true back in 2000. Please bear with me.)&lt;/li&gt;
	&lt;li&gt;IE6&amp;#8217;s market share is about 80%.&lt;/li&gt;
	&lt;li&gt;The other browsers are way worse than IE6, and developing for them is a pain;
	something we&amp;#8217;re not interested in and are a bit afraid of.&lt;/li&gt;
	&lt;li&gt;Therefore we will develop websites exclusively for IE6.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Would you agree with those sentiments, even if we&amp;#8217;re back in 2000 and IE6 is &lt;em&gt;really&lt;/em&gt;
the best browser we have?&lt;/p&gt;

&lt;p&gt;Or would you reply that our sites should work as well as they can in all browsers
through the use of web standards, progressive enhancement, and all the rest
of the best practices we&amp;#8217;ve been preaching for the past ten years?&lt;/p&gt;

&lt;p&gt;I distinctly remember a time when we web developers cared about such concepts.
But those times are long gone.&lt;/p&gt;</description>
	<pubDate>Mon, 08 Feb 2010 12:13:20 +0000</pubDate>
</item>

</channel>
</rss>
