<?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: W3C Launches Decisions and Decision-Making Incubator Group</title>
	<guid>tag:www.w3.org,2010://4.8747</guid>
	<link>http://www.w3.org/News/2010.html#entry-8747</link>
	<description>&amp;amp;lt;p&amp;amp;gt;W3C is pleased to announce the creation of the &amp;amp;lt;a href=&quot;/2005/Incubator/decision/&quot;&amp;amp;gt;Decisions and Decision-Making Incubator Group&amp;amp;lt;/a&amp;amp;gt;, whose mission is to determine the requirements, use cases, and a representation of decisions and decision-making in a collaborative and networked environment suitable for leading to a potential standard for decision exchange, shared situational awareness, and measurement of the speed, effectiveness, and human factors of decision-making.. The following W3C Members have sponsored the &amp;amp;lt;a href=&quot;/2005/Incubator/decision/charter&quot;&amp;amp;gt;charter&amp;amp;lt;/a&amp;amp;gt; for this group:  DISA, MITRE, and CNR. Read more about the &amp;amp;lt;a href=&quot;/2005/Incubator/&quot;&amp;amp;gt;Incubator Activity&amp;amp;lt;/a&amp;amp;gt;, an initiative to foster development of emerging Web-related technologies. 
Incubator Activity work is not on the W3C standards track but in many cases serves as a starting point for a future Working Group.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Mon, 15 Mar 2010 06:00:16 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: User Agent Accessibility Guidelines (UAAG) 2.0 Updated; New Implementation Guide Published</title>
	<guid>tag:www.w3.org,2010://4.8746</guid>
	<link>http://www.w3.org/News/2010.html#entry-8746</link>
	<description>&amp;amp;lt;p&amp;amp;gt;The &amp;amp;lt;a href=&quot;/WAI/UA/&quot;&amp;amp;gt;User Agent Accessibility Guidelines Working
Group&amp;amp;lt;/a&amp;amp;gt; has published an updated Working Draft of the &amp;amp;lt;a href=&quot;/TR/2010/WD-UAAG20-20100311/&quot;&amp;amp;gt;User Agent
Accessibility Guidelines (UAAG) 2.0&amp;amp;lt;/a&amp;amp;gt;. UAAG defines how browsers, media players,
and other &quot;user agents&quot; should support accessibility for people with
disabilities and work with assistive technologies. This draft adds requirements
in seven new areas, including support for speech input, video playback controls
and a new section on conformance. It introduces a new supporting document,
&amp;amp;lt;a href=&quot;/TR/2010/WD-IMPLEMENTING-UAAG20-20100311/&quot;&amp;amp;gt;Implementing UAAG 2.0&amp;amp;lt;/a&amp;amp;gt; as a First Public Working Draft. Read the &amp;amp;lt;a href=&quot;http://lists.w3.org/Archives/Public/w3c-wai-ig/2010JanMar/0078.html&quot;&amp;amp;gt;invitation to review the UAAG 2.0 Working Draft&amp;amp;lt;/a&amp;amp;gt; and about the &amp;amp;lt;a href=&quot;http://www.w3.org/WAI/&quot;&amp;amp;gt;Web Accessibility Initiative (WAI)&amp;amp;lt;/a&amp;amp;gt;.&amp;amp;lt;/p&amp;amp;gt;
    &amp;lt;/content&amp;gt;</description>
	<pubDate>Mon, 15 Mar 2010 06:00:16 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>W3C: Community Invited to Discuss Conversational Applications at Workshop</title>
	<guid>tag:www.w3.org,2010://4.8745</guid>
	<link>http://www.w3.org/News/2010.html#entry-8745</link>
	<description>&amp;amp;lt;p&amp;amp;gt;W3C announced today a &amp;amp;lt;a href=&quot;/2010/02/convapps/cfp&quot;&amp;amp;gt;Workshop on Conversational Applications - Use Cases and Requirements for New Models of Human Language to Support Mobile Conversational Systems&amp;amp;lt;/a&amp;amp;gt;, 18-19 June 2010 in Somerset, New Jersey (USA), Hosted by Openstream. There is currently an increasing need for new capabilities of  the human language model to support sophisticated conversational  applications. The goal of the Workshop is to understand the  
limitations of the current W3C language model in order to develop a more comprehensive one. Participants will collect and analyze use cases and prioritize   requirements that ultimately will improve support for language  capabilities that are unsupported today.
Position papers are due 2 April. Please see the &amp;amp;lt;a href=&quot;/2010/02/convapps/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>Mon, 15 Mar 2010 06:00:16 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<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>Mon, 15 Mar 2010 06:00:16 +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>Mon, 15 Mar 2010 06:00:16 +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>Mon, 15 Mar 2010 06:00:16 +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>Mon, 15 Mar 2010 06:00:16 +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>Mon, 15 Mar 2010 06:00:16 +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>Mon, 15 Mar 2010 06:00:16 +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>Mon, 15 Mar 2010 06:00:16 +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>Mon, 15 Mar 2010 06:00:16 +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>Mon, 15 Mar 2010 06:00:16 +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>Mon, 15 Mar 2010 06:00:16 +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>Mon, 15 Mar 2010 06:00:16 +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>Mon, 15 Mar 2010 06:00:16 +0000</pubDate>
	<dc:creator>W3C Staff</dc:creator>
</item>
<item>
	<title>Microsoft - IEBlog: Facebook Add-ons for IE8</title>
	<guid>91d46819-8472-40ad-a661-2c78acb4018c:9977719</guid>
	<link>http://blogs.msdn.com/ie/archive/2010/03/12/facebook-add-ons-for-ie8.aspx</link>
	<description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;In this post, I will introduce you to some of the most compelling Facebook add-ons for Internet Explorer 8.&lt;/p&gt;
&lt;h3&gt;Share with Facebook Accelerator&lt;/h3&gt;
&lt;p&gt;The Share with Facebook Accelerator allows you to share any text, link, or page with your Facebook friends with a single click. You can use this accelerator by selecting either some text or a link, or by right-clicking on any part of the page.&lt;/p&gt;
&lt;p&gt;Install here: &lt;a href=&quot;http://www.ieaddons.com/en/details/204/Share_on_Facebook/&quot;&gt;http://www.ieaddons.com/en/details/204/Share_on_Facebook/&lt;/a&gt;&lt;/p&gt;&lt;img title=&quot;image of IE Accelerator menu with&quot;&gt; 
&lt;p&gt;The technical beauty of this add-on is that it is extremely simple. In fact, it is contained in a single XML file, which is based on the &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc287851(VS.85).aspx&quot;&gt;OpenServiceDescription specification&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Facebook Web Slice&lt;/h3&gt;
&lt;p&gt;The Facebook Web Slice allows you to stay up to date with what's happening in your Facebook network. Regardless what website you are on, you can click at any time on the web slice title and display the recent messages from your friends on your board.&lt;/p&gt;
&lt;p&gt;Install here: &lt;a href=&quot;http://www.ieaddons.com/en/details/social/Facebook_Web_Slice/&quot;&gt;http://www.ieaddons.com/en/details/social/Facebook_Web_Slice/&lt;/a&gt;&lt;/p&gt;&lt;img title=&quot;Facebook webslice showing some status updates&quot; alt=&quot;Facebook webslice showing some status updates&quot; src=&quot;http://ieblog.members.winisp.net/images/Giorgio_facebook_2.png&quot;&gt; 
&lt;p&gt;The Web Slice uses the Facebook Connect APIs to connect to your account and it shows a &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc196992(VS.85).aspx&quot;&gt;notification&lt;/a&gt; when new content is available. Special thanks go to the MVP &lt;a href=&quot;http://blog.pantos.name/&quot;&gt;Konstantinos Pantos&lt;/a&gt; for his contribution to the community.&lt;/p&gt;
&lt;h3&gt;Facebook Search Provider&lt;/h3&gt;
&lt;p&gt;Do you need to search for someone on Facebook? You can start right away from the browser search box!&lt;/p&gt;
&lt;p&gt;Install here: &lt;a href=&quot;http://www.ieaddons.com/en/details/searchhelpers/Facebook/&quot;&gt;http://www.ieaddons.com/en/details/searchhelpers/Facebook/&lt;/a&gt;&lt;/p&gt;&lt;img title=&quot;IE search box searching on Facebook&quot; alt=&quot;IE search box searching on Facebook&quot; src=&quot;http://ieblog.members.winisp.net/images/Giorgio_facebook_3.png&quot;&gt; 
&lt;p&gt;Again, this extension is built on top of an &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc848862(VS.85).aspx&quot;&gt;XML file&lt;/a&gt; which describes the end-point for the search provider.&lt;/p&gt;
&lt;h3&gt;Facebook Toolbar&lt;/h3&gt;
&lt;p&gt;The Facebook Toolbar lets you to share with your friends while browsing anywhere on the web - get notified, share content, upload photos, and update your status no matter where you are!&lt;/p&gt;
&lt;p&gt;Install here: &lt;a href=&quot;http://www.facebook.com/toolbar#!/toolbar?v=app_4949752878&quot;&gt;http://www.facebook.com/toolbar#!/toolbar?v=app_4949752878&lt;/a&gt;&lt;/p&gt;&lt;img title=&quot;Facebook toolbar&quot; alt=&quot;Facebook toolbar&quot; src=&quot;http://ieblog.members.winisp.net/images/Giorgio_facebook_4.png&quot;&gt; 
&lt;p&gt;The source code of this toolbar is available on &lt;a href=&quot;http://github.com/facebook/ie-toolbar&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Thanks to the Facebook Team&lt;/b&gt; for these great extensions!&lt;/p&gt;
&lt;p&gt;If you have any feedback or you would like to highlight other great IE8 add-ons, please leave a comment to this post.&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=9977719&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
	<pubDate>Fri, 12 Mar 2010 20:36:00 +0000</pubDate>
	<dc:creator>ieblog</dc:creator>
</item>
<item>
	<title>Vitamin: Somewhere, Superficial, &amp; So Much More: Designing for Conversion Experiences</title>
	<guid>http://carsonified.com/?p=4876</guid>
	<link>http://carsonified.com/blog/design/somewhere-superficial-so-much-more-designing-for-conversion-experiences/</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%2Fsomewhere-superficial-so-much-more-designing-for-conversion-experiences%2F&quot;&gt;&lt;img src=&quot;http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdesign%2Fsomewhere-superficial-so-much-more-designing-for-conversion-experiences%2F&quot; height=&quot;61&quot; width=&quot;51&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Lead gen pages are often misunderstood as standalone, single-page designs. There&amp;#8217;s a science behind A/B testing and optimizing lead gen pages, but there&amp;#8217;s also a component of creative user experience that should not be overlooked as you drill deeply into what drives your users through your conversion funnel.&lt;/p&gt;
&lt;p&gt;Some user behaviors make clear sense, while others can confound your expectations. Overall, however, designing a complete experience around a conversion page is best understood taking these 3 &amp;#8220;Ss&amp;#8221; into consideration:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Somewhere&lt;/strong&gt;&lt;em&gt;&quot;”&lt;/em&gt;Users get to conversion pages from somewhere, so go there first!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Superficial&lt;/strong&gt;&lt;em&gt;&quot;”&lt;/em&gt;Good looks matter. Users respond to a particular aesthetic, so try different designs!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;So Much More&lt;/strong&gt;&lt;em&gt;&quot;”&lt;/em&gt;Users engage deeper through community, so get them connected to you and each other! (FYI a Facebook Fan Page is a great ecosystem &amp;amp; it&amp;#8217;s free)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Okay, so few weeks ago I &lt;a href=&quot;http://bit.ly/b4yZKZ&quot; target=&quot;_blank&quot;&gt;posted&lt;/a&gt; about a redesign I&amp;#8217;m working on for a lead generation page. That project began with a single page, but preliminary outcomes further demonstrated that we needed to step backwards and design for an entire experience, which is where &lt;em&gt;Somewhere, Superficial, and So Much More&lt;/em&gt; came into play.&lt;span id=&quot;more-4876&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ll explain!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt;&lt;em&gt;,&lt;/em&gt; our initial A/B test is over&lt;em&gt;:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Good news&lt;/strong&gt;&lt;em&gt;&quot;”&lt;/em&gt;we didn&amp;#8217;t break the existing conversion rate.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Better news&lt;/strong&gt;&lt;em&gt;&quot;”&lt;/em&gt;we raised the conversion rate a little bit ;-)&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Great news&lt;/strong&gt;&lt;em&gt;&quot;”&lt;/em&gt;we blew up our Facebook Fan page by designing a thoughtful &amp;#8220;Thank You&amp;#8221;! &lt;em&gt;(*We increased fan acquisition from 3 fans per day to 30+ fans per day)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Second&lt;/strong&gt;&lt;em&gt;, &lt;/em&gt;we&amp;#8217;re embarking on Phase 2 of our test plan, so let me share what that plan looks like, because A/B testing can be delivered in a number of ways. Here is the 3-phase method I recommend and that we&amp;#8217;re currently using:&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Phase 1: Update, Don&amp;#8217;t Break&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;(This phase is optional, in the project I&amp;#8217;m working on we did need to update an older design before we could effectively move forward with testing.)&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Update the design to a higher standard that better expresses the brand&lt;/li&gt;
&lt;li&gt;Don&amp;#8217;t break existing conversion (50 v. 50 split test, confirmed by a 5 v. 95 follow-up)&lt;/li&gt;
&lt;li&gt;Phase original design out completely&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://img.skitch.com/20100304-jncxrqh6d7564pfybw5eqnsmjq.png&quot; alt=&quot;bounce-1&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;(Current design in the wild, original design)&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Phase 2: Design Different Concepts&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Create 2 more well-informed aesthetically different designs&lt;/li&gt;
&lt;li&gt;Conduct user testing (DIY-style works well!)&lt;/li&gt;
&lt;li&gt;Release new designs into testing cycle in increments (10 v. 90% to start)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://img.skitch.com/20100304-fs9kcgc1xq447sjp29fa1ii65b.png&quot; alt=&quot;bounce-2&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;(Potential design to test)&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Phase 3: Optimize One&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;Select the &amp;#8220;winning&amp;#8221; design from the 3 that have been tested&lt;/li&gt;
&lt;li&gt;Optimize the winning design with A/B testing of the smaller elements on page (copy, image, steps, etc)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://img.skitch.com/20100304-te5cmt72wx53k5rp3e6ap4hy68.png&quot; alt=&quot;bounce-3&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;(Potential design to test)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Third&lt;/strong&gt;&lt;em&gt;, &lt;/em&gt;as we prepare for our next test, which will involve 3 very different designs, here are things we considered about the current experience to make sure we covered &lt;em&gt;&amp;#8220;Somewhere, Superficial, and So Much More&amp;#8221;&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Traffic Sources&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s important to learn about where your users are coming from; this is the first step to take in order to reduce your &lt;em&gt;bounce rate.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Are your users coming to your site after clicking an ad? Are users coming to your site to learn something, or have they accidentally gotten there, is the message seductive, on target?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;User Testing&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;User testing doesn&amp;#8217;t have to be expensive, drawn out, or complicated. Do informal (or formal if you can) user testing to gather feedback on the different designs before you release them into the wild.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Form Friction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;At the heart of every conversion page is a form. Determine what variables can be tested, and what variable make sense to test. &lt;em&gt;Some form friction is good!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Let me share an example,  for us, it seems like &amp;#8220;phone number&amp;#8221; is an easy variable to test out. But, it turns out it&amp;#8217;s not! While we might get more conversions by taking that element out of the form, we would also open ourselves up to less qualified leads, which we don&amp;#8217;t want and also aren&amp;#8217;t equipped to scale for.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(*Consider your community support team, if you put their phone number on your conversion page can they handle the incoming calls?)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Thank You&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Never underestimate the opportunity for a second level of conversion that your &amp;#8220;Thank You&amp;#8221; messaging provides for you to create and facilitate community and further engagement.&lt;br&gt;
Our &lt;a href=&quot;http://bit.ly/b7B4Hw&quot; target=&quot;_blank&quot;&gt;Thank You experience&lt;/a&gt; in our first round of testing, totally changed our approach to how we were looking at this conversion page.&lt;/p&gt;
&lt;p&gt;To wrap it all up, throughout this process of redesigning and optimizing a single conversion page (we&amp;#8217;ve planned on about 3 months of testing), we&amp;#8217;ve really come to understand that the best and most effective lead gen page designs involve an entire experience that goes well beyond a single page. Suddenly, our little conversion page isn&amp;#8217;t so lonely or so little.&lt;/p&gt;
&lt;p&gt;Take a look at your app&amp;#8217;s conversion page, rally your team, and consider the impact of &lt;em&gt;Somewhere, Superficial, and So Much More. &lt;/em&gt;&lt;/p&gt;
&lt;img src=&quot;http://carsonified.com/?ak_action=api_record_view&amp;id=4876&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=j0M7PWv1BAo:hgoDnKAO8fI: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=j0M7PWv1BAo:hgoDnKAO8fI:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=j0M7PWv1BAo:hgoDnKAO8fI:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=j0M7PWv1BAo:hgoDnKAO8fI: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=j0M7PWv1BAo:hgoDnKAO8fI:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=j0M7PWv1BAo:hgoDnKAO8fI:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 12 Mar 2010 18:20:20 +0000</pubDate>
	<dc:creator>Chrissie Brodigan</dc:creator>
</item>
<item>
	<title>456 Berea St: Geek Meet Gothenburg March 2010</title>
	<guid>http://www.456bereastreet.com/archive/201003/geek_meet_gothenburg_march_2010/</guid>
	<link>http://feedproxy.google.com/~r/456bereastreet/~3/K3FhIwdMsfA/</link>
	<description>&lt;p class=&quot;preamble&quot;&gt;It's been over three years since &lt;a href=&quot;http://www.456bereastreet.com/archive/200701/geek_meet_gothenburg_february_2007/&quot;&gt;Geek Meet Gothenburg February 2007&lt;/a&gt;, so it's about time for another one. Like last time, this event will take place at the &lt;a href=&quot;http://www.netrelations.se/kontakt/goteborg/&quot;&gt;NetRelations office in Gothenburg&lt;/a&gt;, Sweden. The date is March 24, 2010.&lt;/p&gt;

&lt;p&gt;We'll be talking about the usual web geek stuff, likely with a bit of emphasis on HTML 5 and other up-and-coming web things. Check out &lt;a href=&quot;http://www.netrelations.se/blogg/geek-meet-goteborg-the-sequel/&quot;&gt;Geek Meet GĂ¶teborg &quot;“ the sequel!&lt;/a&gt; on the NetRelations blog for the details and to sign up.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.456bereastreet.com/archive/201003/geek_meet_gothenburg_march_2010/&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/web_general/&quot; rel=&quot;tag&quot;&gt;Web General&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/lETCjzdbdabR8-ZZAqeW2ycuF78/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/lETCjzdbdabR8-ZZAqeW2ycuF78/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/lETCjzdbdabR8-ZZAqeW2ycuF78/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/lETCjzdbdabR8-ZZAqeW2ycuF78/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=K3FhIwdMsfA:JfuyxCS41K8:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=K3FhIwdMsfA:JfuyxCS41K8:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=K3FhIwdMsfA:JfuyxCS41K8:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=K3FhIwdMsfA:JfuyxCS41K8:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=K3FhIwdMsfA:JfuyxCS41K8: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=K3FhIwdMsfA:JfuyxCS41K8:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=K3FhIwdMsfA:JfuyxCS41K8: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/K3FhIwdMsfA&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Fri, 12 Mar 2010 13:25:21 +0000</pubDate>
	<dc:creator>Roger Johansson</dc:creator>
</item>
<item>
	<title>ajaxian: Ambilight Sample; video and canvas</title>
	<guid>http://ajaxian.com/?p=8713</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/qnz4uC8i6LA/ambilight</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://ajaxian.com/wp-content/images/ambilight.png&quot; alt=&quot;ambilight&quot; title=&quot;ambilight&quot; width=&quot;480&quot; height=&quot;234&quot; class=&quot;alignnone size-full wp-image-8714&quot;&gt;&lt;/p&gt;
&lt;p&gt;Sergey Chikuyonok gets his Philips Ambilight foo on as he created a &lt;a href=&quot;http://chikuyonok.ru/ambilight/&quot;&gt;HTML5 video + canvas&lt;/a&gt; sample that mimics the TV effect.&lt;/p&gt;
&lt;p&gt;As the video runs, a snapshot is sent over to JavaScript land where colors are worked out:&lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;a href=&quot;javascript:showCodeTxt('javascript-2');&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span&gt;JAVASCRIPT:&lt;/span&gt;
&lt;div id=&quot;javascript-2&quot;&gt;
&lt;div class=&quot;javascript&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;function&lt;/span&gt; getMidColors&lt;span&gt;&amp;#40;&lt;/span&gt;side&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;var&lt;/span&gt; w = buffer.&lt;span&gt;width&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; h = buffer.&lt;span&gt;height&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lamps = getOption&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'lamps'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; block_width = getOption&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'block_size'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; block_height = Math.&lt;span&gt;ceil&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;h / lamps&lt;span&gt;&amp;#41;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pxl = block_width * block_height * &lt;span&gt;4&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result = &lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; img_data = buffer_ctx.&lt;span&gt;getImageData&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;side == &lt;span&gt;'right'&lt;/span&gt; ? w - block_width : &lt;span&gt;0&lt;/span&gt;, &lt;span&gt;0&lt;/span&gt;, block_width, h&lt;span&gt;&amp;#41;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; total_pixels = img_data.&lt;span&gt;data&lt;/span&gt;.&lt;span&gt;length&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;for&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;var&lt;/span&gt; i = &lt;span&gt;0&lt;/span&gt;; i &amp;lt;lamps; i++&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;var&lt;/span&gt; from = i * w * block_width;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result.&lt;span&gt;push&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt; calcMidColor&lt;span&gt;&amp;#40;&lt;/span&gt;img_data.&lt;span&gt;data&lt;/span&gt;, i * pxl, Math.&lt;span&gt;min&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;i + &lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; * pxl, total_pixels - &lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;return&lt;/span&gt; result;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Then, two canvas objects are placed, one on each side, of the video itself.&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=qnz4uC8i6LA:TBBPRLvVggI:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=qnz4uC8i6LA:TBBPRLvVggI:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=qnz4uC8i6LA:TBBPRLvVggI:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=qnz4uC8i6LA:TBBPRLvVggI:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 12 Mar 2010 11:30:20 +0000</pubDate>
	<dc:creator>Dion Almaer</dc:creator>
</item>
<item>
	<title>456 Berea St: Reverse chronological order comments</title>
	<guid>http://www.456bereastreet.com/archive/201003/reverse_chronological_order_comments/</guid>
	<link>http://feedproxy.google.com/~r/456bereastreet/~3/KRf-5hZGbEQ/</link>
	<description>&lt;p class=&quot;preamble&quot;&gt;Maybe I'm old-fashioned, but I don't get why some sites display reader comments in reverse chronological order. It seems especially popular on newspaper sites, which also for some reason tend to use paging for comments. I think the combination of reverse order and paging makes trying to follow discussions &lt;strong&gt;very&lt;/strong&gt; frustrating.&lt;/p&gt;

&lt;p&gt;Still, since more and more sites seem to display comments this way I guess there are some people who actually prefer comments displayed backwards, so it is probably here to stay.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.456bereastreet.com/archive/201003/reverse_chronological_order_comments/&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/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/g-kSP0MUyUQDo1TjSsOaqgnyYMI/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/g-kSP0MUyUQDo1TjSsOaqgnyYMI/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/g-kSP0MUyUQDo1TjSsOaqgnyYMI/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/g-kSP0MUyUQDo1TjSsOaqgnyYMI/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=KRf-5hZGbEQ:EcjtW3yQ6D4:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=KRf-5hZGbEQ:EcjtW3yQ6D4:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=KRf-5hZGbEQ:EcjtW3yQ6D4:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=KRf-5hZGbEQ:EcjtW3yQ6D4:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/456bereastreet?a=KRf-5hZGbEQ:EcjtW3yQ6D4: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=KRf-5hZGbEQ:EcjtW3yQ6D4:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/456bereastreet?i=KRf-5hZGbEQ:EcjtW3yQ6D4: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/KRf-5hZGbEQ&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;</description>
	<pubDate>Thu, 11 Mar 2010 19:43:59 +0000</pubDate>
	<dc:creator>Roger Johansson</dc:creator>
</item>
<item>
	<title>ajaxian: YQL Geo library "“ all your geo needs in pure JavaScript</title>
	<guid>http://ajaxian.com/?p=8718</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/4d9UHS2adjk/yql-geo-library-all-your-geo-needs-in-pure-javascript</link>
	<description>&lt;p&gt;I just finished doing some talks on geo hacking (&lt;a href=&quot;http://www.slideshare.net/cheilmann/introduction-to-geo-hacking-with-amongst-others-yahoo-technology-3388374&quot;&gt;slides are available here&lt;/a&gt;) and how to use some of the Geo technologies Yahoo and Google provide as part of a University gig in Atlanta. &lt;/p&gt;
&lt;p&gt;As a lot of the students liked the idea of APIs like &lt;a href=&quot;http://developer.yahoo.com/geo&quot;&gt;GeoPlanet and Placemaker&lt;/a&gt; but had a hard time getting their head around them I thought it a good idea to build a small JavaScript library that does the job for them. &lt;/p&gt;
&lt;p&gt;I give you &lt;a href=&quot;http://isithackday.com/hacks/geo/yql-geo-library/&quot;&gt;the YQL Geo library&lt;/a&gt; (&lt;a href=&quot;http://github.com/codepo8/YQL-Geo-Library&quot;&gt;and its source on GitHub&lt;/a&gt;). Using this library you can do the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Detecting the visitor's location with the W3C geo API and with IP as a fallback&lt;/li&gt;
&lt;li&gt;Find geo location from text&lt;/li&gt;
&lt;li&gt;Find location from lat/lon pair&lt;/li&gt;
&lt;li&gt;Find locations in a certain web document (by URL)&lt;/li&gt;
&lt;li&gt;Get the location for a certain IP number&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And all of that in pure JavaScript. For example:&lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;a href=&quot;javascript:showCodeTxt('javascript-7');&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span&gt;JAVASCRIPT:&lt;/span&gt;
&lt;div id=&quot;javascript-7&quot;&gt;
&lt;div class=&quot;javascript&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;yqlgeo.&lt;span&gt;get&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;'paris,fr'&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;function&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;o&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;console.&lt;span&gt;log&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;o&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Will get you: &lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;a href=&quot;javascript:showCodeTxt('javascript-8');&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span&gt;JAVASCRIPT:&lt;/span&gt;
&lt;div id=&quot;javascript-8&quot;&gt;
&lt;div class=&quot;javascript&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&quot;place&quot;&lt;/span&gt;:&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;lang&quot;&lt;/span&gt;:&lt;span&gt;&quot;en-US&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;uri&quot;&lt;/span&gt;:&lt;span&gt;&quot;http://where.yahooapis.com/v1/place/615702&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;woeid&quot;&lt;/span&gt;:&lt;span&gt;&quot;615702&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;placeTypeName&quot;&lt;/span&gt;:&lt;span&gt;&amp;#123;&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;code&quot;&lt;/span&gt;:&lt;span&gt;&quot;7&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;content&quot;&lt;/span&gt;:&lt;span&gt;&quot;Town&quot;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;name&quot;&lt;/span&gt;:&lt;span&gt;&quot;Paris&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;country&quot;&lt;/span&gt;:&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;code&quot;&lt;/span&gt;:&lt;span&gt;&quot;FR&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;type&quot;&lt;/span&gt;:&lt;span&gt;&quot;Country&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;content&quot;&lt;/span&gt;:&lt;span&gt;&quot;France&quot;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;admin1&quot;&lt;/span&gt;:&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;code&quot;&lt;/span&gt;:&lt;span&gt;&quot;&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;type&quot;&lt;/span&gt;:&lt;span&gt;&quot;Region&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;content&quot;&lt;/span&gt;:&lt;span&gt;&quot;Ile-de-France&quot;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;admin2&quot;&lt;/span&gt;:&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;code&quot;&lt;/span&gt;:&lt;span&gt;&quot;FR-75&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;type&quot;&lt;/span&gt;:&lt;span&gt;&quot;Department&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;content&quot;&lt;/span&gt;:&lt;span&gt;&quot;Paris&quot;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;admin3&quot;&lt;/span&gt;:&lt;span&gt;null&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;locality1&quot;&lt;/span&gt;:&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;type&quot;&lt;/span&gt;:&lt;span&gt;&quot;Town&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;content&quot;&lt;/span&gt;:&lt;span&gt;&quot;Paris&quot;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;locality2&quot;&lt;/span&gt;:&lt;span&gt;null&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;postal&quot;&lt;/span&gt;:&lt;span&gt;null&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;centroid&quot;&lt;/span&gt;:&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;latitude&quot;&lt;/span&gt;:&lt;span&gt;&quot;48.856918&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;longitude&quot;&lt;/span&gt;:&lt;span&gt;&quot;2.341210&quot;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&quot;boundingBox&quot;&lt;/span&gt;:&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;southWest&quot;&lt;/span&gt;:&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;latitude&quot;&lt;/span&gt;:&lt;span&gt;&quot;48.658291&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;longitude&quot;&lt;/span&gt;:&lt;span&gt;&quot;2.086790&quot;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;northEast&quot;&lt;/span&gt;:&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;latitude&quot;&lt;/span&gt;:&lt;span&gt;&quot;49.046940&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&quot;longitude&quot;&lt;/span&gt;:&lt;span&gt;&quot;2.637910&quot;&lt;/span&gt;&amp;nbsp; &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&amp;#125;&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Other uses:&lt;/p&gt;
&lt;p&gt;This gets the name and the country of a lat/lon pair:&lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;a href=&quot;javascript:showCodeTxt('javascript-9');&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span&gt;JAVASCRIPT:&lt;/span&gt;
&lt;div id=&quot;javascript-9&quot;&gt;
&lt;div class=&quot;javascript&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;yqlgeo.&lt;span&gt;get&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;33&lt;/span&gt;.&lt;span&gt;748&lt;/span&gt;,-&lt;span&gt;84&lt;/span&gt;.&lt;span&gt;393&lt;/span&gt;,&lt;span&gt;function&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;o&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;alert&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;o.&lt;span&gt;place&lt;/span&gt;.&lt;span&gt;name&lt;/span&gt; + &lt;span&gt;','&lt;/span&gt; + o.&lt;span&gt;place&lt;/span&gt;.&lt;span&gt;country&lt;/span&gt;.&lt;span&gt;content&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This finds the visitor's location (on W3C geo API enabled browsers it asks them to share it - otherwise it detects the IP and locates this one on the planet)&lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;a href=&quot;javascript:showCodeTxt('javascript-10');&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span&gt;JAVASCRIPT:&lt;/span&gt;
&lt;div id=&quot;javascript-10&quot;&gt;
&lt;div class=&quot;javascript&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;yqlgeo.&lt;span&gt;get&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'visitor'&lt;/span&gt;,&lt;span&gt;function&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;o&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;alert&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;o.&lt;span&gt;place&lt;/span&gt;.&lt;span&gt;name&lt;/span&gt; + &lt;span&gt;','&lt;/span&gt; + o.&lt;span&gt;place&lt;/span&gt;.&lt;span&gt;country&lt;/span&gt;.&lt;span&gt;content&lt;/span&gt; +&amp;nbsp; &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;' ('&lt;/span&gt; + o.&lt;span&gt;place&lt;/span&gt;.&lt;span&gt;centroid&lt;/span&gt;.&lt;span&gt;latitude&lt;/span&gt; + &lt;span&gt;','&lt;/span&gt; +&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;o.&lt;span&gt;place&lt;/span&gt;.&lt;span&gt;centroid&lt;/span&gt;.&lt;span&gt;longitude&lt;/span&gt; + &lt;span&gt;')'&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Read all about it &lt;a href=&quot;http://www.wait-till-i.com/2010/03/11/yql-geo-library-and-introduction-to-geo-hacking-talk/&quot;&gt;on my blog&lt;/a&gt; and enjoy!&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=4d9UHS2adjk:ZS5hH4xlAck:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=4d9UHS2adjk:ZS5hH4xlAck:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=4d9UHS2adjk:ZS5hH4xlAck:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=4d9UHS2adjk:ZS5hH4xlAck:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Thu, 11 Mar 2010 15:04:15 +0000</pubDate>
	<dc:creator>Chris Heilmann</dc:creator>
</item>
<item>
	<title>QuirksMode: The payment argument is nonsense</title>
	<guid>http://www.quirksmode.org/blog/archives/2010/03/the_payment_arg.html</guid>
	<link>http://www.quirksmode.org/blog/archives/2010/03/the_payment_arg.html</link>
	<description>&lt;p&gt;In response to my &lt;a href=&quot;http://www.quirksmode.org/blog/archives/2010/03/html5_apps.html&quot;&gt;HTML5 apps&lt;/a&gt; argument a few people came back to how the payment thingy is missing from my idea, and how it will (apparently) be worthless because of that. I&amp;#8217;ve been thinking about that a lot in the past few days, and I&amp;#8217;m increasingly of the opinion that the payment argument is nonsense.&lt;/p&gt;

&lt;p&gt;Sure, everybody who does iPhone apps, or who&amp;#8217;s glancing cursorily at the mobile market without trying to gain in-depth knowledge, currently believes that the App Store concept is going to be a huge success because of the opportunity for developers to earn some money. But they&amp;#8217;re just wrong.&lt;/p&gt;

&lt;p&gt;I did some back-of-napkin calculations and found that, macro-economically speaking, iPhone app development costs money right now. And yes, an individual developer can strike it rich, but that&amp;#8217;s getting rarer and rarer. I do not want to build a new app ecosystem based on arguments from developers who just want to take a gamble in the App Store roulette. Gamblers&amp;#8217; arguments are not real arguments.&lt;/p&gt;</description>
	<pubDate>Thu, 11 Mar 2010 14:35:02 +0000</pubDate>
</item>
<item>
	<title>Vitamin: Strategy Basics: It's Really all about having a Plan</title>
	<guid>http://carsonified.com/?p=4932</guid>
	<link>http://carsonified.com/blog/business/strategy-basics-its-really-all-about-having-a-plan/</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%2Fstrategy-basics-its-really-all-about-having-a-plan%2F&quot;&gt;&lt;img src=&quot;http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fbusiness%2Fstrategy-basics-its-really-all-about-having-a-plan%2F&quot; height=&quot;61&quot; width=&quot;51&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;img class=&quot;aligncenter size-full wp-image-4933&quot; src=&quot;http://carsonified.com/wp-content/uploads/2010/03/0_main_image.gif&quot; alt=&quot;&quot; width=&quot;470&quot; height=&quot;235&quot;&gt;&lt;/p&gt;
&lt;p&gt;Strategy. You hear about it all the time. One must have a strategy/work on a strategy/follow a strategy and so on. Business types like to say &amp;#8220;strategy&amp;#8221; a lot as it sounds big, complicated and important.&lt;/p&gt;
&lt;p&gt;And it is important, but there is no need for it to be complicated. Quite the opposite.&lt;/p&gt;
&lt;p&gt;At the heart of it all &amp;#8220;strategy&amp;#8221; is just about &lt;strong&gt;having a plan for the thing you are working on&lt;/strong&gt;. Or as Wikipedia puts it &amp;#8220;a strategy is a plan of action designed to achieve a particular goal&amp;#8221;.&lt;/p&gt;
&lt;h3&gt;Getting the Strategy Right&lt;/h3&gt;
&lt;p&gt;If there is ever a time to look at what&amp;#8217;s important in a project, it is early on, in the strategy stage.&lt;/p&gt;
&lt;p&gt;Let us assume that your client doesn&amp;#8217;t have a strategy for their next web project.&lt;/p&gt;
&lt;p&gt;Before you build, design, code or write anything you need to think about what the project needs to achieve.&lt;/p&gt;
&lt;p&gt;This is in part because strategy can mean almost anything, depending on the needs of the client, the size of their audience and ultimately the goal of your client. And it will mean different things at different times during the life-span of a project: you may have one strategy to launch with, another for the ongoing management of the site and so on.&lt;/p&gt;
&lt;p&gt;Thinking the project through, seeing how one thing leads to another on the way to the project&amp;#8217;s goal is a very healthy thing to do.&lt;/p&gt;
&lt;p&gt;The one thing all strategies must have in common is that they &lt;strong&gt;tie in with your client&amp;#8217;s overall business goals&lt;/strong&gt;. (You&amp;#8217;d be surprised how often clients themselves forget this simple fact!) If it doesn&amp;#8217;t, the client will never be happy with your work even if they were the ones who ignored the business goal connection.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s why you should be thrilled when a client asks for your help in developing their web project strategy (or asks you to help them find someone who can create it for them).&lt;/p&gt;
&lt;p&gt;It is an excellent opportunity to make sure that you, or the people you choose to collaborate with, create a to-the-point strategy that helps the client reach their goals and in the process makes you look like an absolute star who deserves lots more commissions.&lt;span id=&quot;more-4932&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Strategy as a Sales Tool&lt;/h3&gt;
&lt;p&gt;Before we continue, you may wonder if you really need to bother with all this strategy stuff. The answer is yes you do, especially if the client asks you to help craft it.&lt;/p&gt;
&lt;p&gt;A strategy, even one that is just a paragraph in length, shows that you have understood the task at hand. It shows the direction you will take the project, and it is an effective way to put your client&amp;#8217;s mind at ease.&lt;/p&gt;
&lt;h3&gt;How to Do It&lt;/h3&gt;
&lt;p&gt;A good web strategy should always cover the following five points.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What you are doing&lt;/li&gt;
&lt;li&gt;Who you are doing it for&lt;/li&gt;
&lt;li&gt;Why you are doing it&lt;/li&gt;
&lt;li&gt;How you are doing it&lt;/li&gt;
&lt;li&gt;When you are doing it&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here is an example:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter size-full wp-image-4934&quot; title=&quot;1_example_image&quot; src=&quot;http://carsonified.com/wp-content/uploads/2010/03/1_example_image.gif&quot; alt=&quot;&quot; width=&quot;470&quot; height=&quot;244&quot;&gt;&lt;/p&gt;
&lt;p&gt;Your client, the Think Vitamin Dairy, tell you they want to sell more of their orange flavored Think Vitamin Milk.&lt;/p&gt;
&lt;p&gt;To make sure you have enough information to cover the five points above you ask the client loads of questions, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Who currently buys the Think Vitamin Milk?&lt;/li&gt;
&lt;li&gt;Why and how do they buy it?&lt;/li&gt;
&lt;li&gt;When do they drink it?&lt;/li&gt;
&lt;li&gt;What do they think of it?&lt;/li&gt;
&lt;li&gt;Have the sales changed over the past year, if so how and why?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The client tells you that Think Vitamin Milk is mostly gulped by web people who like the energy kick they get from it. They buy it online in crates of twelve bottles and according to their tweets some of them have started drinking it when they go hiking in the Cotswolds on the weekends.&lt;/p&gt;
&lt;p&gt;After a spot of thinking you come up with a plan, a strategy, which suggests the client invest their budget in creating a smartphone app to reach a new audience instead of buying advertising. You flesh it out with a few pointers:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter size-full wp-image-4935&quot; title=&quot;2_hikemap&quot; src=&quot;http://carsonified.com/wp-content/uploads/2010/03/2_hikemap.gif&quot; alt=&quot;&quot; width=&quot;470&quot; height=&quot;329&quot;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Think Vitamin Dairy should build an iPhone app aimed at ramblers to help them plan hiking trips &amp;#8211; The Think Vitamin &amp;#8220;Think Hiking&amp;#8221; app. (A new audience, with existing customers mixed in is golden.)&lt;/li&gt;
&lt;li&gt;The app lets users plan hikes and share them with their friends to get everyone ready for the excursion (virality &amp;#8211; always a good thing!).&lt;/li&gt;
&lt;li&gt;The app would show where along the trail the energizing Milk can be bought and plot the local independent dairy farms who provide the cow juice. (If you like hiking you probably care about food sustainability too.)&lt;/li&gt;
&lt;li&gt;The app is supported by a small teaser and signup site that, after the app has launched, displays tweets from hikers and shows where the most popular trails are.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Instead of throwing money at advertising, the client&amp;#8217;s milk brand would be known for a very useful app that is associated with good friends, good times and days off in the country.&lt;/p&gt;
&lt;p&gt;There it is, a good simple and easy to understand strategy tied to the goal of selling more orange flavored milk.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter size-full wp-image-4936&quot; title=&quot;3_app_site&quot; src=&quot;http://carsonified.com/wp-content/uploads/2010/03/3_app_site.gif&quot; alt=&quot;&quot; width=&quot;470&quot; height=&quot;247&quot;&gt;&lt;/p&gt;
&lt;h3&gt;In Conclusion&lt;/h3&gt;
&lt;p&gt;Strategy is important, but it&amp;#8217;s not rocket science. It is really just about having a plan.&lt;/p&gt;
&lt;p&gt;The more you work with strategy, the more you learn and the more you will want to learn. You will find new ways of approaching old problems, and it can be just as addictive as the work you are already passionate about.&lt;/p&gt;
&lt;p&gt;This post was all about the basics, but to be honest that&amp;#8217;s where many clients and us web creators go wrong. Get the basics right, and keep your eyes open and you will become an even better web professional in no time.&lt;/p&gt;
&lt;p&gt;Best of all, the more comfortable you get with the strategy portion of your work the better you will be at understanding the client&amp;#8217;s needs and the more valuable you will become to them.&lt;/p&gt;
&lt;img src=&quot;http://carsonified.com/?ak_action=api_record_view&amp;id=4932&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=L7paH108LlU:1id1m-BNQo0: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=L7paH108LlU:1id1m-BNQo0:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=L7paH108LlU:1id1m-BNQo0:gIN9vFwOqvQ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=L7paH108LlU:1id1m-BNQo0: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=L7paH108LlU:1id1m-BNQo0:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/vitaminmasterfeed?i=L7paH108LlU:1id1m-BNQo0:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Thu, 11 Mar 2010 14:00:00 +0000</pubDate>
	<dc:creator>Jaan Orvet & Andreas Carlsson</dc:creator>
</item>
<item>
	<title>ajaxian: SVG Wow!</title>
	<guid>http://ajaxian.com/?p=8614</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/CgfloplT8cM/svg-wow</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://my.opera.com/MacDev_ed/blog/&quot;&gt;Erik &lt;/a&gt;&lt;span&gt;&lt;a href=&quot;http://my.opera.com/MacDev_ed/blog/&quot;&gt;DahlstrĂ¶m&lt;/a&gt; and &lt;a href=&quot;http://www.w3.org/People/VHardy/&quot;&gt;Vincent Hardy&lt;/a&gt; have put together a cool website, called &lt;a href=&quot;http://svg-wow.org/&quot;&gt;SVG Wow!&lt;/a&gt;, that showcases SVG doing things you didn't expect SVG can do:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;http://svg-wow.org/&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-8694&quot; title=&quot;svgwow1&quot; src=&quot;http://ajaxian.com/wp-content/images/svgwow11.png&quot; alt=&quot;svgwow1&quot; width=&quot;386&quot; height=&quot;307&quot;&gt;&lt;/a&gt;&lt;br&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;There are alot of unique demos on there.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://svg-wow.org/audio/animated-lyrics.html&quot;&gt;One of my favorites&lt;/a&gt; uses SVG, HTML5 Audio, Web Fonts, and YUI to play music accompanied by flying animated lyrics (Chrome and Safari only):&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://svg-wow.org/audio/animated-lyrics.html&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-8695&quot; title=&quot;svgwow2&quot; src=&quot;http://ajaxian.com/wp-content/images/svgwow2.png&quot; alt=&quot;svgwow2&quot; width=&quot;531&quot; height=&quot;364&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://svg-wow.org/&quot;&gt;There are lots of other great samples&lt;/a&gt; for you to play with and study!&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=CgfloplT8cM:qJDqqQpOu60:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=CgfloplT8cM:qJDqqQpOu60:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=CgfloplT8cM:qJDqqQpOu60:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=CgfloplT8cM:qJDqqQpOu60:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Thu, 11 Mar 2010 10:35:01 +0000</pubDate>
	<dc:creator>Brad Neuberg</dc:creator>
</item>
<item>
	<title>ajaxian: Ext JS 3.2 beta: stores, components, transitions, and themes</title>
	<guid>http://ajaxian.com/?p=8716</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/8BQGkiJoWb0/ext-js-3-2-beta-stores-components-transitions-and-themes</link>
	<description>&lt;p&gt;The Ext JS team have &lt;a href=&quot;http://www.extjs.com/blog/2010/03/09/announcing-ext-js-3-2-beta-multisort-transitions-and-composite-fields/&quot;&gt;announced the 3.2 beta&lt;/a&gt; which includes new components and goodness.&lt;/p&gt;
&lt;p&gt;Take the animated DataView transitions for example:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;On top of that, the release includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.extjs.com/deploy/ext-3.2-beta/examples/grid/multiple-sorting.html&quot;&gt;Multiple sorting and filtering on Ext.data.Store&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.extjs.com/deploy/ext-3.2-beta/examples/form/composite-field.html&quot;&gt;Composite Fields&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.extjs.com/deploy/ext-3.2-beta/examples/slider/slider.html&quot;&gt;Slider improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Toolbar plugins: &lt;a href=&quot;http://www.extjs.com/deploy/ext-3.2-beta/examples/toolbar/reorderable.html&quot;&gt; ToolbarReorderer&lt;/a&gt; and &lt;a href=&quot;http://www.extjs.com/deploy/ext-3.2-beta/examples/toolbar/droppable.html&quot;&gt;ToolbarDroppable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;New Accessibility Theme: compliant with Section 508 of the Disabilities Act.
&lt;/li&gt;
&lt;li&gt;Quality Assurance: Unit Testing: over 180 bug fixes and enhancements over 3.1
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=8BQGkiJoWb0:Dao1xnolWeo:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=8BQGkiJoWb0:Dao1xnolWeo:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=8BQGkiJoWb0:Dao1xnolWeo:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=8BQGkiJoWb0:Dao1xnolWeo:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Thu, 11 Mar 2010 06:12:05 +0000</pubDate>
	<dc:creator>Dion Almaer</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 sught, 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>ajaxian: CSS3 Please! Instant results"¦ Thank You</title>
	<guid>http://ajaxian.com/?p=8699</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/mDpzAA5hJ38/css3-please-instant-results-thank-you</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://ajaxian.com/wp-content/images/css3please.png&quot; alt=&quot;css3please&quot; title=&quot;css3please&quot; width=&quot;480&quot; height=&quot;286&quot; class=&quot;alignnone size-full wp-image-8700&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://paulirish.com/&quot;&gt;Paul Irish&lt;/a&gt; and &lt;a href=&quot;http://twitter.com/jon_neal&quot;&gt;Jonathan Neal&lt;/a&gt; have created a fun example of various CSS tweaks that you can make, and see the results instantly.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://css3please.com/&quot;&gt;CSS3, Please!&lt;/a&gt; lets you play with fancy new rules such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;border-radius&lt;/li&gt;
&lt;li&gt;box shadow&lt;/li&gt;
&lt;li&gt;gradients&lt;/li&gt;
&lt;li&gt;rgba support in backgrounds&lt;/li&gt;
&lt;li&gt;transforms&lt;/li&gt;
&lt;li&gt;font-face&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Really nice way to make tweaks inline in the page..... nicely done. Hope to see some other examples out there :)&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=mDpzAA5hJ38:gioU5uWmRDw:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=mDpzAA5hJ38:gioU5uWmRDw:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=mDpzAA5hJ38:gioU5uWmRDw:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=mDpzAA5hJ38:gioU5uWmRDw:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 10 Mar 2010 13:39:24 +0000</pubDate>
	<dc:creator>Dion Almaer</dc:creator>
</item>
<item>
	<title>ajaxian: HTML Minification</title>
	<guid>http://ajaxian.com/?p=8697</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/GqOvRXjR1wY/html-minification</link>
	<description>&lt;p&gt;Good old Kangax has been &lt;a href=&quot;http://perfectionkills.com/experimenting-with-html-minifier/&quot;&gt;playing with HTML minification&lt;/a&gt; and has shared &lt;a href=&quot;http://kangax.github.com/html-minifier/&quot;&gt;his new tool&lt;/a&gt; in an early stage.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://perfectionkills.com/images/minifier-screenshot.png&quot; width=&quot;480&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;What does it do?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Kangax has &lt;a href=&quot;http://github.com/kangax/html-minifier/blob/gh-pages/src/htmlparser.js&quot;&gt;forked John Resig's HTML parser&lt;/a&gt; which parses the HTML and sends that into the Minifier. This has rules that do things like whitespace optimization, comment removal, and collapsing boolean attributes (e.g. disabled=&quot;true&quot; -&gt; disabled).&lt;/p&gt;
&lt;p&gt;He also has a linter going:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
While working on minifier, I realized that oftentimes the most wasteful part of the markup is not white space, comments or boolean attributes, but inline styles, scripts, presentational or deprecated elements and attributes. None of these can be simply stripped, as that could affect state of the document and is just too obtrusive. What can be done, however, is reporting of these occurences to the user. HTMLLint is even a smaller script, whose job is exactly that&quot;”to log any deprecated or presentational elements/attributes encountered during parsing. Additionally, it detects event attributes (e.g. onclick, onmouseover, etc.). The rationale for this is that moving contents of event attributes to external script allows to &lt;a href=&quot;http://perfectionkills.com/optimizing-html/#3_onclick_onmouseover_etc&quot;&gt;take advantage of resource caching&lt;/a&gt;.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=GqOvRXjR1wY:5xIeieC82ME:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=GqOvRXjR1wY:5xIeieC82ME:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=GqOvRXjR1wY:5xIeieC82ME:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=GqOvRXjR1wY:5xIeieC82ME:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 10 Mar 2010 11:14:51 +0000</pubDate>
	<dc:creator>Dion Almaer</dc:creator>
</item>
<item>
	<title>ajaxian: Harmony: Canvas Drawing Tool</title>
	<guid>http://ajaxian.com/?p=8702</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/9ASJDZ59k9Y/harmony-canvas-drawing-tool</link>
	<description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://mrdoob.com/lab/javascript/harmony/&quot;&gt;Harmony&lt;/a&gt; is a new drawing tool, a HTML5/Canvas experiment with great potential. It provides some unique brush styles, and can produce some great-looking charcoal pencil style sketches, among other things. Better to &lt;a href=&quot;http://mrdoob.com/lab/javascript/harmony/&quot;&gt;try it out&lt;/a&gt; than explain it in words.&lt;/p&gt;
&lt;p&gt;Creator Mr. Doob  (Richard Cabello) &lt;a href=&quot;http://mrdoob.com/blog/post/689&quot;&gt;explains&lt;/a&gt; how he used Canvas to make it darker the more you draw over it:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
The whole thing is quite modular so I can keep adding more brush styles whenever I get inspired. During the process I found out that, for some reason (apparently lack of hardware acceleration), Firefox and Opera do not support context.globalCompositeOperation = 'darker'. This was on the HTML5 spec before but got removed. Just so you know what I'm talking about, this is like the &quot;multiply&quot; blending in Photoshop. Webkit does support it tho. I hope they put it back on the specs and all browsers support it.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You can also save images using data URI encoding.&lt;/p&gt;
&lt;p&gt;As it works on webkit, he made sure it worked on the mobile Android and iPhone browsers. No multi-touch as yet, but the touch UI still makes a nice input mechanism.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://mrdoob.com/lab/javascript/harmony/&quot;&gt;&lt;img src=&quot;http://ajaxian.com/wp-content/images/harmony.jpg&quot; alt=&quot;harmony&quot; title=&quot;harmony&quot; width=&quot;320&quot; height=&quot;480&quot; class=&quot;alignnone size-full wp-image-8703&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Thanks &lt;a href=&quot;http://twitter.com/FND&quot;&gt;FND&lt;/a&gt;)&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=9ASJDZ59k9Y:QoYCwb10r9k:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=9ASJDZ59k9Y:QoYCwb10r9k:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=9ASJDZ59k9Y:QoYCwb10r9k:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=9ASJDZ59k9Y:QoYCwb10r9k:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 10 Mar 2010 09:50:44 +0000</pubDate>
	<dc:creator>Michael Mahemoff</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>ajaxian: Spectrum Visualization with the HTML5 Audio Data API</title>
	<guid>http://ajaxian.com/?p=8690</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/tVWFXrUtupI/spectrum-visualization-with-the-html5-audio-data-api</link>
	<description>&lt;blockquote cite=&quot;https://wiki.mozilla.org/Audio_Data_API&quot;&gt;&lt;p&gt;
The HTML5 specification introduces the  and  media elements, and with them the opportunity to dramatically change the way we integrate media on the web. The current HTML5 media API provides ways to play and get limited information about audio and video, but gives no way to programatically access or create such media. We present a new extension to this API, which allows web developers to read and write raw audio data.&lt;br&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The above quote is from the &lt;a href=&quot;https://wiki.mozilla.org/Audio_Data_API&quot;&gt;Audio Data API&lt;/a&gt; extension that joins a bunch of juicy developer work in Firefox 3.7.&lt;/p&gt;
&lt;p&gt;Thomas Sturm has taken that API and &lt;a href=&quot;http://www.storiesinflight.com/jsfft/visualizer/index.html&quot;&gt;created a spectrum visualization&lt;/a&gt; a kin to some of the great work by Scott Schiller (using Flash).&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;There is a new &lt;code&gt;onaudiowritten&lt;/code&gt; attribute:&lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;a href=&quot;javascript:showCodeTxt('html-14');&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span&gt;HTML:&lt;/span&gt;
&lt;div id=&quot;html-14&quot;&gt;
&lt;div class=&quot;html&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&amp;lt;audio &lt;span&gt;src&lt;/span&gt;=&lt;span&gt;&quot;song.ogg&quot;&lt;/span&gt; controls=&lt;span&gt;&quot;true&quot;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;onaudiowritten=&lt;span&gt;&quot;audioWritten(event);&quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/a&gt;/audio&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;that lets you get access to info such as the spectrum:&lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;a href=&quot;javascript:showCodeTxt('javascript-15');&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span&gt;JAVASCRIPT:&lt;/span&gt;
&lt;div id=&quot;javascript-15&quot;&gt;
&lt;div class=&quot;javascript&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;function&lt;/span&gt; audioWritten&lt;span&gt;&amp;#40;&lt;/span&gt;event&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; spectrum = event.&lt;span&gt;mozSpectrum&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;var&lt;/span&gt; specSize = spectrum.&lt;span&gt;length&lt;/span&gt;, magnitude;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;// Clear the canvas before drawing spectrum&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.&lt;span&gt;clearRect&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;,&lt;span&gt;0&lt;/span&gt;, canvas.&lt;span&gt;width&lt;/span&gt;, canvas.&lt;span&gt;height&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;for&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt; &lt;span&gt;var&lt;/span&gt; i = &lt;span&gt;0&lt;/span&gt;; i &amp;lt;specSize; i++ &lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; magnitude = spectrum.&lt;span&gt;item&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;i&lt;span&gt;&amp;#41;&lt;/span&gt; * &lt;span&gt;4000&lt;/span&gt;; &lt;span&gt;// multiply spectrum by a zoom value&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;// Draw rectangle bars for each frequency bin&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.&lt;span&gt;fillRect&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;i * &lt;span&gt;4&lt;/span&gt;, canvas.&lt;span&gt;height&lt;/span&gt;, &lt;span&gt;3&lt;/span&gt;, -magnitude&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Add to that the ability to write audio.... &lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;a href=&quot;javascript:showCodeTxt('javascript-16');&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span&gt;JAVASCRIPT:&lt;/span&gt;
&lt;div id=&quot;javascript-16&quot;&gt;
&lt;div class=&quot;javascript&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;var&lt;/span&gt; audioOutput = &lt;span&gt;new&lt;/span&gt; Audio&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;audioOutput.&lt;span&gt;mozSetup&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;, &lt;span&gt;44100&lt;/span&gt;, &lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;var&lt;/span&gt; samples = &lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;.&lt;span&gt;242&lt;/span&gt;, &lt;span&gt;0&lt;/span&gt;.&lt;span&gt;127&lt;/span&gt;, &lt;span&gt;0&lt;/span&gt;.&lt;span&gt;0&lt;/span&gt;, -&lt;span&gt;0&lt;/span&gt;.&lt;span&gt;058&lt;/span&gt;, -&lt;span&gt;0&lt;/span&gt;.&lt;span&gt;242&lt;/span&gt;, ...&lt;span&gt;&amp;#93;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;audioOutput.&lt;span&gt;mozAudioWrite&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;samples.&lt;span&gt;length&lt;/span&gt;, samples&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Nice work all around.&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=tVWFXrUtupI:ednfTQcVq1Y:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=tVWFXrUtupI:ednfTQcVq1Y:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=tVWFXrUtupI:ednfTQcVq1Y:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=tVWFXrUtupI:ednfTQcVq1Y:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Tue, 09 Mar 2010 11:20:07 +0000</pubDate>
	<dc:creator>Dion Almaer</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>ajaxian: modulr: a CommonJS module implementation in Ruby for client-side JavaScript</title>
	<guid>http://ajaxian.com/?p=8688</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/88WWc8yFtWU/modulr-a-commonjs-module-implementation-in-ruby-for-client-side-javascript</link>
	<description>&lt;blockquote&gt;&lt;p&gt;
modulr is a CommonJS module implementation in Ruby for client-side JavaScript
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Ruby? what does that have anything to do with it? Ah, its from one of those Prototype guys isn't it.... Yup, Tobie is at it again, this time with &lt;a href=&quot;http://github.com/codespeaks/modulr&quot;&gt;modulr&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
modulr accepts a singular file as input (the program) on which is does static analysis to recursively resolve its dependencies.&lt;/p&gt;
&lt;p&gt;The program, its dependencies and a small, namespaced JavaScript library are concatenated into a single js file.&lt;/p&gt;
&lt;p&gt;The bundled JavaScript library provides each module with the necessary require function and exports and module free variables.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This can also help sharing that CommonJS code. I recently &lt;a href=&quot;http://almaer.com/blog/building-an-web-application-from-the-inside-out-using-node-js-to-bootstrap-a-server-from-client-js&quot;&gt;did just that&lt;/a&gt; and had some:&lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;a href=&quot;javascript:showCodeTxt('javascript-18');&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span&gt;JAVASCRIPT:&lt;/span&gt;
&lt;div id=&quot;javascript-18&quot;&gt;
&lt;div class=&quot;javascript&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;// check to see if you are running inside of node.js and export if you are&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;if&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;typeof&lt;/span&gt; GLOBAL == &lt;span&gt;&quot;object&quot;&lt;/span&gt; &amp;amp;&amp;amp; &lt;span&gt;typeof&lt;/span&gt; GLOBAL&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;'node'&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt; == &lt;span&gt;&quot;object&quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; exports.&lt;span&gt;Appetite&lt;/span&gt; = Appetite;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=88WWc8yFtWU:gdP8GqO-SMI:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=88WWc8yFtWU:gdP8GqO-SMI:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=88WWc8yFtWU:gdP8GqO-SMI:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=88WWc8yFtWU:gdP8GqO-SMI:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 08 Mar 2010 11:28:40 +0000</pubDate>
	<dc:creator>Dion Almaer</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>ajaxian: Friday fun: Let's translate YUI3 to jQuery</title>
	<guid>http://ajaxian.com/?p=8685</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/-VCT_Ey0V_8/friday-fun-lets-translate-yui3-to-jquery</link>
	<description>&lt;p&gt;I just came across this wonderful Gist on gitHub:&lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;a href=&quot;javascript:showCodeTxt('javascript-20');&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span&gt;JAVASCRIPT:&lt;/span&gt;
&lt;div id=&quot;javascript-20&quot;&gt;
&lt;div class=&quot;javascript&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;var&lt;/span&gt; $;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;YUI&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;use&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'*'&lt;/span&gt;, &lt;span&gt;function&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;Y&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; $ = Y.&lt;span&gt;get&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;for&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;var&lt;/span&gt; p &lt;span&gt;in&lt;/span&gt; Y&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $&lt;span&gt;&amp;#91;&lt;/span&gt;p&lt;span&gt;&amp;#93;&lt;/span&gt; = Y&lt;span&gt;&amp;#91;&lt;/span&gt;p&lt;span&gt;&amp;#93;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;// test&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;$&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'body'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;append&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;boo!&quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;In case you want to use YUI3 but really really like jQuery syntax :) OK, it breaks the whole sandboxing idea of YUI3, but that's a small price to pay, right?&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=-VCT_Ey0V_8:ZwL_cH6zBxI:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=-VCT_Ey0V_8:ZwL_cH6zBxI:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=-VCT_Ey0V_8:ZwL_cH6zBxI:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=-VCT_Ey0V_8:ZwL_cH6zBxI:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 05 Mar 2010 13:52:01 +0000</pubDate>
	<dc:creator>Chris Heilmann</dc:creator>
</item>
<item>
	<title>ajaxian: Firefox gets hardware acceleration in early stage</title>
	<guid>http://ajaxian.com/?p=8683</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/kNRPvnOxRDc/firefox-gets-hardware-acceleration-in-early-stage</link>
	<description>&lt;p&gt;Bass Schouten is a cool name, and the Mozillan has &lt;a href=&quot;http://www.basschouten.com/blog1.php/2010/03/02/presenting-direct2d-hardware-acceleratio&quot;&gt;presented Direct2D hardware acceleration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You have to grab Firefox nightly, do the &lt;code&gt;about:config&lt;/code&gt; / &lt;code&gt;gfx.font_rendering.directwrite.enabled&lt;/code&gt; game, but then you get to see it in action.&lt;/p&gt;
&lt;p&gt;IE9 showed off &lt;a href=&quot;http://ajaxian.com/archives/ie-9-hardware-rendering-new-js-engine-css-standards-and-more&quot;&gt;how they will support hardware rendering&lt;/a&gt;, and I am sure we will see more at MIX, but it is very cool to see this across the board.&lt;/p&gt;
&lt;p&gt;CSS Transforms/Transitions/Animations are going to feel like butter in 2010!&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=kNRPvnOxRDc:PSxzumqX8UI:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=kNRPvnOxRDc:PSxzumqX8UI:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=kNRPvnOxRDc:PSxzumqX8UI:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=kNRPvnOxRDc:PSxzumqX8UI:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 05 Mar 2010 11:25:43 +0000</pubDate>
	<dc:creator>Dion Almaer</dc:creator>
</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>ajaxian: Color Picker: Works even in IE6</title>
	<guid>http://ajaxian.com/?p=8680</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/fLqwVRXPDtU/color-picker-works-even-in-ie6</link>
	<description>&lt;blockquote&gt;&lt;p&gt;
Works even in IE6
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Love that quote from the &lt;a href=&quot;http://raphaeljs.com/picker/&quot;&gt;color picker over at RaphaelJS land&lt;/a&gt;. This plugin by Dmitry Baranovskiy gives you an easy color picker in short order:&lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;a href=&quot;javascript:showCodeTxt('javascript-22');&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span&gt;JAVASCRIPT:&lt;/span&gt;
&lt;div id=&quot;javascript-22&quot;&gt;
&lt;div class=&quot;javascript&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;var&lt;/span&gt; icon = Raphael&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;picker&quot;&lt;/span&gt;, &lt;span&gt;23&lt;/span&gt;, &lt;span&gt;23&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;colorPickerIcon&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;11&lt;/span&gt;, &lt;span&gt;11&lt;/span&gt;, &lt;span&gt;10&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;icon.&lt;span&gt;attr&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#123;&lt;/span&gt;cursor: &lt;span&gt;&quot;pointer&quot;&lt;/span&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;node&lt;/span&gt;.&lt;span&gt;onclick&lt;/span&gt; = &lt;span&gt;function&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; document.&lt;span&gt;getElementById&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;benefits&quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;style&lt;/span&gt;.&lt;span&gt;visibility&lt;/span&gt; = &lt;span&gt;&quot;visible&quot;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;var&lt;/span&gt; out = document.&lt;span&gt;getElementById&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;output&quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; out.&lt;span&gt;style&lt;/span&gt;.&lt;span&gt;visibility&lt;/span&gt; = &lt;span&gt;&quot;visible&quot;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;// this is where colorpicker created&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;var&lt;/span&gt; cp = Raphael.&lt;span&gt;colorpicker&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;document.&lt;span&gt;body&lt;/span&gt;.&lt;span&gt;offsetWidth&lt;/span&gt; / &lt;span&gt;2&lt;/span&gt; - &lt;span&gt;150&lt;/span&gt;, &lt;span&gt;250&lt;/span&gt;, &lt;span&gt;300&lt;/span&gt;, &lt;span&gt;&quot;#eee&quot;&lt;/span&gt;, document.&lt;span&gt;getElementById&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;picker2&quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; out.&lt;span&gt;onkeyup&lt;/span&gt; = &lt;span&gt;function&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cp.&lt;span&gt;color&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;this&lt;/span&gt;.&lt;span&gt;value&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;// assigning onchange event handler&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; cp.&lt;span&gt;onchange&lt;/span&gt; = &lt;span&gt;function&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;clr&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; out.&lt;span&gt;value&lt;/span&gt; = clr;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.&lt;span&gt;body&lt;/span&gt;.&lt;span&gt;style&lt;/span&gt;.&lt;span&gt;background&lt;/span&gt; = clr;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.&lt;span&gt;body&lt;/span&gt;.&lt;span&gt;style&lt;/span&gt;.&lt;span&gt;color&lt;/span&gt; = Raphael.&lt;span&gt;rgb2hsb&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;clr&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;b&lt;/span&gt; &amp;lt;.&lt;span&gt;5&lt;/span&gt; ? &lt;span&gt;&quot;#fff&quot;&lt;/span&gt; : &lt;span&gt;&quot;#666&quot;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;#125;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;// that's it. Too easy&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;icon.&lt;span&gt;node&lt;/span&gt;.&lt;span&gt;onclick&lt;/span&gt; = &lt;span&gt;null&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;http://ajaxian.com/wp-content/images/colorpicker.png&quot; alt=&quot;colorpicker&quot; title=&quot;colorpicker&quot; width=&quot;480&quot; height=&quot;429&quot; class=&quot;alignnone size-full wp-image-8681&quot;&gt;&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=fLqwVRXPDtU:9maSvgwS1s4:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=fLqwVRXPDtU:9maSvgwS1s4:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=fLqwVRXPDtU:9maSvgwS1s4:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=fLqwVRXPDtU:9maSvgwS1s4:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Thu, 04 Mar 2010 11:02:56 +0000</pubDate>
	<dc:creator>Dion Almaer</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>ajaxian: Touching Cloth; Canvas Fu</title>
	<guid>http://ajaxian.com/?p=8677</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/GLwfZGMw_jE/touching-cloth-canvas-fu</link>
	<description>&lt;p&gt;Andrew Hoyer shows his canvas Fu with &lt;a href=&quot;http://www.andrew-hoyer.com/experiments/cloth&quot;&gt;Cloth&lt;/a&gt;, a great experiment using nice physics.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ajaxian.com/wp-content/images/cloth.png&quot; alt=&quot;cloth&quot; title=&quot;cloth&quot; width=&quot;355&quot; height=&quot;410&quot; class=&quot;alignnone size-full wp-image-8678&quot;&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
What makes this simulation special is the speed at which everything is computed. Javascript (the language this is written in) is not exactly the most efficient language for this type of computation. This being said, much time was spent squeezing out every little detail that slows things down.&lt;/p&gt;
&lt;p&gt;The most computationally expensive part is trying to satisfy the constraints. To do this requires the calculation of distance between two points. This is easy to do with a little math, but that often involves an expensive square root. This is something that cannot simply be thrown out either, so what do you do? You approximate it. There are lots of mathematical tools for approximating functions, in this case I chose the first couple terms of a taylor expansion.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Check out his &lt;a href=&quot;http://www.andrew-hoyer.com/exp_src/cloth_JS/fast_vector.js&quot;&gt;fast vector&lt;/a&gt;, &lt;a href=&quot;http://www.andrew-hoyer.com/exp_src/cloth_JS/constraint.js&quot;&gt;constraints&lt;/a&gt;, and finally the &lt;a href=&quot;http://www.andrew-hoyer.com/exp_src/cloth_JS/cloth.js&quot;&gt;cloth itself&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=GLwfZGMw_jE:UrNyxYyPHGk:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=GLwfZGMw_jE:UrNyxYyPHGk:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=GLwfZGMw_jE:UrNyxYyPHGk:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=GLwfZGMw_jE:UrNyxYyPHGk:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 03 Mar 2010 11:12:29 +0000</pubDate>
	<dc:creator>Dion Almaer</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>ajaxian: Fin: self updating template language</title>
	<guid>http://ajaxian.com/?p=8675</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/4LiPvewBK6Y/fin-self-updating-template-language</link>
	<description>&lt;p&gt;Marcus Westin has created a new templating language called &lt;a href=&quot;http://github.com/marcuswestin/fin&quot;&gt;fin&lt;/a&gt;. It is an interesting beast, and he gave us a run down:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
Since this past November I've been working on a realtime templating system I call &quot;fin&quot;. I'd love to get some eyes on it, and hope that you'll find it exciting. There is no demo, but quite a bit of information and if you're on OS X it's trivial to get the system set up on your own machine.&lt;/p&gt;
&lt;p&gt;The basic idea is this... Rather than describing your data, you describe how you want your data to be viewed. Fin takes it from there in terms of persisting new data as it gets created. In addition, all views of any piece of data is globally synchronized. If one computer makes changes to a user's name for example, then those edits are reflected for anyone viewing that user's name as well, keystroke by keystroke. The way you create value views and input views goes like &lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;a href=&quot;javascript:showCodeTxt('html-24');&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span&gt;HTML:&lt;/span&gt;
&lt;div id=&quot;html-24&quot;&gt;
&lt;div class=&quot;html&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span&gt;&amp;lt;div&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; User name: (( Value user.name )) &lt;span&gt;&lt;span&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span&gt;&amp;lt;div&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; Edit user name: (( Input user.name )) &lt;span&gt;&lt;span&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;More detailed examples can be found &lt;a href=&quot;http://github.com/marcuswestin/fin/blob/master/examples/from-html.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can also chain references to items, for example &lt;code&gt;(( Value user.friend.name ))&lt;/code&gt;. Now, if user.friend.name changes, then the Value view is instantly updated. Even cooler, if the user's friend reference changes to a new friend, then the value view will &lt;a href=&quot;http://github.com/marcuswestin/fin/blob/master/examples/property-chain.html&quot;&gt;accurately reflect the new friend's name&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To get started on OS X 10.6 is as easy as&lt;/p&gt;
&lt;pre&gt;
git clone git://github.com/marcuswestin/fin.git
cd fin
sudo make install-node
make deps
make run-couchdbx
&lt;/pre&gt;
&lt;p&gt;And voila! Just navigate to localhost/path/to/fin/examples/from-html.html and you're good to go.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=4LiPvewBK6Y:E88EOr82PVI:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=4LiPvewBK6Y:E88EOr82PVI:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=4LiPvewBK6Y:E88EOr82PVI:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=4LiPvewBK6Y:E88EOr82PVI:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Tue, 02 Mar 2010 16:35:09 +0000</pubDate>
	<dc:creator>Dion Almaer</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>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>ajaxian: New performance case studies"¦ starting with the Digg widget</title>
	<guid>http://ajaxian.com/?p=8666</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/qUW2vkuvFrI/new-performance-case-studies-starting-with-the-digg-widget</link>
	<description>&lt;p&gt;Would we all like Steve to sit down with us on our project and do a performance case study? Well, we may not get that, but we are getting to at least sit in on others.&lt;/p&gt;
&lt;p&gt;Steve has kicked off his long awaited &lt;a href=&quot;http://www.stevesouders.com/p3pc/&quot;&gt;series that runs performance case studies on third party content&lt;/a&gt;. I have been talking to Steve about this for a couple of years, so it is great to see it. It is a sensitive topic as you never want to show up a team when you are just trying to help and educate.&lt;/p&gt;
&lt;p&gt;First on the block? The &lt;a href=&quot;http://www.stevesouders.com/blog/2010/02/28/p3pc-digg-widget-3/&quot;&gt;Digg widget&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ajaxian.com/wp-content/images/diggwidgetstats.png&quot; alt=&quot;diggwidgetstats&quot; title=&quot;diggwidgetstats&quot; width=&quot;470&quot; height=&quot;59&quot; class=&quot;alignnone size-full wp-image-8667&quot;&gt;&lt;/p&gt;
&lt;p&gt;Steve goes into detail and finds a lot of short comings. You could probably guess some of the bad actors. Mr. document.write() appears for example. We get the problems, and proposed solutions to the issue. Steve also tries to note what a user of third party content can do regardless of if the third party guys fix their issues (put in iframe!).&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
Here are the most important performance issues along with recommended solutions.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; 9 HTTP requests, 52 kB transferred over the wire, and 107 kB of JavaScript (uncompressed) is a lot of content for a single widget.
&lt;p&gt;&lt;strong&gt;Recommendations:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Concatenate these three scripts: JS_Libraries, widgetjsvars, and omnidiggthis. (eliminates 2 HTTP requests)
&lt;/li&gt;
&lt;li&gt; Run &lt;a href=&quot;http://code.google.com/speed/page-speed/&quot;&gt;Page Speed's&lt;/a&gt; &quot;Defer loading JavaScript&quot;ť feature and see how much of the JavaScript is not used. If it's sizable, delete it. (This feature is currently broken in the latest version of Page Speed, but a fix is imminent.) (eliminates ?? kB)&lt;/li&gt;
&lt;li&gt; Optimize the images &quot;“ widget-logo.png and get-widget.png can both be reduced by ~3 kB. (eliminates ~6 kB)
&lt;/li&gt;
&lt;li&gt; Sprite widget-logo.png and shade-com.png. (eliminates 1 HTTP request) &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The widget's scripts block the main page's content from downloading.  Looking at the waterfall chart, the main page includes the image &quot;digg-waterfall.png&quot;ť (row 10).  Notice how this image doesn't start downloading until after all the scripts for the Digg widget are received.&lt;br&gt;
&lt;strong&gt;Recommendations:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Instead of loading the scripts using document.write, load them &lt;a href=&quot;http://www.stevesouders.com/blog/2009/04/27/loading-scripts-without-blocking/&quot;&gt;without blocking other downloads&lt;/a&gt;. The scripts are already suffering from race condition behavior, as evidenced by this comment from widgetjsvars:&lt;br&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1:&lt;/td&gt;
&lt;td&gt;if (!digg || !digg.$) setTimeout(function() { diggwb(obj); }, 200); //hack for IE not loading scripts that are included via document.write until it decides too&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So it probably isn't too much work to avoid race conditions when making all the scripts load asynchronously.
&lt;/li&gt;
&lt;li&gt;The widget's stylesheet blocks the main page from rendering in IE.
&lt;p&gt;&lt;strong&gt;Recommendations:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Instead of loading the stylesheet using document.write, load it via JavaScript as described in &lt;a href=&quot;http://www.stevesouders.com/blog/2010/02/12/5d-dynamic-stylesheets/&quot;&gt;5d dynamic stylesheets&lt;/a&gt;. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt; Four of the resources aren't cached long enough.&lt;br&gt;
&lt;strong&gt;Recommendations:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Two scripts aren't cacheable because they have an expiration date in the past. widgetjs is part of the snippet, so it can't have a long expiration date, but something like an hour or a day would be better than a date in the past. widgetjsvars could have a far future expiration date since its URL is specified in widgetjs.
&lt;/li&gt;
&lt;li&gt; The three images are only cacheable for a day. They should have a far future expires header since the image filename can be change if it's modified. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;There are approximately 30 inefficient CSS selectors. Because this stylesheet is part of the main page, the selectors will cause the overall page to render more slowly when these selectors are applied to the elements in the main page.&lt;br&gt;
&lt;strong&gt;Recommendations:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Reduce the performance impact by &lt;a href=&quot;http://www.stevesouders.com/blog/2009/06/18/simplifying-css-selectors/&quot;&gt;simplifying these CSS selectors&lt;/a&gt;. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Four of the resources have ETags which &lt;a href=&quot;http://developer.yahoo.net/blog/archives/2007/07/high_performanc_11.html&quot;&gt;reduces their cacheability&lt;/a&gt;.
&lt;p&gt;&lt;strong&gt;Recommendations:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Configure the ETags for widget.css, widget-logo.png, get-widget.png, and shade-com.png. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is just the first example. What else would you like to see Steve tackle?&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=qUW2vkuvFrI:ju8B1JK5nl0:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=qUW2vkuvFrI:ju8B1JK5nl0:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=qUW2vkuvFrI:ju8B1JK5nl0:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=qUW2vkuvFrI:ju8B1JK5nl0:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 01 Mar 2010 11:53:06 +0000</pubDate>
	<dc:creator>Dion Almaer</dc:creator>
</item>
<item>
	<title>ajaxian: Mozilla JĂ¤gerMonkey: Method based JIT + Trace based JIT = speed</title>
	<guid>http://ajaxian.com/?p=8661</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/xEfPVtw0vFc/mozilla-jagermonkey-method-based-jit-trace-based-jit-speed</link>
	<description>&lt;blockquote&gt;&lt;p&gt;
David Anderson: &quot;TraceMonkey has rocket boosters, so it runs really fast when the boosters are on, but the boosters can't always be turned on.&quot;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Opera's new JIT compiler Carakan is &lt;a href=&quot;http://ajaxian.com/archives/opera-10-50&quot;&gt;doing well as we just posted&lt;/a&gt;. What is Mozilla doing with TraceMonkey? A lot.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.mozilla.org/JaegerMonkey&quot;&gt;Mozilla JĂ¤gerMonkey&lt;/a&gt; adds method based JIT (of V8 and Nitro fame) to keep the boosters on.&lt;/p&gt;
&lt;p&gt;We learn more from &lt;a href=&quot;http://blog.mozilla.com/dmandelin/2010/02/26/starting-jagermonkey/&quot;&gt;David Mandelin&lt;/a&gt; and &lt;a href=&quot;http://www.bailopan.net/blog/?p=683&quot;&gt;David Anderson&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=xEfPVtw0vFc:K9ABe04Xl-M:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=xEfPVtw0vFc:K9ABe04Xl-M:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=xEfPVtw0vFc:K9ABe04Xl-M:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=xEfPVtw0vFc:K9ABe04Xl-M:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Sat, 27 Feb 2010 05:05:58 +0000</pubDate>
	<dc:creator>Dion Almaer</dc:creator>
</item>
<item>
	<title>ajaxian: Opera 10.50 out for Mac, impressive performance and more</title>
	<guid>http://ajaxian.com/?p=8659</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/7kN4IKOgB80/opera-10-50</link>
	<description>&lt;p&gt;The Opera team has &lt;a href=&quot;http://my.opera.com/ODIN/blog/opera-10-50-beta-for-mac-out-now&quot;&gt;released 10.50 for Mac&lt;/a&gt; and along with it some impressive performance numbers:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stabilization Improvements:&lt;/strong&gt; You will find that this build is much more stable than the pre-alpha build.
  &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;More polished user interface:&lt;/strong&gt; The whole UI is more polished now. We're still not done yet, and expect more polishes and improvements in the builds to come.
  &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Opera Unite:&lt;/strong&gt; Opera Unite now works with this release. You can browse through and download unite apps through the Unite Apps Repository.
  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTML5 &amp;lt;video&amp;gt;:&lt;/strong&gt; This beta now supports the html5 &amp;lt;video&amp;gt; tag.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Widgets as standlone apps:&lt;/strong&gt; We've already talked about widgets as standalone apps, but this functionality was till now, only available in windows builds. Now even in this build of 10.50 beta for mac, you can use widgets as standalone apps. Check out this &lt;a href=&quot;http://my.opera.com/ODIN/blog/2010/02/18/svg-edit-standalone-widget&quot; target=&quot;_blank&quot;&gt;ODIN post by Patrick Lauke on standalone widgets&lt;/a&gt; for more information.
  &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;New Developer Tools Menu: &lt;/strong&gt; You can go to 'View-&amp;gt;Developer Tools' Menu to access common and usefull tools for developers, such as Opera Dragonfly, cache information, the error console, the source code of the page, and more.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Gregg Keizer talks about the &lt;a href=&quot;http://www.computerworld.com/s/article/9156878/Opera_10.5_grabs_browser_speed_crown&quot;&gt;performance side of things&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.computerworld.com/common/images/site/news/2010/02/opera-9156878.jpg&quot; width=&quot;480&quot;&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
According to tests run by Computerworld, Opera 10.5 was nearly 15% faster than Safari for Windows and almost 20% faster than Google's Chrome, the previous No. 1 and No. 2 browsers. Opera's preview was more than twice as fast as Mozilla's Firefox 3.6, over eight times faster than Opera 10.10, and 10 times faster than Microsoft's Internet Explorer 8 (IE8).
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;We tend to talk a lot about WebKit, Moz, and IE.... congrats to the Opera team on their impressive work.&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=7kN4IKOgB80:4pg_gc8jhP8:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=7kN4IKOgB80:4pg_gc8jhP8:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=7kN4IKOgB80:4pg_gc8jhP8:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=7kN4IKOgB80:4pg_gc8jhP8:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 26 Feb 2010 21:27:43 +0000</pubDate>
	<dc:creator>Dion Almaer</dc:creator>
</item>
<item>
	<title>ajaxian: ZooTool by MooTool(s)</title>
	<guid>http://ajaxian.com/?p=8656</guid>
	<link>http://feedproxy.google.com/~r/ajaxian/~3/56IXmFvOrAI/zootool-by-mootools</link>
	<description>&lt;p&gt;Bastian Allgeier has developed a beautiful, native looking web application called &lt;a href=&quot;http://zootool.com/&quot;&gt;ZooTool&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Zootool is a visual bookmark tool for images, videos, documents and links. It is completely based on Mootools, even though it looks more like a Cappuccino app!&lt;/p&gt;
&lt;p&gt;Play with it. Enjoy it.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ajaxian.com/wp-content/images/zootool.jpg&quot; alt=&quot;zootool&quot; title=&quot;zootool&quot; width=&quot;480&quot; height=&quot;306&quot; class=&quot;alignnone size-full wp-image-8657&quot;&gt;&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=56IXmFvOrAI:P_WbT3ghg5I:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=56IXmFvOrAI:P_WbT3ghg5I:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ajaxian?a=56IXmFvOrAI:P_WbT3ghg5I:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ajaxian?i=56IXmFvOrAI:P_WbT3ghg5I:D7DqB2pKExk&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 26 Feb 2010 11:25:12 +0000</pubDate>
	<dc:creator>Dion Almaer</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>

</channel>
</rss>
