<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Steve Workman</title>
	
	<link>http://www.steveworkman.com</link>
	<description>I've been designing and building web sites since 2003. This is my personal site. You'll find my work, insight and ramblings within</description>
	<lastBuildDate>Sat, 28 Apr 2012 18:55:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SteveWorkman" /><feedburner:info uri="steveworkman" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FSteveWorkman" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FSteveWorkman" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FSteveWorkman" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/SteveWorkman" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FSteveWorkman" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FSteveWorkman" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FSteveWorkman" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item>
		<title>State of the Browser 2012</title>
		<link>http://feedproxy.google.com/~r/SteveWorkman/~3/fx0KFGy3bk0/</link>
		<comments>http://www.steveworkman.com/html5-2/standards/2012/state-of-the-browser-2012/#comments</comments>
		<pubDate>Sat, 28 Apr 2012 18:53:15 +0000</pubDate>
		<dc:creator>Steve Workman</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[LWS]]></category>
		<category><![CDATA[LWSbrowser]]></category>

		<guid isPermaLink="false">http://www.steveworkman.com/?p=954</guid>
		<description><![CDATA[Just a quick post to say that State of the Browser 2012 was awesome. I had loads of fun, met a lot of great new people and heard loads of really interesting talks. If you couldn&#8217;t make it, sad times, but we streamed the whole thing live on the website. Vimeo videos will be on [...]
<strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/web-design/browsers/2008/browser-wars-the-slickspeed-test/' rel='bookmark' title='Browser Wars: The SlickSpeed Test'>Browser Wars: The SlickSpeed Test</a></li>
<li><a href='http://www.steveworkman.com/web-design/browsers/2009/its-time-to-upgrade-your-browser-no-really/' rel='bookmark' title='It&#8217;s time to upgrade your browser, no, really'>It&#8217;s time to upgrade your browser, no, really</a></li>
<li><a href='http://www.steveworkman.com/offtopic/ramblings/2008/why-i-use-opera-a-case-for-the-browser-underdog/' rel='bookmark' title='Why I Use Opera &#8211; A case for the browser underdog'>Why I Use Opera &#8211; A case for the browser underdog</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Just a quick post to say that State of the Browser 2012 was awesome. I had loads of fun, met a lot of great new people and heard loads of really interesting talks.</p>
<p>If you couldn&#8217;t make it, sad times, but we streamed the whole thing live on the website. Vimeo videos will be on the website soon, direct yourself to <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jyb3dzZXIubG9uZG9ud2Vic3RhbmRhcmRzLm9yZw==">browser.londonwebstandards.org</a> for the goodies.</p>
<p>Before that, I was taking photos, so take a look at this album to see what was going on:<br />
<a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vcGhvdG9zLzEwMjkzMTM1NTQzODMyNzY3NjI1OS9hbGJ1bXMvNTczNjUyNDQ3MDExNDg3NjMzNw=="><img src="https://lh3.googleusercontent.com/-QdkonACtjlY/T5w7GbEJ6zI/AAAAAAAAAX4/xn_ZPB70omI/s569/DSC_0002.JPG"/></a><br />
<a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vcGhvdG9zLzEwMjkzMTM1NTQzODMyNzY3NjI1OS9hbGJ1bXMvNTczNjUyNDQ3MDExNDg3NjMzNw==">https://plus.google.com/photos/102931355438327676259/albums/5736524470114876337</a></p>
<p>Steve</p>
 <img src="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=954" width="1" height="1" style="display: none;" /><p><strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/web-design/browsers/2008/browser-wars-the-slickspeed-test/' rel='bookmark' title='Browser Wars: The SlickSpeed Test'>Browser Wars: The SlickSpeed Test</a></li>
<li><a href='http://www.steveworkman.com/web-design/browsers/2009/its-time-to-upgrade-your-browser-no-really/' rel='bookmark' title='It&#8217;s time to upgrade your browser, no, really'>It&#8217;s time to upgrade your browser, no, really</a></li>
<li><a href='http://www.steveworkman.com/offtopic/ramblings/2008/why-i-use-opera-a-case-for-the-browser-underdog/' rel='bookmark' title='Why I Use Opera &#8211; A case for the browser underdog'>Why I Use Opera &#8211; A case for the browser underdog</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/BQ2AMVPIMR8zpBTf90QkLgi6onM/0/da"><img src="http://feedads.g.doubleclick.net/~a/BQ2AMVPIMR8zpBTf90QkLgi6onM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/BQ2AMVPIMR8zpBTf90QkLgi6onM/1/da"><img src="http://feedads.g.doubleclick.net/~a/BQ2AMVPIMR8zpBTf90QkLgi6onM/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.steveworkman.com/html5-2/standards/2012/state-of-the-browser-2012/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.steveworkman.com/html5-2/standards/2012/state-of-the-browser-2012/</feedburner:origLink></item>
		<item>
		<title>Sketchnotes from The Big M 2012 at Bath Digital Festival (Open Mic 13)</title>
		<link>http://feedproxy.google.com/~r/SteveWorkman/~3/63T2RjZudms/</link>
		<comments>http://www.steveworkman.com/sketchnotes/2012/sketchnotes-from-the-big-m-2012-at-bath-digital-festival-open-mic-13/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 12:40:16 +0000</pubDate>
		<dc:creator>Steve Workman</dc:creator>
				<category><![CDATA[Sketchnotes]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[bath]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[responsive web design]]></category>
		<category><![CDATA[sketchnotes]]></category>
		<category><![CDATA[the big m]]></category>

		<guid isPermaLink="false">http://www.steveworkman.com/?p=938</guid>
		<description><![CDATA[Yesterday, I went to Bath to learn about the latest in mobile development from some of the best people in the industry. We had talks from network operators, people who interact with developer advocates, how to make money from apps, digital media distribution, the future of the mobile web and talks about good web apps [...]
<strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/web-design/2011/future-of-web-design-sketchnotes/' rel='bookmark' title='Future of Web Design Sketchnotes &#8211; Day 1'>Future of Web Design Sketchnotes &#8211; Day 1</a></li>
<li><a href='http://www.steveworkman.com/web-design/2011/future-of-web-design-sketchnotes-day-2/' rel='bookmark' title='Future of Web Design Sketchnotes &#8211; Day 2'>Future of Web Design Sketchnotes &#8211; Day 2</a></li>
<li><a href='http://www.steveworkman.com/web-design/mobile/2010/dangers-of-an-open-mobile-os/' rel='bookmark' title='Dangers of an open mobile OS'>Dangers of an open mobile OS</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I went to Bath to learn about the latest in mobile development from some of the best people in the industry. We had talks from network operators, people who interact with developer advocates, how to make money from apps, digital media distribution, the future of the mobile web and talks about good web apps and responsive web design.</p>
<p>I took sketchnotes throughout the day and inked them up earlier. They were started in pen, hence being a bit rough around the edges (my <a title=\"Future of Web Design Sketchnotes – Day 1\" href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dlYi1kZXNpZ24vMjAxMS9mdXR1cmUtb2Ytd2ViLWRlc2lnbi1za2V0Y2hub3Rlcy8=">FOWD set</a> is still the<a title=\"Future of Web Design Sketchnotes – Day 2\" href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dlYi1kZXNpZ24vMjAxMS9mdXR1cmUtb2Ytd2ViLWRlc2lnbi1za2V0Y2hub3Rlcy1kYXktMi8="> high water mark</a> personally), but have a look.</p>

<a href='http://www.steveworkman.com/sketchnotes/2012/sketchnotes-from-the-big-m-2012-at-bath-digital-festival-open-mic-13/attachment/jamesparton/' title='James Parton - BlueVia'><img width="150" height="150" src="http://www.steveworkman.com/wp-content/uploads/2012/03/JamesParton-150x150.jpg" class="attachment-thumbnail" alt="Sketchnotes of James Parton - BlueVia" title="James Parton - BlueVia" /></a>
<a href='http://www.steveworkman.com/sketchnotes/2012/sketchnotes-from-the-big-m-2012-at-bath-digital-festival-open-mic-13/attachment/tomhume/' title='Tom Hume - Future Web Platforms'><img width="150" height="150" src="http://www.steveworkman.com/wp-content/uploads/2012/03/TomHume-150x150.jpg" class="attachment-thumbnail" alt="Sketchnotes of Tom Hume - Future Web Platforms" title="Tom Hume - Future Web Platforms" /></a>
<a href='http://www.steveworkman.com/sketchnotes/2012/sketchnotes-from-the-big-m-2012-at-bath-digital-festival-open-mic-13/attachment/keirangutteridge/' title='Keiran Gutteridge - Monetising Apps'><img width="150" height="150" src="http://www.steveworkman.com/wp-content/uploads/2012/03/KeiranGutteridge-150x150.jpg" class="attachment-thumbnail" alt="Sketchnotes of Keiran Gutteridge - Monetising Apps" title="Keiran Gutteridge - Monetising Apps" /></a>
<a href='http://www.steveworkman.com/sketchnotes/2012/sketchnotes-from-the-big-m-2012-at-bath-digital-festival-open-mic-13/attachment/thayer-panel/' title='Panel Session - Taking Online Offline'><img width="150" height="150" src="http://www.steveworkman.com/wp-content/uploads/2012/03/Thayer-Panel-150x150.jpg" class="attachment-thumbnail" alt="Sketchnotes of Panel Session - Taking Online Offline" title="Panel Session - Taking Online Offline" /></a>
<a href='http://www.steveworkman.com/sketchnotes/2012/sketchnotes-from-the-big-m-2012-at-bath-digital-festival-open-mic-13/attachment/karenbarber/' title='Karen Barber - Media Distribution in a Digital Age'><img width="150" height="150" src="http://www.steveworkman.com/wp-content/uploads/2012/03/KarenBarber-150x150.jpg" class="attachment-thumbnail" alt="Sketchnotes of Karen Barber - Media Distribution in a Digital Age" title="Karen Barber - Media Distribution in a Digital Age" /></a>
<a href='http://www.steveworkman.com/sketchnotes/2012/sketchnotes-from-the-big-m-2012-at-bath-digital-festival-open-mic-13/attachment/rickchapman/' title='Rick Chapman - Apps, Show me the Money!'><img width="150" height="150" src="http://www.steveworkman.com/wp-content/uploads/2012/03/RickChapman-150x150.jpg" class="attachment-thumbnail" alt="Sketchnotes of Rick Chapman - Apps, Show me the Money!" title="Rick Chapman - Apps, Show me the Money!" /></a>
<a href='http://www.steveworkman.com/sketchnotes/2012/sketchnotes-from-the-big-m-2012-at-bath-digital-festival-open-mic-13/attachment/ppk/' title='Peter-Paul Koch - The Future of Mobile Web'><img width="150" height="150" src="http://www.steveworkman.com/wp-content/uploads/2012/03/PPK-150x150.jpg" class="attachment-thumbnail" alt="Sketchnotes of Peter-Paul Koch - The Future of Mobile Web" title="Peter-Paul Koch - The Future of Mobile Web" /></a>
<a href='http://www.steveworkman.com/sketchnotes/2012/sketchnotes-from-the-big-m-2012-at-bath-digital-festival-open-mic-13/attachment/philarcher/' title='Phil Archer - Lessons from Teaching Mobile Web Best Practices'><img width="150" height="150" src="http://www.steveworkman.com/wp-content/uploads/2012/03/PhilArcher-150x150.jpg" class="attachment-thumbnail" alt="Sketchnotes of Phil Archer - Lessons from Teaching Mobile Web Best Practices" title="Phil Archer - Lessons from Teaching Mobile Web Best Practices" /></a>
<a href='http://www.steveworkman.com/sketchnotes/2012/sketchnotes-from-the-big-m-2012-at-bath-digital-festival-open-mic-13/attachment/laurakalbag/' title='Laura Kalbag - Designing for the Mobile Web'><img width="150" height="150" src="http://www.steveworkman.com/wp-content/uploads/2012/03/LauraKalbag-150x150.jpg" class="attachment-thumbnail" alt="Sketchnotes of Laura Kalbag - Designing for the Mobile Web" title="Laura Kalbag - Designing for the Mobile Web" /></a>

<p>My thanks again to <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2phbWVzcGFydG9u">James Parton</a>, <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3R3aHVtZQ==">Tom Hume</a>, <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2tndXR0ZXJpZGdl">Keiran Gutteridge</a>, <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3RoYXllcg==">Thayer Prime</a>, <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2tsYmFyYmVy">Karen Barber</a>, <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3JpY2tjYw==">Rick Chapman</a>, <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3Bwaw==">PPK</a>, <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3BoaWxhcmNoZXIx">Phil Archer</a> and <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2xhdXJha2FsYmFn">Laura Kalbag</a> for such great talks, and to Chris and Mike for putting on the event.</p>
 <img src="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=938" width="1" height="1" style="display: none;" /><p><strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/web-design/2011/future-of-web-design-sketchnotes/' rel='bookmark' title='Future of Web Design Sketchnotes &#8211; Day 1'>Future of Web Design Sketchnotes &#8211; Day 1</a></li>
<li><a href='http://www.steveworkman.com/web-design/2011/future-of-web-design-sketchnotes-day-2/' rel='bookmark' title='Future of Web Design Sketchnotes &#8211; Day 2'>Future of Web Design Sketchnotes &#8211; Day 2</a></li>
<li><a href='http://www.steveworkman.com/web-design/mobile/2010/dangers-of-an-open-mobile-os/' rel='bookmark' title='Dangers of an open mobile OS'>Dangers of an open mobile OS</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/iCmSIjnYNn36E3sn1sOsSK72YEI/0/da"><img src="http://feedads.g.doubleclick.net/~a/iCmSIjnYNn36E3sn1sOsSK72YEI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/iCmSIjnYNn36E3sn1sOsSK72YEI/1/da"><img src="http://feedads.g.doubleclick.net/~a/iCmSIjnYNn36E3sn1sOsSK72YEI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.steveworkman.com/sketchnotes/2012/sketchnotes-from-the-big-m-2012-at-bath-digital-festival-open-mic-13/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.steveworkman.com/sketchnotes/2012/sketchnotes-from-the-big-m-2012-at-bath-digital-festival-open-mic-13/</feedburner:origLink></item>
		<item>
		<title>Installing JSDom on Windows</title>
		<link>http://feedproxy.google.com/~r/SteveWorkman/~3/ewcQ0OCqvCE/</link>
		<comments>http://www.steveworkman.com/node-js/2012/installing-jsdom-on-windows/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 09:29:04 +0000</pubDate>
		<dc:creator>Steve Workman</dc:creator>
				<category><![CDATA[Node.js]]></category>
		<category><![CDATA[bug fixes]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jsdom]]></category>
		<category><![CDATA[NPM]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.steveworkman.com/?p=931</guid>
		<description><![CDATA[If you&#8217;ve ever wanted to scrape a web page and extract some information using Node.js, there&#8217;s a really useful module called JSDom that parses a document and gives you a DOM that you can then manipulate with YUI or jQuery. This all works really well&#8230; on Linux and OS X. On Windows, Node.js can&#8217;t run pre-built [...]
<strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/web-design/browsers/2009/safari-update-makes-itself-obsolete-on-windows/' rel='bookmark' title='Safari update makes itself obsolete on Windows'>Safari update makes itself obsolete on Windows</a></li>
<li><a href='http://www.steveworkman.com/html5-2/standards/2012/node-tell-at-london-web-standards-lwsnode/' rel='bookmark' title='Node &amp; Tell at London Web Standards #lwsnode'>Node &#038; Tell at London Web Standards #lwsnode</a></li>
<li><a href='http://www.steveworkman.com/html5-2/javascript/2011/improving-javascript-xml-node-finding-performance-by-2000/' rel='bookmark' title='Improving Javascript XML Node Finding Performance by 2000%'>Improving Javascript XML Node Finding Performance by 2000%</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve ever wanted to scrape a web page and extract some information using Node.js, there&#8217;s a really useful module called <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NlYXJjaC5ucG1qcy5vcmcvIy9qc2RvbQ==">JSDom</a> that parses a document and gives you a DOM that you can then manipulate with YUI or jQuery.</p>
<p>This all works really well&#8230; on Linux and OS X. On Windows, Node.js can&#8217;t run pre-built native Node.js libraries, so it has to be build by the NPM build service. This is all documented on the <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9naXRodWIuY29tL3RtcHZhci9qc2RvbS9pc3N1ZXMvMzc4">JSDom github</a> issue, but for brevity, this is what you have to do to make it work</p>
<ol>
<li>Node.js 0.6.12 is required, apparently 0.6.13 will make this easier</li>
<li>NPM 1.1.8 is required &#8211; Node.js is bundled with 1.1.4 so you&#8217;ll need to run npm install npm</li>
<li><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5weXRob24ub3JnLw==">Python 2.7</a> is required &#8211; And the python runtime needs to be on the PATH</li>
<li>Microsoft Visual C++ 2010 is also required &#8211; I&#8217;ve got the whole Visual Studio installed on my machine, but I think you&#8217;ll be able to get away with the <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL2Rvd25sb2FkL2VuL2RldGFpbHMuYXNweD9pZD01NTU1">distributable package</a></li>
<li><del>I believe you&#8217;ll also need the <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9naXRodWIuY29tL1Rvb1RhbGxOYXRlL25vZGUtZ3lw">node-gyp module</a> installed globally</del> Node-gyp is included in NPM</li>
</ol>
<div><strong>Update: </strong>Node.js 0.6.13 is now out with npm 1.1.9 and an updated node-gyp which will make this a lot easier. However, you&#8217;ll still need Python 2.7 and Visual C++ 2010</div>
<div></div>
<div><strong>Update 2: </strong>Having the Visual C++ redist package isn&#8217;t enough, you have to have Visual Studio installed too. You can get the <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Zpc3VhbHN0dWRpby9lbi11cy9wcm9kdWN0cy8yMDEwLWVkaXRpb25zL3Zpc3VhbC1jcHAtZXhwcmVzcw==">express edition for free from Microsoft here</a></div>
<p>That&#8217;s a lot of dependencies, but it should all work. Once Python and C++ are installed,  the commands you&#8217;ll need to run are:</p>
<pre>npm install -g npm</pre>
<pre><del>npm install -g node-gyp</del></pre>
<pre>npm install jsdom</pre>
<p>And that&#8217;s it. If there are build errors, let me or the JSDom team know.</p>
 <img src="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=931" width="1" height="1" style="display: none;" /><p><strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/web-design/browsers/2009/safari-update-makes-itself-obsolete-on-windows/' rel='bookmark' title='Safari update makes itself obsolete on Windows'>Safari update makes itself obsolete on Windows</a></li>
<li><a href='http://www.steveworkman.com/html5-2/standards/2012/node-tell-at-london-web-standards-lwsnode/' rel='bookmark' title='Node &amp; Tell at London Web Standards #lwsnode'>Node &#038; Tell at London Web Standards #lwsnode</a></li>
<li><a href='http://www.steveworkman.com/html5-2/javascript/2011/improving-javascript-xml-node-finding-performance-by-2000/' rel='bookmark' title='Improving Javascript XML Node Finding Performance by 2000%'>Improving Javascript XML Node Finding Performance by 2000%</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/uidC3w2Wz7ZHH2pQg9lWpGnmKwU/0/da"><img src="http://feedads.g.doubleclick.net/~a/uidC3w2Wz7ZHH2pQg9lWpGnmKwU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/uidC3w2Wz7ZHH2pQg9lWpGnmKwU/1/da"><img src="http://feedads.g.doubleclick.net/~a/uidC3w2Wz7ZHH2pQg9lWpGnmKwU/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.steveworkman.com/node-js/2012/installing-jsdom-on-windows/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.steveworkman.com/node-js/2012/installing-jsdom-on-windows/</feedburner:origLink></item>
		<item>
		<title>Node &amp; Tell at London Web Standards #lwsnode</title>
		<link>http://feedproxy.google.com/~r/SteveWorkman/~3/jxqDX-7Q4ww/</link>
		<comments>http://www.steveworkman.com/html5-2/standards/2012/node-tell-at-london-web-standards-lwsnode/#comments</comments>
		<pubDate>Sat, 03 Mar 2012 08:49:09 +0000</pubDate>
		<dc:creator>Steve Workman</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[#lwsnode]]></category>
		<category><![CDATA[LWS]]></category>
		<category><![CDATA[Node.js]]></category>

		<guid isPermaLink="false">http://www.steveworkman.com/?p=919</guid>
		<description><![CDATA[February 2012&#8242;s London Web Standards event at Forward London was an introduction to Node.js, the server-side javscript framework designed for high concurrency and real-time events. There were two sessions at the event, George Ornbo (@shapeshed) giving an introduction to Node, and a &#8220;Node &#38; Tell&#8221; session, where four sets of developers came and told the [...]
<strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/html5-2/javascript/2011/javascript-fun-at-london-web-standards-lwsfun/' rel='bookmark' title='Javascript Fun at London Web Standards #lwsfun'>Javascript Fun at London Web Standards #lwsfun</a></li>
<li><a href='http://www.steveworkman.com/html5-2/javascript/2011/improving-javascript-xml-node-finding-performance-by-2000/' rel='bookmark' title='Improving Javascript XML Node Finding Performance by 2000%'>Improving Javascript XML Node Finding Performance by 2000%</a></li>
<li><a href='http://www.steveworkman.com/node-js/2012/installing-jsdom-on-windows/' rel='bookmark' title='Installing JSDom on Windows'>Installing JSDom on Windows</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>February 2012&#8242;s <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2xvbmRvbndlYnN0YW5kYXJkcy5vcmc=">London Web Standards</a> event at Forward London was an introduction to <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL25vZGVqcy5vcmcv">Node.js</a>, the server-side javscript framework designed for high concurrency and real-time events. There were two sessions at the event, George Ornbo (<a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3NoYXBlc2hlZA==">@shapeshed</a>) giving an introduction to Node, and a &#8220;Node &amp; Tell&#8221; session, where four sets of developers came and told the gathered crowd how they&#8217;d been using Node in their work.</p>
<div id="attachment_923" class="wp-caption aligncenter" style="width: 253px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzAyL0xXU05vZGUtR2VvcmdlLU9ybmJvLnBuZw=="><img class="size-medium wp-image-923" title="LWSNode - George Ornbo" src="http://www.steveworkman.com/wp-content/uploads/2012/02/LWSNode-George-Ornbo-243x300.png" alt="" width="243" height="300" /></a><p class="wp-caption-text">LWSNode - George Ornbo</p></div>
<h3>Introduction to Node.js &#8211; George Ornbo</h3>
<p>George is a front-end javascript developer who wanted a simpler way to create web apps quickly, and in a language that he knows. Enter Node.js, with its &#8220;Event driven I/O&#8221;, or better put as &#8220;Network programming with javascript&#8221;.</p>
<p>George fired up his browser, and gave the attendees the IP address of his laptop, which was running a simple Node.js chat server, which coped incredibly well with 100 people trying to join from their phones and laptops, showing how resilient it can be on a small laptop. We were then treated to a demo of a &#8220;Love/Hate&#8221; measure, taking a data feed from Twitter in real-time, it counted and displayed a graph of the percentage of love and hate on Twitter within the last 10 minutes. Seeing the data streaming in, and then the 30 lines of code used to create that was amazing. Node is a framework that does all the hard stuff for you, and enables you to write applications quickly and efficiently.</p>
<p>George then explained why it was so fast &#8211; Node works on an event loop, rather than threads. The idea is that no operation should be blocking so that Node can always keep getting http requests and fire of requests to the database or any other data sources asyncronously. It&#8217;s a big of a head scratcher to anyone who hasn&#8217;t done much high-performance javascript before, but it&#8217;s a very efficient way to program. George showed two graphs (roughly transcribed to the notes) on node performance vs apache for high concurrency and memory usage: node wipes the floor with it. <em>Note: since this talk took place, Apache 2.4 has come out. These graphs are a bit different now but Ngix is still well ahead on speed</em></p>
<p>In summary, Node is great for high concurrency situations and for making server back-ends quickly. It&#8217;s a break from your normal programming style but is is just JavaScript when you&#8217;re over that hurdle. Give it a go!</p>
<div id="attachment_924" class="wp-caption aligncenter" style="width: 221px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzAyL0xXU05vZGUtTm9kZS1hbmQtVGVsbC5wbmc="><img class="size-medium wp-image-924" title="LWSNode - Node and Tell" src="http://www.steveworkman.com/wp-content/uploads/2012/02/LWSNode-Node-and-Tell-211x300.png" alt="" width="211" height="300" /></a><p class="wp-caption-text">Node and Tell Sessions</p></div>
<h3>Node &amp; Tell</h3>
<p>All of these 4 people gave it a go and were kind enough to show us what they&#8217;d been doing.</p>
<p>First was <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3RpbnlfbQ==">Maired Buchan</a> from Head who had made a voting system based on an Arduino and Node to collect the data. Other than that the voting machine use marble runs to capture votes, she explained that they&#8217;d tried a number of places to put the Node server to get maximum performance, eventually settling on a separate server, allowing the Arduino to just count and send a message to Node. The <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9naXRodWIuY29tL21haXJlYWQvdGhlLWFyZHVpbm8tdm90ZS1vLW1hdGlj">source code is now on GitHub</a>.</p>
<p>The second talk was from <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3RlYWJhc3M=">Andrew Nesbitt</a> talking about the <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2xudWcub3JnLw==">London Node User Group</a> (which me mentioned on and off), and showing off how he&#8217;d made the LNUG website with Node and GitHub.</p>
<p>The third talk was <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3Rob21wc29uc2ltb24=">Simon Thompson</a> talking about how he&#8217;s used Node as a prototyping language, making a drag &amp; drop filing cabinet backed by a MongoDB. He was really impressed with how simple everything was and how little setup you needed to do before everything was working.</p>
<p>The final talk from <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2RhbmllbGtuZWxs">Daniel Knell</a> and <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2ZsZXhld2Vicw==">Jason Grant</a> showed a responsive web app that found interesting things to do in your local area. Using Node to help them make some of the more complex geolocation calculations, the web app is a very simple idea that is well executed. It is so good that it won first place at a recent hack day, and they finished in half the time they were given.</p>
<h3>Node Training</h3>
<p>If you want to learn more, go to <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2xudWcub3Jn">LNUG.org</a> or look into <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2xlZnRsb2dpYy5jb20vdHJhaW5pbmc=">Remy Sharp&#8217;s training course</a>, which is an excellent introduction to Node</p>
<div class="wp-caption aligncenter" style="width: 653px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzAyLzIwMTIwMjE0LTA5MTYzNi5qcGc="><img class="size-full " src="http://www.steveworkman.com/wp-content/uploads/2012/02/20120214-091636.jpg" alt="London Web Standard crowd at Forward" width="643" height="480" /></a><p class="wp-caption-text">London Web Standard crowd at Forward</p></div>
 <img src="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=919" width="1" height="1" style="display: none;" /><p><strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/html5-2/javascript/2011/javascript-fun-at-london-web-standards-lwsfun/' rel='bookmark' title='Javascript Fun at London Web Standards #lwsfun'>Javascript Fun at London Web Standards #lwsfun</a></li>
<li><a href='http://www.steveworkman.com/html5-2/javascript/2011/improving-javascript-xml-node-finding-performance-by-2000/' rel='bookmark' title='Improving Javascript XML Node Finding Performance by 2000%'>Improving Javascript XML Node Finding Performance by 2000%</a></li>
<li><a href='http://www.steveworkman.com/node-js/2012/installing-jsdom-on-windows/' rel='bookmark' title='Installing JSDom on Windows'>Installing JSDom on Windows</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/PF3KmlYoaM10uEJK_GAPd82zkyQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/PF3KmlYoaM10uEJK_GAPd82zkyQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/PF3KmlYoaM10uEJK_GAPd82zkyQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/PF3KmlYoaM10uEJK_GAPd82zkyQ/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.steveworkman.com/html5-2/standards/2012/node-tell-at-london-web-standards-lwsnode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.steveworkman.com/html5-2/standards/2012/node-tell-at-london-web-standards-lwsnode/</feedburner:origLink></item>
		<item>
		<title>Vendor Prefixes and Evangelism</title>
		<link>http://feedproxy.google.com/~r/SteveWorkman/~3/xCf_KlmXG28/</link>
		<comments>http://www.steveworkman.com/html5-2/standards/2012/vendor-prefixes-and-evangelism/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 13:50:04 +0000</pubDate>
		<dc:creator>Steve Workman</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[CSSWG]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[vendor-prefixes]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Webkit]]></category>

		<guid isPermaLink="false">http://www.steveworkman.com/?p=912</guid>
		<description><![CDATA[If you follow any front-end web developers on Twitter today, you&#8217;ll probably have come across articles on vendor prefixes and the latest CSSWG fight over Mozilla, Microsoft and Opera wanting to implement -webkit- vendor prefixes. Before I delve into why this is happening, I want to make something very clear - this is wrong and must [...]
<strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/html5-2/2010/css3-bookshelf/' rel='bookmark' title='CSS3 Bookshelf'>CSS3 Bookshelf</a></li>
<li><a href='http://www.steveworkman.com/html5-2/standards/2009/why-iphone-web-apps-are-still-worthwhile/' rel='bookmark' title='Why iPhone Web Apps are Still Worthwhile'>Why iPhone Web Apps are Still Worthwhile</a></li>
<li><a href='http://www.steveworkman.com/html5-2/html5-css3/2010/why-css-multi-columns-arent-ready-for-prime-time/' rel='bookmark' title='Why CSS Multi-Columns aren&#8217;t ready for prime time'>Why CSS Multi-Columns aren&#8217;t ready for prime time</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>If you follow any front-end web developers on Twitter today, you&#8217;ll probably have come across articles on vendor prefixes and the latest <abbr title="CSS Working Group">CSSWG</abbr> fight over Mozilla, Microsoft and Opera wanting to implement -webkit- vendor prefixes. Before I delve into why this is happening, I want to make something very clear<strong> - this is wrong and must not happen.</strong></p>
<h3>So why is it happening?</h3>
<p>The February 2012 face-to-face meeting of the CSSWG [<a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvd3d3LXN0eWxlLzIwMTJGZWIvMDMxMy5odG1s">complete transcript</a>] had vendor prefixes on the agenda because:</p>
<blockquote>
<pre>glazou: Title is: Why and How to Implement Other Vendors' Prefixes
   tantek: This is a specific subtopic of vendor prefixes
   tantek: The problem statement right now, and this is a problem for
           Mozilla and any other non-WebKit browser
   tantek: Sites have webkit-specific content, and serve backup content to
           everyone else. Specifically for mobile content.
   tantek: Non-WebKit browsers face prisoners dilemma
   tantek: similar to quirks in 2003 or so</pre>
</blockquote>
<p><em>FYI: glazou is Daniel Glazman, chair of the CSSWG, tantek is from Mozilla. Other parties who appear in quotes are Peter Linss (HP), Florian Rivoual (Opera), Sylvain Galineau (Microsoft) and Simon Fraser (smfr from Apple).</em></p>
<p>So far, sounds reasonable, then tantek continues:</p>
<blockquote>
<pre id="body">tantek: At this point we're trying to figure out which and how many webkit
           prefix properties to actually implement support for in Mozilla
   plinss: Zero.
   tantek: Currently we have zero. Zero is no longer an option for us.</pre>
</blockquote>
<p>Suddenly, everything is turned upside down. Opera and Microsoft start saying the same thing &#8211; the argument is that of the top 1000 websites, a significant percentage uses webkit-only prefixes without the other browser prefixes.</p>
<blockquote>
<pre id="body">glazou: A long time ago, Mozilla had an Evangelism team that would call up
           the website owners and ask them to change.</pre>
</blockquote>
<p id="body">This refers to developer evangelism, people like <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2JydWNlbA==">Bruce Lawson</a>, <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3RoZWJlZWJz">Martin Beeby</a> and <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3JvYmhhd2tlcw==">Rob Hawkes</a> to name just three (Google has a <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS90ZWFtL2luZGV4Lmh0bWw/cHJvZHVjdD1jaHJvbWU=">huge team</a> - [Thanks to Michael for the correct link]). All of these people are pioneers in web technology and use vendor prefixes every day, and all of them tell developers to use the other browser&#8217;s vendor prefixes too. This is not the opinion of the CSSWG:</p>
<blockquote>
<pre id="body"> Florian, Sylvain: Evangelism has failed.
   glazou: Have you tried pinging the WASP about that? Other activists of web
           standards?
   sylvaing: If MS can't scale to handle this, you think WASP can?
   tantek: Opposite is happening right now. Web standards activists are teaching
           people to use -webkit-
   tantek: People like Lea Verou.
   tantek: Their demos are filled with -webkit-. You will see presentations
           from all the web standards advocates advocating people to use
           -webkit- prefixes.</pre>
</blockquote>
<p id="body">These words make me sad indeed. The CSSWG has lost faith in evangelists and the community upon which it relies so much that they are prepared to implement other vendor&#8217;s non-standard code and prefixes to help them gain market share back.</p>
<h3>Quirks mode all over again</h3>
<p>Yes, this is where we&#8217;re at. The current dominance of webkit, especially on mobile, is causing developers to adopt non-standard technology and only those bits of technology for webkit. This cannot happen. Daniel Glazman understands:</p>
<blockquote>
<pre id="body">tantek: What are the thresholds, even approximate, for implementing
           -webkit- properites (or none)?
   glazou: Unbelieveable we are having this discussion.
   Florian: Our job is to solve interoperability. We want to discuss it here,
            because that's our job.
   tantek: Help us minimize the damage.</pre>
</blockquote>
<p id="body">There are two problems that have been raised: that webkit has an &#8220;IE6 style&#8221; dominance over mobile, and that developers are making matters worse.</p>
<h3>Time for action</h3>
<p>The first problem is not a problem at all. It is a symptom of developer knowledge being controlled by the &#8220;latest sexy and experimental technology&#8221;. Developers are fixated on making all of those great effects that we used to have with Flash work on iPads and iPhones, and because that&#8217;s webkit only, they pay no attention to the other browsers that can use their sites. Web standards is going backwards, and it&#8217;s our fault. It&#8217;s not Apple&#8217;s, it&#8217;s not Google&#8217;s, they simply make technology available, we produce code that only targets them.</p>
<p>The first step is to admit that there is a problem. Look at your code. If there is a vendor prefix for any property ask yourself why you chose to use it. If there&#8217;s a good reason (like 2d transforms are cool) then look closer &#8211; have you put all of the other vendor prefixes there as well? Have you checked the syntax to make sure it&#8217;s the same (because that&#8217;s what vendor prefixes are for). One final thing is to make sure you never do it again. There&#8217;s tools to help like <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2xlYXZlcm91LmdpdGh1Yi5jb20vcHJlZml4ZnJlZS8=">prefix-free</a> and SASS and LESS CSS pre-processors all do this for you.</p>
<p>Do it.</p>
<h3>Change for browsers is harder</h3>
<p>I&#8217;ll <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3JlbXlzaGFycC5jb20vMjAxMi8wMi8wOS92ZW5kb3ItcHJlZml4ZXMtYWJvdXQtdG8tZ28tc291dGgv">quote directly from Remy Sharp</a> on this one:</p>
<blockquote><p>Browsers need to:</p>
<ol>
<li>Fucking drop experimental prefixes. It&#8217;s unacceptable and a disservice to the developers working with your browser. You need to give timelines to dropping these things.</li>
<li>Non-production ready browsers should support experimental prefixes, <em>production ready releases</em> <strong>should not</strong>. If it&#8217;s Chrome 16 &#8211; the stable version &#8211; experimental support should not be baked in. The properties should be full available <em>without</em> the prefix.</li>
<li>Work with the working groups (&#8230;Apple).</li>
</ol>
</blockquote>
<p>I especially like item 2 here. Too many developers use dev channels as their main browser (I know I do). This is fine, but by removing prefixes from stable browser versions has the great advantage of breaking for your clients who will be on the stable channel. This will raise bugs and force developers to change their code. It works for me has never been a good excuse, and with this change it never will be.</p>
<h3>Make some noise, Internet</h3>
<p>None of these changes will be made if we don&#8217;t get the evangelism community back on its feet. For too long have we assumed that everything is hunky-dory now that HTML5 has ridden in and saved us from non-standard implementations. I implore you, blog about this, shout about this, tell your friends and make them review their code. Vendor prefixes are here to stay, and so are the five major browsers. You must code for all of them, all the time. Shout it from the rooftops, the only good vendor prefix, is every vendor prefix.</p>
 <img src="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=912" width="1" height="1" style="display: none;" /><p><strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/html5-2/2010/css3-bookshelf/' rel='bookmark' title='CSS3 Bookshelf'>CSS3 Bookshelf</a></li>
<li><a href='http://www.steveworkman.com/html5-2/standards/2009/why-iphone-web-apps-are-still-worthwhile/' rel='bookmark' title='Why iPhone Web Apps are Still Worthwhile'>Why iPhone Web Apps are Still Worthwhile</a></li>
<li><a href='http://www.steveworkman.com/html5-2/html5-css3/2010/why-css-multi-columns-arent-ready-for-prime-time/' rel='bookmark' title='Why CSS Multi-Columns aren&#8217;t ready for prime time'>Why CSS Multi-Columns aren&#8217;t ready for prime time</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/JK6nPvnauz0myfX6pdY-i7OQ2Dw/0/da"><img src="http://feedads.g.doubleclick.net/~a/JK6nPvnauz0myfX6pdY-i7OQ2Dw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/JK6nPvnauz0myfX6pdY-i7OQ2Dw/1/da"><img src="http://feedads.g.doubleclick.net/~a/JK6nPvnauz0myfX6pdY-i7OQ2Dw/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.steveworkman.com/html5-2/standards/2012/vendor-prefixes-and-evangelism/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.steveworkman.com/html5-2/standards/2012/vendor-prefixes-and-evangelism/</feedburner:origLink></item>
		<item>
		<title>An Evening with Sprintly</title>
		<link>http://feedproxy.google.com/~r/SteveWorkman/~3/xVg_AUFx9lU/</link>
		<comments>http://www.steveworkman.com/projects/2011/an-evening-with-sprintly/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 16:41:50 +0000</pubDate>
		<dc:creator>Steve Workman</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Project trackers]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Sprint.ly]]></category>

		<guid isPermaLink="false">http://www.steveworkman.com/?p=900</guid>
		<description><![CDATA[Last night, I was lucky enough to meet Joe Stump, former Lead Architect at Digg and founder of SimpleGeo, who sat down with 7 developers near Old Street and showed us his latest creation: Sprintly. Here&#8217;s my notes from the talk. Sprintly was born out of frustration in how products are made. Joe is a [...]
<strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/web-design/facebook/2010/facebook-logins-with-facebook-connect/' rel='bookmark' title='Facebook Logins with Facebook Connect'>Facebook Logins with Facebook Connect</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Last night, I was lucky enough to meet <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3N0dS5tcC8=">Joe Stump</a>, former Lead Architect at Digg and founder of SimpleGeo, who sat down with 7 developers near Old Street and showed us his latest creation: <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NwcmludC5seQ==">Sprintly</a>. Here&#8217;s my notes from the talk.</p>
<p><iframe src="http://player.vimeo.com/video/33085361?title=0&#038;;byline=0&#038;;portrait=0" frameborder="0" width="400" height="225"></iframe></p>
<p>Sprintly was born out of frustration in how products are made. Joe is a business major, not CompSci like many Silicon Valley successes. The guiding principle behind Sprintly is that product is greater than the process.</p>
<p><strong>No time like the present</strong><br />
The first major difference to most agile tracking tools is that there&#8217;s no concept of time in Sprintly. In SCRUM, we use points, but that&#8217;s still tied back to a notion of time (where it should be effort+complexity+doubt), so it&#8217;s still a developer lying to themselves. Sprintly works with the notion of features, and those features will ship when they&#8217;re done.</p>
<p>Sprintly has Stories, Tasks, Tests and Bugs. Stories are your general user stories, Tasks are any other tasks, Tests are for developers to write tests for their code and Bugs are bugs! Any of these can be tagged with anything. A lot of teams tag with &#8220;a release&#8221; (1.0, Cupcake, whatever) which is fine, but the release will happen when stories are done or when the team decides to release something. Sprintly isn&#8217;t there to enforce the process, just help you along the way.</p>
<p><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEyL3NwcmludGx5LnBuZw=="><img class="aligncenter size-full wp-image-906" title="sprintly" src="http://www.steveworkman.com/wp-content/uploads/2011/12/sprintly.png" alt="" width="677" height="381" /></a></p>
<p><strong>The holy grail for &#8220;older&#8221; clients: e-mail integration</strong><br />
Everyone is allowed to be part of the process in adding stories to the backlog, favouriting a story or just looking around. There&#8217;s e-mail integration whereby emailing a specific Sprint.ly address and cc&#8217;ing a developer will create a task assigned to that developer with the content and attachments of that email. The developer can then respond via email and that will be added to the conversation. It&#8217;s awesome. I can see my clients getting involved with the agile process through this even though they may not be aware of it, helping manage the admin overhead of ticketing through e-mails. Long-term there will be ZenDesk support and potentially others depending upon &#8220;how much their API make me want to kill myself&#8221;.</p>
<p>Tasks can be sorted easily with the quick-sort bar which shows in-progress and backlog items. These are<strong><em> integrated with GitHub</em></strong>, but it can work with any SCM that has a post-commit hook (SVN,Perforce etc), and even those SCMs behind a firewall. Any open bugs can be modified with your commit messages, even closing or marking multiple tickets as fixed.</p>
<p><strong>Dashboards for those up top</strong><br />
There&#8217;s a dashboard with standard drag &amp; drop Kanban board on it. It&#8217;s a bit bare at the moment but this will be much improved in the future, including tools that allow managers to estimate better and identify overloaded developers. There&#8217;ll be a read/write API coming in January so developers will be able to do our own dashboards for stakeholders etc if we don&#8217;t want them to have access. Eventually Sprintly will give you daily digest emails and better integration with email when tasks are closed/broken.</p>
<p>In comparison to others, it&#8217;s got its own niche: &#8220;Jira is like bringing a thermonuclear warhead to a knife fight&#8221;, you only use 1% of it at most. Trello is similar but isn&#8217;t just for software developers, it could be used for anything so won&#8217;t be as useful in the long term.</p>
<p>Sprintly is currently getting loads of great feedback from users with around 35% retention rate for daily task usage creation, which is excellent for such a new product. You just have to search Twitter for <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly90d2l0dGVyLmNvbS8jIS9zZWFyY2gvc3ByaW50bHklMjBsb3Zl">Sprintly love</a> to see how well they&#8217;re doing.</p>
<p><strong>Making money right now, and opening beta in 2012</strong><br />
Joe talked about how important he thought it was to be making money straight away, rather than having profit as &#8220;an afterthought&#8221;. So, from January 1st 2012, Sprintly will be $9/month/seat (which is cheap compared to competitors) and it will enter open beta shortly after that.</p>
<p>I&#8217;m really looking forward to using <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NwcmludC5seQ==">Sprintly</a> in anger at the start of next year. If you want to be part of it, get yourself on the waiting list. Thanks again to Joe for talking to us and I can&#8217;t wait to start playing.</p>
 <img src="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=900" width="1" height="1" style="display: none;" /><p><strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/web-design/facebook/2010/facebook-logins-with-facebook-connect/' rel='bookmark' title='Facebook Logins with Facebook Connect'>Facebook Logins with Facebook Connect</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/2BkF9GTn_NG3g6YR4-bJHIXVt18/0/da"><img src="http://feedads.g.doubleclick.net/~a/2BkF9GTn_NG3g6YR4-bJHIXVt18/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/2BkF9GTn_NG3g6YR4-bJHIXVt18/1/da"><img src="http://feedads.g.doubleclick.net/~a/2BkF9GTn_NG3g6YR4-bJHIXVt18/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.steveworkman.com/projects/2011/an-evening-with-sprintly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.steveworkman.com/projects/2011/an-evening-with-sprintly/</feedburner:origLink></item>
		<item>
		<title>Improving Javascript XML Node Finding Performance by 2000%</title>
		<link>http://feedproxy.google.com/~r/SteveWorkman/~3/IImfTY_NckQ/</link>
		<comments>http://www.steveworkman.com/html5-2/javascript/2011/improving-javascript-xml-node-finding-performance-by-2000/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 12:59:06 +0000</pubDate>
		<dc:creator>Steve Workman</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[IE8]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jsPerf]]></category>
		<category><![CDATA[SPServices]]></category>

		<guid isPermaLink="false">http://www.steveworkman.com/?p=878</guid>
		<description><![CDATA[In my work, I&#8217;m parsing web services all of the time. Most of the time, they&#8217;re XML, which does not make the best use of bandwidth/CPU time (compared to JSON), however, if it&#8217;s all that you&#8217;re given then you can certainly get by. I&#8217;ve been looking into ways to speed up the XML document traversal [...]
<strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/html5-2/javascript/2011/javascript-fun-at-london-web-standards-lwsfun/' rel='bookmark' title='Javascript Fun at London Web Standards #lwsfun'>Javascript Fun at London Web Standards #lwsfun</a></li>
<li><a href='http://www.steveworkman.com/html5-2/standards/2012/node-tell-at-london-web-standards-lwsnode/' rel='bookmark' title='Node &amp; Tell at London Web Standards #lwsnode'>Node &#038; Tell at London Web Standards #lwsnode</a></li>
<li><a href='http://www.steveworkman.com/html5-2/standards/2011/tips-and-problems-when-enhancing-sharepoint-with-javascript/' rel='bookmark' title='Tips and Problems when Enhancing SharePoint with JavaScript'>Tips and Problems when Enhancing SharePoint with JavaScript</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<style>.code{font-family:Consolas,Courier,Serif; font-size:0.9em;}</style>
<p>In my work, I&#8217;m parsing web services all of the time. Most of the time, they&#8217;re XML, which does not make the best use of bandwidth/CPU time (compared to JSON), however, if it&#8217;s all that you&#8217;re given then you can certainly get by. I&#8217;ve been looking into ways to speed up the XML document traversal in with jQuery after the current best practice method was removed.</p>
<p>The basic way to find certain nodes in an XML web service is to use the <span class="code">.find()</span> method. This is used heavily by the <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3Nwc2VydmljZXMuY29kZXBsZXguY29tLw==">SPServices</a> jQuery helper (which is, in general, a great library).</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>xData.<span style="color: #660066;">responseXML</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;[nodeName='z:row']&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #006600; font-style: italic;">// Do stuff</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>That&#8217;s absolutely fine &#8211; it&#8217;s going to find the attribute nodeName with a value of <span class="code">z:row</span>. However, <strong>since jQuery 1.7, this method does not work</strong>. I <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTAzNzc=">raised this regression</a> in the jQuery bug tracker and was encouraged to find a solution; another selector that worked in all browsers. Unfortunately, at the time I couldn&#8217;t come up with anything better than this:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>xData.<span style="color: #660066;">responseXML</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;z<span style="color: #000099; font-weight: bold;">\\</span>:row, row&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #006600; font-style: italic;">// Do stuff</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>The <span class="code">&#8220;z\\:row&#8221;</span> selector works in IE and Firefox, and the <span class="code">&#8220;row&#8221;</span> selector works in Chrome and Safari (I&#8217;m unable to test in Opera here, sorry). This was flagged as the solution to the problem and they wouldn&#8217;t be making any fixes to the jQuery core.</p>
<p>After a few weeks of using this method, I noticed that the site had been slowing down, especially in IE, and I thought this new selector was the cause. So, I looked into the performance numbers using <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pzcGVyZi5jb20=">jsPerf</a> and I <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTA3MjA=">raised a bug</a> too. My first test was to see what the current solution was doing, and whether jQuery 1.7 had made things worse.<br />
Test case: <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pzcGVyZi5jb20vbm9kZS12cy1kb3VibGUtc2VsZWN0LzQ=">http://jsperf.com/node-vs-double-select/4</a></p>
<div id="attachment_880" class="wp-caption aligncenter" style="width: 699px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzExL0lFLXBlcmZvcm1hbmNlLWxvc3MtanExLTcucG5n"><img class="size-full wp-image-880" title="IE performance loss jq1-7" src="http://www.steveworkman.com/wp-content/uploads/2011/11/IE-performance-loss-jq1-7.png" alt="http://jsperf.com/node-vs-double-select/4" width="689" height="494" /></a><p class="wp-caption-text"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pzcGVyZi5jb20vbm9kZS12cy1kb3VibGUtc2VsZWN0LzQ=">http://jsperf.com/node-vs-double-select/4</a></p></div>
<p>So, performance in Chrome is identical for each of the selectors (and it&#8217;s the same in Firefox and Safari) but IE drops nearly half of its operations because it has to perform that second selector.</p>
<p>It&#8217;s still not very high performance though, and so I looked for other solutions.</p>
<p>Dmethvin suggested:</p>
<blockquote><p>Did you try the custom plugin in the ticket? If you&#8217;re having performance issues that should be much faster.</p></blockquote>
<p>The plugin he&#8217;s referring to is this:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery.<span style="color: #660066;">fn</span>.<span style="color: #660066;">filterNode</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">filter</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">nodeName</span> <span style="color: #339933;">===</span> <span style="color: #000066;">name</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>This filters content by their nodeName and compares it against the name that you gave it. The issue with this is that <span class="code">.filter()</span> does not traverse down the tree, staying at the level of the set of objects that it was given. Therefore, a quick solution was this:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>xData.<span style="color: #660066;">responseXML</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">filterNode</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'z:row'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #006600; font-style: italic;">// Do stuff</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>jsPerf Test: <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pzcGVyZi5jb20vbm9kZS12cy1kb3VibGUtc2VsZWN0LzE=">http://jsperf.com/node-vs-double-select/1</a></p>
<a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzExL2RlZXAtY2hpbGQtZmlsdGVyLW5vZGUucG5n"><img class="size-full wp-image-881" title="Performance increase using filter plugin" src="http://www.steveworkman.com/wp-content/uploads/2011/11/deep-child-filter-node.png" alt="" width="783" height="495" /></a>
<p>Wow, that&#8217;s about 50 times faster. Even IE beats Chrome when doing this operation. The simple reason is that it&#8217;s got a smaller set of objects to go through and it&#8217;s comparing a single attribute rather than parsing the text of the XML to try and find the namespaced element.</p>
<p>Still, I wasn&#8217;t satisfied as in order to achieve that performance, I had to know how deep I was going to be going in order to retrieve the set. So, back to the bug and another suggestion by dmethvin:</p>
<blockquote><p>If you&#8217;re going that deep, use a filter function passed to <span class="code">.find()</span>. How does that fare?</p></blockquote>
<p>After a few attempts, a colleague of mine came up with this beauty:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$.<span style="color: #660066;">fn</span>.<span style="color: #660066;">filterNode</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'*'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">filter</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">nodeName</span> <span style="color: #339933;">===</span> <span style="color: #000066;">name</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></div></div>

<p>jsPerf test: <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pzcGVyZi5jb20vbm9kZS12cy1kb3VibGUtc2VsZWN0LzM=">http://jsperf.com/node-vs-double-select/3</a><br />
<a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzExL2ZpbmQtZmlsdGVyLnBuZw=="><img src="http://www.steveworkman.com/wp-content/uploads/2011/11/find-filter.png" alt="" title="find()-filter" width="716" height="784" class="size-full wp-image-883" /></a></p>
<p><strong>Using <span class="code">.find(&#8216;*&#8217;).filter()</span> increased performance to 200x faster than the original <span class="code">.find(&#8216;z:row&#8217;)</span> selector</strong></p>
<p>I mean, <em>wow</em>, that&#8217;s incredible. On the graph, those tiny little bits of colour are the original selectors, and those only 20% of the way up are the previous massive performance increase by using filter. It should also be noted that IE8 performance using this selector increased in jQuery 1.7 in comparison to when using jQuery 1.6.</p>
<p><em>Side-note: IE10&#8242;s javascript performance is almost equal to that of Google Chrome. In comparison, IE9 (not shown) is about half of that.</em></p>
<p>The reason for this massive increase is that it&#8217;s backed by native selectors. A <span class="code">.find(&#8216;*&#8217;)</span> will translate into <span class="code">element.querySelectorAll(&#8216;*&#8217;)</span> which is very fast when compared to doing 8 <span class="code">.children()</span> calls.</p>
<p><strong>Summary</strong><br />
Dealing with large amounts of data from web services needs to be fast. Using a simple <span class="code">.find()</span> on the node name no-longer works and alternatives have been investigated. The fastest method, using a short one-line plug-in, improves performance by up to 2000% compared to the old methodology.</p>
<p>I&#8217;ll be notifying the <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3Nwc2VydmljZXMuY29kZXBsZXguY29tLw==">SPServices</a> group of this post, and hopefully they can improve the performance of their library.</p>
 <img src="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=878" width="1" height="1" style="display: none;" /><p><strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/html5-2/javascript/2011/javascript-fun-at-london-web-standards-lwsfun/' rel='bookmark' title='Javascript Fun at London Web Standards #lwsfun'>Javascript Fun at London Web Standards #lwsfun</a></li>
<li><a href='http://www.steveworkman.com/html5-2/standards/2012/node-tell-at-london-web-standards-lwsnode/' rel='bookmark' title='Node &amp; Tell at London Web Standards #lwsnode'>Node &#038; Tell at London Web Standards #lwsnode</a></li>
<li><a href='http://www.steveworkman.com/html5-2/standards/2011/tips-and-problems-when-enhancing-sharepoint-with-javascript/' rel='bookmark' title='Tips and Problems when Enhancing SharePoint with JavaScript'>Tips and Problems when Enhancing SharePoint with JavaScript</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/PoGWJ0pJXEDLyO9GiD_5Q5GNRzE/0/da"><img src="http://feedads.g.doubleclick.net/~a/PoGWJ0pJXEDLyO9GiD_5Q5GNRzE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/PoGWJ0pJXEDLyO9GiD_5Q5GNRzE/1/da"><img src="http://feedads.g.doubleclick.net/~a/PoGWJ0pJXEDLyO9GiD_5Q5GNRzE/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.steveworkman.com/html5-2/javascript/2011/improving-javascript-xml-node-finding-performance-by-2000/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		<feedburner:origLink>http://www.steveworkman.com/html5-2/javascript/2011/improving-javascript-xml-node-finding-performance-by-2000/</feedburner:origLink></item>
		<item>
		<title>Problems loading local fonts with font-family</title>
		<link>http://feedproxy.google.com/~r/SteveWorkman/~3/HCLamZeJd1o/</link>
		<comments>http://www.steveworkman.com/html5-2/html5-css3/2011/problems-loading-local-fonts-with-font-family/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 16:25:21 +0000</pubDate>
		<dc:creator>Steve Workman</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[ie10]]></category>
		<category><![CDATA[web fonts]]></category>

		<guid isPermaLink="false">http://www.steveworkman.com/?p=852</guid>
		<description><![CDATA[I&#8217;m investigating a problem with loading locally installed fonts in Windows 7. It&#8217;s a weird one this, and it only seems to affect Firefox and IE9/10, or, those browsers that use DirectWrite. The problem This image shows the beautiful Univers font in four different browsers. Each of them are rendering the following CSS: #univers55, #univers55bold, #univers45, [...]
<strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/offtopic/ramblings/2008/why-i-use-opera-a-case-for-the-browser-underdog/' rel='bookmark' title='Why I Use Opera &#8211; A case for the browser underdog'>Why I Use Opera &#8211; A case for the browser underdog</a></li>
<li><a href='http://www.steveworkman.com/html5-2/standards/2011/tips-and-problems-when-enhancing-sharepoint-with-javascript/' rel='bookmark' title='Tips and Problems when Enhancing SharePoint with JavaScript'>Tips and Problems when Enhancing SharePoint with JavaScript</a></li>
<li><a href='http://www.steveworkman.com/web-design/2008/best-practice-error-messages/' rel='bookmark' title='Best Practice Error Messages'>Best Practice Error Messages</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m investigating a problem with loading locally installed fonts in Windows 7. It&#8217;s a weird one this, and it only seems to affect Firefox and IE9/10, or, those browsers that use DirectWrite.</p>
<p><strong>The problem</strong></p>
<div id="attachment_854" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL1VuaXZlcnNUZXN0LTIucG5n"><img class="size-medium wp-image-854" title="Font rendering comparison" src="http://www.steveworkman.com/wp-content/uploads/2011/10/UniversTest-2-300x240.png" alt="Font rendering comparison" width="300" height="240" /></a><p class="wp-caption-text">Font rendering comparison: clockwise Chrome 16, IE10pp2, IE8, Firefox Aurora 9</p></div>
<p>This image shows the beautiful <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5saW5vdHlwZS5jb20vMTU2MC91bml2ZXJzLWZhbWlseS5odG1s">Univers font</a> in four different browsers. Each of them are rendering the following CSS:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#univers55</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#univers55bold</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#univers45</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#univers45bold</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">3em</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #cc00cc;">#univers55</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span><span style="color: #ff0000;">&quot;Univers 55&quot;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">serif</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
<span style="color: #cc00cc;">#univers55bold</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;Univers 55&quot;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">serif</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">font-weight</span><span style="color: #00AA00;">:</span><span style="color: #993333;">bold</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
<span style="color: #cc00cc;">#univers45</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;Univers 45 Light&quot;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">serif</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
<span style="color: #cc00cc;">#univers45bold</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;Univers 45 Light&quot;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">serif</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">font-weight</span><span style="color: #00AA00;">:</span><span style="color: #993333;">bold</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Now, Univers 45 is a light-weight font, an should be a good 10 points lighter than Univers 55, you can see this in Chrome and IE8 (top-left and bottom right). In Firefox and IE10, Univers 45 looks heavier than Univers 55, and the bold version actually appears to be the same size. That just isn&#8217;t right. So I called for reinforcements: step up <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3BhdWxyb3VnZXQ=">Paul Rouget</a> (Mozilla) and <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3RoZWJlZWJz">Martin Beeby</a> (Microsoft).</p>
<p><strong>Further investigation</strong></p>
<p>I raised a <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MzY5">bug against Firefox</a> core with a <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pzZmlkZGxlLm5ldC9DWVRkZC81Lw==">test case on jsfiddle</a> and got some good responses. Martin and Paul both asked:</p>
<blockquote><p>@steveworkman @paulrouget could you include the font-face code in the fiddle for Univers 55 and Univers 45 Light</p></blockquote>
<p>So, they thought it was something to do with the way I was including the font in the CSS. So, let&#8217;s put it in and see what happens:</p>
<div id="attachment_853" class="wp-caption aligncenter" style="width: 198px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL0ZvbnQtZmFjZS1ydWxlLWNvbXBhcmlzb24ucG5n"><img class="size-medium wp-image-853" title="Font-face rule comparison" src="http://www.steveworkman.com/wp-content/uploads/2011/10/Font-face-rule-comparison-188x300.png" alt="Font-face rule comparison" width="188" height="300" /></a><p class="wp-caption-text">Font rendering comparison with the font-face rule added</p></div>
<p>The rendering appears to have corrected itself. Univers 45 and 55 are now properly weighted in Chrome, IE10 and Firefox. So, what happened? Well,<a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MzY5I2M0"> Jonathan Kew</a> sheds a little light on the problem:</p>
<blockquote><p>Note that the @font-face rules shown in your second image are incorrect (e.g. &#8216;src: &#8220;Univers 55&#8243;&#8216; is invalid; did you mean &#8220;src: local(&#8216;Univers 55&#8242;)&#8221;?), and as a result you&#8217;re not getting Univers at all in some of those examples, you&#8217;re getting fallback to the default sans-serif font, probably Arial. Look at the shape of the &#8220;5&#8243;, for example.</p>
<p>Also note that under the DirectWrite model, font families are organized differently from the old GDI model. Family names like &#8220;Univers 45 Light&#8221; are not generally used; instead, all the faces belong to a single family, with distinct font-weight values. (But I haven&#8217;t examined the Univers family to see exactly how they&#8217;re organized.)</p></blockquote>
<p>So, yes, a little stumble over the &#8220;local(&#8216;font-name&#8217;);&#8221; issue, but otherwise it appears to be fine. The second part where he mentions that in Windows 7, font families are organised differently, and so may be under a different name intrigued me. So, I took a look:</p>
<div id="attachment_855" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL1VuaXZlcnMtRm9udHMucG5n"><img class="size-medium wp-image-855" title="Univers Fonts" src="http://www.steveworkman.com/wp-content/uploads/2011/10/Univers-Fonts-300x212.png" alt="Univers Font Families" width="300" height="212" /></a><p class="wp-caption-text">Univers Font Families</p></div>
<div id="attachment_856" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL1VuaXZlcnMtRm9udHMtNDUucG5n"><img class="size-medium wp-image-856" title="Univers Fonts-45" src="http://www.steveworkman.com/wp-content/uploads/2011/10/Univers-Fonts-45-300x212.png" alt="Univers 45 Fonts" width="300" height="212" /></a><p class="wp-caption-text">Univers 45 Fonts</p></div>
<div id="attachment_857" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL1VuaXZlcnMtRm9udHMtNTUucG5n"><img class="size-medium wp-image-857" title="Univers Fonts-55" src="http://www.steveworkman.com/wp-content/uploads/2011/10/Univers-Fonts-55-300x212.png" alt="Univers 55 Fonts" width="300" height="212" /></a><p class="wp-caption-text">Univers 55 Fonts</p></div>
<p>So, this is where it goes a bit fuzzy. I can address the &#8220;Univers 45 Light&#8221; font directly through font-face, but I can&#8217;t access the &#8220;Univers 55 Normal&#8221; font, though I can access the whole font family by looking for &#8220;Univers 55&#8243;. That doesn&#8217;t feel right to me, and needs more investigation. Still, I can at least get it to render the font when using font-face. So, is that it? Bug closed?</p>
<p><strong>Why can&#8217;t I just use font-family?</strong></p>
<p>This is the question that I want answering, and Martin has kindly <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tLyMhL3RoZWJlZWJzL3N0YXR1cy8xMzA5ODA5NDkwMjk2ODcyOTY=">volunteered</a> to look into. Loading a local font through font-family should work in exactly the same way as @font-face and src: local(); &#8211; but in Firefox and IE 9/10 it&#8217;s not.</p>
<p>So, web community, do you know why this doesn&#8217;t work? Can you make it work with the <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pzZmlkZGxlLm5ldC9DWVRkZC82Lw==">test case</a>? <strong>Please help!</strong> Leave a comment,<a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3N0ZXZld29ya21hbg=="> send me a tweet</a> or <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pzZmlkZGxlLm5ldC9DWVRkZC82Lw==">update the test case</a> and make it work!</p>
<p><strong>UPDATE 1<sup>st</sup> November 2011:</strong></p>
<p><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MzY5I2M3"> Jonathan Kew has responded again</a> with some more words of wisdom for me:</p>
<blockquote><p>The @font-face and non-@font-face cases there aren&#8217;t comparable. When you say</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;Univers 55&quot;</span><span style="color: #00AA00;">;</span></pre></div></div>

<p>without the use of @font-face, you&#8217;re requesting that _font family_, which may have multiple faces with different weights. What you&#8217;ll get when you use font-weight:bold along with this depends which faces have been grouped under that family name &#8211; which may well differ between GDI and DirectWrite environments. And if there&#8217;s no &#8220;bold&#8221; face in the family, then the browser will artificially &#8220;embolden&#8221; the text. (You can tell exactly which font is really being displayed using the &#8220;font-info&#8221; add-on, btw.) I suspect you might get a true bolder face in one case and synthetic bold in the other, but that depends very much on the structure of the font families you&#8217;re using.</p>
<p>In the @font-face case, you&#8217;re defining your own font families (independently of how the OS or the font designer organized things), and your CSS only assigns them a single (normal-weight) face each, which means that when your styles ask for font-weight:bold, you should be getting synthetic emboldening rather than a real face with a heavier weight.</p>
<p>To see what faces are supposed to be available within each family, look in the Windows Fonts folder &#8211; IIRC, this should reflect the DirectWrite organization of the fonts. Do you see separate &#8220;Univers 45&#8243; and &#8220;Univers 55&#8243; families? What faces exist in each?</p></blockquote>
<p>So, I looked back at the spec and re-engineered the @font-face CSS, and the non-font-face CSS. The non-font-face CSS was definitely wrong, so I updated that, but the @font-face CSS still wasn&#8217;t working. I looked at the font libraries as they are in Windows, and identified the following named structure:</p>
<ul>
<li>Univers 45</li>
</ul>
<ul>
<li>Univers 45 Light</li>
<li>Univers 45 Light Oblique</li>
</ul>
<li>Univers 55</li>
<ul>
<li>Univers 55 Black</li>
<li>Univers 55 Normal</li>
<li>Univers 55 Oblique</li>
</ul>
<p>Given the advice Jonathan gave me, the correct font-family should be &#8220;Univers 45&#8243; and &#8220;Univers 55&#8243;, and the correct fonts for @font-face should be &#8220;Univers 45 Light&#8221; and &#8220;Univers 55 Normal&#8221;. That gave the following results in Firefox and IE10</p>
<div id="attachment_874" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL2ZvbnQtZmFjZS5wbmc="><img class="size-medium wp-image-874" title="Font-face comparison IE10 and Firefox 9" src="http://www.steveworkman.com/wp-content/uploads/2011/10/font-face-300x138.png" alt="Font-face comparison IE10 and Firefox 9" width="300" height="138" /></a><p class="wp-caption-text">Firefox Aurora 9 (left) fails to find the font, IE10 pp2 (right) finds the font</p></div>
<p>IE is finding the correct font, but Firefox isn&#8217;t and is falling back to the serif font. I used the font finder plugin to look at which fonts were being used on the page, and the answer surprised me. When loading the Univers 55 font-family, the normal weight font is titled &#8220;Univers 55 Roman&#8221;, instead of &#8220;Univers 55 Normal&#8221;, and the bold version is &#8220;Univers 75 Black&#8221;, instead of &#8220;Univers 55 Black&#8221;.</p>
<p>So, I took a look at the system file properties for the font, and lo-and-behold, the detailed properties were different to the name of the font:</p>
<div id="attachment_875" class="wp-caption aligncenter" style="width: 182px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL3VuaXZlcnM1NS1ub3JtYWwucG5n"><img class="size-medium wp-image-875" title="univers55-normal" src="http://www.steveworkman.com/wp-content/uploads/2011/10/univers55-normal-172x300.png" alt="Univers 55 detail" width="172" height="300" /></a><p class="wp-caption-text">The file name says &quot;Normal&quot;, but the properties say &quot;Roman&quot;</p></div>
<p>I quickly looked to see if Firefox was looking for the title property instead of the file name, and I was right. If you&#8217;ve got the Univers font you can see the <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pzZmlkZGxlLm5ldC9DWVRkZC85Lw==">jsFiddle test case</a> for this, otherwise, the final result is below:</p>
<div id="attachment_876" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL2ZvbnQtZmFjZTIucG5n"><img class="size-medium wp-image-876" title="font-face2" src="http://www.steveworkman.com/wp-content/uploads/2011/10/font-face2-300x138.png" alt="Corrected Font-Face" width="300" height="138" /></a><p class="wp-caption-text">With the extra @font-face rule, Aurora renders correctly like IE10</p></div>
<p>The @font-face code goes like this:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #a1a100;">@font-face {</span>
	<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> MyUnivers55<span style="color: #00AA00;">;</span>
	src<span style="color: #00AA00;">:</span> local<span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'Univers 55 Roman'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> local<span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'Univers 55 Normal'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">font-weight</span><span style="color: #00AA00;">:</span><span style="color: #993333;">normal</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #a1a100;">@font-face {</span>
	<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> MyUnivers55<span style="color: #00AA00;">;</span>
	src<span style="color: #00AA00;">:</span> local<span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'Univers 75 Black'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> local<span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'Univers 55 Black'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">font-weight</span><span style="color: #00AA00;">:</span><span style="color: #993333;">bold</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #a1a100;">@font-face {</span>
	<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> MyUnivers45<span style="color: #00AA00;">;</span>
	src<span style="color: #00AA00;">:</span> local<span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'Univers 45 Light'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">font-weight</span><span style="color: #00AA00;">:</span><span style="color: #993333;">normal</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>It looks to me like <strong>IE and Firefox use different properties to identify fonts under Windows 7: IE looks at the name in the file system and Firefox looks at the Title attribute of the file.</strong></p>
<p>Amazingly, it looks like <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mb250cy8jc3JjLWRlc2M=">the spec doesn&#8217;t care which one is right, and advises you to include both</a> as different platforms use different naming conventions. What surprises me is that two browsers look for a different name on the same platform, as this could cause naming clashes; the Univers 55 Black is titled Univers 75 Black &#8211; so if there was also a Univers 75 Black titled Univers 85 Black, browsers are going to retrieve the wrong font.</p>
<p>So, Microsoft, Mozilla, please sort it out <img src='http://www.steveworkman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Who is right?</p>
 <img src="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=852" width="1" height="1" style="display: none;" /><p><strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/offtopic/ramblings/2008/why-i-use-opera-a-case-for-the-browser-underdog/' rel='bookmark' title='Why I Use Opera &#8211; A case for the browser underdog'>Why I Use Opera &#8211; A case for the browser underdog</a></li>
<li><a href='http://www.steveworkman.com/html5-2/standards/2011/tips-and-problems-when-enhancing-sharepoint-with-javascript/' rel='bookmark' title='Tips and Problems when Enhancing SharePoint with JavaScript'>Tips and Problems when Enhancing SharePoint with JavaScript</a></li>
<li><a href='http://www.steveworkman.com/web-design/2008/best-practice-error-messages/' rel='bookmark' title='Best Practice Error Messages'>Best Practice Error Messages</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/dii29I9-M4COuoVgehoqRVFb5rI/0/da"><img src="http://feedads.g.doubleclick.net/~a/dii29I9-M4COuoVgehoqRVFb5rI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/dii29I9-M4COuoVgehoqRVFb5rI/1/da"><img src="http://feedads.g.doubleclick.net/~a/dii29I9-M4COuoVgehoqRVFb5rI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.steveworkman.com/html5-2/html5-css3/2011/problems-loading-local-fonts-with-font-family/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.steveworkman.com/html5-2/html5-css3/2011/problems-loading-local-fonts-with-font-family/</feedburner:origLink></item>
		<item>
		<title>So, you want an app?</title>
		<link>http://feedproxy.google.com/~r/SteveWorkman/~3/HvnUJez4mUI/</link>
		<comments>http://www.steveworkman.com/web-design/mobile/2011/so-you-want-an-app/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 13:49:58 +0000</pubDate>
		<dc:creator>Steve Workman</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[flow-chart]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[PA]]></category>

		<guid isPermaLink="false">http://www.steveworkman.com/?p=836</guid>
		<description><![CDATA[Earlier this year, I was lucky enough to meet Josh Clark at FOWD. I&#8217;d been reading his articles about flagship apps and content first, and I was very keen to have a chat with him about a discussion I&#8217;d had with a client. I had been discussing which platform they should be targeting, and depending [...]
<strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/web-design/iphone-web-design/2011/handling-iphone-app-ideas/' rel='bookmark' title='Handling iPhone App Ideas'>Handling iPhone App Ideas</a></li>
<li><a href='http://www.steveworkman.com/html5-2/2011/project-wow-on-the-google-app-engine-blog/' rel='bookmark' title='Project WOW on the Google App Engine Blog'>Project WOW on the Google App Engine Blog</a></li>
<li><a href='http://www.steveworkman.com/html5-2/standards/2011/sketchnotes-from-lws3d-a-50-line-webgl-app/' rel='bookmark' title='Sketchnotes from #LWS3D &#8211; A 50-line WebGL app'>Sketchnotes from #LWS3D &#8211; A 50-line WebGL app</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Earlier this year, I was lucky enough to meet <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2dsb2JhbG1veGll">Josh Clark</a> at FOWD. I&#8217;d been reading his articles about <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2dsb2JhbG1veGllLmNvbS9ibG9nL21vYmlsZS13ZWItdnMtbmF0aXZlLnNodG1s">flagship apps</a> and content first, and I was very keen to have a chat with him about a discussion I&#8217;d had with a client. I had been discussing which platform they should be targeting, and depending upon who I was talking to at the client (and their opinions on the goals of the project) the decision on a choice of platform was different.</p>
<p>Josh, and his mobile vs native talk, positioned this decision as an &#8220;audience/content/budget&#8221; question, which matched the conversations I&#8217;d been having with my client. At the end of his talk I said to Josh, &#8220;this would make a great flow-chart, like that one that <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3Nob3VsZGl3b3JrZm9yZnJlZS5jb20v">Jessica Hische did</a>!&#8221;, &#8220;Yeah, that&#8217;d be awesome!&#8221;, said Josh.</p>
<p>I&#8217;m very pleased to say, that after some delay, it&#8217;s ready for public consumption.</p>
<p><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5wYWNvbnN1bHRpbmcuY29tL3NvLXlvdS13YW50LWFuLWFwcC8="><img class="aligncenter size-full wp-image-843" title="So, you want an app?" src="http://www.steveworkman.com/wp-content/uploads/2011/10/so-you-want-an-app-2.png" alt="So, you want an app?" width="439" height="480" /></a></p>
<p>With a lot of help from my <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5wYWNvbnN1bHRpbmcuY29t">company</a> and colleagues <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2VkaGdvb3Nl">Ed Hartwell-Goose</a>,  <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2ZpbnZlbnRpbmc=">Fin Edridge</a> and <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3NpbW9uZHJpbmc=">Simon Dring</a> we made an <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5wYWNvbnN1bHRpbmcuY29tL3NvLXlvdS13YW50LWFuLWFwcC8=">interactive flow-chart</a> to guide our clients, other industry professionals and their clients through the minefield that is choosing the platform for your app. We called it, <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5wYWNvbnN1bHRpbmcuY29tL3NvLXlvdS13YW50LWFuLWFwcC8=">&#8220;So, you want an app?&#8221;</a>.</p>
<p>It&#8217;s still a simplification of the whole process but, in researching it, three things became abundantly clear:</p>
<ol>
<li><strong>You <em>must</em> know your audience</strong> &#8211; there are no exceptions to this. People use different phones for very different things. Blackberries are used by teenagers for BBM and by corporations because of it&#8217;s security and low data usage; iPhones are very high-end consumer devices; and Android phones are thought of as being for very technically minded people, but they&#8217;re also entry-level smart phones. Picking a platform without knowing what your <em>content and its audience</em> is a recipe for disaster.</li>
<li><strong>Your content needs to be simple to access</strong> &#8211; all end-points on the flow-chart will need some form of content platform behind them to drive engagement, re-use and to keep the app up-to-date. If you&#8217;ve got an old CMS, you may have to build a light-weight web service to let your app access the content easily, quickly and efficiently. People use apps to get at content, and whether they&#8217;re a game or social media, your content is king.</li>
<li><strong>You cannot do this half-heartedly</strong> &#8211; and by that I mean you&#8217;ve got to have a decent budget. Also at FOWD, <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2NvbGRmdW1vbmtlaA==">Matt Gifford</a> was joking that the £50 website was now a £75 website; apps are suffering this problem. Apps are viewed as small, simple bits of functionality that you can knock-up in a weekend; this is simply not true. Apps are often full-sized websites with the added complexity of fitting the core content onto a tiny screen, but since they look small clients think they&#8217;re easy to make and do, and are therefore cheap. Stories in the news of <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5iYmMuY28udWsvbmV3c2JlYXQvMTIyMjQ2NzA=">14-year-olds making games in the app store top 10</a> aren&#8217;t helping either. Start with a 5-figure sum, and keep going upwards if you want your app to really succeed.</li>
</ol>
<p>I also mention <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waG9uZWdhcC5jb20=">PhoneGap</a> a lot in the flow-chart, and that&#8217;d because I genuinely believe it&#8217;s a great solution to the &#8220;discoverability&#8221; problem. This is where you have a mobile web site that isn&#8217;t getting enough exposure as people think of &#8220;apps&#8221; as items in the &#8220;app store&#8221;. PhoneGap fills this hole nicely, and gives you access to device hardware as a brilliant bonus. The tools are easy to use and <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9idWlsZC5waG9uZWdhcC5jb20v">PhoneGap Build</a> now takes all of the hard bits of building for Blackberry and Windows Phone away.</p>
<p>Still, there are gray areas in the platform selection process, especially when it comes to tight budgets and enterprise apps. If there&#8217;s only one thing you take away from this tool it should be this: <strong><em>Content is King, know your audience and how they will use your app. The rest flows from there.</em></strong></p>
<p>You can find the tool here: <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5wYWNvbnN1bHRpbmcuY29tL3NvLXlvdS13YW50LWFuLWFwcC8=">www.paconsulting.com/so-you-want-an-app</a> &#8211; I&#8217;ll post the full poster version here when it&#8217;s completed.</p>
<p>Please, let me know what you think, and let me know if you use it for a client as well, share your stories and share the tool with your friends.</p>
<p>&nbsp;</p>
 <img src="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=836" width="1" height="1" style="display: none;" /><p><strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/web-design/iphone-web-design/2011/handling-iphone-app-ideas/' rel='bookmark' title='Handling iPhone App Ideas'>Handling iPhone App Ideas</a></li>
<li><a href='http://www.steveworkman.com/html5-2/2011/project-wow-on-the-google-app-engine-blog/' rel='bookmark' title='Project WOW on the Google App Engine Blog'>Project WOW on the Google App Engine Blog</a></li>
<li><a href='http://www.steveworkman.com/html5-2/standards/2011/sketchnotes-from-lws3d-a-50-line-webgl-app/' rel='bookmark' title='Sketchnotes from #LWS3D &#8211; A 50-line WebGL app'>Sketchnotes from #LWS3D &#8211; A 50-line WebGL app</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/IroZrVtTiZGlMs0dF_fXlOUAb1s/0/da"><img src="http://feedads.g.doubleclick.net/~a/IroZrVtTiZGlMs0dF_fXlOUAb1s/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/IroZrVtTiZGlMs0dF_fXlOUAb1s/1/da"><img src="http://feedads.g.doubleclick.net/~a/IroZrVtTiZGlMs0dF_fXlOUAb1s/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.steveworkman.com/web-design/mobile/2011/so-you-want-an-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.steveworkman.com/web-design/mobile/2011/so-you-want-an-app/</feedburner:origLink></item>
		<item>
		<title>Adobe’s Acquisition of Nitobi and TypeKit: Great for them, not so much for us</title>
		<link>http://feedproxy.google.com/~r/SteveWorkman/~3/iGVpBMrSCH8/</link>
		<comments>http://www.steveworkman.com/html5-2/standards/2011/adobes-acquisition-of-nitobi-and-typekit-great-for-them-not-so-much-for-us/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 11:37:36 +0000</pubDate>
		<dc:creator>Steve Workman</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[Nitobi]]></category>
		<category><![CDATA[PhoneGap]]></category>
		<category><![CDATA[TypeKit]]></category>

		<guid isPermaLink="false">http://www.steveworkman.com/?p=825</guid>
		<description><![CDATA[Adobe has done the unthinkable, it&#8217;s actually bought two companies worth giving a crap about. Nitobi, makers of PhoneGap, and TypeKit, pioneers of the CSS3 web-font game, have been acquired by Adobe. Adobe should be thrilled. It&#8217;s now got two sets of highly skilled developers with great ideas and good products to work with. TypeKit is [...]
<strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/offtopic/ramblings/2010/5-rules-for-a-great-workspace/' rel='bookmark' title='5 Rules for a great workspace'>5 Rules for a great workspace</a></li>
<li><a href='http://www.steveworkman.com/web-design/iphone-web-design/2008/easy-iphone-applications/' rel='bookmark' title='Easy iPhone Applications'>Easy iPhone Applications</a></li>
<li><a href='http://www.steveworkman.com/web-design/mobile/2011/so-you-want-an-app/' rel='bookmark' title='So, you want an app?'>So, you want an app?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Adobe has done the unthinkable, it&#8217;s actually bought two companies worth giving a crap about. <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2dzLm5pdG9iaS5jb20vYW5kcmUvaW5kZXgucGhwLzIwMTEvMTAvMDMvbml0b2JpLWVudGVycy1pbnRvLWFjcXVpc2l0aW9uLWFncmVlbWVudC13aXRoLWFkb2JlLw==">Nitobi</a>, makers of <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waG9uZWdhcC5jb20=">PhoneGap</a>, and <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hZG9iZS5jb20vYWJvdXRhZG9iZS9wcmVzc3Jvb20vcHJlc3NyZWxlYXNlcy8yMDExMTAvQWRvYmVBY3F1aXJlc1R5cGVraXQuaHRtbA==">TypeKit</a>, pioneers of the CSS3 web-font game, have been acquired by Adobe.</p>
<p><strong>Adobe should be thrilled.</strong></p>
<p><strong></strong>It&#8217;s now got two sets of highly skilled developers with great ideas and good products to work with. TypeKit is an obvious acquisition as it&#8217;ll be part of <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hZG9iZS5jb20vcHJvZHVjdHMvY3JlYXRpdmVjbG91ZC5odG1s">Adobe&#8217;s Creative Cloud</a> offering that gives them the ability to use (and sample) a huge range of fonts across their apps.</p>
<p>Adobe have also promised that PhoneGap will remain open source, being donated to the Apache Software Foundation. This feels strange, as then Adobe just gets the developers at Nitobi themselves (who are obviously very good). This begs the question: why did Adobe bother with it?</p>
<p>Well, Adobe is a tools company &#8211; they make programs that we make other cool things with. Nitobi was also a tools company, making PhoneGap, that lots of people made cool things with. Alongside the PhoneGap framework, there were two smaller projects,<a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9idWlsZC5waG9uZWdhcC5jb20v"> PhoneGap Build</a> and <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9naXRodWIuY29tL2JyaWFubGVyb3V4L2NvcmRvdmE=">Cordova</a>.</p>
<p><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL0J1aWxkLURpYWdyYW0ucG5n"><img class="aligncenter size-full wp-image-827" title="PhoneGap Build" src="http://www.steveworkman.com/wp-content/uploads/2011/10/Build-Diagram.png" alt="PhoneGap Build" width="1024" height="431" /></a></p>
<p>PhoneGap Build takes the pain out of making PhoneGap apps for multiple platforms. If you&#8217;ve ever tried to do a build for iOS, Android and Blackberry, you know it&#8217;s a world of pain and about 10GB of tools and frameworks. PhoneGap Build takes this all away from you, and is a service that Adobe can integrate into their Cloud offering.</p>
<p>Cordova is the stand-alone desktop equivalent of PhoneGap Build. It&#8217;s creator, Brian LeRoux, recently <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly90d2l0dGVyLmNvbS8jIS9icmlhbmxlcm91eC9zdGF0dXNlcy8xMTExODkxNjUyMTkxMTkxMDQ=">said</a>:</p>
<blockquote><p>All the cli tooling prototyped in Cordova now first class in phonegap/[ios|android]. Time to update Cordova.</p></blockquote>
<p>I take this to mean that Cordova is back in focus, and Adobe will be actively looking to integrate it into DreamWeaver, in the same way it integrated jQuery Mobile.</p>
<p><strong>We should be wary</strong></p>
<p>Adobe&#8217;s track record for mergers is not great. The Macromedia merger led to a focus on Flash and Photoshop, whereas other products like DreamWeaver and Fireworks were not given the time that they deserved. Lots of people <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pbmZvd29ybGQuY29tL3QvYXBwbGljYXRpb25zL2xheW9mZnMtcGVuZGluZy1hZnRlci1hZG9iZS1tYWNyb21lZGlhLW1lcmdlci01MzA=">lost their jobs</a> in that merger too and I&#8217;d hate to see that happen to the guys at Nitobi or TypeKit.</p>
<p>We have to watch out for<strong> rising prices</strong> and being forced to <strong>buy products that we don&#8217;t need</strong>. I can see it already: with PhoneGap integrating with DreamWeaver, the easiest way to build a PhoneGap app will be with that product or Build. Yesterday, those in the PhoneGap Build program were sent a pricing structure:</p>
<div id="attachment_826" class="wp-caption aligncenter" style="width: 604px"><a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zdGV2ZXdvcmttYW4uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL3ByaWNpbmctYW5ub3VuY2VtZW50XzAucG5n"><img class="size-full wp-image-826" title="PhoneGap Pricing Announcement" src="http://www.steveworkman.com/wp-content/uploads/2011/10/pricing-announcement_0.png" alt="PhoneGap Pricing Announcement" width="594" height="302" /></a><p class="wp-caption-text">PhoneGap Pricing Announcement</p></div>
<p>I can see these prices going up, and up (and they&#8217;re not that cheap to begin with). One build a day with the free package probably isn&#8217;t enough. I hope the same doesn&#8217;t occur with TypeKit, or people will just move to one of the other services that exist (Fonts.com for example).</p>
<p>The other danger is that somewhere down the line, these products that many have come to rely upon will simply cease to exist. Merged so deep into Adobe&#8217;s pipeline, the one thing that made them great, their independence, is stripped from them and the revolutions that they make simply slow down and stop. With the core of PhoneGap, we&#8217;ve been promised that they&#8217;ll <a href="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly90d2l0dGVyLmNvbS8jIS9icmlhbmxlcm91eC9zdGF0dXMvMTIwOTA4OTY3OTUzMTg2ODE2">actually have more time for it</a> and I hope this continues for as long as possible. What I&#8217;d hate to see is the core being neglected in favor of tools for products that I don&#8217;t want to buy.</p>
<p>Fingers crossed that Adobe will really make something good this time, and that their commitment to the web and web standards continues, but I won&#8217;t be holding my breath.</p>
 <img src="http://www.steveworkman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=825" width="1" height="1" style="display: none;" /><p><strong>If you liked this, you may also like:</strong><ol>
<li><a href='http://www.steveworkman.com/offtopic/ramblings/2010/5-rules-for-a-great-workspace/' rel='bookmark' title='5 Rules for a great workspace'>5 Rules for a great workspace</a></li>
<li><a href='http://www.steveworkman.com/web-design/iphone-web-design/2008/easy-iphone-applications/' rel='bookmark' title='Easy iPhone Applications'>Easy iPhone Applications</a></li>
<li><a href='http://www.steveworkman.com/web-design/mobile/2011/so-you-want-an-app/' rel='bookmark' title='So, you want an app?'>So, you want an app?</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/CeLmgoXwIPBXLUE56HSN32ESFoI/0/da"><img src="http://feedads.g.doubleclick.net/~a/CeLmgoXwIPBXLUE56HSN32ESFoI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/CeLmgoXwIPBXLUE56HSN32ESFoI/1/da"><img src="http://feedads.g.doubleclick.net/~a/CeLmgoXwIPBXLUE56HSN32ESFoI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.steveworkman.com/html5-2/standards/2011/adobes-acquisition-of-nitobi-and-typekit-great-for-them-not-so-much-for-us/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.steveworkman.com/html5-2/standards/2011/adobes-acquisition-of-nitobi-and-typekit-great-for-them-not-so-much-for-us/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 3.466 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-05-18 06:57:37 -->

