<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Gruden blog - Gruden life, the web, our latest projects &#187; Peter</title>
	<atom:link href="http://blog.gruden.com/author/peterh/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gruden.com</link>
	<description>Gruden life, the web, our latest projects</description>
	<lastBuildDate>Thu, 26 Aug 2010 03:44:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Five Things: Web Stuff We&#8217;re Thinking About</title>
		<link>http://blog.gruden.com/2010/08/five-things-web-stuff-were-thinking-about/</link>
		<comments>http://blog.gruden.com/2010/08/five-things-web-stuff-were-thinking-about/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 03:44:26 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Industry]]></category>
		<category><![CDATA[Inspiration]]></category>

		<guid isPermaLink="false">http://blog.gruden.com/?p=1431</guid>
		<description><![CDATA[Inspired by a number of Five Things posts, many of which Dan Hon has catalogued; there are some great ideas across numerous disciplines in those linked posts; ours are all very webby.


Mobile: while it&#8217;s been on our radar for a long time, the Australian market&#8217;s never had a lot of demand for mobile web; Apple [...]]]></description>
			<content:encoded><![CDATA[<p>Inspired by a number of Five Things posts, many of which Dan Hon has <a href="http://danhon.com/2010/07/12/a-collection-of-five-things/" title="Extenuating Circumstances - A Collection of Five Things">catalogued</a>; there are some great ideas across numerous disciplines in those linked posts; ours are all very webby.</p>
<ul>
<li>
<p><strong>Mobile</strong>: while it&#8217;s been on our radar for a long time, the Australian market&#8217;s never had a lot of demand for mobile web; Apple and the iPhone have helped push through the idea of the mobile web as a stripped down version of the &#8220;real&#8221; web, so we&#8217;re eagerly experimenting with our options there; curiously, at the same time, we&#8217;re seeing huge opportunities in China where some 500 million people use mobiles more than they use PCs, but are stuck with tiny and slow devices, so it&#8217;s back to WAP and the stripped-down web to support that market</p>
</li>
<li>
<p><strong>HTML5</strong>: between Google&#8217;s <a href="http://playground.html5rocks.com/">HTML5 Playground</a> and <a href="http://html5boilerplate.com/">HTML5 Boilerplate</a>, the collection of technologies under the HTML5 umbrella are suddenly becoming more widely usable, and reaching that point where we can integrate them into our day-to-day work</p>
</li>
<li>
<p><strong>Open Gov</strong>: we&#8217;re in a sort of limbo while the Australian government is headless, but recent developments, including AGIMO&#8217;s <a href="http://agimo.govspace.gov.au/2010/07/16/declaration-of-open-government/" title="AGIMO Blog - Declaration of Open Government"><em>Declaration</em></a>, around the key principles of Informing, Engaging, Participating, are very encouraging; will be interesting to see whether a new government and minister can run with it after Lindsay Tanner&#8217;s departure though; there&#8217;s some particularly thoughtful discussion going on around the role the public service plays in this, see Nick Gruen&#8217;s <a href="http://clubtroppo.com.au/2010/07/29/those-crazy-public-servants/" title="Club Troppo - Those &apos;crazy&apos; public servants">Those &#8216;crazy&#8217; public servants&#8217;</a></p>
</li>
<li>
<p><strong>Scaling</strong>: we&#8217;re experimenting with different scaling solutions on a few different fronts, with interesting things being done with caching of generated web pages, or of data or indexes, and experimenting with both scaling up and out — we&#8217;re really liking the idea of throwing very specific hardware at particular tasks, so those CPU intensive tasks can be farmed out to fast hardware where it won&#8217;t interrupt regular service; the favourite approach we&#8217;re coming back to is <em>faking it</em> — making things <em>almost live</em> rather than actually live</p>
</li>
<li>
<p><a href="http://xkcd.com/773/">Things On The Front Page Of A University Website</a><br />
<img alt="Things On The Front Page Of A University Website" src="http://imgs.xkcd.com/comics/university_website.png" width="400" /><br />
Applies, of course, to a lot more than just university websites, but it takes a lot of discipline to actually implement.</p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.gruden.com/2010/08/five-things-web-stuff-were-thinking-about/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Commercial Identity in the Social Media Space</title>
		<link>http://blog.gruden.com/2009/05/commercial-identity-in-the-social-media-space/</link>
		<comments>http://blog.gruden.com/2009/05/commercial-identity-in-the-social-media-space/#comments</comments>
		<pubDate>Tue, 26 May 2009 04:22:46 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Industry]]></category>

		<guid isPermaLink="false">http://blog.gruden.com/?p=578</guid>
		<description><![CDATA[Last week, on my personal site, I published On Chatter, an essay about Twitter, Facebook, and the nature of the always-on stream of noise, which I&#8217;m calling Chatter. We thought that some of it would be relevant to readers of the Gruden blog, so I&#8217;m reproducing a couple of excerpts here.

Starting to Get Twitter
Admittedly, it [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, on my personal site, I published <a title="wintermute :: On Chatter" href="http://wintermute.com.au/bits/2009-05/on-chatter/"><em>On Chatter</em></a>, an essay about Twitter, Facebook, and the nature of the always-on stream of noise, which I&#8217;m calling Chatter. We thought that some of it would be relevant to readers of the Gruden blog, so I&#8217;m reproducing a couple of excerpts here.</p>
<blockquote>
<h3>Starting to Get Twitter</h3>
<p>Admittedly, it took a long time (I first signed up in the second half of 2006), but Twitter has grown on me. It&#8217;s not quite right, and it&#8217;s still incredibly geeky, but it points to an always-online, always-chattering future for everyone.</p>
<p>While it&#8217;s geeky, it&#8217;s not necessarily techy, so there are a lot of different people on Twitter, every one of them using it slightly differently. Some are using it to broadcast, some are using it to chat, some are using it to keep in touch with a group of friends. Many do <a title="S/FJ :: who is on twitter" href="http://www.sashafrerejones.com/2009/01/who_is_on_twitter.html">all that and more</a>. I find myself using Twitter in two very different ways. On the one hand, I follow people for their links to news or cool new things online. I&#8217;ll ocassionally tweet in the same mode myself. But on the other hand, I follow people I know <strong>in the real world</strong>. This is, for the moment, a much smaller group of people, and their updates tend to get lost in the noise created by the first group. But it&#8217;s the mode I normally tweet in myself, and it&#8217;s by far the mode I&#8217;m most interested in.<br />
&#8230;</p>
<h3>Real People</h3>
<p>The thing about ambient intimacy, is that it really only works with real people. Characters and personas you can get away with — we&#8217;re all putting on personas, all the time, both online and in the real world. But no-one wants to be intimate with a corporation. And a corporation can&#8217;t tweet about what it had for breakfast.</p>
<p>So there&#8217;s no easy answer for companies, no three-step process to monetise those eyeballs. No-one will own the æther. There&#8217;ll be money in plugging people into the æther, and in helping them filter it. But you&#8217;ll be working with a whole lot of other people, and other systems. And through it all, you&#8217;ll have to be yourself — be a <em>real person</em>.</p>
<p>At work we&#8217;re starting to get into the social media space a whole lot more. But when we looked at the idea closely, we realised, we don&#8217;t want to go into that space as <em>Gruden</em>. Most of us already have a presence, and an identity of our own, and <em>Gruden</em> is just a part of that identity. So we blog and tweet in our own spaces, and sometimes we blog in <a title="Gruden blog - Gruden life, the web, our latest projects" href="http://blog.gruden.com/">Gruden&#8217;s space</a>, and sometimes we link or tweet each other, just like anyone else in our social space. It&#8217;s not about creating a new persona, it&#8217;s about being real people. And any company looking to get into this space needs to be ready for that — you don&#8217;t do this as a job, it&#8217;s just something you do as a person.</p></blockquote>
<p>The essay explores more of the cultural impacts of these services. But what about the impacts on companies, and on marketing? Everyone seems to be aware that &#8220;social media&#8221; is something they should be doing, but no-one&#8217;s really sure of what that means, or how they&#8217;d go about taking their brand message into the social media space. The key, however, is to not think about social media the same way you think about your traditional media. There are half-way points, like Facebook&#8217;s <a title="Facebook Pages" href="http://www.facebook.com/advertising/?pages"><em>Pages</em></a>, designed for a traditional brand presence within Facebook. But if you&#8217;re going to embrace the <em>social</em> aspects, you need to be sending real people into the space. In some ways you&#8217;re loosening control over your company&#8217;s message, letting all your employees into the social media space. Some won&#8217;t want to identify their work, some will embrace it.</p>
<p>To take it further, let key outward-facing staff (be they marketers, public relations, sales, customer service) put some of their work hours into their social media presence. Obviously, such an investment requires some return, but the pay-offs are, initially, going to be difficult to measure. The key, in the short term, is in establishing a presence as a recognisable and <em>real</em> identity.</p>
<p>Steve Rubel is arguing that, while it&#8217;s clear that Facebook and Twitter will be replaced, they won&#8217;t be replaced by a new &#8216;hub&#8217;, but rather <a title="Micropersuasion :: The Next Twitter or Facebook is the Open Web" href="http://www.micropersuasion.com/2009/04/the-next-twitter-or-facebook-is-the-open-web.html">by the open web</a>. The argument is that the web will become &#8220;one giant social network&#8221;. So you&#8217;ll no longer be able to setup your brand presence on the kids&#8217; latest favourite website, but will instead need to focus on your identity, and really participate.</p>
<blockquote><p>Marketers need to really embrace the fact that it&#8217;s peers and their data, rather than brand, that will become the primary way we make decisions. The greatest rewards will go to those who embrace and participate in as many communities as they possibly can in credible ways.</p></blockquote>
<p>The social media space is still in its infancy. It&#8217;s an area in which we&#8217;re all experimenting. It takes such a dramatic rethink of the way we market a brand that it&#8217;s bound to ruffle a few feathers. We&#8217;ll look back on this period and wonder why it was so difficult. But this experimentation is only human; it&#8217;s what makes our presence all the more real.</p>
<p>So we&#8217;ll continue experimenting with our own presence. And we&#8217;ll encourage clients to start sending people into the social media space. Some are going to be more ready than others — we&#8217;re not suggesting everyone go create a Twitter account immediately. But as you start to look at what you or your employees are <em>already doing</em> with your personal presence, you&#8217;ll find it becomes easier to bring the company into the conversation.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gruden.com/2009/05/commercial-identity-in-the-social-media-space/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Big news for the Semantic Web</title>
		<link>http://blog.gruden.com/2009/05/big-news-for-the-semantic-web/</link>
		<comments>http://blog.gruden.com/2009/05/big-news-for-the-semantic-web/#comments</comments>
		<pubDate>Mon, 25 May 2009 00:31:34 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Industry]]></category>

		<guid isPermaLink="false">http://blog.gruden.com/?p=572</guid>
		<description><![CDATA[The last couple of weeks has seen some big announcements in the Semantic Web. Google announced a number of new features at Searchology 2009. And Wolfram&#124;Alpha soft-launched a new alternative to the search engine, what they&#8217;re calling a computational knowledge engine.
These two represent two very different approaches to the semantic web. The web has traditionally [...]]]></description>
			<content:encoded><![CDATA[<p>The last couple of weeks has seen some big announcements in the Semantic Web. Google <a title="Matt Cutts :: Google Searchology 2009" href="http://www.dullest.com/blog/google-searchology-2009-search-options-google-squared-rich-snippets/">announced</a> a number of new features at Searchology 2009. And Wolfram|Alpha soft-launched a new alternative to the search engine, what they&#8217;re calling a <a title="WolframAlpha" href="http://www.wolframalpha.com/">computational knowledge engine</a>.</p>
<p>These two represent two very different approaches to the semantic web. The web has traditionally been designed and written for humans. The semantic web represents an effort to design and write the web for machines. We can run a search, look at certain results in context, and determine that one particular string is an address, another is a phone number, another is a name. But a machine struggles to tell those apart. The &#8220;lower-case&#8221; semantic web attempts to introduce some structure to the human web in order to assist a machine&#8217;s interpretation. The strong &#8220;upper-case&#8221; Semantic Web introduces data specifically designed for machines, oft-times invisible to humans.</p>
<p>The <a title="Microformats" href="http://microformats.org/">Microformats</a> effort attempts to extend the human web by encouraging the adoption of common semantic structures in order that a machine might also read this web. Google&#8217;s recent announcements included initial support for the <a title="Microformats Wiki :: hCard" href="http://microformats.org/wiki/hcard">hCard</a> and <a title="Microformats Wiki :: hReview" href="http://microformats.org/wiki/hreview">hReview</a> microformats, used to identify names and addresses (hCard) and reviews (hReview). Initially, Google are reading the hReview microformat to pull ratings for businesses and include that information in search results.</p>
<p>While it&#8217;s only in the initial stages, we&#8217;ve seen Google slowly extend search results with rich snippets in the past, and this is an indicator that they&#8217;re taking microformats seriously. This is a strong case for adding hCard (or other microformats) to your website — it&#8217;s not hard to imagine Google pulling address data and showing maps next to search results. This is something we&#8217;ll be adding to the Gruden website in the coming weeks, and we&#8217;ll include details of our implementation. In the meantime, Google&#8217;s webmaster documentation includes detailed examples to markup <a title="Google Webmasters Help :: Business and Organizations" href="http://google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=146861">business and organisation data</a>.</p>
<p>Another new Google feature sits between the lower-case and upper-case forms of the semantic web. <a title="YouTube :: Google Squared" href="http://www.youtube.com/watch?v=t2onuEXThPs">Google Squared</a> (link is to a YouTube video) lets you setup a grid for comparative search results. Eg, a search for Hotels might return different hotels down the page, with locations, prices, ratings across the page. In typical Google fashion, all this data is mined from the human web, but there&#8217;s an obvious attempt to impose machine-readable structure on the content.</p>
<p>Wolfram|Alpha has been compared to Google, but really is a radically different approach, and for a very different end. Wolfram call it a &#8220;computational knowledge engine&#8221;. It works with strongly structured data — it&#8217;s designed to give answers, not a list of results a human then needs to mine. Some example searches are:</p>
<ul>
<li><a title="Wolfram Alpha :: Sydney, Australia" href="http://www.wolframalpha.com/input/?i=Sydney%2C+Australia">Sydney, Australia</a>, which returns population data, a map, the current time and weather</li>
<li><a title="Wolfram Alpha :: apple and orange protein" href="http://www.wolframalpha.com/input/?i=apple+and+orange+protein">apple and orange protein</a>, which returns detailed nutrition information</li>
</ul>
<p>And then there are the classic unanswerable questions (via <a title="Amnesia blog :: Wolphram Alpha Easter Eggs" href="http://amnesiablog.wordpress.com/2009/05/19/wolfram-alpha-easter-eggs/">Amnesia blog</a>):</p>
<ul>
<li><a title="Wolfram Alpha :: life, the universe, and everything" href="http://www.wolframalpha.com/input/?i=life%2C+the+universe%2C+and+everything">life, the universe, and everything</a></li>
<li><a title="Wolfram Alpha :: the speed of an unladen swallow" href="http://www.wolframalpha.com/input/?i=the+speed+of+an+unladen+swallow">the speed of an unladen swallow</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.gruden.com/2009/05/big-news-for-the-semantic-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gruden site now iPhone-friendly</title>
		<link>http://blog.gruden.com/2009/04/gruden-site-now-iphone-friendly/</link>
		<comments>http://blog.gruden.com/2009/04/gruden-site-now-iphone-friendly/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 01:29:43 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Under The Hood]]></category>

		<guid isPermaLink="false">http://blog.gruden.com/?p=409</guid>
		<description><![CDATA[Being Mobile Friendly
We recently commenced an effort to make the Gruden website more mobile-friendly. With the overabundance of iPhones in our office, that provided an easy start, and an easy platform to test with.
We&#8217;ve always been believers in the separation of presentation and content. We code our HTML to best practices, with a focus on [...]]]></description>
			<content:encoded><![CDATA[<h2>Being Mobile Friendly</h2>
<p>We recently commenced an effort to make the <a href="http://www.gruden.com">Gruden website</a> more mobile-friendly. With the overabundance of iPhones in our office, that provided an easy start, and an easy platform to test with.</p>
<p>We&#8217;ve always been believers in the separation of presentation and content. We code our HTML to best practices, with a focus on semantic markup and well-structured documents. With this background, we didn&#8217;t want to go about creating a completely separate (or crippled) version of the site for mobile users. Mobile Safari on the iPhone makes it obvious that you really can deliver the <em>real</em> web on mobile. So instead, we looked into the little things we could do to incrementally improve the mobile browsing experience.</p>
<p>Everything we&#8217;ve done to date has been achieved with CSS. There&#8217;s no browser or user-agent sniffing, no redirecting users to an m-dot or dot-mobi version of the site. While such approaches are well-suited to providing mobile versions of an app (GMail comes to mind), they can be misleading when dealing with a website. As far as the end-user is concerned, they&#8217;re looking at the same website, and there&#8217;s no need for bookmarks or shared links to present something different on different devices.</p>
<p>So there are three main areas we&#8217;ve looked at:</p>
<ul>
<li>Trimming pages to improve readability</li>
<li>Increasing hit areas to help touchscreen users</li>
<li>Improving content flow to fit narrow screens</li>
</ul>
<h2>Targeting the iPhone</h2>
<pre><code>&lt;link rel="stylesheet" href="/lib/main.css"
    type="text/css" media="screen,print"&gt;
&lt;link rel="stylesheet" href="/lib/mobile.css" type="text/css"
    media="handheld, only screen and (max-device-width: 25cm)"&gt;
</code></pre>
<p>The iPhone, along with other recent mobile browsers (such as Opera), loads the &#8220;screen&#8221; stylesheet ordinarily. It ignores &#8220;handheld&#8221;, though we keep that around for the older mobile browsers that do support the type.</p>
<p>But the iPhone also supports <a title="Media Queries :: W3C" href="http://www.w3.org/TR/css3-mediaqueries/">media queries</a>, from the CSS3 spec. This lets you target devices based on the media features they support, including device-width/height, orientation, aspect-ratio, color, resolution. We&#8217;re targeting devices with a max-device-width of 25cm, which will include the iPhone, and any netbooks that go the way of supporting the directive.</p>
<h2>Trimming Pages</h2>
<p>We&#8217;re not actually doing anything server-side, and we&#8217;re still presenting most of the same content, so total download sizes aren&#8217;t going to be reduced dramatically. We already make an effort to keep download sizes pretty slim, however, and we&#8217;re not targeting those old mobile phones with web-lite browsers and 2kpbs downloads.</p>
<p>What we&#8217;re really interested in is removing noise; because we&#8217;re targeting small screens, we don&#8217;t want to be filling the screen up with unnecessary content or large images that are little more than decoration.</p>
<h3>Home — Safari</h3>
<p class="image-container"><a href="/wp-content/uploads/2009/04/home-safari.png"><img src="/wp-content/uploads/2009/04/home-safari_sm.png" alt="Home page on Safari" /></a></p>
<h3>Home — iPhone</h3>
<p class="image-container"><a href="/wp-content/uploads/2009/04/home-iphone.png"><img src="/wp-content/uploads/2009/04/home-iphone_sm.png" alt="Home page on iPhone" /></a></p>
<h3>The Differences</h3>
<p>The most obvious difference, as a user, is that we don&#8217;t have Flash on the iPhone. So we&#8217;ve a couple of images as fallback content instead of the Flash-based carousel of portfolio items.</p>
<p>But we&#8217;ve also trimmed some content. We&#8217;ve removed the footer altogether — the content is available on our Contact page, and this was a couple of screens worth of content on the iPhone. And we&#8217;ve removed the big background image (a series of tubes).</p>
<p>We&#8217;ve also pushed content to the edges of the screen rather than leaving whitespace around the content area. In CSS, we&#8217;ve changed most elements to use <code>%</code> based widths rather than pixels to better allow the device to fit the content.</p>
<h3>Solutions — Safari</h3>
<p class="image-container"><a href="/wp-content/uploads/2009/04/solutions-safari.png"><img src="/wp-content/uploads/2009/04/solutions-safari_sm.png" alt="Solutions page on Safari" /></a></p>
<h3>Solutions — iPhone</h3>
<p class="image-container"><a href="/wp-content/uploads/2009/04/solutions-iphone.png"><img src="/wp-content/uploads/2009/04/solutions-iphone_sm.png" alt="Solutions page on iPhone" /></a></p>
<h3>The Differences</h3>
<p>These are obvious. We&#8217;ve removed the large images, and removed the floated columns layout. The images are effectively decoration anyway, and would fill a screen if we left them in. This leaves the page with just the key content.</p>
<h2>Increasing Hit Areas</h2>
<p>With touch becoming a common interface, we can no longer rely on the precision of a mouse pointer, or even a stylus. Wherever we can, we&#8217;ve increased padding on elements and switched many <code>a</code> elements to <code>display:block</code>, with exaggerated boundaries.</p>
<p>Some of this can be seen in the home page examples above, where the top menu items all have a little more padding in the iPhone version.</p>
<h3>Portfolio — Safari</h3>
<p class="image-container"><a href="/wp-content/uploads/2009/04/portfolio-landing-safari.png"><img src="/wp-content/uploads/2009/04/portfolio-landing-safari_sm.png" alt="Portfolio page on Safari" /></a></p>
<h3>Portfolio — iPhone</h3>
<p class="image-container"><a href="/wp-content/uploads/2009/04/portfolio-landing-iphone.png"><img src="/wp-content/uploads/2009/04/portfolio-landing-iphone_sm.png" alt="Portfolio page on iPhone" /></a></p>
<h3>The Differences</h3>
<p>In the desktop browser version, each Portfolio item has two links — the name, and a &#8220;read more&#8221;. In the iPhone version, we hide the &#8220;read more&#8221; and have the name link displayed as a block, so the whole box becomes clickable.</p>
<h2>Improving Flow</h2>
<p>Regardless of which screens we&#8217;re targeting, horizontal scrolling has never been particularly user-friendly. On the desktop, we minimise this by limiting the width of the content area. On the iPhone, we&#8217;ve eliminated floated columns in a number of locations. Combined with the change to <code>%</code> based widths, this makes most pages better fit the width of the screen, and to flow vertically as much as possible.</p>
<h3>Portfolio Item — Safari</h3>
<p class="image-container"><a href="/wp-content/uploads/2009/04/portfolio-item-safari.png"><img src="/wp-content/uploads/2009/04/portfolio-item-safari_sm.png" alt="Portfolio item page on Safari" /></a></p>
<h3>Portfolio Item — iPhone</h3>
<p class="image-container"><a href="/wp-content/uploads/2009/04/portfolio-item-iphone.png"><img src="/wp-content/uploads/2009/04/portfolio-item-iphone_sm.png" alt="Portfolio item page on iPhone" /></a></p>
<h3>The Differences</h3>
<p>In this example, instead of floating the portfolio images alongside the content, we&#8217;ve dropped them to sit below the content instead. Because the HTML is written to flow correctly even without CSS, this was a simple matter of adding <code>width:100%</code> to any columns in the mobile CSS sheet.</p>
<h2>The Beginning</h2>
<p>This is only the beginning of our venture into making the Gruden site mobile-friendly. It does, however, demonstrate our key principles. Any difference between the desktop and mobile versions of the site needs to consider the user, and their context. We don&#8217;t want to remove any important content, but, as always, we need to keep in mind how the user is interacting with the site.</p>
<p>With the increase in popularity of mobile devices (be they phones or netbooks) with full featured web browsers, sites are going to see more and more visitors coming from devices with unique physical constraints. The changes we&#8217;ve made are all simple to implement, but provide immediate benefit to these users. And we&#8217;re going to keep working on those incremental improvements.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gruden.com/2009/04/gruden-site-now-iphone-friendly/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Flash upload widget</title>
		<link>http://blog.gruden.com/2009/02/flash-upload-widget/</link>
		<comments>http://blog.gruden.com/2009/02/flash-upload-widget/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 05:41:00 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Under The Hood]]></category>

		<guid isPermaLink="false">http://blog.gruden.com/?p=186</guid>
		<description><![CDATA[We recently released a couple of updates to NSW eTendering that included a significant improvement to the way users interact with a key process on the site &#8211; responding to government tenders electronically. Previously this was a simple form with a couple of file input fields. We have some JavaScript in place to validate certain [...]]]></description>
			<content:encoded><![CDATA[<p>We recently released a couple of updates to <a title="NSW eTendering" href="https://tenders.nsw.gov.au/">NSW eTendering</a> that included a significant improvement to the way users interact with a key process on the site &#8211; responding to government tenders electronically. Previously this was a simple form with a couple of file input fields. We have some JavaScript in place to validate certain filename rules on the client-side (to avoid telling users there was a problem <em>after</em> they&#8217;d uploaded what can be some pretty large files). And we have a script that pings the server prior to upload in order to log the fact that a user&#8217;s transaction has commenced &#8212; responses are time-sensitive, and when upload speeds can vary widely, so it&#8217;s important to record just when a user hit that submit button.</p>
<p>But as with many HTML forms, the feedback provided to users wasn&#8217;t ideal. Support staff would regularly field calls from users unsure if their upload was going through. When you&#8217;re uploading a large proposal on a slow connection, and your only feedback is IE&#8217;s little flag waving around, it can get pretty disconcerting.</p>
<p>Part-way through the <a title="NSW eTendering System Goes Live :: Gruden blog" href="/2008/11/nsw-etendering-system-goes-live/">redevelopment</a> of eTendering, we came across <a title="MOO | Custom Business Cards, MiniCards, Postcards and Stickers" href="http://www.moo.com/">Moo</a>&#8217;s implementation of <a title="SWFUpload" href="http://swfupload.org/">SWFUpload</a>, a JavaScript/Flash library that provides an interface to Flash&#8217;s FileReference, allowing us to greatly enhance the file uploading experience. We researched the implementation options and pitched it to Commerce, who responded enthusiastically. One of their most common feature requests was for more feedback around file upload when lodging responses, so the feature was quickly scheduled in as a post-live enhancement.</p>
<h3>The Design</h3>
<p>The system degrades gracefully &#8211; users without the Flash Player get ordinary file fields. With Flash Player 9+, users get a single &#8216;Browse&#8217; button, which pops up a Flash driven file dialog when clicked. After selecting a file, we output the file name and size alongside the button.</p>
<p class="image-container"><a href="/wp-content/uploads/2009/02/flash-upload-plain.png"><img src="/wp-content/uploads/2009/02/flash-upload-plain_sm.png" alt="The flash uploader interface" /></a><br />
The flash uploader interface</p>
<p>Users hit &#8216;Lodge Response&#8217; and the uploads begin, with a progress bar showing actual upload progress, and a countdown timer showing our best-guess time remaining. Users can immediately get an idea of how long the largest file is going to take, and can see if a connection drops out and the upload progress just stops.
</p>
<p class="image-container"><a href="/wp-content/uploads/2009/02/flash-upload-uploading.png"><img src="/wp-content/uploads/2009/02/flash-upload-uploading_sm.png" alt="The flash upload interface showing upload progress" /></a><br />
The flash upload interface showing upload progress</p>
<p>Once files are uploaded, the system has to compress and encrypt the files. Depending on the size of the files, this process can take up to a minute and previously at this point most browsers would just stop giving feedback altogether. So we&#8217;ve added some extra progress indication in the form of three steps  &#8220;Uploading files&#8221;, &#8220;Encrypting uploaded files&#8221;, &#8220;Preparing response receipt&#8221;. The system highlights the current step in bold, and greys out the completed step/s.
</p>
<p class="image-container"><a href="/wp-content/uploads/2009/02/flash-upload-encrypting.png"><img src="/wp-content/uploads/2009/02/flash-upload-encrypting_sm.png" alt="The flash upload interface with file upload completed" /></a><br />
The flash upload interface with file upload completed</p>
<h3>Conclusion</h3>
<p>The take-away? Never stop thinking about the end-user&#8217;s experience. We had a system that we thought worked, well enough. But a little extra feedback goes a long way.</p>
<p>We&#8217;ve uploaded <a href="/wp-content/uploads/2009/02/new-lodgement-process.swf">a screencast</a> (1.5Mb SWF) of the new process in action.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gruden.com/2009/02/flash-upload-widget/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
