<?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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
	<channel>
		<title>Ramblings in Utopia</title>
		<link>http://sample.org.uk/blog</link>
		<description />
		<language>en-gb</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<generator>Antimatters Blog System</generator>
				<copyright>2013 Duncan Sample</copyright>

	<feedburner:info uri="dsample" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>52.403928</geo:lat><geo:long>-0.076057</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://www.sample.org.uk/blog/rss.php" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Fwww.sample.org.uk%2Fblog%2Frss.php" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Fwww.sample.org.uk%2Fblog%2Frss.php" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><item>
		<title>Always-online consoles</title>
		<link>http://feedproxy.google.com/~r/dsample/~3/mlPuBlfqu3k/always_on_consoles</link>
		<description>&lt;p&gt;With both the PS4 and new Xbox consoles being rumoured to require an always-on Internet connection, what does that mean for your games in a few years?&lt;p&gt; &lt;p&gt;Personally, I'll be pretty depressed if all games go to an always-only DRM model. I feel like it will be the apocalypse for future historical-gaming hobbyists.&lt;/p&gt;

&lt;p&gt;Having backed a lot of games on Kickstarter related to the games of my youth (eg. DoubleFine's &lt;a href="http://www.brokenagegame.com/"&gt;Broken Age&lt;/a&gt;), and seeing the rumours of the next generation of Playstation and Xbox consoles requiring an always-on Internet connection in order to play games.&lt;/p&gt;

&lt;p&gt;Games are also going in the same direction. The new &lt;a href="http://www.simcity.com/"&gt;Sim City&lt;/a&gt; from EA had some very public issues when their servers couldn't keep up with demand, and so did Bizzard's &lt;a href="http://www.diablo3.com/"&gt;Diablo III&lt;/a&gt; when it was released. Both games have a single-player game but cannot be played offline, and their predecessors all had the possibility to play offline.&lt;/p&gt;

&lt;p&gt;The guys on &lt;a href="http://twit.tv/tnt"&gt;Tech News Today&lt;/a&gt; have discussed the topic a bit, both at the time of the Sim City issues as well as the coming console releases. They mainly talk about the DRM side of things, but didn't really seem to disagree too strongly, with the comments seeming to boil down to everyone having an internet connection anyway, so what's the big deal, and other comments similar to "the games are so integrated to the servers now, of course they need a connection", even if they dislike the DRM side of things. I worry about the future though.&lt;/p&gt;

&lt;p&gt;Counter-Strike, and other Valve games have a very high online gaming factor, yet they can be played without an Internet connection, since Valve provide the server software within Steam, not just the clients. That's how it's been with Valve games ever since the early days of Half-Life, and other past games have had similar support, or 'hacked' support thanks to a community keen to keep them alive (eg. EA's &lt;a href="http://www.uo.com/"&gt;Ultima Online&lt;/a&gt;). Going back a bit further to Doom, Quake, Diablo II, et al, the games could be played over a good ol' NetBIOS or IPX/SPX network, and when TCP/IP came along they allowed a larger number of player and followed with online multi-player.&lt;/p&gt;

&lt;p&gt;I grew up playing Acorn Electron and Commodore 64 games, and thankfully our parents still have those computers as well as hundreds of game tapes, and if the tapes haven't deteriorated beyond use and we can find a compatible TV, we would be able able to hook it up to the TV and play those same old games, even if the companies/developers that made them aren't in business any more.&lt;/p&gt;

&lt;p&gt;Having backed the &lt;a href="http://www.kickstarter.com/projects/1195082866/from-bedrooms-to-billions"&gt;From Bedrooms to Billions&lt;/a&gt; Kickstarter project and watched a few of their teaser videos, I've had some tears in my eyes thinking back to the feeling of accomplishment at getting the games running when friends brought their computers around, and I'm looking forward to showing my future kids some of the history of computers and gaming, but I think there's going to be a bit of a gap in their education when it comes to the 2010-present time frame.&lt;/p&gt;

&lt;p&gt;So, to my point, after all that rambling. Even multi-player games (including MMOs) don't really &lt;em&gt;require&lt;/em&gt; a connection, they &lt;em&gt;force&lt;/em&gt; a connection to fulfil their business goals. People will find a way, but people who want to stay legit will have to jump through hoops to be able to play their games in a few short years time when servers are turned off... they're only penalising the their loyal customers, which sounds like a bad way to keep them loyal.&lt;/p&gt;

&lt;p&gt;To add insult to injury, some companies think it's acceptable to release selected games from their archives wrapped in custom emulators as games on Xbox Live Arcade Android/iOS stores, and charge multiple times as much as the original tape would have cost, while again, people who don't care too much about being legit have been playing all of the games using emulators built by enthusiasts.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dsample?a=mlPuBlfqu3k:M25mWN3Zj3Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=mlPuBlfqu3k:M25mWN3Zj3Y:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=mlPuBlfqu3k:M25mWN3Zj3Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=mlPuBlfqu3k:M25mWN3Zj3Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=mlPuBlfqu3k:M25mWN3Zj3Y:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=mlPuBlfqu3k:M25mWN3Zj3Y:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<pubDate>Thu, 25 Apr 2013 15:23:44 -0700</pubDate>
		<category>gaming</category> 
<category>computing</category> 
<category>history</category> 
<category>nostalgia</category> 
<category>C64</category> 
<category>Acorn Electron</category> 
	<feedburner:origLink>http://sample.org.uk/blog/post/always_on_consoles</feedburner:origLink></item>
	<item>
		<title>CSS table-row creates a table on-the-fly</title>
		<link>http://feedproxy.google.com/~r/dsample/~3/gkHzFjFe8x8/css_table_issues_on_tablets</link>
		<description>&lt;p&gt;A strange issue with the way browsers render CSS table-row elements&lt;p&gt; &lt;p&gt;At work we have a table of data where we expand an item of the table (when clicked) by inserting a row in between, and filling that new row with more detailed information (using jQuery).&lt;/p&gt;

&lt;p&gt;The new row needs to span the complete width of the table, and since we had some issues with getting this to work I thought I'd document my findings for others that might be going through similar issues.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Bear in mind that we're styling the table, so some of the issues might be more/less pronounced depending on how much styling you're doing.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;HTML tables redraw when inserting rows&lt;/h2&gt;

&lt;p&gt;We started off by trying HTML tables, since our data is pretty much tabular, and having real table markup seemed logical, and we'd then have 'free' functionality of the columns lining up.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;table&amp;gt;
    &amp;lt;thead&amp;gt;
        &amp;lt;tr&amp;gt;
            &amp;lt;th&amp;gt;Header&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Header&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Header&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Header&amp;lt;/th&amp;gt;
        &amp;lt;/tr&amp;gt;
    &amp;lt;/thead&amp;gt;
    &amp;lt;tbody&amp;gt;
        &amp;lt;tr&amp;gt;
            &amp;lt;td&amp;gt;Row 1&amp;lt;/td&amp;gt;
            &amp;lt;td&amp;gt;Row 1&amp;lt;/td&amp;gt;
            &amp;lt;td&amp;gt;Row 1&amp;lt;/td&amp;gt;
            &amp;lt;td&amp;gt;Row 1&amp;lt;/td&amp;gt;
        &amp;lt;/tr&amp;gt;
        &amp;lt;tr&amp;gt;
            &amp;lt;td colspan="4"&amp;gt;Full width row (inserted dynamically)&amp;lt;/td&amp;gt;
        &amp;lt;/tr&amp;gt;
        &amp;lt;tr&amp;gt;
            &amp;lt;td&amp;gt;Row 2&amp;lt;/td&amp;gt;
            &amp;lt;td&amp;gt;Row 2&amp;lt;/td&amp;gt;
            &amp;lt;td&amp;gt;Row 2&amp;lt;/td&amp;gt;
            &amp;lt;td&amp;gt;Row 2&amp;lt;/td&amp;gt;
        &amp;lt;/tr&amp;gt;
    &amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This approach worked on desktop browsers but in Safari on iOS (iPad with iOS 5 &amp;amp; 6), the insertion process caused a very strange redrawing issue which you could see quite clearly for just less than a second each time.&lt;/p&gt;

&lt;h2&gt;Swapping to CSS tables&lt;/h2&gt;

&lt;p&gt;The most simple iteration from the HTML table was to swap all elements to DIVs and then style them as a table using CSS3 &lt;code&gt;display: table&lt;/code&gt;, &lt;code&gt;display: table-row&lt;/code&gt; and &lt;code&gt;display: table-cell&lt;/code&gt; styles.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;div class="table"&amp;gt;
    &amp;lt;div class="row head"&amp;gt;
        &amp;lt;div class="cell"&amp;gt;Header&amp;lt;/div&amp;gt;
        &amp;lt;div class="cell"&amp;gt;Header&amp;lt;/div&amp;gt;
        &amp;lt;div class="cell"&amp;gt;Header&amp;lt;/div&amp;gt;
        &amp;lt;div class="cell"&amp;gt;Header&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class="row"&amp;gt;
        &amp;lt;div class="cell"&amp;gt;Row 1&amp;lt;/div&amp;gt;
        &amp;lt;div class="cell"&amp;gt;Row 1&amp;lt;/div&amp;gt;
        &amp;lt;div class="cell"&amp;gt;Row 1&amp;lt;/div&amp;gt;
        &amp;lt;div class="cell"&amp;gt;Row 1&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class="row"&amp;gt;
        &amp;lt;div class="fullwidth-cell"&amp;gt;Full width row (inserted dynamically)&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class="row"&amp;gt;
        &amp;lt;div class="cell"&amp;gt;Row 2&amp;lt;/div&amp;gt;
        &amp;lt;div class="cell"&amp;gt;Row 2&amp;lt;/div&amp;gt;
        &amp;lt;div class="cell"&amp;gt;Row 2&amp;lt;/div&amp;gt;
        &amp;lt;div class="cell"&amp;gt;Row 2&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;

.table {
  display: table;
  width: 100%;
}
.row {
  display: table-row;
  width: 100%;
}
.cell {
  display: table-cell;
  width: 25%;
}
.fullwidth-cell {
  /* OPTION 1 */
  display: block; /* or without display definition */

  /* OPTION 2 */
  display: table-cell;

  width: 100%;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;em&gt;This is where the tricky issue reared it's head.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;Option 1 - display: block&lt;/h3&gt;

&lt;p&gt;We first choose to make the full-width cell a &lt;code&gt;block&lt;/code&gt; element (and take out the &lt;code&gt;row&lt;/code&gt; container). Again, there didn't seem to be a major issue with desktop browsers, although occasionally some of the table looked misaligned after a full-width div had been inserted and subsequently removed.&lt;/p&gt;

&lt;p&gt;On the iPads the issue was even worse though. Each time an expanded row was inserted, it would be placed above the table rather than in-between the rows, where it was situated within the DOM. &lt;em&gt;My hypothesis at this point was that it's treating the CSS table as if it were an HTML table, and the inserted &lt;code&gt;block&lt;/code&gt; element got forced outside of the table, just as a DIV in between HTML table rows would be, and instead rendered above the table.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Knowing that it's not necessary to exactly match the table -&gt; row -&gt; cell heirachy in CSS we decided to remove the &lt;code&gt;display: table&lt;/code&gt; definition from the CSS. We expected that each row would then be an independant block, and although we'd have to be more careful to make sure column boundaries lined up between rows, we should be able to insert block elements without issue because each row would be an independant &lt;code&gt;table-row&lt;/code&gt; block without a table linking them together.&lt;/p&gt;

&lt;p&gt;The issue was the same, misalignment and occasional other visual glitches on desktop, and the block is inserted above the table on iPad.&lt;/p&gt;

&lt;h3&gt;Option 2 - display: table-cell&lt;/h3&gt;

&lt;p&gt;We then decided to try changing from &lt;code&gt;block&lt;/code&gt; to &lt;code&gt;table-row&lt;/code&gt; or &lt;code&gt;table-cell&lt;/code&gt; with &lt;code&gt;width: 100%&lt;/code&gt;. However, any combination of this CSS caused the full-width block to be the same width of the first cell on the row above/below, so couldn't be used.&lt;/p&gt;

&lt;p&gt;You might wonder how you can make it do the same as &lt;code&gt;colspan="4"&lt;/code&gt; from the HTML example in CSS... you can't, which is very annoying. This also exacerbates the issue with the table-rows being connected together on-the-fly by the browser.&lt;/p&gt;

&lt;h2&gt;So what's actually happening?&lt;/h2&gt;

&lt;p&gt;Based on experiments, it appears that the browser rendering engine (at least Webkit) detects sibling &lt;code&gt;table-row&lt;/code&gt; elements, and rather than rendering them as ad-hoc one-row tables, it groups them together to create a proper table. This means that overflowing content that makes a cell wider also affects the rest of the table.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;At least on desktop (Chrome)&lt;/em&gt;, when a &lt;code&gt;block&lt;/code&gt; element is inserted in between &lt;code&gt;table-row&lt;/code&gt; elements, the rendering engine breaks up the table it's made for itself into two tables, one above and one below the inserted block, with their own column width matching.&lt;/p&gt;

&lt;p&gt;When you change the inserted block to a &lt;code&gt;table-row&lt;/code&gt; and &lt;code&gt;table-cell&lt;/code&gt;, the browser sees a single cell on a row, and since there is no colspan property, matches the cell to the first column, and sets the width property likewise to match the rest of the table.&lt;/p&gt;

&lt;h2&gt;Solution&lt;/h2&gt;

&lt;p&gt;Remove the &lt;code&gt;table-row&lt;/code&gt; CSS, and instead rely on &lt;code&gt;block&lt;/code&gt; and the fact that the cell widths add up to 100% to deal with the row separation. The full-width block can then be added without major issues.&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Check your CSS widths carefully&lt;/strong&gt;. We had filled the row completely with content, so had very little room to maneuvre in order to keep all columns on all rows (especially since we use percentage widths rather than pixels). Don't forget to account for padding, margin and borders in your calculations, although if you're using percentage widths tracking the few pixels added by borders is difficult/impossible purely in CSS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use a grid where possible&lt;/strong&gt;. We couldn't easily use a grid framework as each cell needed to be a different width because of the content, but if it would perhaps have made life easier if we could have found a grid system that worked.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dsample?a=gkHzFjFe8x8:e5NV_C5gybw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=gkHzFjFe8x8:e5NV_C5gybw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=gkHzFjFe8x8:e5NV_C5gybw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=gkHzFjFe8x8:e5NV_C5gybw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=gkHzFjFe8x8:e5NV_C5gybw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=gkHzFjFe8x8:e5NV_C5gybw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<pubDate>Tue, 12 Mar 2013 15:28:06 -0700</pubDate>
		<category>CSS</category> 
<category>HTML</category> 
<category>web design</category> 
	<feedburner:origLink>http://sample.org.uk/blog/post/css_table_issues_on_tablets</feedburner:origLink></item>
	<item>
		<title>First impressions of Google's Project Glass</title>
		<link>http://feedproxy.google.com/~r/dsample/~3/cZl9gGeVgi0/google_projectglass</link>
		<description>&lt;p&gt;Just a few comments about Project Glass after watching the concept video and seeing a few photos&lt;p&gt; &lt;p&gt;So, you've probably all seen the video by now, but just in case you haven't, &lt;a href="http://www.youtube.com/watch?v=9c6W4CCU9M4&amp;amp;list=PL512764DE353B940B&amp;amp;index=5&amp;amp;feature=plpp_video"&gt;watch it&lt;/a&gt; below.&lt;/p&gt;

&lt;p class="fullwidth"&gt;
&lt;iframe width="640" height="360" src="https://www.youtube.com/embed/9c6W4CCU9M4?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Clearly this is a concept video, just as any other you've seen in the past (the ones I always think about are the Nokia &lt;a href="http://www.youtube.com/watch?v=Aw2yiOhsFsc&amp;amp;list=PL512764DE353B940B&amp;amp;index=4&amp;amp;feature=plpp_video"&gt;Morph&lt;/a&gt; and &lt;a href="http://www.youtube.com/watch?v=G32JmZkRddc&amp;amp;list=PL512764DE353B940B&amp;amp;index=3&amp;amp;feature=plpp_video"&gt;888&lt;/a&gt; ones), but this one has been released via the 'front door' rather than being leaked or simply shown as a 'concept of the future', and they've even displayed a prototype in photos and now to some tech journalists.&lt;/p&gt;

&lt;p class="fullwidth"&gt;
&lt;a href="http://www.flickr.com/photos/thomashawk/7050489913/" title="Google Co-Founder Sergey Brin Sports the New Google Glasses at Dinner in the Dark, a Benefit for the Foundation Fighting Blindness -- San Francisco, CA by Thomas Hawk, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7189/7050489913_0e0a968707_z.jpg" width="640" height="427" alt="Google Co-Founder Sergey Brin Sports the New Google Glasses at Dinner in the Dark, a Benefit for the Foundation Fighting Blindness -- San Francisco, CA"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;This photo is not just a great photo because of it being worn by &lt;a href="http://en.wikipedia.org/wiki/Sergey_Brin"&gt;Sergey Brin&lt;/a&gt;, it's great because you can clearly seen the complete side of the prototype device, while the official photos only show it on a long-haired woman. The reason why I think this is important is that it clearly shows that the device stops before the ear, and does not incorporate any 'Oakleys THUMP' style earbuds. Of course it's possible, and reasonable that there could be a socket for an earbud at the rear of the device, but personally I hope not, as there are plenty of bluetooth headsets that could be paired with the glasses/accompanying Android phone. The lack of earbuds does pose a question though, how the call at the end of the video works.&lt;/p&gt;

&lt;p&gt;I wasn't planning on this initial post being a long post, so instead of going into a detailed description here are a couple of simple points of observation about that photo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The device appears to be self-contained. The glasses frame could be concealing a wire to a secondary module, but I'm lead to believe there isn't one, and the rucksack Sergey's wearing is said to be unnecessary for the device to function.&lt;/li&gt;
&lt;li&gt;There are no earbuds, meaning the concept video showing a call at the end can't be easily achieved unless an additional headset is worn (not necessarily a problem)&lt;/li&gt;
&lt;li&gt;If this is self-contained, the the frame is simply a way for non-glasses wearing people to use it, and it could probably then be clipped on to existing prescription glasses. This is presuming the display does not have any need to project an image into the eye, and is just a display that floats.&lt;/li&gt;
&lt;li&gt;The display looks like a prism, and has no back. This could mean that it's using refraction to project the picture towards the eye rather than having it float.&lt;/li&gt;
&lt;li&gt;The side seems a little chunky for the location it is, and may obstruct peripheral vision. I would personally prefer a thinner side leading up to the corner section, and have a slightly chunkier back section near/behind the ear if necessary.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are also a couple of questions I'd like to find answers to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Does this require a phone/host device to function fully?&lt;/strong&gt; I hope so, as having to have another SIM (and data subscription) would be annoying.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How is it picking up the speech commands?&lt;/strong&gt; Having it always listening for keywords must be battery-intensive, but having a button to push could be tedious.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How does the device produce a 'full-frame' image?&lt;/strong&gt; Since the display seems to only cover the top half of the eye, it would seem logical that the user would have to look upwards to get see the display.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I plan to do a more thorough review/comment post/video about the concept, as well as a roundup of the mobile accessories I already own and how they (or devices like them) could work together to form a holistic Personal Area Network (PAN). I'll hopefully get around to doing that this weekend, but suffice to say I think it's an awesome idea, and hope it's not too far away from production/beta testing (although I have no hope of getting to try it until it's in production).&lt;/p&gt;

&lt;h2&gt;Update 2012-06-01&lt;/h2&gt;

&lt;p class="fullwidth"&gt;
&lt;a href="http://current.com/shows/the-gavin-newsom-show/videos/sergey-brin-demos-google-glasses-prototype/" title="Google Co-Founder Sergey Brin showing off Project Glass on The Gavin Newsom Show"&gt;&lt;img src="/blog/images/post_imgs/google_glasses_side.png" width="640" height="427" alt="Google Co-Founder Sergey Brin showing off Project Glass on The Gavin Newsom Show"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.curatorscode.org" target="_blank" style="font-family:sans-serif;text-decoration:none;" &gt;&amp;#5413;&lt;/a&gt; &lt;a href="http://current.com/shows/the-gavin-newsom-show/videos/sergey-brin-demos-google-glasses-prototype/"&gt;The Gavin Newsom Show&lt;/a&gt;, &lt;a href="http://www.curatorscode.org" target="_blank" style="font-family:sans-serif;text-decoration:none" &gt;&amp;#8620;&lt;/a&gt; &lt;a href="http://twit.tv/twig/149"&gt;This Week in Google episode 149&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So from the photo above you might be able to tell that the device is a little larger than I originally thought, but doesn't look huge. The frame is now black, and part of the device is hidden behind the ear. There is a touch screen on the panel next to the eyepiece (in the photo Sergey's manipulating it in reverse using his left index finger) for gesturing, so it seems the device may not be looking for eye gestures, which I'm happy about, although you could look a little silly touching your glasses like that all the time.&lt;/p&gt;

&lt;p&gt;Something else you may also be able to tell from the photo is that from the 'outside' you can also see the screen to some degree, so you won't be able to secretly look up information about the person you're talking to, or ignore them and read news/blogs without being caught out. That could end up being a good way to stop people being too antisocial with them, but if it's a too detailed view it could be annoying when using these in public to browse privately.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dsample?a=cZl9gGeVgi0:1x55d1kW6nQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=cZl9gGeVgi0:1x55d1kW6nQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=cZl9gGeVgi0:1x55d1kW6nQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=cZl9gGeVgi0:1x55d1kW6nQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=cZl9gGeVgi0:1x55d1kW6nQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=cZl9gGeVgi0:1x55d1kW6nQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<pubDate>Fri, 06 Apr 2012 08:58:09 -0700</pubDate>
		<category>gadget</category> 
<category>technology</category> 
<category>Google</category> 
<category>innovation</category> 
<category>Project Glass</category> 
	<feedburner:origLink>http://sample.org.uk/blog/post/google_projectglass</feedburner:origLink></item>
	<item>
		<title>What my Tourettes was like as a kid</title>
		<link>http://feedproxy.google.com/~r/dsample/~3/4DmrfciqOtg/my_tourettes</link>
		<description>&lt;p&gt;I just stumbled upon this video which reminds me a lot of myself when I was between 8-12 years old, and I thought I'd share it in case people were wondering how Tourettes affected me as a kid.&lt;p&gt; &lt;p&gt;I used to have the head movement, the arm and the squeak, among other tics. The video here shows more-or-less how I remember an average day being.&lt;/p&gt;

&lt;p&gt;It's constant head movements like that which caused me to 'give up' reading, and be very slow at writing. I *can* read, and reading magazines, webpages, etc. isn't a problem, but reading a page of a book from start to finish can be a real chore, and it something I don't do for fun. How did I get through school/university? I learnt to do homework from when I was at junior school, where no-one else would have it, which I guess also prepared me for secondary school where the real homework starts getting dished out. In secondary school we would always roleplay any English Literature books ('Romeo &amp; Juliet', 'Macbeth' and 'Of Mice And Men'), and following along in the book was easier then, and I picked up the skill of skimming, so in tests I could find the right part of a section of text/book without needing to read/reread a chapter or page. At university I was lucky enough to be able to pick everything I didn't already know up without the need for heavy reference books.&lt;/p&gt;

&lt;p&gt;Nowadays my Tourettes syndrome is pretty much unnoticeable (never having had any form of medication, in case you're wondering), but occasionally I have a bad day where at least I notice I'm doing something.&lt;/p&gt;

&lt;p&gt;Unlike some though, I wouldn't want a cure for my Tourettes, it's just who I am, and I attribute some great decisions in my life to having had it, one of which being my parents sending me to learn to touch-type when I was 8 pretty much as soon as I was diagnosed, which started me on my path to programming.&lt;/p&gt;

&lt;p&gt;Ok, now for the video:&lt;/p&gt;

&lt;iframe width="640" height="360" src="http://www.youtube-nocookie.com/embed/Q60QQk7eLdo?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dsample?a=4DmrfciqOtg:gfqAnz1zxog:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=4DmrfciqOtg:gfqAnz1zxog:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=4DmrfciqOtg:gfqAnz1zxog:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=4DmrfciqOtg:gfqAnz1zxog:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=4DmrfciqOtg:gfqAnz1zxog:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=4DmrfciqOtg:gfqAnz1zxog:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<pubDate>Sat, 14 Jan 2012 11:51:28 -0800</pubDate>
		<category>tourettes</category> 
	<feedburner:origLink>http://sample.org.uk/blog/post/my_tourettes</feedburner:origLink></item>
	<item>
		<title>So-called standards</title>
		<link>http://feedproxy.google.com/~r/dsample/~3/fE9_vQqsDz4/so-called_standards</link>
		<description>&lt;p&gt;An analyst reader contacted me asking for some information regarding home automation standards, and since I felt like having a bit of a rant, I thought I'd write my answer as a blog post.&lt;p&gt; &lt;p&gt;&lt;em&gt;This has again turned into a mammoth post, so reader discretion is advised, feel free to skip over any parts which bore you... heck, I'm don't even proof-read these posts because they're &lt;a href="http://en.wikipedia.org/wiki/Wikipedia:Too_long;_didn%27t_read"&gt;TLDR&lt;/a&gt; :o)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;First, an analogy.  This evening we watched a documentary made by the BBC called '&lt;a href="http://www.bbc.co.uk/programmes/b00scpzn"&gt;The Box That Changed Britain&lt;/a&gt;', and a very notable quote from it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"It's kind of amazing to me to look at all these boxes here, and these were all designed by Keith Tantlinger, back in 1956, and they had patents for all these, and he convinced Malcolm McLean to give the patents to the industry.  So that meant everybody could come in with the same twist-lock safe-guard, and it was an amazing system."&lt;/p&gt;

&lt;p&gt;"By giving up his patents, McLean made it easier for rivals to copy his design, rather than come up with their own ones.  This encouraged standardisation, meaning that today any container can be handled at any of the world's major ports, without any problems of compatibility"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today, the reason why things are made worldwide, and why we can afford to have those things in our lives is because Malcolm McLean and Keith Tantlinger released their patents for a greater cause.  The same needs to happen for Home Automation.  Until we have a standard that isn't patent encumbered, and is cheap to replicate and produce, we will not have a 'standard'.&lt;/p&gt;

&lt;p&gt;In &lt;a href="/blog/post/home_automation_standards"&gt;my previous post&lt;/a&gt; I do mention them as 'standards', but the whole nature of a standard is that people adopt it as the specification to use when doing X, and none of the current 'standards' (hence the 's' in standards) have managed it.&lt;/p&gt;

&lt;p&gt;We've seen the same thing happen in video and audio media in the past, and although the best standard on paper might not win every time (and hardly ever does), we desperately need this to happen in the home automation industry.  The other industries which have fought over this have been in fierce markets, and the winner has been announced in a matter of a couple of years (unless they can live 'happily' in parallel, as with many audio formats), but the home automation industry doesn't have this luxury of a fast-paced cut-throat market, they're a niche, and until they recognise that they need to work together to get into the mainstream, I'm afraid the only home automation people are likely to buy are the cheap 'Standby Saver' type of products.&lt;/p&gt;

&lt;h2&gt;Where are the home automation standards going?&lt;/h2&gt;

&lt;p&gt;Every year at CES there seems to be a whole new set of hype around more home automation manufacturers, with even more pretty touchscreen control systems but they never seem to actually get anything to the market.&lt;/p&gt;

&lt;p&gt;For now, I personally think it's a fight all of the manufacturers are losing, and if you read the 'homebrew' section later on there might be better alternatives coming from the open source community.&lt;/p&gt;

&lt;h2&gt;So which standard would I bet on?&lt;/h2&gt;

&lt;h3&gt;The 'official' approach&lt;/h3&gt;

&lt;p&gt;Well, if you read &lt;a href="/blog/post/home_automation_standards"&gt;my previous post&lt;/a&gt; you might think I'm routing for Z-Wave, but that wouldn't be the case.  I chose Z-Wave because of it's ability to be a retrofit solution, since it's completely wireless, but from comments I understand that C-Bus and Rako both are able to be retrofit, and of course a hybrid hardwire/wireless solution would be ideal, to be able to 'go anywhere'.&lt;/p&gt;

&lt;p&gt;Apart from the pricing, I would lean towards C-Bus, from the 'standards' I've looked into so far.  They have nice-looking devices, and seem to have a good technical solution&lt;/p&gt;

&lt;p&gt;Zigbee, used in Alert-Me's products, many energy monitors, and a lot of industrial use-cases, I would like to see more of it, but for the moment it's too proprietary for me to think about.&lt;/p&gt;

&lt;p&gt;What I'm ultimately looking for is to be able to buy a light switch for &amp;lt;&amp;pound;10 and for the average homeowner to figure out how to fit and wire the faceplates and sockets without resorting to an electrician's help.  None of the standards seem to be at that stage yet, especially on the pricing.&lt;/p&gt;

&lt;h3&gt;The homebrew approach&lt;/h3&gt;

&lt;p&gt;Since I'm a geek, and an occasional &lt;a href="http://en.wikipedia.org/wiki/Hacker_(hobbyist)"&gt;hacker&lt;/a&gt;, I like the idea of using standard networking for the communication channel.&lt;/p&gt;

&lt;h4&gt;xPL&lt;/h4&gt;

&lt;p&gt;The &lt;a href="http://xplproject.org.uk/"&gt;xPL Project&lt;/a&gt; is an interesting, but somewhat neglected (marketing-wise at least) project, which is creating a standard way to communicate about home automation controls, and building software for servers and nodes in order to connect devices.  I haven't been able to look into it too much because I couldn't get it build easily, and the documentation was quite frankly rubbish, but that was a couple of years ago, so that might have changed, although looking at the latest post being from 2009 I doubt too much has changed, but the code repository is still very active.&lt;/p&gt;

&lt;p&gt;The slight problem I see with this approach is that it hopes to connect *all* dispersed standards, so they don't have enough focus on getting people up and running with one particular set of hardware, which ultimately means a lot of customisation hassle, but I could be wrong.&lt;/p&gt;

&lt;h4&gt;Arduino&lt;/h4&gt;

&lt;p&gt;On the hardware side, &lt;a href="http://arduino.cc/"&gt;Arduino&lt;/a&gt;, an Open Source Hardware platform is here to the rescue.  Being cheap and easy to build (My girlfriend and I have even soldered one together ourselves, of the &lt;a href="http://nanode.eu/"&gt;Nanode&lt;/a&gt; variety), and coming in an amazing array of sizes and feature-sets for different purposes, from clothing-friendly versions, to ones with built-in networking, to others with radio transmitters.&lt;/p&gt;

&lt;p&gt;I urge anyone with the slightest interest in making their own embedded electronics, to buy an Arduino and start sketching, you'll be amazed at what you could do.&lt;/p&gt;

&lt;p&gt;This is also the platform Google chose as the avenue for the &lt;a href="http://accessories.android.com/"&gt;Android Open Accessory Development Kit&lt;/a&gt; (ADK), so there's a rather large community building up, if there wasn't already.&lt;/p&gt;

&lt;h4&gt;MQTT&lt;/h4&gt;

&lt;p&gt;I know very little about MQTT, but basically it's a very lightweight protocol for machine-to-machine (M2M) communication, which includes queueing and retransmissions as standard.  It's being used in Arduino projects, most notably the &lt;a href="http://nanode.eu/"&gt;Nanode&lt;/a&gt; community, using it for energy monitoring, and over low-bandwidth radio frequencies for remote monitoring of weather, gardens, etc.&lt;/p&gt;

&lt;h4&gt;Data Stream Communities&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://pachube.com/"&gt;Pachube&lt;/a&gt;, among others, are getting more popular, and the power of these services to do real-time analysis, complex event processing (CEP) and triggering remote events is really going to push the boundary of what home automation, energy, and environmental monitoring can enable.&lt;/p&gt;

&lt;p&gt;Increasingly, it seams, these services are going to be provided by communications companies, possibly in partnership with energy providers, but ultimately the communication is going to be the deciding factor for a lot of these platforms... whether we can get telemetry data from vehicles cheaply and pervasively is in their power.&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;In short, I think the 'old boys' are risking being bypassed completely by entrepreneurial 'amateurs' if they don't start to reduce prices, geographic coverage, and increase the amount of devices/controls that are available in all markets outside the US.&lt;/p&gt;

&lt;p&gt;Arduino and other low-cost Open Source Hardware solutions are going to start playing a strong role in turning the tides on the home automation scene with a community spirited approach.&lt;/p&gt;

&lt;p&gt;Patents are the worst thing to happen to innovation, and luckily most of the latest projects to start know that being open will get them further than staying isolated and closed, but the old-fashioned corporations don't 'get it', as usual.&lt;/p&gt;

&lt;p&gt;For installation and home design companies the current standards going to serve fine, with people/business that are able to afford the 'job lot' being catered for, but for the average home owner who just wants to turn a few lights on and off, spending a fortune on a couple of light switches is turning them to cheaper, crappier solutions.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dsample?a=fE9_vQqsDz4:AuoinviO-s0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=fE9_vQqsDz4:AuoinviO-s0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=fE9_vQqsDz4:AuoinviO-s0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=fE9_vQqsDz4:AuoinviO-s0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=fE9_vQqsDz4:AuoinviO-s0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=fE9_vQqsDz4:AuoinviO-s0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<pubDate>Thu, 01 Sep 2011 18:19:50 -0700</pubDate>
		<category>HomeAutomation</category> 
<category>rant</category> 
<category>technology</category> 
<category>home</category> 
<category>home automation</category> 
<category>patents</category> 
	<feedburner:origLink>http://sample.org.uk/blog/post/so-called_standards</feedburner:origLink></item>
	<item>
		<title>Arduino Binary Die</title>
		<link>http://feedproxy.google.com/~r/dsample/~3/akpDohwMlec/arduino_binary_die</link>
		<description>&lt;p&gt;After buying a Nanode (an Arduino-compatible board with ethernet built-in) last weekend, we've been trying to work it out by making a couple of simple examples, the 'Binary Dice' is the first one with input and outputs.&lt;p&gt; &lt;p&gt;A note, this code example is based on the one from the book &lt;a href="http://www.amazon.co.uk/gp/product/1934356662/ref=as_li_ss_tl?ie=UTF8&amp;tag=antimatters-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=1934356662"&gt;Arduino: A Quick-Start Guide by Maik Schmidt&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You'll need (other than the Nanode/Arduino board):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;3 LEDs (ours were rated for 0.8mA-0.12mA at 6V)&lt;/li&gt;
&lt;li&gt;3 Resistors to bring the 5V down to a reason current for the LEDs (we used 680&amp;#937;)&lt;/li&gt;
&lt;li&gt;1 large resistor to flatten out the fluctuations in the ground rail (we used 17K&amp;#937;)&lt;/li&gt;
&lt;li&gt;A push-to-make button&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Schematic and Breadboard&lt;/h2&gt;

&lt;p&gt;Made with &lt;a href="http://fritzing.org/"&gt;Fritzing&lt;/a&gt;, just to get used to how it works.&lt;/p&gt;

&lt;p&gt;&lt;img src="/blog/images/post_imgs/arduino_binary_die_bb.png" alt="Breadboard layout" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="/blog/images/post_imgs/arduino_binary_die_schem.png" alt="Circuit diagram" width="600" /&gt;&lt;/p&gt;

&lt;h2&gt;Arduino Sketch&lt;/h2&gt;

&lt;p&gt;You may need to change the constants at the beginning to match your board and where you plug things in.&lt;/p&gt;

&lt;pre&gt;
const unsigned int LED_BIT0 = 4;
const unsigned int LED_BIT1 = 2;
const unsigned int LED_BIT2 = 3;
const unsigned int BUTTON_PIN = 5;
const unsigned int BAUD_RATE = 19200;

void setup() {
  pinMode(LED_BIT0, OUTPUT);
  pinMode(LED_BIT1, OUTPUT);
  pinMode(LED_BIT2, OUTPUT);
  pinMode(BUTTON_PIN, INPUT);
  Serial.begin(BAUD_RATE);
}

void loop() {
  const int CURRENT_BUTTON_STATE = digitalRead(BUTTON_PIN);
  
  int command = Serial.read();
  
  if (CURRENT_BUTTON_STATE == HIGH || command == '1') {
    reset_LEDs();
    delay(1000);
    randomSeed(analogRead(A0));
    long result = random(1, 7);
    output_result(result);
  }
  
}

void reset_LEDs() {
  digitalWrite(LED_BIT0, LOW);
  digitalWrite(LED_BIT1, LOW);
  digitalWrite(LED_BIT2, LOW);
}

void output_result(const long result) {
  digitalWrite(LED_BIT0, result &amp; B001);
  digitalWrite(LED_BIT1, result &amp; B010);
  digitalWrite(LED_BIT2, result &amp; B100);
  Serial.print(result);
}
&lt;/pre&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dsample?a=akpDohwMlec:TbGuIzUHVfs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=akpDohwMlec:TbGuIzUHVfs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=akpDohwMlec:TbGuIzUHVfs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=akpDohwMlec:TbGuIzUHVfs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=akpDohwMlec:TbGuIzUHVfs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=akpDohwMlec:TbGuIzUHVfs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<pubDate>Sat, 20 Aug 2011 13:37:04 -0700</pubDate>
		<category>hardware</category> 
<category>arduino</category> 
<category>nanode</category> 
<category>electronics</category> 
	<feedburner:origLink>http://sample.org.uk/blog/post/arduino_binary_die</feedburner:origLink></item>
	<item>
		<title>Google+ Idea: Control your Circles with Orbits</title>
		<link>http://feedproxy.google.com/~r/dsample/~3/XxiWEkcWzl4/googleplus_orbits</link>
		<description>&lt;p&gt;I had an idea for Google+, inspired by Robert Scoble, so I thought I'd illustrate it properly.&lt;p&gt; &lt;p&gt;I've been playing around with Google+ today, and after starting to follow some well-known people started to get bombarded with posts onto my main stream that weren't too interesting, and since Google+ orders posts in the same way as Buzz, popular posts keep popping to the top.&lt;/p&gt;

&lt;p&gt;A couple of hours ago I commented on &lt;a href="https://plus.google.com/u/0/111091089527727420853/posts/Fy1yCCg4z7Y"&gt;a post by Robert Scoble&lt;/a&gt;, where he called himself the 'Scoble Virus' and commented that people should put him in a circle called "noisy buttheads"&lt;/p&gt;

&lt;p&gt;My comment was that perhaps there would be a way to easily give preferences to circles about how visible they should be on your main streams (posts, photos, etc.)&lt;/p&gt;

&lt;blockquote&gt;It'd be nice to be able to 'mute' specific circles from our main stream... A bit like putting people in a Twitter list without following them... we could still select the circle and see it's stream, but wouldn't get bombarded with stuff amongst our 'closer' friends and family... perhaps a way to 'distance' ourselves from certain circles, have an 'inner orbit' for our closest friends, and outer orbit(s) for others?&lt;/blockquote&gt;

&lt;p&gt;I had an image in my mind as soon as I wrote that comment, so I decided I'd sketch it up to see what people think of it.&lt;/p&gt;

&lt;h2&gt;The idea&lt;/h2&gt;

&lt;p&gt;The idea would be to create orbits of visibility preferences (what messages you see in your main streams and notifications).  The theory would be that the further people get the less visible you would make them, so you'd put noisy people like Robert Scoble into a far away orbit and only 'visit' occasionally.&lt;/p&gt;

&lt;p&gt;&lt;img src="/blog/images/post_imgs/orbits_sketch.png" /&gt;&lt;/p&gt;

&lt;p&gt;The circle would still be listed alongside the main streams, but the circle icon would show as greyed out on stream pages where they won't show up.&lt;/p&gt;

&lt;p&gt;Sure, you could put these toggles directly on the circles page, but I think the page would get a bit too complex.  By grouping circles into orbits you have a as much or as little granularity as you desire (just create an orbit for each circle if you wish). For users who use the feature for the first time, the first few orbits could have defaults of gradually-reducing visibility settings.&lt;/p&gt;

&lt;p&gt;What do you think? Too elaborate? Would this take care of the 'Scoble Virus' well enough?  Leave a comment here, or of course on Google+ with ideas and suggestions&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dsample?a=XxiWEkcWzl4:BAtg4LejZ44:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=XxiWEkcWzl4:BAtg4LejZ44:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=XxiWEkcWzl4:BAtg4LejZ44:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=XxiWEkcWzl4:BAtg4LejZ44:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=XxiWEkcWzl4:BAtg4LejZ44:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=XxiWEkcWzl4:BAtg4LejZ44:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<pubDate>Thu, 30 Jun 2011 17:13:32 -0700</pubDate>
		<category>Google+</category> 
<category>UX</category> 
	<feedburner:origLink>http://sample.org.uk/blog/post/googleplus_orbits</feedburner:origLink></item>
	<item>
		<title>A year in the life of a jet-setting innovator</title>
		<link>http://feedproxy.google.com/~r/dsample/~3/60eULfIeKRo/last_year</link>
		<description>&lt;p&gt;I've been flying around for the last year in aid of my latest project, and I just realised I hadn't documented any of it, so here goes...&lt;p&gt; &lt;p&gt;I'm writing this with Trent Reznor's The Social Network soundtrack in the background (it helps me think and just felt apt).  Do I feel like a budding entrepreneur on the brink of developing something amazing, sometimes.  Do I feel like I'm the only one who understands the true vision of the thing We've been trying to devise, sometimes.  Have I been working with a truly awesome and talented team throughout, definitely.  Have I lived a great life thus far, no, We've been slogging our guts out, giving up our personal lives for the chance to make our project a success, but there have been smiles along the way.  Where to really begin?&lt;/p&gt;

&lt;p&gt;I might as well start at the beginning (I guess this is going to end up as another essay rather than a brief post).  I love working for who I do, the projects I get given are always interesting, the people I work with are great, and I constantly feel like I'm doing things which make an impact into the products we sell, but the company (like many) has been going through hard times in terms of the recession and an increasingly aggressive industry, and the atmosphere at times is a little tough with people wondering where cuts will be.&lt;/p&gt;

&lt;p&gt;In January last year (2010) there was &lt;a href="http://www.rcrwireless.com/article/20100309/VIDEO/100309952/interview-with-nokia-siemens-amir-lahat"&gt;an announcement&lt;/a&gt; that an innovation programme would be created, and a selection of people from around the company would be brought to Silicon Valley (Santa Clara, CA) for 2 months and would be given the chance to work on new product concepts around the topic of 'cloud'.  There was a test, a set of questions aimed at getting an idea of whether we had the skills and ingenuity needed to make the programme a success.  I recall a couple of questions about programming (what does this Go code do, why does this code crash and how would you fix it) along with a few about architecture.&lt;/p&gt;

&lt;p class="centre"&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0" id="i_0fc5a0ff1e7a4f029cc6be06938fb681" width="440" height="330"&gt;&lt;param name="movie" value="http://applications.fliqz.com/d8d29614902c424f9875e7d6d837dea1.swf"/&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="menu" value="false" /&gt;&lt;param name="bgcolor" value="#000000"/&gt;&lt;param name="scale" value="exactfit"/&gt;&lt;param name="wmode" value="transparent"/&gt;&lt;param name="allowscriptaccess" value="always"/&gt;&lt;param name="flashvars" value="at=07f37be438274e02a6ac0b5fd9d6afc5"/&gt;&lt;embed name="i_6544d823ec65478c9dc1d963d32b055c" src="http://applications.fliqz.com/d8d29614902c424f9875e7d6d837dea1.swf" flashvars="at=07f37be438274e02a6ac0b5fd9d6afc5" width="440" height="330" pluginspage="http://www.macromedia.com/go/getflashplayer" allowfullscreen="true" menu="false" bgcolor="#000000" scale="exactfit" wmode="transparent" allowscriptaccess="always" type="application/x-shockwave-flash"/&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;I was forwarded the news item from a few different directions, nudging me to apply, but I didn't know if I wanted to leave my friends and girlfriend for such a long time.  The California timezone isn't the most social for communications with Europe. Eventually, after putting a message on Jaiku &amp; Twitter I got the suggestion "why not take Miia with you?"... genius!&lt;/p&gt;

&lt;p&gt;So, on the last day of applications I sat down, quickly answered the questions and sent it off.  Eventually got notified that I'd got through the first round, then a phone interview, then told I'd made it through, and away we went to California.&lt;/p&gt;

&lt;p&gt;Now, The time in San Francisco wasn't the best for Miia, having a hard time to work remotely with the huge time difference, and not having any way to go more than 100m from the hotel room because of busy roads and motorways (bad hotel location), I feel really bad that I couldn't make her time there more exciting.&lt;/p&gt;

&lt;p&gt;My initial feeling on arrival was mostly "I'm finally here, where all the companies I admire are", and our first drive down the 101 seeing the Oracle, Cisco and many other huge company office blocks, and the Zynga billboards (still don't 'get' their products) you could tell we were in the right place.&lt;/p&gt;

&lt;p&gt;After the first morning of getting acquainted with the area, a little walk to a viewing spot of The Valley and some motivational speeches, we were set to work, with our brand new 15" Macbook Pros... count me happy!&lt;/p&gt;

&lt;p&gt;What followed was 9 weeks of obsession... 60 hour weeks (at least), not including weekends, a constant reminder of the time running out thanks to a 'XX days left' countdown near the entrance.  Every week having to show progress through the ritual of a 'Friday demo', this was Scrum taken to the extremes. The first week was fun, getting our feet, getting into the spirit of things and starting from scratch several times in terms of our vision.  By week 4 we were all noticing how much time we were spending in the office, and how we weren't really experiencing the area at all.  By the final week there had been people ill from stress, others falling asleep while eating...  We had given our all, both physically and mentally.&lt;/p&gt;

&lt;p&gt;That was last March-May, and the result was 6 service prototypes, 4 of which moved to the next phase: Productisation.&lt;/p&gt;

&lt;p&gt;At the start of the next phase I was given the chance to be the lead for &lt;a href="https://telcoassetmarketplace.com"&gt;my project&lt;/a&gt;.  The last 8 months have been exciting, stressful, irritating, draining, and productive.  Sometimes individually, sometimes all at once.  My first experience of managing a team (including several people who would usually be considered senior to me) has been very much a case of 'thrown in at the deep end', a team of 10 developers and 3 (then 4) marketing people.&lt;/p&gt;

&lt;p&gt;The location for the last 8 months was Berlin.  Fairly central, but having to travel every other week for 6 months wears a bit thin, not only personally, but for family and friends who never know where you are.  In that time I've made 21 trips - that's 42 flights (a couple for personal trips), spent a total of 92 days in Berlin (while having seen next to nothing of the city's sights), and had approximately 3 weeks where my working hours were less than 45 hours.  It's simply unsustainable, but we've done what needed to get the project made.&lt;/p&gt;

&lt;p&gt;Splitting my time between the duties I had as Product Owner (in the Scrum sense) for the R&amp;D team and the responsibilities I had in making sure the strategy and marketing message went in the right direction was very tough, and continues to be to this day.  Something I have found, however, is that the developers require less management than marketing (at least in my case), even though there are more developers (I guess I'm lucky to have a talented team of developers) the strategy and marketing side of things is somewhat newer to me, so trying to keep the reins tight on those topics was a lot more of a challenge.  I also attribute to that the fact that the developers (to some extent) have experience being customers of the kind of service we're trying to create, where the marketing team perhaps didn't, and were more experience with selling traditional products our company makes, which is hard to compare with.&lt;/p&gt;

&lt;p&gt;The result of the last 8 months is what I would call a good &lt;a href="http://en.wikipedia.org/wiki/Software_release_life_cycle#Beta"&gt;beta&lt;/a&gt; product release.  I mean that as a compliment, I think the amount of progress in such a short time (compared with our company's usual time-scales) with a pretty small team is incredible.  I think we have a viable product that's competitive in our market, and has the potential for greatness.  In short, I think we've caught up with our competitors in technical terms.  We still have a little way to go with the marketing side, but the progress in that area has been amazing, considering the traditional background of the team.&lt;/p&gt;

&lt;p&gt;So, that's a lot of build-up, and a quick overview of my time so far.  I may go into more details about certain aspects in different posts.&lt;/p&gt;

&lt;h2&gt;My advice for innovation programme managers&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Your primary duty is to remove obstacles of any kind from the people who are creating the valuable assets.&lt;/strong&gt;  Remember that in such a big business things get slow from additional processes put in place to ensure people don't take advantage of resources because things can't be micro-managed so easily from higher-levels.  Contrast that to the fast-paced world of a startup, where financial, resource and strategy decisions can happen overnight, and frequently.  One example to make you think... how long in your organisation would it take to get a bank account and Paypal account set up?  Startups would take 10 minutes, but add in SAP, SOX and layers of legal and finance &amp; control personnel and the inevitable delays happen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't micro-manage over each team's strategy until it's mature.&lt;/strong&gt;  Be an advisor, by all means, but do not for one moment pretend that you have all the answers or that you know the ultimate direction any one of the projects should be aiming for.  This, to me, is a key element of a startup, the [usually] fresh talent sees opportunities in some strange places, and sees a path to riches that can't always be grasped by others.  Take for instance the latest startup &lt;a href="http://colour.com"&gt;Colour&lt;/a&gt;/&lt;a href="http://color.com"&gt;Color&lt;/a&gt;.  The investment by Sequoia Capital of $41M was made not on the current product or one of their visions, but that of the people that have that vision, there is a lot of trust in that relationship, and that trust is the same thing you have to have for your budding startups, don't smother them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Give your investment time to find it's feet.&lt;/strong&gt;  There's a great quote in The Social Network, said both by the Mark Zuckerberg and Sean Parker characters in response to the Eduardo Saverin character's comment/question about monetising the site (Facebook).&lt;/p&gt;

&lt;blockquote&gt;
	"We don't even know what it is yet.  We don't know what it is.  We don't know what it can be, we don't know what it will be, we know that it is cool."
&lt;/blockquote&gt;

&lt;p class="centre"&gt;&lt;object width="459" height="55"&gt; &lt;param name="movie" value="http://ecdn3.hark.com/swfs/player.swf?1297555878"&gt;&lt;/param&gt; &lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt; &lt;param name="flashvars" value="autoplay=false&amp;dataPath=http://www.hark.com/clips/blmzfhmmsj.json"&gt;&lt;/param&gt; &lt;param name="wmode" value="transparent"&gt;&lt;/param&gt; &lt;embed src="http://ecdn3.hark.com/swfs/player.swf?1297555878" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="autoplay=false&amp;dataPath=http://www.hark.com/clips/blmzfhmmsj.json" width="459" height="55" wmode="transparent"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;/p&gt;

&lt;p&gt;You have to find a way... and don't think I have an answer to how, but you have to have find a way for the projects you start to live long enough to be successful.  In businesses that are in a lull or a panic stage of trying to reinvigorate the company, it's tempting to make harsh judgements on short-term performance and usually based around the revenues and profits.  If the majority of today's successful startups had been started in such a culture, they would have been culled before ever making it to the stage where money actually begins to flow.  This is, in my opinion, the area which needs the most consideration before the innovation programme gets started... make sure you set the expectations of the investors (whether internal or external) that things aren't going to be instant...  No-one likes a rushed product, and when that's a service it'll be dead in the water, with other competitor startups picking at it like vultures for the novel features they wish to implement later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Be as open as possible... publicly.&lt;/strong&gt; Open the gates for the teams to be public about their projects as much as they want to be.  Allow them to blog about issues they're having, or things they're thinking about.  Getting outside opinions early is always a good thing.  Of course there's a risk your competitors, but that's more incentive to be quick... in most cases you're probably catching up to the market rather than being innovative (in one way or another), and you need to get your visibility to the same state as your competitors by the time you get to the same level of maturity as they are, so it's a gamble.  If you think you have unique features leave them for the big launch day, but for the 'table-stakes' features, be open and get the word out.&lt;/p&gt;

&lt;p&gt;Open source stuff if you can, or at least contribute to other open source projects.  This is easy when concerning fundamental infrastructure that you rely on but doesn't perform any particular 'business logic' for you in itself.  Just look at Twitter's open source page for examples of things you could release.  Yes it could help your competitors, but the chances of you running the same architecture as your direct competitors is minimal, and on the plus side it'll get your name into the development community as a good contributor, and in the long run I think that'll pay dividends when you reach the limits of some of the components you come to rely on.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dsample?a=60eULfIeKRo:hebewSG-nEU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=60eULfIeKRo:hebewSG-nEU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=60eULfIeKRo:hebewSG-nEU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=60eULfIeKRo:hebewSG-nEU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=60eULfIeKRo:hebewSG-nEU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=60eULfIeKRo:hebewSG-nEU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<pubDate>Tue, 05 Apr 2011 16:01:18 -0700</pubDate>
		<category>travel</category> 
<category>innovation</category> 
<category>Nokia Siemens Networks</category> 
<category>NSN</category> 
<category>work</category> 
<category>stress</category> 
	<feedburner:origLink>http://sample.org.uk/blog/post/last_year</feedburner:origLink></item>
	<item>
		<title>Installing Xubuntu Lucid on a Viglen MPC-L</title>
		<link>http://feedproxy.google.com/~r/dsample/~3/ifdU_b29Vis/mpc-l_xubuntu_install</link>
		<description>&lt;p&gt;Installing Xubuntu on a Viglen MPC-L isn't easy, and what we had to do didn't follow exactly the guide we used, so here's the differences.&lt;p&gt; &lt;p&gt;We used &lt;a href="http://tonywhitmore.co.uk/blog/2010/07/04/ubuntu-lucid-on-the-viglen-mpc-l/"&gt;Tony Whitmore's blog post&lt;/a&gt; as a guide for installing Xubuntu on Miia's new Viglen MPC-L machine, and although it was a useful start, I think some of the changes between Ubuntu and Xubuntu, or some of the installation disc updates to Ubuntu Lucid (10.04) mean a slightly different process needed to be followed.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Downloaded the Xubuntu i386 desktop ISO.&lt;/li&gt;
&lt;li&gt;Turned it into a bootable USB stick using the "Startup Disk Creator" program in System Tools.&lt;/li&gt;
&lt;li&gt;Booted the MPC-L off the USB stick. (N.B. It will only boot from USB sticks inserted into the rear USB sockets.)&lt;/li&gt;
&lt;li&gt;At the splash screen, selected the advanced boot options (F6), and selected expert mode and when prompted for the boot string, type in "pnpbios=no noapic acpi=off" to the end.&lt;/li&gt;
&lt;li&gt;Install as normal.&lt;/li&gt;
&lt;li&gt;At the end of the installation procedure, at the "reboot" prompt, reboot (it's the only option), but keep the USB stick in - The system won't boot on it's own right now, since it's got the wrong kernel.&lt;/li&gt;
&lt;li&gt;Go into the LiveCD mode (the top boot option), remembering to give the same boot options as before.&lt;/li&gt;
&lt;li&gt;When you get to the desktop, open a terminal.&lt;/li&gt;
&lt;li&gt;Since you've rebooted, you now need to remount all of the partitions the installer configured into their place within /target.  We managed this by:&lt;br /&gt;
    &lt;tt&gt;sudo fdisk -l&lt;/tt&gt; - Find the relevant partitions (probably sda...)&lt;br /&gt;
    &lt;tt&gt;sudo mount /dev/sda1 /target&lt;/tt&gt; - Do the same for any other partitions you created (eg. /target/home)
&lt;/li&gt;

&lt;li&gt;In the terminal session I set up a chroot to install a suitable kernel: &lt;br /&gt;
      &lt;tt&gt;sudo mount -o bind /proc /target/proc&lt;/tt&gt;&lt;br /&gt;
      &lt;tt&gt;sudo mount -o bind /dev /target/dev&lt;/tt&gt;&lt;br /&gt;
      &lt;tt&gt;sudo mount -o bind /dev/pts /target/dev/pts&lt;/tt&gt;&lt;br /&gt;
      &lt;tt&gt;sudo mount -o bind /sys /target/sys&lt;/tt&gt;&lt;br /&gt;
      &lt;tt&gt;sudo chroot /target&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;You are now inside your newly installed version of Xubuntu, almost like a virtual machine.  It only exists within that terminal window.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Make sure your DNS settings are correct, otherwise you'll have to edit your package sources to use IP addresses.&lt;/li&gt;
&lt;li&gt;Installed a kernel: &lt;tt&gt;sudo apt-get install linux-386&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Once the kernel has installed, edit /etc/default/grub and add the same boot options as before to the GRUB_CMDLINE_LINUX_DEFAULT line after "quiet splash ..."&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;sudo update-grub2&lt;/tt&gt; to commit your changes to the grub config.&lt;/li&gt;
&lt;li&gt;Exit the chroot and terminal (type exit twice).  Then reboot, taking out the USB stick.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hopefully this helps with a 'smooth' install.  Once it's booted into the working system you can uninstall the linux-generic package, since you're using the linux-386 kernel.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dsample?a=ifdU_b29Vis:k-RdocOBfg8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=ifdU_b29Vis:k-RdocOBfg8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=ifdU_b29Vis:k-RdocOBfg8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=ifdU_b29Vis:k-RdocOBfg8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=ifdU_b29Vis:k-RdocOBfg8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=ifdU_b29Vis:k-RdocOBfg8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<pubDate>Thu, 02 Sep 2010 11:28:22 -0700</pubDate>
		<category>hardware</category> 
<category>Linux</category> 
<category>Ubuntu</category> 
<category>Xubuntu</category> 
<category>Lucid</category> 
<category>Viglen</category> 
<category>Geode</category> 
<category>MPC-L</category> 
	<feedburner:origLink>http://sample.org.uk/blog/post/mpc-l_xubuntu_install</feedburner:origLink></item>
	<item>
		<title>If I Designed It - Android Browser</title>
		<link>http://feedproxy.google.com/~r/dsample/~3/k5ZzDNLVkC0/ifidesignedit_android_browser</link>
		<description>&lt;p&gt;The start of (hopefully) a series of posts describing little user experience/design tweaks I'd make for different objects/applications/services.  Starting with the Android browser and Google login&lt;p&gt; &lt;p&gt;I've been meaning to start a new blog (yes, another one) to start gathering my thoughts about user experience, usability and design of things I use every day, mainly of a technical variety, but about anything from mobile applications and web services to toasters and TVs.  Some might be big things, others small tweaks that would make my life just a little more pleasant.&lt;/p&gt;

&lt;p&gt;In case there are any industrial/UX designers at Google or other huge company, let me just say, the ideas I'm publishing here are there for the taking under the same license as all my other posts, Creative Commons, except these will be licensed without the non-commercial restriction, so feel free to take the idea and build it into your products.&lt;/p&gt;

&lt;h3&gt;The real post&lt;/h3&gt;

&lt;p&gt;This first post is centred about my mobile, Google's Nexus One.  To be more specific, it's about Android's bundled Browser when used with web services requiring a Google account to log in.&lt;/p&gt;

&lt;p&gt;My suggestion is small, but I think it would improve the user experience.  When I choose to log into a web service using my Google credentials, I'd like the browser to trigger an intent which would cause a dialog box asking me whether to use the credentials already stored in my device.  The browser would then take back control and the web service would load the logged-in page, as if I'd returned from the Google login page.&lt;/p&gt;

&lt;p&gt;Another bonus of this could be an 'always do this' checkbox on the dialog which would then automatically process the login without showing the Google login page and without even showing the dialog.&lt;/p&gt;

&lt;p&gt;Further bonus points would be awarded if that 'always log me into this service with this account' type of option would store an indefinite session handle (securely) and use that to keep me logged into services, without the need to even click the 'login' button on the site ever again.  The options for forgetting the logins (think like OAuth tokens) could be accessed through the normal Accounts settings.&lt;/p&gt;

&lt;p&gt;Think the idea's good/bad?  Think I've missed a trick?  Express your thoughts in the comments&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dsample?a=k5ZzDNLVkC0:L55pPxoKx-c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=k5ZzDNLVkC0:L55pPxoKx-c:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=k5ZzDNLVkC0:L55pPxoKx-c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=k5ZzDNLVkC0:L55pPxoKx-c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dsample?a=k5ZzDNLVkC0:L55pPxoKx-c:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dsample?i=k5ZzDNLVkC0:L55pPxoKx-c:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<pubDate>Fri, 02 Jul 2010 14:28:56 -0700</pubDate>
		<category>web</category> 
<category>development</category> 
<category>android</category> 
<category>ideas</category> 
<category>Google</category> 
<category>browser</category> 
<category>oauth</category> 
<category>IfIDesignedIt</category> 
	<feedburner:origLink>http://sample.org.uk/blog/post/ifidesignedit_android_browser</feedburner:origLink></item>
	</channel>
</rss>
