<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8978423996746351775</id><updated>2011-12-21T03:20:34.779-06:00</updated><category term='jxta'/><category term='arm'/><category term='calendar'/><category term='ece497'/><category term='processing'/><category term='evite'/><category term='collaboration'/><category term='omap'/><category term='asus'/><category term='upcoming'/><category term='democracy tv'/><category term='open source'/><category term='api'/><category term='rss aggregators'/><category term='accessibility'/><category term='iphone'/><category term='avalanche'/><category term='web 2.0'/><category term='p2p sockets'/><category term='myspace'/><category term='ajax search'/><category term='mashup'/><category term='xhtml'/><category term='apple switch'/><category term='fireant'/><category term='greasemonkey'/><category term='amanda congdon'/><category term='bittorrent'/><category term='xml'/><category term='dovecot'/><category term='java'/><category term='olpc'/><category term='fink'/><category term='security'/><category term='semantic web'/><category term='broadcatching'/><category term='contextual web'/><category term='rest'/><category term='microformats'/><category term='barcamphouston2'/><category term='imap server'/><category term='maemo'/><category term='android'/><category term='xin desktop'/><category term='software'/><category term='josh kinberg'/><category term='server side javascript'/><category term='rocketboom'/><category term='feedburner'/><category term='ubuntu'/><category term='blogging'/><category term='json'/><category term='google'/><category term='content management systems'/><category term='node.js'/><category term='technorati'/><category term='yahoo'/><category term='amazon web services'/><category term='ec2'/><category term='apple'/><category term='mobile 2.0'/><category term='bug labs'/><category term='beagleboard'/><category term='paper airplane'/><category term='youtube'/><category term='firefox extensions'/><category term='conference'/><category term='osx'/><category term='globalization'/><category term='rdf'/><category term='xolo tv'/><category term='n800'/><category term='amazon'/><category term='darwinports'/><category term='web programming'/><category term='webtop'/><category term='usability'/><category term='youos'/><category term='hardware'/><category term='arduino'/><category term='del.icio.us'/><category term='exo platform'/><category term='scarcity'/><category term='soap'/><category term='p2p'/><category term='ajax'/><category term='walled gardens'/><category term='linux education'/><category term='participation media'/><category term='parakey'/><category term='microcontent'/><category term='human factors'/><category term='economics'/><category term='blogger'/><category term='douglas crockford'/><category term='twitter'/><category term='webos'/><category term='hobby'/><category term='abundance'/><category term='microsoft'/><category term='web operating system'/><category term='cloud9'/><category term='pandora'/><title type='text'>Chaotic clamoring</title><subtitle type='html'>Rants on the complexities of computer-based collaboration.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>48</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-3898195239504363123</id><published>2011-04-04T21:51:00.000-05:00</published><updated>2011-04-04T21:51:59.030-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ece497'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='linux education'/><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><category scheme='http://www.blogger.com/atom/ns#' term='beagleboard'/><title type='text'>Processing and Processing-JS on the BeagleBoard under Angstrom</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-wrdnJdjJ3b0/TZp1KlXFP8I/AAAAAAAAAdM/0LmnPQtglTY/s1600/processing-screenshot.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="180" src="http://4.bp.blogspot.com/-wrdnJdjJ3b0/TZp1KlXFP8I/AAAAAAAAAdM/0LmnPQtglTY/s320/processing-screenshot.png" width="320" /&gt;&lt;/a&gt;After reading the &lt;a href="http://icanbuild.it/embedded/processing-on-beagleboard-xm/"&gt;blog post about the serial port challenges&lt;/a&gt; in &lt;a href="http://processing.org/download/"&gt;Processing&lt;/a&gt; and &lt;a href="http://dominion.thruhere.net/koen/cms/making-processing-arduino-ide-replicaorg-work-on-arm"&gt;the method for fixing them&lt;/a&gt;, I decided to &lt;a href="http://processing.googlecode.com/files/processing-1.2.1.tgz"&gt;download the IDE&lt;/a&gt; and try it myself.&amp;nbsp; It seems to work reasonably well.&amp;nbsp; I haven't quite managed to learn enough about the &lt;a href="http://arduino.cc/"&gt;Arduino&lt;/a&gt; to understand how they use Processing or how limited their implementation of it is, but I was able to &lt;a href="http://files.arduino.cc/downloads/arduino-0022.tgz"&gt;install and run the Arduino tool&lt;/a&gt; on my BeagleBoard after applying Koen's serial port library fix.&amp;nbsp; I hope to use the tool to download applications onto my &lt;a href="http://www.tincantools.com/product.php?productid=16151&amp;amp;cat=249&amp;amp;page=1"&gt;Trainer-xM&lt;/a&gt;, but I haven't yet been able to compile the examples natively because I haven't yet built avr-gcc.&lt;br /&gt;&lt;br /&gt;This is highly related to my current personal project, which is working with &lt;a href="http://processingjs.org/"&gt;Processing-JS&lt;/a&gt;.&amp;nbsp; I've been talking a lot about a &lt;a href="http://beagleboard.org/linux_education"&gt;BeagleBoard Linux Education project&lt;/a&gt;, but haven't really kicked the project off after working with others on the scope.&amp;nbsp; &lt;a href="http://elinux.org/Category:ECE497"&gt;Mark Yoder's ECE497 class&lt;/a&gt;  is where the most visible advancement seems to be taking place right  now, though I've heard of several other educators also creating courses  with the BeagleBoard, including the &lt;a href="https://ccrma.stanford.edu/workshops/new-music-controllers-nmc-0"&gt;Stanford New Musical Controllers workshop&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-2VRzFATSMbA/TZp40OpPwwI/AAAAAAAAAdU/MIQ-ZRsjYv4/s1600/processing-js-bouncybubbles.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://3.bp.blogspot.com/-2VRzFATSMbA/TZp40OpPwwI/AAAAAAAAAdU/MIQ-ZRsjYv4/s320/processing-js-bouncybubbles.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;For me, I like the ideas of avoiding compilation, working in the most popular development environment today (the browser) and being able to remote my interface anywhere in the world over the web.&amp;nbsp; I also believe the zero-install nature of web applications and the familiarity of working within a browser make it the perfect environment for newbies.&amp;nbsp; To that end, I've made a little fork off of my &lt;a href="https://gitorious.org/%7EJadon/jadons-education"&gt;Linux education project&lt;/a&gt; to focus on JavaScript-based development.&amp;nbsp; I now have both Cloud9 and Processing.js installing as submodules.&amp;nbsp; Under Angstrom, I'm able to easily run Chromium as one of my browser options and see the output from Processing.js, such as the picture here.&amp;nbsp; Now to see which environment gets me talking to my Trainer-xM board first.&lt;br /&gt;&lt;br /&gt;Also, sorry about the delayed BeagleCast this week--resulting in some of the topics not being timely.&amp;nbsp; I've had a challenge getting a call scheduled with Khasim to discuss Rowboat.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-3898195239504363123?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/3898195239504363123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2011/04/processing-and-processing-js-on.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/3898195239504363123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/3898195239504363123'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2011/04/processing-and-processing-js-on.html' title='Processing and Processing-JS on the BeagleBoard under Angstrom'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-wrdnJdjJ3b0/TZp1KlXFP8I/AAAAAAAAAdM/0LmnPQtglTY/s72-c/processing-screenshot.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-1434340297584975691</id><published>2011-03-07T14:11:00.000-06:00</published><updated>2011-03-07T14:11:38.324-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='node.js'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud9'/><category scheme='http://www.blogger.com/atom/ns#' term='server side javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='beagleboard'/><title type='text'>Node.JS-based Cloud9 JavaScript IDE running on a BeagleBoard</title><content type='html'>Yesterday, I decided I was going to get Cloud9 running on my BeagleBoard.  I didn't document every step, but below are a few helpful hints.  I'm working with a recent Angstrom Distribution build with Node.JS v0.2.6.&lt;br /&gt;&lt;br /&gt;At first, I tried using Node.JS v0.2.1 and I found that the 'connect' module wasn't present.  I went to install 'npm', but the install attempts failed silently.  When I found that v0.2.6 was in the feeds, I tried installing 'npm' again and it succeeded without much of a headache.  I installed v0.2.19 of 'npm'.&lt;br /&gt;&lt;br /&gt;Since the node-o3-xml package needs to be compiled for Cloud9, I installed a bunch of native tools onto my BeagleBoard, including 'opkg install task-sdk-native nodejs-dev', but I don't remember 100% of what I installed.  My confusion began around an error on 'import Scripting' when running node-waf.  Fortunately, someone already figured the issue out for me when they were trying to build &lt;a href="http://fastr.github.com/articles/node-waf-on-gumstix.html"&gt;node-inotify on a Gumstix board&lt;/a&gt;.  I installed the extra Python tools and copied the .py code from my Mac.  I did need to edit wscript to remove any x86 specific optimization flags and remove any .pyo files that accidentally got copied over.&lt;br /&gt;&lt;br /&gt;Once I built o3, I installed it into my Cloud9 directory, which I checked out following the online directions.  I am working from &lt;a href="https://github.com/ajaxorg/cloud9/tree/0.2.0"&gt;the Cloud9 0.2.0 tag&lt;/a&gt;.  Since the submodules of Cloud9 include a set of pre-built binaries for o3, I added &lt;a href="https://github.com/jadonk/node-o3-xml"&gt;a repository that included my newly built ARM binaries&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I think this was pretty much it to getting Cloud9 invoked, but using the latest Firefox 4 beta as a client wasn't working.  I tried using the '-d' flag at invocation and moving Cloud9 to a user account instead of root, but that didn't help.  Based on &lt;a href="http://gratdevel.blogspot.com/2011/03/setting-up-cloud9-on-ubuntu-1010-32-bit.html"&gt;a blog post that described invoking Cloud9 on an Ubuntu machine&lt;/a&gt;, I was using this command-line to perform the start-up:&lt;br /&gt;&lt;br /&gt;node ~/cloud9/bin/cloud9.js -c ~/cloud9/config.js -w ~/testproject -d&lt;br /&gt;&lt;br /&gt;I decided to install Chrome to see if it was a browser dependency and viola!&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4Tzv30-N4bg/TXU6up7Kt0I/AAAAAAAAAFA/bCxmT-3xflY/s1600/Snapz%2BPro%2BXScreenSnapz004.png" imageanchor="1" style="clear:right; float:right; margin-left:1em; margin-bottom:1em"&gt;&lt;img border="0" height="287" width="320" src="http://4.bp.blogspot.com/-4Tzv30-N4bg/TXU6up7Kt0I/AAAAAAAAAFA/bCxmT-3xflY/s320/Snapz%2BPro%2BXScreenSnapz004.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;After a simple web server app, I decided to poke the LED SYSFS entries.  I needed to change the SYSFS file entry permissions to 777 to enable my user account to set the state, but I was easily able to do so.&lt;br /&gt;&lt;br /&gt;Next step is to show how JavaScript closures can be used to create a web page that responds quickly when the USER button is pressed, generating a Linux input event.&lt;br /&gt;&lt;br /&gt;Am I the only one that gets how cool it will be to be able to distribute pre-configured SD cards you can drop into your BeagleBoard, plop it onto a network and start editing code to peek and poke hardware using an IDE without ever installing *anything*?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-1434340297584975691?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/1434340297584975691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2011/03/nodejs-based-cloud9-javascript-ide.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/1434340297584975691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/1434340297584975691'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2011/03/nodejs-based-cloud9-javascript-ide.html' title='Node.JS-based Cloud9 JavaScript IDE running on a BeagleBoard'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-4Tzv30-N4bg/TXU6up7Kt0I/AAAAAAAAAFA/bCxmT-3xflY/s72-c/Snapz%2BPro%2BXScreenSnapz004.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-6840411931202800259</id><published>2008-07-19T11:00:00.004-05:00</published><updated>2008-07-19T11:34:33.651-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technorati'/><category scheme='http://www.blogger.com/atom/ns#' term='collaboration'/><category scheme='http://www.blogger.com/atom/ns#' term='del.icio.us'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Google kills Blogger Web Comments</title><content type='html'>Often I find websites where people are just being stupid and need to be told so.  In those cases, I don't think relying on the ignorant host of the site to provide a comment page to let me tell him how much of an idiot he is being will really work.&lt;br /&gt;&lt;br /&gt;Then there are those cases where I'm wondering about what other people think who are interested in this same site that doesn't allow direct comments to be posted, or where I don't trust the host to not pull down negative comments.&lt;br /&gt;&lt;br /&gt;So, what are my options?&lt;br /&gt;&lt;br /&gt;Well, I used to make a lot of use of the &lt;a href="http://www.google.com/tools/firefox/webcomments/"&gt;Blogger Web Comments for Firefox&lt;/a&gt;.  This was a pretty handy tool that would fetch comments using &lt;a href="http://blogsearch.google.com/"&gt;Google's Blog Search&lt;/a&gt;.  Since I've recently upgraded to Firefox 3, I thought it was a good time to go look for an update to the plug-in and to see if I could get that functionality back.&lt;br /&gt;&lt;br /&gt;Unfortunately, the plug-in is no longer available.  This isn't the first time I &lt;a href="http://blog.hangerhead.com/2006/12/google-left-hand-meet-right-hand.html"&gt;ran into a brick wall with Blogger Web Comments for Firefox&lt;/a&gt;, but it seems they've decided to drop it, rather than fix it.&lt;br /&gt;&lt;br /&gt;Hopefully others will still see the promise in this sort of functionality and provide something, but in the short term, I'll be stuck performing copy-paste operations and executing 3-5 clicks to get similar output manually from &lt;a href="http://del.icio.us/url/91fbe56accfd43f44058ba17c80031ce"&gt;del.icio.us&lt;/a&gt;, &lt;a href=" http://blogsearch.google.com/blogsearch?hl=en&amp;ie=UTF-8&amp;ui=blg&amp;q=link%3Ahttp%3A%2F%2Fwww.google.com%2Ftools%2Ffirefox%2Fwebcomments&amp;btnG=Search+Blogs"&gt;Google blog search&lt;/a&gt;, and &lt;a href="http://technorati.com/search/http%3A%2F%2Fwww.google.com%2Ftools%2Ffirefox%2Fwebcomments%2F"&gt;Technorati&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'll be visiting those search options regularly to see if someone picks up on this feature.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-6840411931202800259?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/6840411931202800259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2008/07/google-kills-blogger-web-comments.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/6840411931202800259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/6840411931202800259'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2008/07/google-kills-blogger-web-comments.html' title='Google kills Blogger Web Comments'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-4896605018511696231</id><published>2008-03-30T12:46:00.005-05:00</published><updated>2008-03-30T14:50:26.232-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='semantic web'/><category scheme='http://www.blogger.com/atom/ns#' term='contextual web'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><title type='text'>Coining a phrase, the Contextual Web</title><content type='html'>I was getting started writing up a "master paper" to serve as a guideline for submissions to several conferences this year, including &lt;a href="http://www.lugradio.org/live/USA2008/"&gt;Lug Radio Live USA&lt;/a&gt;.  In this paper, I planned to coin a phrase, "The Contextual Web".  I figured, if I plan to coin a phrase, I should at least ask Google if anyone has tried to do that before me.&lt;br /&gt;&lt;br /&gt;It turns out that someone has, they did it recently, and the synopsis looks eerily like the one I had written in some drafts.  I'm not trying to claim that anyone stole my idea, or that I even had it significantly earlier than anyone else.  To the contrary, I'm trying to claim that this idea is just that obvious.  Here's a clip from &lt;a href="http://panelpicker.sxsw.com/ideas/view/178"&gt;the page I found when I did a Google search for "the contextual web"&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;The next generation of the web isn't going to be on your desktop, it may not even be on your mobile device. Context is going to be increasingly important and Nick will take you through the process of designing and architecting for context as well as regardless of the context.&lt;/blockquote&gt;Well, &lt;a href="http://www.nickfinck.com/"&gt;Nick Finck&lt;/a&gt;, you've got my attention.  A few more searches with Nick's name in the search box return some &lt;a href="http://www.digital-web.com/news/2008/03/SXSW_Interactive_The_Contextual_Web_Nick_Finck"&gt;additional gems&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;There are four Elements of Context – the User, the Task, the Environment, and the Technology. Who is your user and what obstacles are they facing; what task are they trying to complete; what is the environment in which they are working; and what kind of computer or device are they using? Designing interactive experiences is not limited to the web on your computer or phone – consider gas pumps, fridges, or devices like Microsoft Surface.&lt;/blockquote&gt;This definitely puts my ego into perspective.  Nick, I'm supporting &lt;a href="http://beagleboard.org"&gt;the Beagle board&lt;/a&gt; just for you. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-4896605018511696231?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/4896605018511696231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2008/03/coining-phrase-contextual-web.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/4896605018511696231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/4896605018511696231'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2008/03/coining-phrase-contextual-web.html' title='Coining a phrase, the Contextual Web'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-1748703897349670960</id><published>2008-03-21T23:22:00.001-05:00</published><updated>2008-03-21T23:22:07.402-05:00</updated><title type='text'>Adding a URL to 'gitweb'</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;It is as simple as creating a 'cloneurl' file in the git repository directory, just like you can add a 'description' file.&lt;br/&gt;&lt;br/&gt;This took about 7 minutes of exploring the CGI code of gitweb to find, which took another 2 minutes to find.  I spend about 20 exploring the web based on some links I was given that were 'supposed' to explain this, because this was the big feature that was missing from my gitweb installation.  Ugh!&lt;br/&gt;&lt;br/&gt;Come on Linux folks, are you just trying to make easy things difficult?&lt;br/&gt;&lt;br/&gt;Example: &lt;a href='http://www.beagleboard.org/gitweb/?p=beagleboard.org.git'&gt;http://www.beagleboard.org/gitweb/?p=beagleboard.org.git&lt;/a&gt; as sourced by &lt;a href='http://www.beagleboard.org/beagleboard.org.git'&gt;http://www.beagleboard.org/beagleboard.org.git&lt;/a&gt;.&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-1748703897349670960?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/1748703897349670960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2008/03/adding-url-to.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/1748703897349670960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/1748703897349670960'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2008/03/adding-url-to.html' title='Adding a URL to &amp;#39;gitweb&amp;#39;'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-8311267095928937980</id><published>2008-03-20T09:59:00.002-05:00</published><updated>2008-03-20T10:02:57.362-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='p2p sockets'/><category scheme='http://www.blogger.com/atom/ns#' term='web programming'/><category scheme='http://www.blogger.com/atom/ns#' term='greasemonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='collaboration'/><category scheme='http://www.blogger.com/atom/ns#' term='jxta'/><category scheme='http://www.blogger.com/atom/ns#' term='participation media'/><category scheme='http://www.blogger.com/atom/ns#' term='p2p'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><category scheme='http://www.blogger.com/atom/ns#' term='paper airplane'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon web services'/><category scheme='http://www.blogger.com/atom/ns#' term='server side javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='mashup'/><title type='text'>Making the connection between Gears, GreaseMonkey, JXTA, and OpenID</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;A while back, I wrote-up a "Collaborative GreaseMonkey" patent disclosure.  It was a defensive measure to make sure no one else patented the idea and prevented the rest of us from using it.  The disclosure never made it past our patent committee, and I think that is fine, since it is at least documented as prior art in some way.  The code never got to the point where it was worth sharing, but I do plan to revive it at some point.&lt;br /&gt;&lt;br /&gt;I'm seeing that more and more people are starting to get ideas that are more and more similar to what I had in mind.  Today, I read about someone dreaming up thoughts on using &lt;a href="http://almaer.com/blog/gears-future-apis-openid-and-oauth"&gt;Google Gears to perform OpenID and OAuth&lt;/a&gt;.  I like the thought pattern.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gears.google.com/"&gt;Gears&lt;/a&gt;, &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/748"&gt;GreaseMonkey&lt;/a&gt;, &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt;, and &lt;a href="https://p2psockets.dev.java.net/"&gt;P2PSockets&lt;/a&gt; (JXTA) have the potential to re-invent the web and to establish a real web operating system.  Gears enables the JavaScript written into web pages to become part of a real, persistent application with persistent data storage and threads.  GreaseMonkey provides a solution to edit existing web applications with user-controled, local customizations and to create applications fully local, without needing to learn how to write a web server application.  OpenID gives a single solution for authenticating yourself across those web applications.  P2PSockets allows the applications and data you host locally to be discovered on the web without needing to own a web server.&lt;br /&gt;&lt;br /&gt;The result is an application building environment that is an incremental step from simple HTML+JavaScript editing and allows everyone to invent their own web, rather than just rely on the web that the social networking sites control today.&lt;br /&gt;&lt;br /&gt;The success of this web is, of course, controlled by the economy it creates.  An a-la-carte business model, like the one provided by Amazon's web services, is a great way to ensure that the bandwidth and data storage necessary for the locally-hosted services to scale.&lt;br /&gt;&lt;br /&gt;Thoughts?&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-8311267095928937980?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/8311267095928937980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2008/03/making-connection-between-gears.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8311267095928937980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8311267095928937980'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2008/03/making-connection-between-gears.html' title='Making the connection between Gears, GreaseMonkey, JXTA, and OpenID'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-8890726772693816260</id><published>2008-03-07T10:32:00.002-06:00</published><updated>2008-03-07T10:36:07.686-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='omap'/><title type='text'>Open source on TI devices</title><content type='html'>I happen to like this article, &lt;a href="http://blogs.zdnet.com/open-source/?p=2093" rel="bookmark" title="Permanent Link to TI targets Linux and open source with new OMAP chips"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;TI targets Linux and open source with new OMAP chips&lt;/a&gt;, but I certainly have gotten the message "more patches, less powerpoints".  We'll see over the next few months...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-8890726772693816260?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/8890726772693816260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2008/03/open-source-on-ti-devices.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8890726772693816260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8890726772693816260'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2008/03/open-source-on-ti-devices.html' title='Open source on TI devices'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-5428759233825361506</id><published>2008-03-05T22:30:00.001-06:00</published><updated>2008-03-05T22:30:09.964-06:00</updated><title type='text'>TI-Open-Source-Workshop-TIDEVCON08</title><content type='html'>&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt; &lt;a href="http://www.flickr.com/photos/24442827@N06/2313217821/" title="photo sharing"&gt;&lt;img src="http://farm4.static.flickr.com/3295/2313217821_4b5a07f598_m.jpg" alt="" style="border: solid 2px #000000;" /&gt;&lt;/a&gt; &lt;br /&gt; &lt;span style="font-size: 0.9em; margin-top: 0px;"&gt;  &lt;a href="http://www.flickr.com/photos/24442827@N06/2313217821/"&gt;TI-Open-Source-Workshop-Jason-Kridner-TIDEVCON08&lt;/a&gt;  &lt;br /&gt;  Originally uploaded by &lt;a href="http://www.flickr.com/people/24442827@N06/"&gt;shutter_nut&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;I've mostly given up on trying to be relatively anonymous on this blog.  I figure that people who know me already know how to find this site, but I'm starting to try to take on some relatively public responsibilities related to open source software and the newly "announced" BeagleBoard.&lt;br /&gt;&lt;br /&gt;Actually, the BeagleBoard isn't officially "announced".  The reason is that there really isn't a community or set of applications around it yet to make it something worth announcing.  Instead, it is just an open project looking for some of the right folks to help make it happen.&lt;br /&gt;&lt;br /&gt;I have a lot of confidence that the BeagleBoard will be a very real and active community project.  Just let me know if and how you'd like to get involved.&lt;br /&gt;&lt;br /&gt;For those who have read my blog posts in the past, rest assured that the BeagleBoard is quite intertwined with my vision for collaboration.  My hope is that it will yield a nice starting point for building collaboration software that could be integrated into just about any form-factor and innovative human interface.&lt;br clear="all" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-5428759233825361506?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/5428759233825361506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2008/03/ti-open-source-workshop-tidevcon08.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/5428759233825361506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/5428759233825361506'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2008/03/ti-open-source-workshop-tidevcon08.html' title='TI-Open-Source-Workshop-TIDEVCON08'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3295/2313217821_4b5a07f598_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-7146691654976136197</id><published>2008-02-06T09:07:00.000-06:00</published><updated>2008-02-06T09:51:17.359-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><title type='text'>Heading to LugRadio Live</title><content type='html'>You almost can't call it a business trip, but I will be filing an expense report...&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Bb78lynVJSs&amp;rel=1" &gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Bb78lynVJSs&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://www.lugradio.org/live/USA2008/"&gt;Go to LugRadio Live USA 2008, 12-13 April, San Francisco!&lt;/a&gt; Watch this, then &lt;a href="http://www.lugradio.org/live/USA2008/video"&gt;spread the word&lt;/a&gt;!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-7146691654976136197?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/7146691654976136197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2008/02/heading-to-lugradio-live.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/7146691654976136197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/7146691654976136197'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2008/02/heading-to-lugradio-live.html' title='Heading to LugRadio Live'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-5662047639118497420</id><published>2008-01-29T18:21:00.001-06:00</published><updated>2008-01-29T18:26:17.531-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pandora'/><title type='text'>Could Pandora open up Linux games?</title><content type='html'>They say the Open Pandora (P&amp;amp;|A) handheld gaming device compares in power to a Nintendo GameCube, and will offer full-speed Playstation and N64 emulation.  How does the GameCube compare to other systems/CPUs?&lt;br /&gt;&lt;br /&gt;Of course, what I think is really interesting about this device is it being a clam shell (to protect the screen), having real gaming controls, and being fully open for hacking.  I expect a lot of nice software will come out of this device existing.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://linuxdevices.com/news/NS7004794073.html"&gt;read more&lt;/a&gt; | &lt;a href="http://digg.com/gadgets/Could_Pandora_open_up_Linux_games"&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-5662047639118497420?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/5662047639118497420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2008/01/could-pandora-open-up-linux-games.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/5662047639118497420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/5662047639118497420'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2008/01/could-pandora-open-up-linux-games.html' title='Could Pandora open up Linux games?'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-2670846233133178412</id><published>2008-01-24T22:00:00.000-06:00</published><updated>2008-01-27T16:13:35.915-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='p2p'/><title type='text'>Hello?  Jabber was designed for cloud computing</title><content type='html'>I just read &lt;a href="http://www.readwriteweb.com/about_marshall.php"&gt;Marshall Kirkpatrick&lt;/a&gt;'s  Read/Write Web post &lt;a href="http://www.readwriteweb.com/archives/xmpp_web.php"&gt;&lt;span style="font-style: italic;"&gt;Could Instant Messaging (XMPP) Power the Future of Online Communication?&lt;/span&gt;&lt;/a&gt;.  Despite his apparent bemusement with the "the rise of XMPP (called Jabber in IM) for powering communication services hosted in the cloud" this really shouldn't be much of a surprise.  In one of my favorite books of all time, &lt;a href="http://www.oreilly.com/catalog/peertopeer/"&gt;Peer-to-Peer&lt;/a&gt;, &lt;a href="http://www.xmpp.org/xsf/people/jer.shtml"&gt;Jeremie Miller, inventor of Jabber&lt;/a&gt;, explained this to the world in 2001.  Jabber was envisioned from its beginnings in 1998 to not just handle person-to-person conversations, but also person-to-application and application-to-application conversations.&lt;br /&gt;&lt;br /&gt;I also recently read about using &lt;a href="http://www.linuxdevices.com/news/NS9957120145.html"&gt;Jabber with my OLPC XO-1&lt;/a&gt;, which opened up a whole new world.  All of a sudden, instead of just finding other XO's on my LAN, my screen was full of people to chat and collaborate with.  Over Jabber, not just instant messages are shared from the XO, but every application can be shared and becomes a gathering place.  You can take a look at &lt;a href="http://wiki.laptop.org/go/Shared_Sugar_Activities"&gt;how Jabber is used with the XO on the OLPC wiki&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Marshall goes on in his analysis to bring us back down to Earth regarding Jabber/XMPP relative to HTTP and he is right.  HTTP rules today and I don't think there is any one killer reason to change that.  If nothing else, however, Jabber/XMPP has a really nice specification on &lt;a href="http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol#_note-3"&gt;how to use HTTP more efficiently to get notifications without polling&lt;/a&gt;.  Jabber/XMPP specifies this for the purpose of overcoming firewalls, but the result is that Jabber/XMPP can really be seen as simply some really cool stuff to do on top of HTTP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-2670846233133178412?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/2670846233133178412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2008/01/hello-jabber-was-designed-for-cloud.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2670846233133178412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2670846233133178412'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2008/01/hello-jabber-was-designed-for-cloud.html' title='Hello?  Jabber was designed for cloud computing'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-3654005600030145436</id><published>2008-01-23T11:03:00.002-06:00</published><updated>2008-03-02T22:23:53.168-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arm'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Where is the Jazelle-RCT open source solution?</title><content type='html'>Ugh.  There is too much noise around open source virtual machines, including &lt;a href="http://sourceforge.net/search/?type_of_search=soft&amp;amp;type_of_search=soft&amp;amp;words=java+vm"&gt;almost 16,000 projects on SourceForge&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The &lt;a href="https://phoneme.dev.java.net/"&gt;PhoneME&lt;/a&gt;, Android, or other &lt;a href="http://www.linuxdevices.com/news/NS6857451192.html"&gt;open source JavaVM&lt;/a&gt; projects must be looking to support ARM's Jazelle-RCT technology, right?  I know there are some interesting commercial efforts, but if anyone is aware of an on-going open source project, I'd want to hear about it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-3654005600030145436?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/3654005600030145436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2008/01/where-is-jazelle-rct-open-source.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/3654005600030145436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/3654005600030145436'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2008/01/where-is-jazelle-rct-open-source.html' title='Where is the Jazelle-RCT open source solution?'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-5325581969770525748</id><published>2008-01-10T20:37:00.000-06:00</published><updated>2008-01-24T23:34:13.812-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='hobby'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='bug labs'/><title type='text'>Bug Labs device was cooler than I expected</title><content type='html'>&lt;span class="trackbacks-link"&gt;At CES this week, I managed to stop by the Bug Labs demo, which ended up &lt;a href="http://www.bugblogger.com/2008/01/best-of-ces-fin.html"&gt;winning an award for the best emerging technology&lt;/a&gt;.  I've been hearing about this device for months from co-workers and I'd explored the website, but seeing the live demo was more impressive than I expected.&lt;br /&gt;&lt;br /&gt;The little Lego-like embedded electronics development kit was quite flexible.  As a challenge, in 8 minutes, they created a new application of a motion-triggered camera that would upload photos to a server.  I was quite impressed.&lt;br /&gt;&lt;br /&gt;They use Eclipse to create an easy-to-use development front-end and PhoneME to run Java applications on the device.  The device is running both X11 with Athena Widgets (AWT) and Qt/Embedded.  This isn't quite as nice as the GTK stuff running on the N810, but it shouldn't take them any time to get there.  The demonstrator had no trouble throwing together a new program in Java and sending it down to the device over USB, despite being harassed by one of his co-workers about the missing award they had just won.&lt;br /&gt;&lt;br /&gt;Apparently, someone decided to take their newly won prize.  Hopefully, it was just on loan to one of the many television interviewers showering attention down on them.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-5325581969770525748?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/5325581969770525748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2008/01/bug-labs-device-was-cooler-than-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/5325581969770525748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/5325581969770525748'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2008/01/bug-labs-device-was-cooler-than-i.html' title='Bug Labs device was cooler than I expected'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-8476161187457610316</id><published>2007-12-13T09:09:00.000-06:00</published><updated>2007-12-13T10:00:58.964-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='olpc'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon'/><title type='text'>Criticism of the OLPC XO-1 concept</title><content type='html'>In &lt;a href="http://dvorak.org/blog"&gt;John C. Dvorak&lt;/a&gt;'s PC Magazine article "&lt;a href="http://www.pcmag.com/article2/0,2704,2227850,00.asp"&gt;One Laptop per Child Doesn't Change the World&lt;/a&gt;", he writes:&lt;br /&gt;&lt;blockquote&gt;Does anyone but me see the OLPC XO-1 as an insulting "let them eat cake" sort of message to the world's poor?&lt;/blockquote&gt;I like Dvorak and I often follow him on the &lt;a href="http://twit.tv/twit"&gt;TWiT podcast&lt;/a&gt; and &lt;a href="http://www.crankygeeks.com/"&gt;CrankyGeeks&lt;/a&gt; on TiVo, but he polarizes issues in ways that sometimes aren't that useful, except for bringing attention to an issue.  Hopefully the audience is paying enough attention to think for themselves, but that has proven repeatedly not to be the case.&lt;br /&gt;&lt;br /&gt;In my view, if some service like "&lt;a href="http://www.mturk.com/mturk/welcome"&gt;Mechanical Turk&lt;/a&gt;" pays living wages for these folks, then it was worth it.  On average and over a lifetime, each of these students should be able to earn more than the cost/value of the computer.&lt;br /&gt;&lt;br /&gt;Yes, the literacy rates and language barriers are an issue in making the computers useful at all.   There would be, however, huge motivation to focus on literacy and additional languages, if some people are able to earn money with these machines.&lt;br /&gt;&lt;br /&gt;So, Dvorak has given all of us XO enthusiasts a mission: enable students to make money using these machines by providing services like Mechanical Turk in the languages of the students and figure out how they can collect the resulting goods.&lt;br /&gt;&lt;br /&gt;OK, I admit, this isn't a perfect idea.  I've heard concerns that these laptops will be stolen if a market emerges for them and having them be a source of money would certainly make them valuable.  This is also, to a degree, advocating some sort of child labor, which is a reality, despite the many objections we have in the developed world.&lt;br /&gt;&lt;br /&gt;Better ideas?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-8476161187457610316?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/8476161187457610316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/12/criticism-of-olpc-xo-1-concept.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8476161187457610316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8476161187457610316'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/12/criticism-of-olpc-xo-1-concept.html' title='Criticism of the OLPC XO-1 concept'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-2539722043811160009</id><published>2007-12-01T08:34:00.001-06:00</published><updated>2007-12-01T08:34:56.644-06:00</updated><title type='text'>Blogger Beta Ships OpenID</title><content type='html'>Google has added new login options to Blogger, including OpenID.  This is an important additional baby step towards a web with a single sign-on that allows you to have better control of your identity information.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.readwriteweb.com/archives/openid_google_blogger_beta.php'&gt;read more&lt;/a&gt; | &lt;a href='http://digg.com/tech_news/Blogger_Beta_Ships_OpenID'&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-2539722043811160009?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/2539722043811160009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/12/blogger-beta-ships-openid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2539722043811160009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2539722043811160009'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/12/blogger-beta-ships-openid.html' title='Blogger Beta Ships OpenID'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-8580853106704013614</id><published>2007-11-20T17:13:00.001-06:00</published><updated>2007-11-20T17:13:18.543-06:00</updated><title type='text'>N810 demo video from Nokia</title><content type='html'>Nothing too special about the web page, but the video gives lots of good angles and pictures of accessories.  Sure would be nice if they used that GPS and a database to help find some WiFi hotspots.  Too bad it doesn't have WiMax or EV-DO.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.nseries.com/index.html?l=products,n810,demo'&gt;read more&lt;/a&gt; | &lt;a href='http://digg.com/gadgets/N810_demo_video_from_Nokia'&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-8580853106704013614?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/8580853106704013614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/11/n810-demo-video-from-nokia.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8580853106704013614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8580853106704013614'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/11/n810-demo-video-from-nokia.html' title='N810 demo video from Nokia'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-7000986351291539502</id><published>2007-10-01T13:03:00.000-05:00</published><updated>2007-11-20T18:23:02.076-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='accessibility'/><category scheme='http://www.blogger.com/atom/ns#' term='webos'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='web programming'/><category scheme='http://www.blogger.com/atom/ns#' term='human factors'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='mashup'/><title type='text'>Accessibility is the killer mashup/webos application</title><content type='html'>After watching &lt;a href="http://www.crockford.com/"&gt;Douglas Crockford (of Yahoo and JavaScript fame)&lt;/a&gt; &lt;a href="http://video.google.com/videoplay?docid=452089494323007214"&gt;plea for Google, Microsoft, and others to participate in a mashup summit&lt;/a&gt; and reading &lt;a href="http://blog.programmableweb.com/2007/10/01/douglas-crockford-on-the-mashup-problem/"&gt;some of the feedback&lt;/a&gt; &lt;a href="http://ajaxian.com/archives/gears-and-the-mashup-problem"&gt;around the web&lt;/a&gt;, I realized the critical application use-case is still missing.&lt;br /&gt;&lt;br /&gt;Someone in the Q&amp;amp;A brought up a good example of a &lt;a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29"&gt;mashup&lt;/a&gt; implemented today in an undesirable method due to security reasons: Facebook accessing your GMail/MSN/... contacts to request more members.  Contact sharing between applications is an excellent use-case for mashups, but I don't see it as a driving application.  Certainly it gets to the heart of Crockford's talk: security is an excellent application for the &lt;a href="http://gears.google.com/"&gt;Google Gears&lt;/a&gt; &lt;a href="http://code.google.com/apis/gears/api_workerpool.html"&gt;WorkerPools&lt;/a&gt;.  If you are like me, you'll still be left thinking about how everyday web consumers will be motivated to download Gears, instead of walking down the questionable path of simply giving applications like Facebook access to all of your potentially private information.&lt;br /&gt;&lt;span style=""&gt;&lt;blockquote&gt; Mashups are the most interesting innovation in software development in decades. &lt;span id="wholedescr" class="visible"&gt;Unfortunately, the browser's security model did not anticipate this development, so mashups are not safe if there is any confidential information in the page. Since virtually every page has at least some confidential information in it, this is a big problem. Google Gears may lead to the solution.&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;Security is important and is critical to the growth of new mashup applications and I'll be happy if that alone brings us worker threads and off-line support, but I think the killer mashup is the one that makes all of this great data exposed through APIs and structured web pages and makes it accessible in new ways.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://diveintomark.org/"&gt;Mark&lt;/a&gt;, of &lt;a href="http://diveintoaccessibility.org/"&gt;diveintoaccessibility&lt;/a&gt; and &lt;a href="http://diveintogreasemonkey.org/"&gt;diveintogreasemonkey&lt;/a&gt; fame,  who I admire for his vision of accessibility wrote in his blog post "&lt;a href="http://diveintomark.org/archives/2007/10/04/if-wishes-were-iphones"&gt;if wishes were iPhones&lt;/a&gt;":&lt;br /&gt;&lt;blockquote&gt;&lt;strong&gt;I don’t understand this continuing obsession with buying things that you need to break before they do what you want.&lt;/strong&gt;&lt;/blockquote&gt;And with this thought I am reminded that the killer mashup/webos application is the one that takes all of those immensely useful web services out there and makes them measurably usable.  And by usable, I mean giving the user control.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-7000986351291539502?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/7000986351291539502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/10/accessibility-is-killer-mashupwebos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/7000986351291539502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/7000986351291539502'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/10/accessibility-is-killer-mashupwebos.html' title='Accessibility is the killer mashup/webos application'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-193515848984278853</id><published>2007-09-10T01:04:00.000-05:00</published><updated>2007-10-15T18:05:21.985-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile 2.0'/><title type='text'>Mobile 2.0 Conference</title><content type='html'>I'm thinking about trying to attend the &lt;a href="http://www.mobile2event.com/"&gt;Mobile 2.0 Conference&lt;/a&gt; on October 15th in San Francisco.  Anyone have comments about this event?  If there were a handful of people interested in chatting about how to enable creation of scalable web services generated from mobile/embedded devices, I'd make a point of going.&lt;!-- ckey="3AE8E6C0" --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-193515848984278853?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/193515848984278853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/09/mobile-20-conference.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/193515848984278853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/193515848984278853'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/09/mobile-20-conference.html' title='Mobile 2.0 Conference'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-6443780271191703342</id><published>2007-09-06T09:17:00.000-05:00</published><updated>2007-11-20T18:42:45.235-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web programming'/><category scheme='http://www.blogger.com/atom/ns#' term='evite'/><category scheme='http://www.blogger.com/atom/ns#' term='upcoming'/><category scheme='http://www.blogger.com/atom/ns#' term='collaboration'/><category scheme='http://www.blogger.com/atom/ns#' term='yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='calendar'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>No server, no satisfaction</title><content type='html'>There's just no satisfaction for the casual home user who wants to collaborate with friends.  Even when dealing with a problem that has been solved many times over, it is really difficult without a server of your own and a fair amount of programming.  The problem I'm talking about is planning events on a group calendar.&lt;br /&gt;&lt;br /&gt;There is a group of somewhat over 25 people near where I live that frequently gets together to play outdoor roller hockey.  We play in a parking lot in one of the area parks or offices.  We have a mailing list on Yahoo, but most people are just copied on a repeatedly used e-mail thread. On that thread, the subject line is typically changed to match the proposed day and time.  Every week, we all bombard each other with e-mails to make sure that enough of us are coming out to play.  This has actually worked fairly well, but there have been some significant exceptions.&lt;br /&gt;&lt;br /&gt;Sometimes we don't meet our threshold of 6 players and additional e-mails go out to entice people to sign-up to play.  Calls are made.  Threats are discussed. People who previously agreed to go attend might decline since they don't want to risk trying to play hockey with only 3 people. Chaos ensues.&lt;br /&gt;&lt;br /&gt;One of they guys who used to come out regularly created a really simple sign-up page on a website. The site accepted a name, e-mail address, and phone number to sign-up for a given game. The name is listed beside the entry for that game. The e-mail was used to send out the "game-on" or "need-more-players" notification a few hours before the prospective game. Phone numbers were included to speed up the communication.&lt;br /&gt;&lt;br /&gt;The application worked quite well and was simple-minded. Entering the same sign-up information twice would result in being removed from the list. The phone number and e-mail information had to match, providing a tiny amount of security from folks simply removing everyone from the list. No verification of the entry was done, but you can imagine a simple verification code being provided via SMS to the mobile phone number if we ever started to have problems with that.  Life was good.&lt;br /&gt;&lt;br /&gt;He stopped playing and his site stopped working. We were back to using e-mail. A few folks reminisced about the good 'ol days  when we had our own web server. I own the domain name, so I decided to bring back the sign-up sheet. Where should I host it?&lt;br /&gt;&lt;br /&gt;I don't really like the idea of pointing people to my home computer, so that's not my first choice. I don't really like the idea of paying for a full-featured (LAMP and/or Ruby enabled, ie. scripting and a database) hosting service just for this hobby. This is just calendar data! Why should I need a web server to do something that Yahoo and Google provide for free?&lt;br /&gt;&lt;br /&gt;Our mailing list is on Yahoo, so I looked first at &lt;a href="http://help.yahoo.com/help/uk/cal/invites/invites-01.html"&gt;their group calendar&lt;/a&gt;.  It was a disastrously complex to use and didn't provide any of the custom features we had with the much simpler web app.  Similar problems were had with Google's calendar and Evite.  The most fundamental issue with all of these calendaring solutions: they required account creation and login to utilize.&lt;br /&gt;&lt;br /&gt;I tried to see if I could do something with static hosting, but it seems even &lt;a href="http://www.amazon.com/Simple-Queue-Service-home-page/b?ie=UTF8&amp;amp;node=13584001"&gt;Amazon's simple queuing service&lt;/a&gt; doesn't seem to work without having a dynamic host.  At this point I gave up, but I'll get back to this application yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-6443780271191703342?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/6443780271191703342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/01/no-server-no-satisfaction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/6443780271191703342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/6443780271191703342'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/01/no-server-no-satisfaction.html' title='No server, no satisfaction'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-1329465107770158779</id><published>2007-09-03T08:39:00.000-05:00</published><updated>2007-09-03T10:58:51.101-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webos'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='webtop'/><category scheme='http://www.blogger.com/atom/ns#' term='web programming'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><title type='text'>Still don't get the whole WebOS thing?</title><content type='html'>I've gotten a bit smarter about explaining why there will be a sort of emerging web operating system to the people who inquire.  For example, I've started calling it a "web services kit", instead of an operating system.  Today's tech savvy minds can accept the idea of yet-another-SDK, whereas the idea of a web operating system is either tainted by the webtops or seen as inconceivable and unnecessary delusions to compete with Windows, Linux, or OSX.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.programmableweb.com/scorecard"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_y7jVc0o1My8/RtwYpHSOQiI/AAAAAAAAAAY/vzLpdjEjRW0/s400/pw_api_scorecard.PNG" alt="" id="BLOGGER_PHOTO_ID_5105983172140483106" border="0" /&gt;&lt;/a&gt;What I haven't leveraged enough is the great &lt;a href="http://www.programmableweb.com/scorecard"&gt;summary of web service APIs provided by ProgrammableWeb&lt;/a&gt;.  From their simple scorecard, you can get a quick overview of the categories of popular services and some of the key players.  Ask yourself what sustainable advantage do any of these players have within their service space.  Don't get fooled, it isn't an easy question.  Keep in mind that standard service definitions are coming into existence for most of these services, such as &lt;a href="http://www.xmpp.org/"&gt;XMPP&lt;/a&gt; for chatting and &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt; for identity.  Take up the exercise to look across these service APIs, look for winners, and look for emerging standards.&lt;br /&gt;&lt;br /&gt;Comfortable?  Now, realize that it is only a matter of time before there are standards-based implementations of all of these services.  Sure, it might take a while, but it'll happen.&lt;br /&gt;&lt;br /&gt;If you are quick, you might be sighing and thinking to yourself, "what about the data?".  I'm glad you asked, because that is really the point.  These services are all about controlling access to data and looking for ways to monetize it.  You might stumble over the idea that on-line office applications involve an incredibly complex pile-o-code, but then you'll remember that you already have 2-3 other viable choices of office applications to which you already had access.  Over the long-term, it is all about the data.&lt;br /&gt;&lt;br /&gt;Still don't feel like you're any closer to accepting the idea of a web operating system?  That's okay, as long as you recognize the benefit of something that provides you with the capability to control and monetize access to data and some sort of well-understood integration layer back into your application.  You'll come around when you start thinking about who you want to &lt;span style="font-style: italic;"&gt;own &lt;/span&gt;your data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-1329465107770158779?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/1329465107770158779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/09/still-dont-get-whole-webos-thing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/1329465107770158779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/1329465107770158779'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/09/still-dont-get-whole-webos-thing.html' title='Still don&apos;t get the whole WebOS thing?'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_y7jVc0o1My8/RtwYpHSOQiI/AAAAAAAAAAY/vzLpdjEjRW0/s72-c/pw_api_scorecard.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-7730438852587227461</id><published>2007-08-25T07:05:00.000-05:00</published><updated>2007-08-25T07:19:58.678-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='barcamphouston2'/><title type='text'>BarCampHouston</title><content type='html'>I'm heading up to &lt;a href="http://www.barcamp.org/BarCampHouston"&gt;BarCampHouston&lt;/a&gt; today.  I  don't know what to expect and I haven't had any free time whatsoever, so I won't put on much of a demo or presentation.  I'll be happy to share any info on &lt;a href="http://blog.hangerhead.com/2007/02/peer-to-peer-collaboration-tools.html"&gt;P2P collaboration&lt;/a&gt; and my &lt;a href="http://blog.hangerhead.com/2007/07/boot-your-n800-maemo-sdk-today-with.html"&gt;Maemo SDK EC2 image&lt;/a&gt;, if anyone is interested.  I'm also looking forward to simply discussing toolkits for building web services (&lt;a href="http://blog.hangerhead.com/search/label/web%20operating%20system"&gt;web operating systems&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;By the way, I've moved my EC2 script over to &lt;a href="http://sdk-ami.garage.maemo.org"&gt;http://sdk-ami.garage.maemo.org&lt;/a&gt;. &lt;span class="on" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-7730438852587227461?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/7730438852587227461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/08/barcamphouston.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/7730438852587227461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/7730438852587227461'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/08/barcamphouston.html' title='BarCampHouston'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-5160767452015662183</id><published>2007-08-18T01:01:00.000-05:00</published><updated>2007-08-18T01:28:03.814-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='n800'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon web services'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='maemo'/><title type='text'>Boot your N800 Maemo SDK today with Amazon's EC2</title><content type='html'>I really appreciate that &lt;a href="http://www.maemo.org.br/platform/download-maemo-vm.html"&gt;someone has created VMWare and QEMU images for running the Maemo SDK&lt;/a&gt;. Unfortunately, my machines, both Mac and PC, are typically too busy with other stuff to allow me to quickly fire-up a virtual machine image that will chew up all my computing resources. Instead, booting up a machine from Amazon for about $0.15/hour or so is affordable enough for my &lt;a href="http://web.nseries.com/products/n800/#l=products,n800"&gt;N800&lt;/a&gt; development. No more downloading a 1.5+GB image; EC2 users can instead just share an image and a boot script and be up-and-running at a known-good starting point.&lt;br /&gt;&lt;br /&gt;Of course, the first step was to &lt;a href="http://aws.amazon.com/"&gt;get an EC2 (and S3) account&lt;/a&gt;. I waited almost a month for my EC2 account. At some point I'll figure some way to let other people just rent a machine from me to make it easy, but that'll require a bit of thought and management. For now, head on over to Amazon, request an account, and they'll get to you eventually. There isn't any monthly fee or hidden costs; you just pay for the time, bandwidth, and storage you use. As long as you copy your work off somewhere else, such as by using Subversion hosted by &lt;a href="http://code.google.com/"&gt;code.google.com&lt;/a&gt;, you can shutdown without having any recurring fees.&lt;br /&gt;&lt;br /&gt;Once you have an EC2 and S3 account, you'll want to &lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351&amp;categoryID=88"&gt;download the EC2 command-line tools&lt;/a&gt; and &lt;a href="http://aws-portal.amazon.com/gp/aws/developer/account/index.html/104-4292942-5967124?ie=UTF8&amp;amp;action=access-key"&gt;your access identifiers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The next step was to choose the Linux image I wanted to use as my starting point. Personally, I'm a Gentoo fan because I think Linux has an excessive number of binary-compatible dependencies on the C library and Gentoo solves that by recompiling every new application, instead of needing to update your C library to match the binary-compatibility requirements of all your applications. Of course, that makes application installation slow and Maemo itself uses the Debian package model, so Debian or Ubuntu make the most sense. However, Amazon supplies some nice reference images on Fedora Core 4 that might simplify my life around issues like ssh login security when the root account password can't be secret. Nothing is easy, so I &lt;a href="http://developer.amazonwebservices.com/connect/thread.jspa?threadID=12872&amp;amp;tstart=45"&gt;found an Ubuntu image&lt;/a&gt; that has reasonable documentation on how it was created such that someone could redo this all with a better supported AMI in the future.&lt;br /&gt;&lt;br /&gt;At this point, the issues started to pile up and I decided my best hope was to document my steps in scripts so that I can reproduce them with a better starting image and make corrections that people point out to me.  I decided to the Google Subversion server I mentioned earlier to &lt;a href="http://code.google.com/p/maemo-sdk-image/"&gt;host my script at http://code.google.com/p/maemo-sdk-image/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I used a Mac to run my script, but I plan to eventually make it run on the N800 itself or on a Windows PC.  Right now, the script uses bash, which isn't natively on either the N800 or Windows.  Also, the Unix-style version of the EC2 command-line tools also utilizes bash.  I think the solution for both is likely to install bash.&lt;br /&gt;&lt;br /&gt;The access identifier information ended up placed in a subdirectory called 'secrets' under where I ran the script.  These secrets end up getting copied temporarily to the EC2 images for the purpose of bundling them up.  I exclude that directory from the bundle.&lt;br /&gt;&lt;br /&gt;I say 'images', because I end up working with four different EC2 images in the script.  The first one is the base Fedora Core image that Amazon makes public.  The second one is a bare-bones Ubuntu Feisty image that can be boot on EC2.  The third one is patched to be self-bundling.  The fourth one actually contains the Maemo SDK.  The third and fourth could easily be combined, but I am still inching along.&lt;br /&gt;&lt;br /&gt;In theory, you can run all of the steps using 3 separate calls to the script:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;./build_maemo_api build-feisty&lt;/li&gt;&lt;li&gt;./build_maemo_api patch-feisty&lt;/li&gt;&lt;li&gt;./build_maemo_api install-maemo&lt;/li&gt;&lt;/ol&gt;I think the first two should work reasonably well to create a self-bundling Ubuntu image, but I haven't run them exactly like that to test them out yet.&lt;br /&gt;&lt;br /&gt;The third step certainly won't work.  One issue is that the Nokia binaries require you to agree to a license, so you'll need to do that part manually.  This also only gets you to version 3.1 of the SDK, so you'll need to update that as well.  There are also several steps missing before the image is really usable, such as setting up the X server and VNC server to allow you to view the emulated N800 screen remotely.&lt;br /&gt;&lt;br /&gt;Please feel free to post your comments here or on the wiki on how to improve the script.  I won't hesitate to utilize your inputs on the script hosted on the Subversion server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-5160767452015662183?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/5160767452015662183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/07/boot-your-n800-maemo-sdk-today-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/5160767452015662183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/5160767452015662183'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/07/boot-your-n800-maemo-sdk-today-with.html' title='Boot your N800 Maemo SDK today with Amazon&apos;s EC2'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-2672000501138074916</id><published>2007-07-27T12:50:00.000-05:00</published><updated>2007-07-28T22:49:57.818-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon web services'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Working on an Amazon EC2 AMI for the Maemo SDK (scratchbox on Ubuntu)</title><content type='html'>I'll get into why I want to create this Amazon EC2 AMI thing later, but I thought I'd get information out there on a problem I'm having.  Tve did a nice write-up on RightScale on &lt;a href="http://info.rightscale.com/2007/2/14/bundling-up-an-ubuntu-ec2-instance"&gt;bundling-up an ubuntu EC2 instance&lt;/a&gt;.  This is a really helpful write-up, but I get a shell script error and a hang when I try to bundle my Ubuntu image.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;root@domU-...:~# &lt;i&gt;ec2-bundle-vol -d /mnt -k ~root/pk-....pem -c ~root/cert-....pem -u ...&lt;/i&gt;&lt;br /&gt;Copying / into the image file /mnt/image...&lt;br /&gt;Excluding:&lt;br /&gt;       /sys&lt;br /&gt;       /var/lock&lt;br /&gt;       /dev/shm&lt;br /&gt;       /proc&lt;br /&gt;       /dev/pts&lt;br /&gt;       /proc/sys/fs/binfmt_misc&lt;br /&gt;       /var/run&lt;br /&gt;       /dev&lt;br /&gt;       /dev&lt;br /&gt;       /media&lt;br /&gt;       /mnt&lt;br /&gt;       /proc&lt;br /&gt;       /sys&lt;br /&gt;       /mnt/image&lt;br /&gt;       /mnt/img-mnt&lt;br /&gt;1+0 records in&lt;br /&gt;1+0 records out&lt;br /&gt;1048576 bytes (1.0 MB) copied, 0.003492 seconds, 300 MB/s&lt;br /&gt;mke2fs 1.39 (29-May-2006)&lt;br /&gt;warning: 256 blocks unused.&lt;br /&gt;&lt;br /&gt;Bundling image file...&lt;br /&gt;sh: Syntax error: Bad substitution&lt;br /&gt;&lt;/blockquote&gt;The script keeps running.  I don't know Ruby well, but the script seems to be stuck in a shell call to 'openssl'.  This seems to occur in bundle.rb line 51.  It looks like the 'tar' call on line 57 that is meant to feed the pipe being read by the running 'openssl' died, but I don't see where the "Bad substitution" might be.&lt;br /&gt;&lt;br /&gt;Tve didn't have a place to make a comment on the blog entry.  Time to debug...&lt;br /&gt;&lt;br /&gt;Quick update on when I canceled the process (need to think if this confirms or denies what I was thinking):&lt;br /&gt;&lt;blockquote&gt;sh: Syntax error: Bad substitution&lt;br /&gt;sh: cannot open /tmp/bundleimage-pipe1: Interrupted system call          &lt;br /&gt;error executing tar -chS -C /mnt image |            tee /tmp/bundleimage-pipe1 |gzip |            openssl enc -e -aes-128-cbc -K ... -iv ... &gt;            /mnt/image.tar.gz.enc;            for i in ${PIPESTATUS[@]}; do [ $i == 0 ] || exit $i; done, exit status code 2&lt;br /&gt;ec2-bundle-vol failed&lt;/blockquote&gt;...need to take a break and get back to my real work.&lt;br /&gt;&lt;br /&gt;Update #2: The problem turned out to be assumption in Amazon's Ruby script that 'bash' would be the shell executed by default.  The answer was within &lt;a href="http://developer.amazonwebservices.com/connect/thread.jspa?threadID=12872&amp;tstart=45"&gt;a script found on the Amazon developer's forum&lt;/a&gt;.  I've created my first image and I'll be hosting my script using Google's open source code repository when it is done at &lt;a href="http://code.google.com/p/maemo-sdk-image/"&gt;http://code.google.com/p/maemo-sdk-image/&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-2672000501138074916?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/2672000501138074916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/07/working-on-amazon-ec2-ami-for-maemo-sdk.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2672000501138074916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2672000501138074916'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/07/working-on-amazon-ec2-ami-for-maemo-sdk.html' title='Working on an Amazon EC2 AMI for the Maemo SDK (scratchbox on Ubuntu)'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-2243900581686648605</id><published>2007-04-27T02:07:00.000-05:00</published><updated>2007-04-27T02:20:43.377-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rocketboom'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Judgment vs. Jealousy: Jadon on Twitter</title><content type='html'>After hearing so much talk about Twitter on the &lt;a href="http://www.readwriteweb.com/archives/openyou_the_limits_of_privacy.php"&gt;blogs&lt;/a&gt;, &lt;a href="http://www.twit.tv/node/4946"&gt;podcasts&lt;/a&gt;, and &lt;a href="http://www.rocketboom.com/stories/rb_07_mar_29"&gt;vlogs&lt;/a&gt; I read, hear, and watch, I decided I had to know what the fuss was about: &lt;a href="http://twitter.com/Jadon"&gt;http://twitter.com/Jadon&lt;/a&gt;.  How do I manage to find time for this sort of waste?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-2243900581686648605?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/2243900581686648605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/04/judgment-vs-jealousy-jadon-on-twitter.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2243900581686648605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2243900581686648605'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/04/judgment-vs-jealousy-jadon-on-twitter.html' title='Judgment vs. Jealousy: Jadon on Twitter'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-2934251842550779413</id><published>2007-04-19T01:01:00.000-05:00</published><updated>2007-07-27T10:04:27.755-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon web services'/><title type='text'>Google AJAX Feed API</title><content type='html'>I read Udi Dahan's post on how &lt;a href="http://www.ddj.com/blog/webservicesblog/archives/2007/04/googles_ajax_ap.html"&gt;Google's Ajax API Simplifies Safe Mashups&lt;/a&gt;.  It didn't take 5 minutes to take &lt;a href="http://code.google.com/apis/ajaxfeeds/documentation/"&gt;Google's "Hello World" AJAX Feed API example&lt;/a&gt; and embed into &lt;a href="http://www.hangerhead.com/ajaxfeedapi.html"&gt;a web page of my own&lt;/a&gt;.  This is fun stuff allowing me to finally be able to manipulate feeds across sites without injecting any server-side code.&lt;br /&gt;&lt;br /&gt;What should be noted is that this is relying on Google services and must follow their terms.  It means that they monitor all the content this API brings into my page while other search engines cannot.  (Crawlers do not typically execute the JavaScript, so that's why they wouldn't see the results of the API calls.)&lt;br /&gt;&lt;br /&gt;Certainly I'm not the only one disturbed by this, right?  Where is the counter-movement to give the every-blogger ownership of his own services in just as simple a manner?  Is there a better answer than &lt;a href="http://aws.amazon.com/"&gt;Amazon's web services&lt;/a&gt;?  (For those that don't know, Amazon provides hosting solutions that are API-driven, highly customizable, scalable, and billed-by-use.)&lt;br /&gt;&lt;br /&gt;Google's solution is so simply by comparison that I am struggling to remember why this even matters to me.  Something in my gut just keeps telling me it is wrong to rely on services where I can't understand the business model.&lt;br /&gt;&lt;br /&gt;Also distracting from this actually-quite-cool service from Google is the fact that &lt;a href="http://pipes.yahoo.com/"&gt;Yahoo! Pipes&lt;/a&gt; &lt;a href="http://blogfresh.blogspot.com/2007/03/pipes-json-and-code-for-your-website.html"&gt;already offered this feature&lt;/a&gt; and many more.  Additionally, I believe that Yahoo! doesn't require you to register for an API key against your URL, though there is a need to register to create a pipe (feed) if you aren't using one someone else already created.&lt;br /&gt;&lt;br /&gt;P.S. If you are listening, sorry I'm not keeping up and haven't even uploaded the rest of my notes on my P2P collaboration presentation.  I have lot's of activity at work these days keeping my creative energy going without having to resort to my blog rantings.  :-)  But, this was such a quick post.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;Powered by &lt;a href="http://scribefire.com/"&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Technorati Tags: &lt;a class="performancingtags" href="http://technorati.com/tag/google" rel="tag"&gt;google&lt;/a&gt;, &lt;a class="performancingtags" href="http://technorati.com/tag/yahoo" rel="tag"&gt;yahoo&lt;/a&gt;, &lt;a class="performancingtags" href="http://technorati.com/tag/ajax" rel="tag"&gt;ajax&lt;/a&gt;, &lt;a class="performancingtags" href="http://technorati.com/tag/amazon" rel="tag"&gt;amazon&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-2934251842550779413?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/2934251842550779413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/04/google-ajax-feed-api.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2934251842550779413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2934251842550779413'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/04/google-ajax-feed-api.html' title='Google AJAX Feed API'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-5420391507729013198</id><published>2007-03-17T21:03:00.000-05:00</published><updated>2007-03-17T21:26:15.127-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='webos'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><category scheme='http://www.blogger.com/atom/ns#' term='walled gardens'/><title type='text'>A CIO that "gets" open source and collaboration tools</title><content type='html'>I've been really busy lately and will get back to the P2P Collaboration tool post soon.  I've really been enjoying my new job and have been spending a bit too much time at it.  :)&lt;br /&gt;&lt;br /&gt;I was trying to catch up on a bit of my reading and I ran across a &lt;a href="http://www.infoq.com/presentations/jp-rangaswami-open-source"&gt;fantastic 50 minute video on open source in the enterprise&lt;/a&gt; when reading &lt;a href="http://www.stucharlton.com/blog/archives/000130.html"&gt;Stu's blog&lt;/a&gt; that I had to stop and share it really quickly.  It is really worth the time.  Be patient.  If your job is related to information technology, you &lt;span style="font-style: italic; font-weight: bold;"&gt;must&lt;/span&gt; hear this and consider it.&lt;br /&gt;&lt;br /&gt;     CIO JP Rangaswami breaks down the economic justification for using open source in the enterprise and many of the reasons we need to tear down the walled gardens.  There are some specifics he gives for banks, but most technology companies will have very similar issues working with other companies.  Any company taking an early stand for open source collaboration tools can gain the benefits of better recruiting as he explains.  He also explains how the various tools are consolidating to standards and a small number of fundamental operations.&lt;br /&gt;&lt;br /&gt;When I listen, it is more and more justification for the coming WebOS.&lt;br /&gt;&lt;br /&gt;Again, the link is &lt;a href="http://www.infoq.com/presentations/jp-rangaswami-open-source"&gt;http://www.infoq.com/presentations/jp-rangaswami-open-source&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-5420391507729013198?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/5420391507729013198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/03/cio-that-gets-open-source-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/5420391507729013198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/5420391507729013198'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/03/cio-that-gets-open-source-and.html' title='A CIO that &quot;gets&quot; open source and collaboration tools'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-8899645755305305485</id><published>2007-02-08T00:01:00.000-06:00</published><updated>2007-02-07T01:47:49.287-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='collaboration'/><category scheme='http://www.blogger.com/atom/ns#' term='calendar'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='broadcatching'/><category scheme='http://www.blogger.com/atom/ns#' term='content management systems'/><category scheme='http://www.blogger.com/atom/ns#' term='rss aggregators'/><category scheme='http://www.blogger.com/atom/ns#' term='globalization'/><category scheme='http://www.blogger.com/atom/ns#' term='microformats'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='bittorrent'/><category scheme='http://www.blogger.com/atom/ns#' term='rdf'/><category scheme='http://www.blogger.com/atom/ns#' term='p2p'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Peer-to-peer Collaboration Tools</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;i style=""&gt;I gave this presentation at an internal company conference last week.  Large corporations suffer from different collaboration issues than the open source world, but we also have much in common.  My hope is to show folks at my company some tricks that we can learn from the open source world. Open source development is almost certain to be globally distributed and using on-line tools for almost all of the communication. &lt;/i&gt;&lt;i style=""&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color: black;"&gt;[Introduction]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color: black;"&gt;It is rare that I get to speak about a topic for which I have such a great interest and I know will have such a great impact. The scale of the impact is on par with the emergence of e-mail as a technology. In fact, I don’t believe it will be very long before peer-to-peer-supported blog-like technology replaces e-mail as the primary communication mechanism over the Internet and corporate networks. Perhaps 3-5 years.&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;The title of my presentation is "overview of peer-to-peer collaboration technologies" and is sub-titled "managing communications with a global workforce". I chose this subtitle to emphasize that these technologies will help you address some of the many challenges of working in global teams. Communication is a fundamental problem of business that is complicated by globalization. I hope to show you here what is happening now to solve the communication requirements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Purpose of this presentation&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;br /&gt;The purpose of this presentation is to illustrate that the emergence of peer-to-peer-based collaboration software is inevitable, show why [our company] should embrace peer-to-peer software architectures, and give an overview of some current peer-to-peer, metadata, and collaboration technologies. Some peer-to-peer collaboration architectures, such as Microsoft Office Groove 2007, will quickly and significantly alter the client-server architecture used for most existing content management systems, such as SharePoint, TWiki, and [our proprietary systems].&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;These peer-to-peer tools will allow the elimination of many IT dependencies. IT will obviously have significant roles to play, but those roles will change. With the emergence of these tools, team productivity can start almost immediately. Additional productivity and stability can then follow with more formalized IT involvement. For example, someone needs to create bridges between all the products and protocols. The various tools need to be combined into a single product with a consistent look and feel. The costs of deploying a collaboration solution can be optimized. Additional points of access and different accessibility features can be provided. My suggestion is that checkpoints requiring resource allocation, however, can be eliminated until there is a business benefit for IT involvement.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;This isn't as much a choice I'm suggesting we make as it is the recognition that existing forces will drive acceptance of peer-to-peer related technology. On-the-go collaboration is a critical requirement of global business communication tools. Information locked into what can be called "walled gardens" or server silos cannot benefit all of the necessary people at the necessary times. This is certainly true in a global workforce of partnerships, third-parties, outsourcing, and ODMs. While business communications regulations, such as Sarbanes-Oxley and other E-Discovery requirements, will make the process more complex; they make it no less inevitable. The required technologies will survive by natural selection.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Tasks, e-mails, notes, and calendar items are mostly the same: they are a bit of collateral communication along with some specific metadata to allow the tool to know how to advise the user.&lt;span style=""&gt;  &lt;/span&gt;There should be a tight association between the collateral, or content, or microcontent, and the metadata. These digital communications must be preserved in context.&lt;span style=""&gt;  &lt;/span&gt;New metadata types, such as test case and product requirement associations, must also be supported.&lt;span style=""&gt;  &lt;/span&gt;Making special tools to handle these bits of metadata is a formula for disaster.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;The madness of creating new centralized walled gardens of highly specialized data repositories must be replaced with a vision of building new interoperable data definitions, widely accessible visualization tools, and improvements to existing communications infrastructure.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;In this presentation, I will cover: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;how I got interested in this problem,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;why we need collaboration tools,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;why collaboration will go peer-to-peer,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;what a peer-to-peer collaboration tool might look like,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;why should [our company] continue to evaluate      peer-to-peer collaboration technologies, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;how you can get involved.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;How did I get interested in this problem?&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;br /&gt;[Our company] entered the portable media player market in 1999. This market largely grew out of the popular usage of peer-to-peer file sharing applications, such as the old Napster. These peer-to-peer file sharing applications provided a source for content that established distributors weren't yet willing to provide. Learning about the architecture of these systems convinced me that they were useful for far more productive arenas than the sharing of pirated music.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;The most critical aspect of making both peer-to-peer file sharing networks and portable media players work for people is the management of metadata. Metadata is the information associated to the content, such as the artist, title, genre, format, or rating. With all of the possible content available for download and playback, user satisfaction is driven by the ability to find desirable content quickly and easily using metadata. Apple's combination of the iPod scroll-wheel and the iTunes Music Store, along with a bit of slick advertising, gave people answers to where to get to music they wanted quickly. It led them to great success, without necessarily relying on peer-to-peer file swapping. Still, file swapping networks are still the quickest and easiest way to get to some content and they remain in wide use. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Failed attempts to defeat the networks convinced me that the technology will continue to be widely adopted, despite organized attempts to the contrary. The file swapping networks that are still in existence survived because they use peer-to-peer architectures. In a peer-to-peer application, there isn't a central server that can be shutdown to disable the network. Peers directly share metadata with each other, providing a path for sharing content. To build a peer-to-peer network, you only need peers speaking the same protocols and a willingness to participate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;The thing to remember here is that intelligent managing of metadata is how content is found, no matter what the platform.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Another experience I had was when this team went global. My job quickly shifted from a focus on media player technology to a focus on information management. I spent my time worrying about version control, status reports, bug tracking, requirements management, and portfolio management. The communication was less-than-efficient and the results were less-than-desired. This had nothing to do with the talent of the team, but had much to do with the communication mechanisms and processes that were in place. An 11 hour time-zone difference is literally one world away.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;I saw that my experience in peer-to-peer technologies and metadata management could be applied to solve my new information management problems. Just like getting to media content quickly and easily helps media consumers, the product developers need quick and easy access to information.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Why do we need collaboration tools?&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;br /&gt;Communication in a global team cannot be handled entirely face-to-face. No matter how many worldwide face-to-face meetings you hold, when you break up and get back to work, there is always something left unsaid. Having frequent teleconferences helps close communication gaps, but they impact the work-flow of team members and never provide the depth of conversation required to establish a cohesive team.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;While there is no substitute for strong individual communication skills, collaboration tools provide a path for competing with otherwise more convenient information sources and distractions. On-line tools provide opportunities for collaboration between people where distance, time, cultural, language, experience, and ability barriers exist.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;You can see this in the success of open source projects like FireFox, which is a web browser that competes with Microsoft's Internet Explorer. Contributions to open source projects come from people all over the world in many different situations. To make open source projects work, the participants make extensive use of on-line collaboration tools.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Also note, the communication in these tools isn't one-way. The messages being communicated aren't dictates from a single expert telling everyone how to solve the problems of the whole. Requirements and solutions come from every member of the team and beyond.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Why will collaboration go peer-to-peer?&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;br /&gt;First, what do I mean by peer-to-peer? Back in 2001, Daniel Bricklin gave a speech at the O'Reilly P2P Conference on "The Cornucopia of the Commons".&lt;span style=""&gt;  &lt;/span&gt;That speech was later printed in a great &lt;/span&gt;&lt;a href="http://www.oreilly.com/catalog/peertopeer/"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;O'Reilly book&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;. He quotes a 1968 essay on "The Tragedy of the Commons" summarizing a commonly expressed problem:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 5pt 0.5in; line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Therein is the tragedy. Each man is locked into a system that compels him to increase his herd without limit--in a world that is limited. Ruin is the destination toward which all men rush, each pursuing his own best interest in a society that believes in the freedom of the commons. Freedom in a commons brings ruin to all.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;That isn't such a pleasant or welcome idea, but we can all see some degree of reality to that view.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Dan goes on to offer another view in the light of successful peer-to-peer architectures and their failings:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 5pt 0.5in; line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;In the case of certain ingeniously planned services, we find a contrasting &lt;i&gt;cornucopia of the commons&lt;/i&gt;: use brings overflowing abundance. Peer-to-peer architectures and technologies may have their benefits, but I think the historical lesson is clear: concentrate on what you can get from users, and use whatever protocol can maximize their voluntary contributions. That seems to be where the greatest promise lies for the new kinds of collaborative environments.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;That is the thinking that launched the Web 2.0 explosion with businesses like Flickr, MySpace, and YouTube. Similarly, when I'm referring to peer-to-peer technologies, I'm talking about creating protocols that maximize the contributions from the edges. Those contributions generate a wealth of information and content highly valued by users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;The elimination of a required centralized server is one common technology applied in peer-to-peer architectures. The benefits that approach provides to IT may be a bit counter-intuitive. I've done a small amount of examination of four benefit areas to collaboration tools by elimination of a required centralized server: security, reliability, interactivity, and efficiency.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;The elimination of a centralized server is sometimes required for security purposes. We occasionally enter contracts with other corporations that give very explicit rules about who can have certain data on their hard drives. A centralized server would violate that policy, whereas it may still be acceptable to share the data with specific peers. Ultimately, security is best provided if information managers control the access to data, rather than IT.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;There is also the occasional need to utilize modern tools that aren't yet available on our internal servers. Some of those tools are available on external servers, but it isn't secure to place [our company's] private data on those servers. A tool that does not rely on a centralized server could be more easily deployed. This doesn't eliminate the need for security audits on the tool, but it does eliminate the overhead of evaluating the impact of that tool on other tools running on a common server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Despite on-going improvements to server reliability, there doesn't ever seem to be an end to the reasons why a server must occasionally be shutdown or relocated. With an architecture that doesn't rely on a single centralized server, the reliability is certain to be increased. An application network that requires a high degree of reliability should still make use of high-reliability servers, but it makes sense to architect those networks to not rely on them exclusively when possible.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Efficiency benefits from eliminating requirements on a central server come from the ability to rapidly deploy a new peer-to-peer network. A business could deploy a new network right away to gain the benefits of collaboration without waiting for a high-reliability server to come on-line. Such a server could then later be deployed to increase the reliability of the network without creating downtime. Further, an information manager within the business can be directly responsible for adding and removing users, machines, and services on the network.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Efficiency benefits also come from more general aspects of peer-to-peer architecture. By allowing users to organize their own data, they can access it more efficiently. In most cases, there isn't one ideal solution to data organization. A peer-to-peer architecture allows everyone to organize their own data and allow others to benefit from that organization.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;By interactivity, I mean both the possibility of working with other tools and the way the tool works for its users. Interoperability and connectivity to other tools doesn't necessarily require the elimination of a central server, but tools that don't attempt to create a centralized repository for information are more likely to support the standards required for interoperability. By creating protocols for use in a peer-to-peer network, some of the requirements for interacting with other tools are necessarily met.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;One particular interactivity benefit of eliminating requirements on a central server is the possibility of providing "on-the-go" or disconnected collaboration. You experience this today with Outlook when you are on a plane. You can read your e-mail that is cached locally, create your responses off-line, and synchronize your mail once you are connected to the network again.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;E-mail must be the most common on-line tool for collaboration. It is simple, universal, "on-the-go", search-able, you know who is on both ends, you get notification, and for the most part it just works.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Being such an effective collaboration tool, e-mail has many peer-to-peer architecture characteristics. Foremost, it is distributed and resilient. It relies on DNS, the domain name service that is used to look-up the address of servers on the Internet. DNS is distributed and resilient, allowing for server failures at many points in the system. Further, SMTP, the protocol used to forward e-mail messages, can be run on just about any computer. You could almost decide to run SMTP on your own desktop machine, but you'd quickly find that getting the DNS record to point to your machine is a bit of a hassle when you don't leave your machine running all of the time. This doesn't matter that much, though, since [our company] provides you with a high-reliability server to collect your e-mail and clients that cache the e-mail for off-line use.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;So, what is wrong with e-mail as a collaboration tool? First of all, the information is trapped into little personal "silos" that no one else on your team can search or access. Certainly you don't want to share all of the information provided to you by e-mail, but some of it you do. Some of it you just want other people to know you have, but not necessarily give it to them without your approval. You can forward e-mail to individuals or mailing lists. You can archive e-mail sent to mailing lists on a website. You can even create shared mailboxes, though those are a bit complex for many people to handle. In the end, you are left with a large number of small silos of data that can't be organized as part of a larger body of information.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;E-mail is not secure. Sure, there are tools for encrypting e-mail, but they are practically only ever used on the most sensitive data. E-mail encryption tools are simply too difficult to use and you cannot yet create encrypted messages for the vast majority of your e-mail address book and expect the recipients to be able to perform the decryption.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Monitoring e-mail for sensitive data is virtually impossible. E-mail is sent from all levels of the organization all across the world, without any approval of information managers. When inappropriate e-mail is detected, there is no realistic mechanism for confirming retraction of that data from recipients. Outlook has a "recall" feature, but it often fails and cannot be confirmed outside of our organization. E-mail must be the most important and most dangerous of all the collaboration tools available today.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Perhaps the worst aspect of e-mail is the lack of efficiency. Information coming in e-mails cannot be easily categorized. Creation of e-mail filters often makes the situation worse by creating yet more silos of data. Fields that would allow for some categorization, such as priority, action required flags, and deadlines, are typically never used and are often misused. Misuse is sometimes the result of spam, which is a problem that cannot easily be avoided.&lt;span style=""&gt;  &lt;/span&gt;By &lt;a href="http://www.informationweek.com/showArticle.jhtml;jsessionid=H5RHPNM0F4PF0QSNDLQSKHSCJUNN2JVN?articleID=197001430"&gt;one study&lt;/a&gt;, 94% of e-mail last month was spam.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;What about TWiki or SharePoint? These tools are often called "content management systems". They can be quite effective in improving communication within a global team, but they have their own issues. Perhaps the best summary comes from a success story taken from the &lt;/span&gt;&lt;a href="http://twiki.org/cgi-bin/view/Main/TWikiSuccessStoryOfTakeFive"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;TWiki website&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt; from a company that deployed TWiki to improve support to field engineers:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;People in the field were used to using email for communicating with the factory. Email is a one to one communication, a mailing list a one to many. The problem with email is that useful information does not reach everybody, email is not easy to search and email gets lost over time. Collaborating the Wiki way solves these problems, however changing habits is a difficult issue that needed to be coached. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Initially we also had a chicken-and-egg problem, i.e. voices like "why should I use this collaboration tool, the content is so limited". The solution was to assign a support engineer who monitored the mailing lists and entered useful information into TWiki. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Successful deployment took over 6 month[s], [which was] longer [than] expected. But now everybody is used to browse, search, collaborate and document the Wiki way. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;The result was that customer satisfaction with the field support improved.&lt;span style=""&gt;  &lt;/span&gt;The effort was a real success.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;This sort of dedicated information management may not be something we can easily commit in our environment. If deployment took 6 months, how are we supposed to keep up with frequent release cycles? How do we convince managers to commit resources to TWiki when current searches for me today often return my own weekly reports, rather than something of valuable interest? With so little attention, even the top-level structure of the TWiki sites today can't even keep up with our organizational structure. I believe in TWiki, but we can only overcome this "chicken-and-egg" problem in each team by strongly evangelizing its use during the painful learning stages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;SharePoint has similar problems, but is a bit of a different beast. SharePoint is particularly well-suited for collaborating on Microsoft Office documents. It uses a standard protocol called WebDAV that allows for folder views in Windows Explorer. Most importantly, [our company] supports a mechanism for accessing SharePoint sites to customers and partners from outside the firewall.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;The biggest problem with SharePoint, beyond the problems it shares with TWiki, is its complexity. The user permissions tables are extremely convoluted. Editing the content of any one page requires extensive knowledge of the overall system, rather than simply clicking an "edit" button and changing some text. I’m not saying that TWiki markup is trivial, but it doesn’t require learning specialized tools or extensive training. The help system is built right into the tool. Also, the SharePoint version control system is somewhat less than reliable because it allows overwriting and elimination of old document revisions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;We are still learning about how best to use TWiki and SharePoint on our projects and the best standard practices are not obvious with either tool. Neither provides great search solutions for the data you need on their own, especially if the data is in mixed formats. Instead of providing a complete knowledge picture, the combined usage of e-mail, TWiki, and SharePoint creates islands of information that must each be explored separately.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;[Description of an internal collaboration tool]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Efforts like this should continue, but it is best to break up the platform into interoperable components. Consider interaction with a tool such as &lt;/span&gt;&lt;a href="http://rayozzie.spaces.live.com/blog/cns%21FB3017FBB9B2E142%21285.entry"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Microsoft Live Clipboard&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;. Live Clipboard is a mechanism for users to initiate sharing of data between websites without requiring development of web services scripts or other complicated programming. By supporting such a feature in all of our collaboration tools, the islands of information can be bridged.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;The same guy at Microsoft who dreamed up Live Clipboard, Ray Ozzie, has also brought us one of the more compelling peer-to-peer collaboration tools already available, Microsoft Office Groove 2007. Recently we made use of Groove on one of our projects. The project spanned two partner companies and two contractors.&lt;span style=""&gt;  &lt;/span&gt;Some folks on the team were able to start collaborating on the very first day by simply installing the tool. It took a few more days for others to overcome some minor installation headaches that were likely related to the tool being in beta.&lt;span style=""&gt;  &lt;/span&gt;The product will be released with the 2007 version of Microsoft Office.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Groove works across firewalls, provides account management, secures communications, provides synchronization for off-line usage, includes instant messaging with some voice capability, and has some limited integration with Office applications and SharePoint. When I talk about the integration being limited, however, it needs some emphasis. All of your important e-mail, calendar, and contact information isn't easily shared in Groove with something as simple as a single click on a category. To get that information into Groove, a user must jump through many hoops. A major concern for the team was lack of support for maintaining old versions of documents. Groove did a great job of ensuring everyone had a copy of the latest version of a document, but SharePoint was required to maintain historical copies.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Groove also lacks a client for any platform besides Windows and the client can be a bit slow because it consumes a large amount of memory at times. There is no way to see the data in Groove by simply logging into a web page. You can synchronize a SharePoint with Groove, but it is a tool separate from the other tools in Groove which all seem to act as more islands unto themselves.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Ultimately, usage of Groove suffers for many of the same reasons as the web-based content management tools. Some folks wouldn't use it regularly, instead using familiar tools such as e-mail. It never became part of the team's everyday work flow, partially because other tools were required to author rich documents and manage code. The client tool was seen as painful to start-up or leave running. Ultimately, nothing was pushing users to actively communicate using Groove.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Certainly there are some dangers with this going unchecked, primarily related to it being difficult for IT to log file exchanges. Exchanges over SSL secured websites or, to a lesser degree, encrypted e-mails offer similar challenges. Ultimately, there are always ways for employees to circumvent security and, in some cases, the risk of not progressing business is worse than the risk of compromising security.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;What might a peer-to-peer collaboration tool look like?&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;br /&gt;Groove offers a good starting point for describing the peer-to-peer collaboration tools of the future, but it is not alone in its class. What I'd like now is to describe for you some of the building blocks for creating a tool like Groove and some of the building blocks that could be used to make a better tool. I won't draw you a complete picture of the ideal peer-to-peer collaboration tool, but I hope to point you in that direction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-style: italic;"&gt;I'll finish typing this up when I get back from vacation next week.  I need to scrub and upload the pictures...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-8899645755305305485?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/8899645755305305485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/02/peer-to-peer-collaboration-tools.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8899645755305305485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8899645755305305485'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/02/peer-to-peer-collaboration-tools.html' title='Peer-to-peer Collaboration Tools'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-4340075532629089295</id><published>2007-02-07T01:00:00.000-06:00</published><updated>2007-02-07T01:47:49.354-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microformats'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='collaboration'/><category scheme='http://www.blogger.com/atom/ns#' term='microcontent'/><category scheme='http://www.blogger.com/atom/ns#' term='walled gardens'/><category scheme='http://www.blogger.com/atom/ns#' term='rss aggregators'/><category scheme='http://www.blogger.com/atom/ns#' term='myspace'/><title type='text'>Ending walled gardens with microformatted microcontent</title><content type='html'>Forgive me for stating the obvious today, but I'm surprised how little I seem to see this point repeated.&lt;br /&gt;&lt;br /&gt;I continue to be surprised by the continual emergence of Web 2.0 companies putting up &lt;a href="http://en.wikipedia.org/wiki/Walled_garden_%28media%29"&gt;walled gardens&lt;/a&gt; to try to hold onto users.  I think MySpace is the current prototypical example.  They could use a lesson from AOL on how likely they are to be successful over the long term.  When AOL offered ease-of-use, content, and community features that simply weren't available on the Internet at the time, &lt;a href="http://en.wikipedia.org/wiki/Aol#Massive_growth"&gt;AOL grew at enormous rates&lt;/a&gt;.  Once the Internet was well established outside of AOL's walls, AOL quickly tumbled.&lt;br /&gt;&lt;br /&gt;You can expect the same results with &lt;a href="http://www.myspace.com/"&gt;MySpace&lt;/a&gt;.  From outside MySpace today, it is possible to link to MySpace, be linked by MySpace pages, and consume MySpace blog entries using an RSS feed.  Interaction to the broader Internet is roughly limited to just those features.  Once there is broader access to video/photo/blog/music hosting, friend linking, trusted commenting, shared calendars, templates/widgets, and all of the other MySpace features, people will start wondering why they put up with all of the advertising and spam on MySpace.  MySpace is "free", but there are many degrees of freedom.  Person A might even want to control how Person B's sites appear when Person A reads them.  This freedom is established with &lt;a href="http://en.wikipedia.org/wiki/Microformats"&gt;microformatted&lt;/a&gt; microcontent over RSS/Atom feeds and aggregated feed readers.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Microcontent"&gt;Microcontent&lt;/a&gt; is simply each of the entries you make on your MySpace pages (or other people's pages) today, but placed into small, consistent containers.  Your preferences could be stored in a microcontent article.  Certainly each of your blog entries, friend relationships, and everything else you communicate on MySpace could also be placed into microcontent articles once the right microformats are defined.  Those microformats provide the protocol for interoperability in whatever RSS reader you use.&lt;br /&gt;&lt;br /&gt;Of course, the RSS readers need to be smarter than they are today.  Bloglines and Google Reader are fantastic compared to what we had before they existed.  They are, however, still significantly limited, providing almost no microformat or customization support at all.  This will change quickly, however, and the garden walls of social networking will fall before people start trying to build walls around something totally new.&lt;br /&gt;&lt;br /&gt;So, Web 2.0 companies, I guess you can't help but build your pretty little walled gardens while you can.  If I was a &lt;a href="http://en.wikipedia.org/wiki/Venture_capitalist"&gt;VC&lt;/a&gt;, I wouldn't give you a dime unless you had an &lt;a href="http://en.wikipedia.org/wiki/Exit_plan"&gt;exit plan&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-4340075532629089295?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/4340075532629089295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/02/ending-walled-gardens-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/4340075532629089295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/4340075532629089295'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/02/ending-walled-gardens-with.html' title='Ending walled gardens with microformatted microcontent'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-7444318467887081222</id><published>2007-01-29T21:05:00.000-06:00</published><updated>2007-01-29T21:06:30.973-06:00</updated><title type='text'>Are You Paying Attention?: Announcing the Media 2.0 Workgroup</title><content type='html'>&lt;a href="http://www.touchstonelive.com/blog/2007/01/announcing-media-20-workgroup.html"&gt;Are You Paying Attention?: Announcing the Media 2.0 Workgroup&lt;/a&gt;: "trackback"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-7444318467887081222?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/7444318467887081222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/01/are-you-paying-attention-announcing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/7444318467887081222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/7444318467887081222'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/01/are-you-paying-attention-announcing.html' title='Are You Paying Attention?: Announcing the Media 2.0 Workgroup'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-3244162674858463500</id><published>2007-01-19T13:22:00.000-06:00</published><updated>2007-01-20T11:21:02.943-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webos'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='webtop'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><category scheme='http://www.blogger.com/atom/ns#' term='exo platform'/><title type='text'>Is the WebOS revolution over?</title><content type='html'>Muli Koppel wrote a nice piece on &lt;a href="http://mulikoppel.blogspot.com/2007/01/why-web20-revolution-has-failed-and.html"&gt;why the web2.0 revolution has failed&lt;/a&gt;.  By the same measure, I believe we'd need to conclude that the WebOS revolution, which hasn't even taken off yet, has also failed.  Before a real WebOS could even be created to provide the people with a viable web development environment, the term has acted as a gravity point for commercially-minded folks trying to capture hold of people's valuable data.  &lt;span style="font-style: italic;"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Correction&lt;/span&gt;&lt;span style="font-style: italic;"&gt;: Thanks Benjamin)&lt;/span&gt; At least the &lt;a href="http://www.exoplatform.com/company/faces/public/site"&gt;Exo Platform&lt;/a&gt; gives you the server code &lt;del&gt;, but the release I've played with doesn't give all of the source &lt;/del&gt;&lt;em&gt;and is available under GPL license.  &lt;a href="http://blogs.zdnet.com/web2explorer/?p=253"&gt;EyeOS is also open source and includes a "mini-server" that provides LAMP-like support on your PC, though a database is not required&lt;/a&gt;.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Muli's examples of "failed" revolutions, punk, open source, and Second Life, do give room for hope.  Each has failed to reach their ideals, but each has also made improvements to our culture along the paths of those ideals.&lt;br /&gt;&lt;br /&gt;Perhaps the real revolution is still in the works.  Maybe the only way to succeed is to avoid naming the revolution completely until it is already won.  Besides, no one has offered me any useful names for &lt;a href="http://blog.hangerhead.com/2006/12/characteristics-of-winning-webos.html"&gt;the product that will ultimately emerge&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Update (Jan 20): Keep the feedback coming.  Let me know why you think the WebOS revolution is on!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-3244162674858463500?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/3244162674858463500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/01/is-webos-revolution-over.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/3244162674858463500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/3244162674858463500'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/01/is-webos-revolution-over.html' title='Is the WebOS revolution over?'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-7163102332799400612</id><published>2007-01-12T09:41:00.000-06:00</published><updated>2007-01-12T13:58:08.115-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webtop'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><title type='text'>Poisoning the WebOS well</title><content type='html'>The term 'WebOS', or web operating system, has been useful to gain attention to the idea of creating a framework for rapid web application development and making those applications available from any computer with a web browser and Internet access.  This is a noble and important goal.  Making web applications can otherwise be quite difficult.  We should take advantage of the web to simplify creation, distribution, and interaction of our applications.&lt;br /&gt;&lt;br /&gt;The windowing glitz of the current so-called WebOS offerings has bloggers &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;a href="http://blogs.zdnet.com/Stewart/wp-trackback.php?p=220"&gt;questioning the point&lt;/a&gt;.  Windows within windows just seem silly.  They solve a problem of maintaining the state of an entire collection of applications in an environment, but they they recreate a paradigm that users where there is already a significant amount of frustration: the desktop.  I'm not ruling out the possibility of using this paradigm, but it distracts from the more fundamental problems of rapid application development and distributed access.&lt;br /&gt;&lt;br /&gt;It would be great if this web-based desktop-like, or webtop, functionality could be isolated from the rest of the WebOS discussion.  As long as these webtop offerings are being called WebOSes, as long as they are being reviewed only on their webtop merits, the WebOS &lt;a href="http://en.wikipedia.org/wiki/Poisoning_the_well"&gt;well will continue to be poisoned&lt;/a&gt;.  There really isn't much that can be done in the short term.  Eventually, some new terminology will emerge to differentiate web application frameworks that provide glitzy windowing and ones that allow the rich array of web services to be used easily and transparently by even the most novice of developers.  Sometimes they might be the same framework.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.hangerhead.com/search/label/web%20operating%20system"&gt;Read more on this blog about what a WebOS could be&lt;/a&gt;, then tell me what I &lt;span style="font-style: italic;"&gt;should&lt;/span&gt; be calling this sort of web application development framework.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-7163102332799400612?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/7163102332799400612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/01/poisoning-webos-well.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/7163102332799400612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/7163102332799400612'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/01/poisoning-webos-well.html' title='Poisoning the WebOS well'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-2432990755887599342</id><published>2007-01-09T14:45:00.000-06:00</published><updated>2007-01-09T19:13:45.907-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Droolling over the Apple iPhone</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.apple.com/iphone/images/indexhero20070109.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px;" src="http://images.apple.com/iphone/images/indexhero20070109.jpg" alt="" border="0" /&gt;&lt;/a&gt;The inclusion of OS X, full-blown Safari, and 802.11 support has got me.  Finally, &lt;a href="http://en.wikipedia.org/wiki/Unix-like"&gt;*nix&lt;/a&gt; in a &lt;a href="http://www.apple.com/iphone/"&gt;widely available US phone&lt;/a&gt;.  I wish it had &lt;a href="http://en.wikipedia.org/wiki/Evdo"&gt;EVDO&lt;/a&gt; in addition to &lt;a href="http://en.wikipedia.org/wiki/Enhanced_Data_Rates_for_GSM_Evolution"&gt;EDGE&lt;/a&gt;, so it will be slow compared to my Treo 700p.  &lt;a href="http://en.wikipedia.org/wiki/Gsm"&gt;Quad-band GSM&lt;/a&gt;--nice, should be a good international phone.&lt;br /&gt;&lt;br /&gt;Anyone know if it will support &lt;a href="http://en.wikipedia.org/wiki/A2DP"&gt;A2DP&lt;/a&gt; so I can use my stereo Bluetooth headphones?&lt;br /&gt;&lt;br /&gt;Update: It looks like it does &lt;a href="http://www.engadget.com/2007/01/09/the-apple-iphone/"&gt;according to Engadget&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-2432990755887599342?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/2432990755887599342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/01/droolling-over-apple-iphone.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2432990755887599342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2432990755887599342'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/01/droolling-over-apple-iphone.html' title='Droolling over the Apple iPhone'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-8766694158829120038</id><published>2007-01-04T10:40:00.000-06:00</published><updated>2007-01-04T10:58:09.986-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microformats'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><title type='text'>New microformat, not viagra</title><content type='html'>Posting comments on blogs is still a pain.  I just tried to post the following comment to a post on &lt;a href="http://tetlaw.id.au/view/blog/api-is-the-new-site-map-part-2/"&gt;APIs being the next site map&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;I agree with you, APIs are the new site map.  [comment about site rejecting previous post]&lt;br /&gt;&lt;br /&gt;There is still extensive work to be done to eliminate the silos.  First, everyone has to have their own web server.  The technology isn't really there for that today, unless you count projects like Paper Airplane (which isn't a complete product).  Next, service providers need to provide a common set of services that will allow everyone the freedom to move from their limited function server onto the full-scale Internet.&lt;br /&gt;&lt;br /&gt;I call that common set of services a WebOS API (http://clamoring.blogspot.com/2006/12/defining-webos-api.html).  A new name is probably needed, since folks seem to have stolen that name for webtops.&lt;br /&gt;Do you think a microformat that describes that site map and API would be useful?  It would need to replace something machine oriented that is already useful today, such as WSDL.&lt;br /&gt;&lt;/blockquote&gt;The following response was given:&lt;br /&gt;&lt;blockquote&gt;&lt;h1 class="title"&gt;Comment Posting Guidelines&lt;/h1&gt; Sorry but it looks as though your comment has been filtered out to avoid blog spam. You weren't trying to sell me viagra were you?&lt;/blockquote&gt; Does that look like a viagra advertisement to you?  Oh well, I understand the need for comment filters.  It would have been nice if it at least indicated that it was going into a moderation queue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-8766694158829120038?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/8766694158829120038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/01/new-microformat-not-viagra.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8766694158829120038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8766694158829120038'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/01/new-microformat-not-viagra.html' title='New microformat, not viagra'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-3559538446517248946</id><published>2007-01-04T07:46:00.000-06:00</published><updated>2007-01-04T07:54:42.917-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Selling out</title><content type='html'>I've added &lt;a href="http://www.google.com/adsense"&gt;Google AdSense&lt;/a&gt; to my site.  This site is largely an experiment for me to best understand the technology of blogging, so I'm really not in it for the money.  If the ads bother you, just let me know and I'll remove them.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.snap.com"&gt;Snap&lt;/a&gt; previews are there to help you get an idea what is being linked, but they can be annoying at times as well.  Please give me your feedback on those too.&lt;br /&gt;&lt;br /&gt;Also, note that there are now 4 &lt;a href="http://en.wikipedia.org/wiki/Web_feed"&gt;feeds&lt;/a&gt; on this site.  The original two from Blogger and two from &lt;a href="http://www.feedburner.com"&gt;FeedBurner&lt;/a&gt;.  The main Feedburner link adds my &lt;a href="http://del.icio.us/jadon"&gt;del.icio.us&lt;/a&gt; and &lt;a href="http://www.flickr.com/photos/jadon/"&gt;Flickr&lt;/a&gt; posts.  The other Feedburner link is just to my &lt;a href="http://reader.google.com"&gt;Google Reader&lt;/a&gt; shared items.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-3559538446517248946?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/3559538446517248946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/01/selling-out.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/3559538446517248946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/3559538446517248946'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/01/selling-out.html' title='Selling out'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-2994590752402396869</id><published>2007-01-03T07:44:00.000-06:00</published><updated>2007-01-03T08:08:38.996-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><title type='text'>Step #1 to Creating a WebOS: Proxy Server</title><content type='html'>Reading blogs this morning, I ran across &lt;a href="http://codinginparadise.org/weblog/2007/01/dojo-offline-toolkit.html"&gt;Brad Neuberg's announcement&lt;/a&gt; that he is working for &lt;a href="http://sitepen.com/"&gt;SitePen&lt;/a&gt; to create an &lt;a href="http://www.sitepen.com/blog/2007/01/02/the-dojo-offline-toolkit/"&gt;off-line Dojo toolkit&lt;/a&gt;.  I have to get ready for my day job now, but I'm excited enough that had to write something first.  This is really step #1 to creating a WebOS.&lt;br /&gt;&lt;br /&gt;I've &lt;a href="http://clamoring.blogspot.com/2006/12/defining-webos-api.html"&gt;mentioned in the past&lt;/a&gt; how a client-side server is required to create a proper WebOS.  That seems to be exactly the approach Brad is taking.&lt;br /&gt;&lt;blockquote&gt;An off-the-shelf, open source (GPL), C-based web-proxy will be used, named Polipo, saving months of development time creating a custom HTTP/1.1 proxy.&lt;/blockquote&gt;Deploying with a C-based solution seems like the wrong idea to me.  I've toyed with &lt;a href="http://www.bluishcoder.co.nz/2006/05/server-side-javascript.html"&gt;something similar using Java and JavaScript to create a thin web server/proxy&lt;/a&gt;.  I haven't been able to dedicate enough time to get it to the point I can demonstrate it.  Keeping Dojo almost entirely in JavaScript, and using Java server implementations like &lt;a href="http://en.wikipedia.org/wiki/Apache_Tomcat"&gt;Tomcat&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Jetty_%28web_server%29"&gt;Jetty&lt;/a&gt;, would seem more portable and supportable.&lt;br /&gt;&lt;br /&gt;I also commented to Brad that &lt;a href="http://iscrybe.com"&gt;Scrybe&lt;/a&gt; seems to do the off-line work without a proxy, though they may just be leaving that out of the demo information.&lt;br /&gt;&lt;br /&gt;The great news, however, is that &lt;a href="http://dojotoolkit.org/"&gt;Dojo&lt;/a&gt; is a really popular open source toolkit and should get a lot of traction, even if it isn't on as many platforms as possible from the start.  Brad also seems to be a really smart guy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-2994590752402396869?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/2994590752402396869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/01/step-1-to-creating-webos-proxy-server.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2994590752402396869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2994590752402396869'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/01/step-1-to-creating-webos-proxy-server.html' title='Step #1 to Creating a WebOS: Proxy Server'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-965766452869660777</id><published>2007-01-02T16:29:00.000-06:00</published><updated>2007-01-02T16:42:12.217-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Increasing traffic randomly</title><content type='html'>I was reading &lt;a href="http://mikeomatic.net/"&gt;Mike-O-Matic&lt;/a&gt; and ran across his &lt;a href="http://clickpyramid.com/?id=208"&gt;Click Pyramid&lt;/a&gt; site.&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;This is how it works:&lt;/p&gt;              &lt;ol&gt;&lt;li&gt;You visiting each link below in turn and collect the codes that are presented.&lt;/li&gt;&lt;li&gt;These codes are entered into the form below, along with the website information you would like added to our database.&lt;/li&gt;&lt;li&gt;You are then given a link to a new list, which will have your site first on the list and each one moved down one slot. The bottom site will drop off.&lt;/li&gt;&lt;li&gt;You can then place that link in web advertisements or on your website/blog. Any users who click on it will go through a similar process to add their link, and will spread your link even further.&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;I figured it couldn't do any harm, so I &lt;a href="http://clickpyramid.com/?id=208"&gt;created my own ID, #208&lt;/a&gt;.  Only 208!  Oh well, I guess I'm spreading good karma for someone who created a couple of blog entries that I found interesting.&lt;br /&gt;&lt;br /&gt;Of course, if I advertise that link, wouldn't I just be better off advertising my own site instead of adding it to a list with 4 other sites?  I guess that I could get a few people to check out my site simply because they want to advertise theirs, but doesn't allowing them to leave a comment on my blog accomplish roughly the same thing?&lt;br /&gt;&lt;br /&gt;The thought is still somewhat interesting, but someone will have to turn it around somehow to make it work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-965766452869660777?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/965766452869660777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/01/increasing-traffic-randomly.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/965766452869660777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/965766452869660777'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/01/increasing-traffic-randomly.html' title='Increasing traffic randomly'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-6337853353125885035</id><published>2007-01-01T10:31:00.000-06:00</published><updated>2007-01-01T11:20:06.444-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><title type='text'>WebOS killer app</title><content type='html'>The &lt;a href="http://venturebeat.com/2006/12/29/browser-os-coming-technorati-woes-brobecks-dot-bomb-record-more/"&gt;VC guys are saying a WebOS or Browser OS is on the way&lt;/a&gt;,  but web developers are asking &lt;a href="http://mikeomatic.net/?p=132"&gt;what will be the killer app to bring about a standard&lt;/a&gt;? I think we've already seen "alphas" of the killer app in MySpace, Facebook, YouTube, etc..  Privacy, interoperability, ease-of-use, and desktop-integration will drive standardization of those services, starting in the open source community.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-6337853353125885035?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/6337853353125885035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2007/01/webos-killer-app.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/6337853353125885035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/6337853353125885035'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2007/01/webos-killer-app.html' title='WebOS killer app'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-3017653920362648181</id><published>2006-12-31T10:44:00.000-06:00</published><updated>2006-12-31T10:46:04.048-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox extensions'/><title type='text'>Google: left hand meet right hand</title><content type='html'>This is a very common problem in the software industry, so I won't pick on Google too hard. &lt;a href="http://clamoring.blogspot.com/2006/12/google-blogger-web-comments-firefox.html"&gt;My last post&lt;/a&gt; about Google's Firefox extensions didn't get any responses, so I thought I'd spend a couple minutes to find out if Google already had plans to fix the problem.&lt;br /&gt;&lt;br /&gt;I found the &lt;a href="http://googleblog.blogspot.com/2005/12/new-firefox-extensions.html"&gt;announcement of the extension made by Glen Murphy about a year ago&lt;/a&gt;, but didn't find any follow-up announcements on that blog by Glen.&lt;br /&gt;&lt;br /&gt;I checked the &lt;a href="http://www.google.com/tools/firefox/webcomments/faq.html"&gt;FAQ&lt;/a&gt;, nothing too useful there. There were support contacts; an e-mail address and a &lt;a href="http://groups.google.com/group/Google-Firefox-Extensions"&gt;discussion group&lt;/a&gt;. The &lt;a href="http://groups.google.com/group/Google-Firefox-Extensions/browse_frm/thread/73a369d5ec3dd7cf/a411b5cbe29c8a71?lnk=gst&amp;q=blogger&amp;amp;rnum=1#a411b5cbe29c8a71"&gt;discussion group had relevant information&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;If you just signed up for &lt;b style="color: black; background-color: rgb(255, 255, 102);"&gt;Blogger&lt;/b&gt;, you've got a &lt;b style="color: black; background-color: rgb(255, 255, 102);"&gt;Blogger&lt;/b&gt; Beta account.  Google hasn't yet updated their extensions to be compatible with &lt;b style="color: black; background-color: rgb(255, 255, 102);"&gt;Blogger&lt;/b&gt; Beta.  Once they do,&lt;br /&gt;you'll be able to do whatever you should be able to do with the&lt;br /&gt;extension.  Until then, I'm sorry to say you're stuck with the Web&lt;br /&gt;interface.  :(&lt;br /&gt;&lt;/blockquote&gt; My complaint is that &lt;a href="http://buzz.blogger.com/2006/12/new-version-of-blogger.html"&gt;Blogger is no longer in beta&lt;/a&gt;.  There is no mention of this issue on the &lt;a href="http://knownissues.blogspot.com/"&gt;Blogger bug list&lt;/a&gt;, at least that I could find.  Before you take something out of beta, shouldn't you make sure the other products from your company actually work with it?&lt;br /&gt;&lt;br /&gt;Well, I'm hopeful that Google has already figured out this is a problem and that is why they are talking about more features and fewer products.  See &lt;a href="http://www.toprankblog.com/2006/11/interview-with-adam-lasnik-of-google/"&gt;interview&lt;/a&gt; and &lt;a href="http://www.time.com/time/magazine/article/0,9171,1541268,00.html"&gt;Time article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-3017653920362648181?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/3017653920362648181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2006/12/google-left-hand-meet-right-hand.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/3017653920362648181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/3017653920362648181'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2006/12/google-left-hand-meet-right-hand.html' title='Google: left hand meet right hand'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-2541944525611605559</id><published>2006-12-29T17:18:00.001-06:00</published><updated>2006-12-29T17:27:34.940-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox extensions'/><title type='text'>Google Blogger Web Comments Firefox extension is broken</title><content type='html'>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;I decided I would play with some more Firefox plugins useful for bloggers and found a pretty nice one from Google, where this blog is hosted.  The plugin &lt;a href="http://www.google.com/tools/firefox/webcomments/index.html"&gt;adds comments to websites by looking for blog entries that link to that URL&lt;/a&gt;.  This is pretty cool and works fairly well, but when I tried to create a comment (blog entry) using the extension, I got a login error.  I use the new version of Blogger, so that could be the issue.  I guess Google has the same problems as all of the other large companies when it comes to having one group talk to another. &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://flickr.com/photos/25485153@N00/337832395" title="Google Blogger Web Comments Firefox Extension login failure"&gt;&lt;img src="http://static.flickr.com/144/337832395_378ab8cac4_d.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  If they use their own tools, I'd expect them to find this post quickly and fix their extension!&lt;br /&gt; &lt;!-- technorati tags begin --&gt;&lt;p style="font-size: 10px; text-align: right;"&gt;technorati tags:&lt;a href="http://technorati.com/tag/google" rel="tag"&gt;google&lt;/a&gt;, &lt;a href="http://technorati.com/tag/firefox" rel="tag"&gt;firefox&lt;/a&gt;, &lt;a href="http://technorati.com/tag/extension" rel="tag"&gt;extension&lt;/a&gt;, &lt;a href="http://technorati.com/tag/blogger" rel="tag"&gt;blogger&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;p style="text-align: right; font-size: 8px;"&gt;Blogged with &lt;a href="http://www.flock.com/blogged-with-flock" title="Flock" target="_new"&gt;Flock&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-2541944525611605559?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/2541944525611605559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2006/12/google-blogger-web-comments-firefox.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2541944525611605559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/2541944525611605559'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2006/12/google-blogger-web-comments-firefox.html' title='Google Blogger Web Comments Firefox extension is broken'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-5756113539667194932</id><published>2006-12-28T22:53:00.000-06:00</published><updated>2006-12-29T04:43:09.487-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xhtml'/><category scheme='http://www.blogger.com/atom/ns#' term='microformats'/><category scheme='http://www.blogger.com/atom/ns#' term='douglas crockford'/><category scheme='http://www.blogger.com/atom/ns#' term='web programming'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><title type='text'>Quick note on the prematurely declared death of XML</title><content type='html'>I was initially taken aback when I read &lt;a href="http://blog.360.yahoo.com/douglascrockford?p=602"&gt;Douglas Crockford's blog post from a couple weeks ago&lt;/a&gt; titled "&lt;a href="http://theajaxexperience.com/blog_detail.jsp?rssItemId=99729&amp;showId=59"&gt;XML on the Web is Dead&lt;/a&gt;".  He starts:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;At the XML2006 conference in Boston last week, I heard a number of people    proclaim that &lt;a href="http://www.oreillynet.com/xml/blog/2006/12/xml_and_the_next_web_and_the_p_1.html"&gt;XML    on the web is dead&lt;/a&gt;. XHTML is not going to replace HTML as the web's official markup language because it turns out that resilience is more useful than brittleness. And &lt;a href="http://www.json.org/"&gt;JSON&lt;/a&gt; is quickly    displacing XML as the preferred encoding for data interchange.&lt;/p&gt;&lt;/blockquote&gt;I agree with the attack on XML for data interchange. What is required for data interchange is something that works and works easily. The data is consumed in JavaScript and JSON also solves the nasty little sandbox problem, so it works. No argument from me there.&lt;br /&gt;&lt;br /&gt;As far as markup, well, this jostled me a bit more. Sure, a parser that expects &lt;span style="font-weight: bold; font-style: italic;"&gt;only&lt;/span&gt; well-formed XHTML will be brittle, but that is no reason not to generate well-formed XHTML source. XHTML adds value to developers by providing namespaces and &lt;a href="http://www.xml.com/pub/a/2004/07/21/dive.html"&gt;better character encoding support, right?&lt;/a&gt; When the XHTML is well-formed, the &lt;a href="http://vtd-xml.sourceforge.net/"&gt;parsing can be done quite small and fast&lt;/a&gt;. When it is not well-formed, the &lt;a href="http://en.wikipedia.org/wiki/Tag_soup"&gt;tag soup&lt;/a&gt; can still generally be handled by the browser parser with some extra work. That may go against the (misguided?) &lt;a href="http://www.oreillynet.com/xml/blog/2001/05/xhtml_could_speed_up_the_web.html"&gt;aspirations for a parser that would reject such bad XHTML&lt;/a&gt;, but it faces the &lt;a href="https://blogs.msdn.com/oldnewthing/archive/2003/12/24/45779.aspx"&gt;realities of compatibility in computing platforms&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;When I mention namespaces as a feature here, I'm not considering it a great feature that some folks come up with &lt;a href="http://microformats.org/wiki/namespaces-considered-harmful"&gt;XML schemas that the web browser doesn't know&lt;/a&gt;. I'm talking aboug &lt;a href="http://en.wikipedia.org/wiki/Svg"&gt;SVG&lt;/a&gt;, &lt;a href="http://developer.mozilla.org/en/docs/XML_in_Mozilla"&gt;MathML&lt;/a&gt;, and &lt;a href="http://developer.mozilla.org/en/docs/XML_in_Mozilla"&gt;other schemas known to the browser&lt;/a&gt;. I hope I'm not in the minority thinking these are useful for many web developers.&lt;br /&gt;&lt;br /&gt;Douglas went on to group the reactions of folks at the conference into three categories.&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;The third was "Don't say it like that." XML is in decline on the browser, but it still has a role on the server. If we go around saying it's dead, people might start looking for better alternatives. &lt;/p&gt;&lt;/blockquote&gt;Well, life would be boring if we weren't always looking for better alternatives.  The point that browser-side programmers are looking for easier ways to exchange data, seems quite valid and I think the choice of JSON is exactly right. I think it is time for JavaScript to get some more serious usage on the server-side and there is lots to talk about there. Maybe calling XML-on-the-web dead isn't that bad a thing to say.&lt;br /&gt;&lt;br /&gt;XML and RDF haven't delivered all the tools necessary to turn everyday web programmers into clerics of the Semantic Web. They have delivered enough to be useful, living components on the web, even if they aren't given those names. I'm curious to know if anyone has done a good study of XHTML usage as &lt;a href="http://code.google.com/webstats/index.html"&gt;Google did for HTML usage last year&lt;/a&gt;. I'd still expect to find its use frequent and growing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-5756113539667194932?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/5756113539667194932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2006/12/quick-note-on-prematurely-declared.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/5756113539667194932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/5756113539667194932'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2006/12/quick-note-on-prematurely-declared.html' title='Quick note on the prematurely declared death of XML'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-8460122659183559409</id><published>2006-12-26T23:48:00.001-06:00</published><updated>2006-12-26T23:48:52.514-06:00</updated><title type='text'>Blogging with Flock</title><content type='html'>I'm a bit of a nervous person. When Flock asks me for all of the usernames and passwords for my various social networking tools, it doesn't make me comfortable. Since this blog is about web-based collaboration, trying out some of the newer tools would seem to be a requirement. Now that Blogger is no longer in beta and is supported by Flock, it seemed appropriate to hit the "Blog" button on the first article I saw:&lt;br/&gt; &lt;blockquote&gt;&lt;a href="http://www.flock.com/faq/what-blogging-platforms-does-flock-support"&gt;What Blogging Platforms Does Flock Support?&lt;/a&gt;&lt;p&gt;A table of supported blogging platforms is detailed at: &lt;a href="http://wiki.flock.com/index.php?title=Blog_compatibility"&gt;http://wiki.flock.com/index.php?title=Blog_compatibility&lt;/a&gt;.&lt;/p&gt;  &lt;/blockquote&gt;&lt;p&gt;This is my second attempt to create this post. The first one was eaten when Flock crashed.&lt;br/&gt; &lt;/p&gt;  &lt;!-- technorati tags begin --&gt;&lt;p style="font-size:10px;text-align:right;"&gt;technorati tags:&lt;a href="http://technorati.com/tag/blogging" rel="tag"&gt;blogging&lt;/a&gt;, &lt;a href="http://technorati.com/tag/flock" rel="tag"&gt;flock&lt;/a&gt;, &lt;a href="http://technorati.com/tag/collaboration" rel="tag"&gt;collaboration&lt;/a&gt;, &lt;a href="http://technorati.com/tag/tools" rel="tag"&gt;tools&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;p style="text-align: right; font-size: 8px"&gt;Blogged with &lt;a href="http://www.flock.com/blogged-with-flock" title="Flock" target="_new"&gt;Flock&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-8460122659183559409?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/8460122659183559409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2006/12/blogging-with-flock.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8460122659183559409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/8460122659183559409'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2006/12/blogging-with-flock.html' title='Blogging with Flock'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-6929715334897971607</id><published>2006-12-26T22:16:00.000-06:00</published><updated>2007-01-07T00:43:38.133-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xhtml'/><category scheme='http://www.blogger.com/atom/ns#' term='economics'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='youos'/><category scheme='http://www.blogger.com/atom/ns#' term='abundance'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='xin desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><category scheme='http://www.blogger.com/atom/ns#' term='exo platform'/><category scheme='http://www.blogger.com/atom/ns#' term='microformats'/><category scheme='http://www.blogger.com/atom/ns#' term='rest'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='parakey'/><category scheme='http://www.blogger.com/atom/ns#' term='rdf'/><category scheme='http://www.blogger.com/atom/ns#' term='soap'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon web services'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='scarcity'/><title type='text'>Characteristics of the winning WebOS</title><content type='html'>I'm going to predict the future for you here. Hopefully, like any good prognosticator, I'll leave my definitions vague enough and my time-line open enough that I'm almost guaranteed to be correct. What I'm going to tell you is the look of the web operating system, or WOS, that will ultimately "win".&lt;br /&gt;&lt;br /&gt;The primary purpose of a WOS is to convert web services into a &lt;a href="http://en.wikipedia.org/wiki/Commodity"&gt;commodity&lt;/a&gt;. This is really just argument by assertion, but here goes anyway.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DOS is to disk as WOS is to ___?&lt;/span&gt;&lt;br /&gt;The point of a computer operating system is to abstract all of the "interesting" parts of a computer in a way that allows application programmers to make use of them.  Think back.  Disk Operating System, or &lt;a href="http://en.wikipedia.org/wiki/DOS"&gt;DOS&lt;/a&gt;, existed to read applications off of disks and to allow those applications to read and write to disks. Without a disk operating system, application providers would need to partner up with both computer and disk drive providers to deliver an application suite. Some amount of application code would need to exist in the ROM of the computer just to read the rest of the application suite off the disk.&lt;br /&gt;&lt;br /&gt;This is largely the state of the web today. A complete web application utilizes a wide variety of web services for distribution, authentication, session management, search, etc. To deliver a web application today, you need to deliver an entire web server, or fleet of web servers. You can partner with other businesses for site hosting, back-end databases, and storage. You can utilize relatively common components, such as with &lt;a href="http://en.wikipedia.org/wiki/LAMP_%28software_bundle%29"&gt;LAMP&lt;/a&gt;. Nevertheless, as it stands, it is impossible to define a complete and relatively complex web application that can be freely moved from one operating environment to another.&lt;br /&gt;&lt;br /&gt;Many of the critical services needed by a web application can be hosted by the local desktop. I argue a WOS must include a reference server, though I don't know if that is the only solution. What I do know is that one desktop server doesn't scale well to applications that could have users across the entire web. It is therefore critical the application just as easily makes use of commodity web services. That is the benefit of using a WOS. It provides the abstraction to make an web application that can scale without modification.&lt;br /&gt;&lt;br /&gt;The interactions we can have with the web are much more interesting than the interactions we can have with disks, but I think the analogy holds. There are even some important interactions with disks that current desktop operating systems don't support, but that is a another story. I even go so far as to say that using a WOS should allow you move your applications to an entirely different web, off of the Internet and onto a private LAN. It is only some subset of the web that can be truly abstracted in this way and many web applications will have dependencies that don't allow them to work independent of the Internet.&lt;br /&gt;&lt;br /&gt;That subset of services that can be made independent of the Internet is what is important to a WOS.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Growing the market for web services&lt;/span&gt;&lt;br /&gt;I don't mean to say that a WOS developer should focus only on the server-side. A WOS must provide an environment where those web services can be consumed by a sufficiently large market. In this context, it can be critically important to provide a rich set of client services and template applications to simplify application development.  Some people seem to get this secondary objective of a WOS confused, such as &lt;a href="http://franticindustries.com/blog/2006/12/21/big-webos-roundup-10-online-operating-systems-reviewed/"&gt;the blogger quoted below&lt;/a&gt;.&lt;br /&gt;&lt;blockquote&gt;&lt;span class="fullpost"&gt;&lt;span class="fullpost"&gt;&lt;span class="fullpost"&gt;&lt;span class="fullpost"&gt;&lt;span class="fullpost"&gt;But what is a &lt;span style="font-weight: bold;"&gt;WebOS&lt;/span&gt; (not to be confused with another definition of the term, see &lt;a href="http://en.wikipedia.org/wiki/Web_operating_system"&gt;here&lt;/a&gt;), or a &lt;span style="font-weight: bold;"&gt;Webtop&lt;/span&gt;, anyway ? Here’s a simple definition: &lt;span style="font-weight: bold;"&gt;WebOS is a virtual operating system that runs in your web browser&lt;/span&gt;. More precisely, it’s a set of applications running in a web browser that together mimic, replace or largely supplement a desktop OS environment.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;The "&lt;a href="http://en.wikipedia.org/wiki/Webtop"&gt;webtop&lt;/a&gt;" functionality is important in the simplicity it provides in creating web application, but I think &lt;a href="http://en.wikipedia.org/wiki/WebOS"&gt;Wikipedia's definition&lt;/a&gt; is closer to correct. I struggle, however, to see where a webtop alone will significantly help generate the next killer web application. Web browsers already support &lt;a href="http://en.wikipedia.org/wiki/Tabbed_browsing"&gt;tabbing&lt;/a&gt; and there are plenty of &lt;a href="http://en.wikipedia.org/wiki/Ajax_framework#JavaScript_and_Server_Technology_Independent_Frameworks"&gt;AJAX frameworks&lt;/a&gt; for producing rich interfaces. While a webtop and set of example applications seems necessary to be recognized as a WebOS, do any of these webtops offer sufficient benefit to application developers to lock themselves into one of them?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How a WOS will generate cash&lt;/span&gt;&lt;br /&gt;Consumers want everything to be free. That is, they want it to cost them so little effort or resource that they don't even know they are paying. This is where a WOS has some real potential. A WOS can turn all of those &lt;a href="http://news.com.com/Does+Web+2.0+bubble+have+a+silver+lining/2100-1030_3-6132563.html"&gt;profitless web application companies&lt;/a&gt; into differentiated web service providers. How?--by putting a line between &lt;a href="http://www.techdirt.com/articles/20061025/014811.shtml"&gt;what is scarce and what is abundant&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Software is abundant. Given enough time, someone is going to write this WOS of the future and make it open source, so there is little hope of making money off of selling one in the long term. Though there is little money-making potential for someone making just the software for a WOS, there is significant value for the service, content, and hardware providers. The existence of a WOS can increase the number of their consumers and provide the &lt;a href="http://en.wikipedia.org/wiki/Micropayment"&gt;&lt;/a&gt;infrastructure they need for revenue, such as &lt;a href="http://en.wikipedia.org/wiki/Micropayment"&gt;micropayments&lt;/a&gt;. The most successful WOS will turn the scarce service and content resources into commodities, maximizing their availability.&lt;br /&gt;&lt;br /&gt;At first, nervous service and content providers may be reluctant to feed such an ecosystem where they are on level ground with their competitors. They will wonder if they will be able to sustain their value. Eventually, they will learn that there is still value in their brand, their services, and their content. Why? Brands are scarce, because &lt;a href="http://www.mattmcalister.com/blog/2006/12/07/121/is-attention-finite/"&gt;attention is finite&lt;/a&gt; and it takes attention to build confidence. Services require resources and expertise, and are therefore scarce. Despite the seeming abundance of user-generated content and the high-availability of copies of any particular content, there is a finite amount of content available to sustain the value of any given brand. Though new markets can be generated on top of an existing consumer base, the ability to generate content that is suitable to an existing target market is limited to a finite set of content providers. In other words, people will get bored watching &lt;a href="http://www.youtube.com/results?search_query=cats+climbing+curtains&amp;search=Search"&gt;home videos of cats climbing the curtains&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;With the scarcity of services and content, the abundant WOS will simply be the catalyst for revenue. The hardware is a story for another day.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The predictions&lt;/span&gt;&lt;br /&gt;To conclude, here are the top 10 characteristics I see for the winning WOS:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;It will be a standard, not a single implementation.&lt;/li&gt;&lt;li&gt;It will be implemented with open source software at least once.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It will be packaged with a web browser, like &lt;a href="http://www.flock.com/"&gt;Flock&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;It will make transparent use of free (community-based), fee-based, subscription-based, or advertising-based web services when local services aren't sufficient.&lt;/li&gt;&lt;li&gt;It will make use of open identity services, like &lt;a href="http://en.wikipedia.org/wiki/Openid"&gt;OpenID&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;It will provide namespace and tunneling services, like &lt;a href="https://paperairplane.dev.java.net/"&gt;Paper Airplane&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;It will provide media playback, publishing, and subscription services, like &lt;a href="http://www.getdemocracy.com/"&gt;Democracy&lt;/a&gt; and &lt;a href="http://www.getdemocracy.com/broadcast/"&gt;Broadcast Machine&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;It will work on any network, including a network of a single computer.&lt;/li&gt;&lt;li&gt;It will be &lt;a href="http://en.wikipedia.org/wiki/Accessibility"&gt;accessible&lt;/a&gt;, isolating the application presentation such that the interface can be implemented independent from the core application.&lt;/li&gt;&lt;li&gt;It will provide bandwidth aggregation, like &lt;a href="http://en.wikipedia.org/wiki/Bittorrent"&gt;BitTorrent&lt;/a&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-style: italic;"&gt;(Update Jan 6: &lt;/span&gt;&lt;a style="font-style: italic;" href="http://clamoring.blogspot.com/search/label/web%20operating%20system"&gt;link to my other posts on web operating systems&lt;/a&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-6929715334897971607?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/6929715334897971607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2006/12/characteristics-of-winning-webos.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/6929715334897971607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/6929715334897971607'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2006/12/characteristics-of-winning-webos.html' title='Characteristics of the winning WebOS'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-6154462435307219634</id><published>2006-12-21T14:27:00.000-06:00</published><updated>2006-12-23T03:50:39.279-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='del.icio.us'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax search'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='feedburner'/><title type='text'>Pimp my blog with FeedFlare</title><content type='html'>I'm not one of those people that is obsessed about having my own unique CSS, so you won't see me waste much time with that.  As long as the format is readable and the HTML in the post feed looks okay, I'm happy.&lt;br /&gt;&lt;br /&gt;What does interest me is finding people who get something out of my posts.  I have a grand vision for the web, as many other people more influential than me do as well.  My first few entries have been a bit longer than I'd like, but they are such a small step towards sharing my vision.  It has been a challenge to keep them even as short as they are.  Of course, having a day job helps.  Nevertheless, I've noticed that a few people have managed to discover and read these entries. I'm hopeful that I'll be able to participate in discussions on these shared interests in the future.&lt;br /&gt;&lt;span class="on" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;Quickly catching myself up with some of the recent blogging tools, I found a couple of interesting posts.  One was from &lt;a href="http://scobleizer.com/2006/12/15/google-shows-how-to-bling-your-blog/"&gt;Robert Scoble with a great interview with Google's Marc Lucovsky&lt;/a&gt; talking about adding &lt;a href="http://www.google.com/uds/index.html"&gt;AJAX Search&lt;/a&gt; to your blog.  I could use that to tie in other blogs talking about the same topics.  The idea is to make it easier for someone, mostly me, to participate on a certain range of ideas.  Well, that isn't going to be trivial, so I will move on for now.&lt;br /&gt;&lt;br /&gt;The other post was from &lt;a href="http://www.mattmcalister.com/blog/2006/12/19/127/preview-of-the-delicious-publisher-api/"&gt;Matt McAlister on a new Del.icio.us publisher API&lt;/a&gt;.  &lt;a href="http://del.icio.us/jadon"&gt;I'm a Del.icio.us user&lt;/a&gt; who scans for other people that bookmark items like I do. I add those people to &lt;a href="http://del.icio.us/network/jadon"&gt;my network&lt;/a&gt;.  Putting the information of how many people bookmark my posts directly on my blog will save me some cycles.  The first place I found information on the API was on &lt;a href="http://blogs.feedburner.com/feedburner/archives/2006/12/feedflare_gets_even_more_delic.php"&gt;FeedBurner, where they have added use of the API to their FeedFlare service&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I created a &lt;a href="http://feeds.feedburner.com/ChaoticClamoring"&gt;FeedBurner feed for my blog&lt;/a&gt;.  The next step was to add the FeedFlare to my blog itself.  One blogger pointed out that &lt;a href="http://loupdargentonline.blogspot.com/2006/09/fwd-adding-feedflare-to-blogger-beta.html"&gt;FeedBurner provides you with information that doesn't go with Blogger Beta&lt;/a&gt;.  Followed the advice, I went to the &lt;a href="http://forums.feedburner.com/viewtopic.php?t=7192"&gt;FeedBurner forums to pick up the required snippet&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Simple enough for me.  Actually, it &lt;span style="font-style: italic;"&gt;was&lt;/span&gt; pretty darn simple.  Sure, I've left out all of the issues of now having multiple feeds, so I'll never be able to tell just how many subscribers I have.  Sure, I've given my e-mail address to half the Earth by now to get access to one web service after another. No, I don't have any guarantees those guys will be providing that same service to me tomorrow, but why shouldn't they? Should I really be expecting anything more?&lt;br /&gt;&lt;br /&gt;(Update 2006-12-23: I saw today &lt;a href="http://blog.del.icio.us/blog/2006/12/the_new_and_tag.html#more"&gt;Del.icio.us posted information on their site about the new API&lt;/a&gt;.  I probably won't look at it much, since I've already got it going with FeedFlare.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-6154462435307219634?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/6154462435307219634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2006/12/pimp-my-blog-with-feedflare.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/6154462435307219634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/6154462435307219634'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2006/12/pimp-my-blog-with-feedflare.html' title='Pimp my blog with FeedFlare'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-4988281441811445360</id><published>2006-12-19T16:00:00.000-06:00</published><updated>2007-01-12T16:42:23.871-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xhtml'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='youos'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><category scheme='http://www.blogger.com/atom/ns#' term='microformats'/><category scheme='http://www.blogger.com/atom/ns#' term='rest'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='parakey'/><category scheme='http://www.blogger.com/atom/ns#' term='rdf'/><category scheme='http://www.blogger.com/atom/ns#' term='soap'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Defining a WebOS API</title><content type='html'>It has been a couple of years since &lt;a href="http://daringfireball.net/2004/06/location_field"&gt;everyone came around to realize that the web is the most important emerging application platform&lt;/a&gt;. All hands are now on-deck to fight the resulting API war. Because I am an embedded software developer, you might think I wouldn't have much of a role to play in this war.  I hope you'd be wrong.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What might seem simpler to some might be harder to understand for others&lt;/span&gt;&lt;br /&gt;Back in the day when computers were hard to use, many of the non-engineers that I know would make use of computers by writing small programs.  Those programs might print their names across the screen or play sequences of musical notes.  On occasion, those programs would be borrowed from a magazine and might encompass an entire adventure or arcade game.  I wouldn't necessarily call this programming, but it meant that they understood how to edit a source file, invoke the compiler or interpreter, and run an application they could actually dissect themselves.  How many of your friends not involved in writing software for a living can do this today?&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/4/48/C64_startup_animiert.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://upload.wikimedia.org/wikipedia/commons/4/48/C64_startup_animiert.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Those were also days when people made backups of their floppy disks.  Sure, part of that was because they had personal experience with data loss, but they also would lose smaller bits of data at a time to learn this lesson.  What's more, their computers would still work without any time lost to restore a backup to a hard drive.  How many of your computer using friends create a backup of their data today, let alone a bootable image with the programs required for using that data?&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/4/48/C64_startup_animiert.gif"&gt;&lt;/a&gt;&lt;blockquote&gt;See also:&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Microsoft_BASIC"&gt;Microsoft BASIC Wikipedia entry&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www3.nbnet.nb.ca/mclays/level2.html"&gt;TRS-80 Model I Level II BASIC page&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;Don't get me wrong, I dread the idea of turning on my computer and seeing a BASIC "Ready" prompt looking back at me.  I hope you'll admit, if not reminisce, that prompt let you at least &lt;span style="font-style: italic;"&gt;know what state&lt;/span&gt; your computer was in and what it was "Ready" to do.  The really good news is web browsers have given much of that know-what-state information back to computer users through the beauty of a hyperlink or URL.  Typing a URL into the address bar of your favorite browser typically results in something you expect.&lt;br /&gt;&lt;br /&gt;Since running web applications is easy, programming them should be easy too.  If we can stay a little focussed, we might just find that is possible.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is an API?&lt;/span&gt;&lt;br /&gt;In the embedded world, I get pretty frustrated with how often a function call is confused with an &lt;a href="http://en.wikipedia.org/wiki/Application_programming_interface"&gt;API&lt;/a&gt;.  I can accept that a collection of function call definitions &lt;span style="font-style: italic;"&gt;could&lt;/span&gt; constitute an API, but a good API is often much more than that.  An API is everything an application programmer requires to make use of a bundle of software that was created by someone else. So, a documented set of function calls into a library could be an API, but so could documented interrupt traps, messages, or even URLs.  What is important is that you can give enough information to the application programmer to make use of your software bundle.&lt;br /&gt;&lt;br /&gt;In the &lt;a href="http://en.wikipedia.org/wiki/Web_application_framework"&gt;web application&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Web_service"&gt;web services&lt;/a&gt; worlds, there are lots of possible starting points for defining an API, all with various benefits and pitfalls.  On the web services side, there are SOAP, XML-RPC, and &lt;a href="http://en.wikipedia.org/wiki/List_of_Web_service_specifications"&gt;many more&lt;/a&gt;.  On the web application client side, there are Mochikit, Dojo, DOM, GWT, and &lt;a href="http://www.infoworld.com/article/06/07/31/31FEajax_1.html"&gt;many more&lt;/a&gt;.   On the web application server side, there are Zope, Zend, Ruby on Rails, Mediawiki, Twiki, SharePoint, Blogger, Drupal, and &lt;a href="http://en.wikipedia.org/wiki/List_of_web_application_frameworks"&gt;many, many more&lt;/a&gt;. Gather it up and there is a lot of room for confusion.&lt;br /&gt;&lt;br /&gt;Fortunately, as complicated as all of the support layers have gotten, the fundamentals of how most of the web works have remained relatively consistent.  Data is fetched from URLs using HTTP's GET method and manipulated using two or three other HTTP methods. This thinking has been captured in the &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer"&gt;representational state transfer architectural style&lt;/a&gt;, or REST, as described by &lt;a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/top.htm"&gt;Roy Fielding's doctoral dissertation&lt;/a&gt;.  Given average computer user's familiarity with fetching data using URLs and providing input using on-line forms, there is some potential for creating an API that people can understand.&lt;br /&gt;&lt;br /&gt;A web service or web operating system REST API is somewhat akin to a desktop operating system call or software trap.  In a system call, the application prepares some aspects of the CPU state then executes a CPU instruction to enter a more privileged set of code defined by the operating system.  It is an important feature to not make these calls transparent, because this is where potentially sensitive information is moved to the network. These HTTP transactions are abstracted network transactions that most computer users can understand, because they already make these transactions frequently.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;An early entry&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.youos.com/"&gt;YouOS&lt;/a&gt; has created something of &lt;a href="http://trac.youos.com/index.html"&gt;an API for applications running within their WebOS environment&lt;/a&gt;.  This API includes web application client library functions and &lt;a href="http://trac.youos.com/index.html/wiki/ServerApis"&gt;server functions&lt;/a&gt;.  &lt;a href="http://blog.youos.com/"&gt;YouOS&lt;/a&gt; has communicated their goals in the &lt;a href="http://www.youos.com/html/static/manifesto/what.html"&gt;YouOS manifesto&lt;/a&gt;.&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;YouOS strives to bring the web and traditional operating systems together to form a shared virtual computer.&lt;/b&gt; To you, it's one giant computer that you and your friends can work on. To us, it's all the servers, routers, software, bandwidth, and engineers to keep this grand experiment in collaborative computing running.&lt;/blockquote&gt;I agree this is a noble vision for a web operating system, but this isn't necessarily in the best interest of consumers.  At the least, some off-line capability, such as that described for &lt;a href="http://iscrybe.com/main/index.php"&gt;Scrybe&lt;/a&gt;, should be included.  Ultimately, there is also little reason to pay for storage and bandwidth if your home ISP connection is sufficient.  I love the &lt;a href="http://aws.amazon.com/"&gt;Amazon web services&lt;/a&gt; that YouOS utilizes to provide the scalability for Internet-wide software deployments, but locking customers into a single source provider for YouFS isn't in a consumer's best interest.  &lt;a href="http://www.itweek.co.uk/itweek/comment/2161338/why-youos"&gt;Big players won't see a reason to use the service defined by YouOS because they can invest in their own infrastructure&lt;/a&gt; and new developers can't start small enough, which is confined to their desktop.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Provide an open source server implementation and client library&lt;/span&gt;&lt;br /&gt;One answer is to provide an implementation of the server that is hosted locally. By continuing to use the HTTP interface definition, the location of the service, primarily data storage and retrieval, can instantly be made irrelevant.  Further, it defines the necessary interface for authentication and provides a sandbox for web applications.  A new developer who learns this environment can be given most of the lessons necessary to deploy their application across the Internet.&lt;br /&gt;&lt;br /&gt;A pitfall that must be avoided is the creation of too many abstractions in the client library that are potentially more &lt;a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html"&gt;leaky&lt;/a&gt; than the HTTP interface.  The programmer should be kept aware of the HTTP transactions that need to occur to perform their desired tasks.  By providing a local server, significant services can be kept out of the client library.&lt;br /&gt;&lt;br /&gt;I'm not saying that the client library should be avoided all together, but it shouldn't be seen as the entry to the operating system.  The client library is more akin to &lt;a href="http://en.wikipedia.org/wiki/Libc"&gt;libc for C programs&lt;/a&gt; or the &lt;a href="http://en.wikipedia.org/wiki/Standard_template_library"&gt;standard template library for C++ programs&lt;/a&gt;, but with less need for portability.  As long as a web application makes only the HTTP transactions supported by the web operating system, it should run just fine, no matter what language or client library is used.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Use microformatted XHTML, not a new XML schema&lt;/span&gt;&lt;br /&gt;What shouldn't be avoided is defining the inputs and outputs of those HTTP transactions to be &lt;a href="http://en.wikipedia.org/wiki/Extensibility"&gt;extensible&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Forward_compatibility"&gt;forwards compatible&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Backward_compatibility"&gt;backwards compatible&lt;/a&gt;.  A simple approach to this is to make use of &lt;a href="http://microformats.org/"&gt;microformatted&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Xhtml"&gt;XHTML&lt;/a&gt; for all queries and results.  The server should still support &lt;a href="http://en.wikipedia.org/wiki/Html"&gt;HTML&lt;/a&gt; for robustness, but only generate XHTML. XHTML is something that every major web browser already knows how to parse and present.  Microformats extend XHTML in a way that doesn't break that compatibility.&lt;br /&gt;&lt;br /&gt;One huge lift from using microformatted XHTML is the ability to provide a service like &lt;a href="http://www.awszone.com/"&gt;Amazon's AWS Zone&lt;/a&gt; directly on-top of the web operating system services, without needing to understand the syntax of &lt;a href="http://en.wikipedia.org/wiki/WSDL"&gt;WSDL and SOAP&lt;/a&gt;.  This self-documenting style is exactly what is necessary for those new to programming.  This allows for &lt;a href="http://en.wikipedia.org/wiki/Cut_and_paste"&gt;cut-and-paste&lt;/a&gt; style experimentation to produce results that can be expected, such as &lt;a href="http://www.w3schools.com/"&gt;how many people initially learned to produce HTML documents&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What all should a WebOS do?&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Certainly it should provide data management so that you can get to your data wherever you are.  I'd say it should go a bit further and define the paradigms for protecting and sharing that data with other users.  &lt;a href="http://www.spectrum.ieee.org/nov06/4696"&gt;Sharing content, especially media,&lt;/a&gt; is an area where &lt;a href="http://www.readwriteweb.com/archives/parakey_webos.php"&gt;Parakey&lt;/a&gt; seems a little bit more focused than the &lt;a href="http://blogs.zdnet.com/web2explorer/?p=166"&gt;other WebOS entries&lt;/a&gt;.&lt;/span&gt;  A WebOS should help you not only get to your data from everywhere, but publish and &lt;a href="http://en.wikipedia.org/wiki/File_synchronization"&gt;synchronize&lt;/a&gt; it with other users.  (See: &lt;a href="http://en.wikipedia.org/wiki/RSS_%28file_format%29"&gt;RSS&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/JXTA"&gt;JXTA&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Syncml"&gt;SyncML&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;A WebOS might need to handle some tasks where the programming environment of a web browser cannot execute tasks quickly enough.  I've done plenty of assembly language programming in my career, but it is almost always only needed in a very small part of even complex algorithms. For the vast majority of software, the environment should optimize for ease of development. Dynamic type checking is better than static. Automatic memory management is better than manual. Programmers should only need to focus on the problem at hand. If the problem is the need to express some control flow, then just think about the software techniques required for that. If the problem is to create a high-performance video codec, something I do frequently, then worry about the individual machine cycles in your tight loops. Don't make programmers think about all of the problems at once.&lt;br /&gt;&lt;br /&gt;The case of media manipulation seems to me to be one of those areas that is simply too intense for coding in JavaScript with today's interpreters.  This is an instance where a proprietary interface, &lt;a href="http://en.wikipedia.org/wiki/Adobe_Flex"&gt;Adobe's Flex&lt;/a&gt;, seems to have an advantage over existing open source options.  Hopefully, this is an issue that Parakey's &lt;a href="http://en.wikipedia.org/wiki/JUL_programming_language"&gt;JUL&lt;/a&gt; will address.&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://talkback.zdnet.com/5208-11423-0.html?forumID=1&amp;threadID=20832&amp;amp;messageID=398702"&gt;Should it also provide window management&lt;/a&gt;?  This seems to be a popular function of the early WebOS entries, but I don't necessarily see the point.  Web browsers already support multiple windows or tabs, though the idea of bringing up a desktop on remote computers in a predefined state has some appeal to me.  What should be done by a web operating system is to clarify and distinguish the roles of software modules along the lines of the &lt;a href="http://en.wikipedia.org/wiki/Model-view-controller"&gt;model-view-controller, or simiarly useful, pattern&lt;/a&gt;.  This would allow web applications written against a WebOS to be immediately more &lt;a href="http://diveintoaccessibility.org/"&gt;accessible&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.joelonsoftware.com/items/2006/12/05.html"&gt;Some say that programming will always be difficult&lt;/a&gt;.  This may be true for highly-optimized, widely-deployed, well-structured, and cutting-edge applications, but the definition of programming is a bit of a moving target.  I'd be happy to get more non-engineering people introduced to a programming environment where creating the &lt;a href="http://en.wikipedia.org/wiki/Hello_world"&gt;"Hello World" application&lt;/a&gt; is truly trivial and creating the next &lt;a href="http://www.youtube.com/"&gt;YouTube&lt;/a&gt; is truly possible.  That environment, where you can be self-taught and all of the tools are at your fingertips, should be among the goals for any WebOS application programmer's interface definition.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-4988281441811445360?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/4988281441811445360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2006/12/defining-webos-api.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/4988281441811445360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/4988281441811445360'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2006/12/defining-webos-api.html' title='Defining a WebOS API'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-7049467116507720165</id><published>2006-12-13T09:25:00.000-06:00</published><updated>2006-12-14T16:06:31.401-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='darwinports'/><category scheme='http://www.blogger.com/atom/ns#' term='apple switch'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='fink'/><category scheme='http://www.blogger.com/atom/ns#' term='human factors'/><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><category scheme='http://www.blogger.com/atom/ns#' term='imap server'/><category scheme='http://www.blogger.com/atom/ns#' term='dovecot'/><title type='text'>Try migrating your wife's computer from WinXP to Mac OS X (Part 1)</title><content type='html'>It shouldn't come as a surprise to most of you that &lt;a href="http://the.taoofmac.com/space/HOWTO/Switch%20To%20The%20Mac"&gt;moving from WinXP to Mac OS X&lt;/a&gt; isn't as easy as &lt;a href="http://www.apple.com/support/switch101/migrate/"&gt;Apple would like you to believe&lt;/a&gt;, no matter how much they try to blame that on Microsoft. Last weekend, I brought home a shiny new &lt;a href="http://www.apple.com/imac/"&gt;Intel-based iMac&lt;/a&gt;, the quiet, self-contained poster child for simple computing.   One cord from the wall to the display, from there to the keyboard, and from there to the mouse; and for $60 more I could have eliminated those last two cords to the keyboard and mouse as well, at the expense of changing batteries once or twice a year.  My wife tells me it took her a minute or so to figure out where the actual computer was and find the DVD drive slot.   I mention that as a bit of a praise, actually, because us computer folks can really be pretty ignorant of just how confusing something like that can be for the &lt;a href="http://www.youtube.com/watch?v=aY_CidIS8YM"&gt;completely uninitiated&lt;/a&gt;.  Of course, it certainly wasn't trivial for me either.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Backing up the PC&lt;/span&gt;&lt;br /&gt;I started by making a copy of her complete hard drive onto an external USB hard drive using &lt;a href="http://www.centered.com/"&gt;Second Copy&lt;/a&gt;.  About 50 files wouldn't copy.  I looked at the log and I don't &lt;span style="font-style: italic;"&gt;think&lt;/span&gt; any of them are important, but how am I supposed to really know?  None of them looked like a data file name that my wife would have assigned, but I wanted to duplicate her PC settings to a virtual PC, so I also ran the &lt;a href="http://www.microsoft.com/windowsxp/using/setup/expert/crawford_november12.mspx"&gt;Windows XP Files and Settings Transfer Wizard&lt;/a&gt;.  Check out these notes from the helpful article on using the tool:&lt;br /&gt;&lt;blockquote&gt;Don't wander too far away because the collection process occasionally turns up a file that can't be transferred, such as a &lt;b&gt;.dat file&lt;/b&gt;, and asks how to proceed. Just click &lt;b&gt;Ignore&lt;/b&gt;. After the collection process is complete, you'll get a list of those files. If there are a bunch of them, highlight and copy the list into Notepad and save it.&lt;/blockquote&gt;Sure enough, there were about 50 or so files that wouldn't copy again.  Reading further down in those instructions for a better idea of what to do with those files yields a less than ideal response:&lt;br /&gt;&lt;blockquote&gt;After the transfer is complete, you can copy over files that you want but the wizard couldn't transfer. Now your new computer is ready to go, and you didn't have to repeat the same configuration chores you performed to setup the old one.&lt;/blockquote&gt;Just why is it that these tools are written to solve half the problem and leave the rest to magic?  I have no good idea if those files are really needed by any of the applications.  I already tried to copy most of them with different tools. What magic should have happened so that I could copy these files now?  No hint whatsoever is given on how I'm supposed to release the locks on those files.  Most of you will say that those files probably weren't important, but how is that supposed to make Joe Average computer user feel, especially if one of them was important?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Initializing the Mac&lt;/span&gt;&lt;br /&gt;Prompted by &lt;a href="http://www.onlamp.com/pub/a/mac/2005/05/17/tiger.html"&gt;the Mac's migration assistant&lt;/a&gt; started by the initialization software, I chose to give myself a jump-start by importing my account and applications from my G4-based Mac Mini.  This was relatively painless and taught me how to reboot my Mac Mini in &lt;a href="http://docs.info.apple.com/article.html?artnum=58583"&gt;Fireware target disk mode&lt;/a&gt; and introduced me to other &lt;a href="http://www.jacsoft.co.nz/Tech_Notes/Mac_Keys.shtml"&gt;boot key combinations&lt;/a&gt;.  I was a bit nervous because most of my Mac Mini applications are not &lt;a href="http://www.apple.com/universal/"&gt;Universal&lt;/a&gt;.  It seems that all of the programs in the &lt;a href="http://www.apple.com/support/mac101/tour/5/"&gt;Applications folder&lt;/a&gt;, such as Microsoft office, the ones that are actually &lt;a href="http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFBundles/index.html"&gt;"bundles"&lt;/a&gt;, work fine, &lt;a href="http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/universal_binary_exec_a/chapter_7_section_1.html"&gt;transparently running Rosetta&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/mac/products/office2004/office2004.aspx?pid=office2004"&gt;Microsoft Office&lt;/a&gt; is one of the applications that got copied over, so I payed a look into if I'm &lt;a href="http://groups.google.com/group/microsoft.public.mac.office/browse_thread/thread/77a5fd2cb123aa7/1372f4820d413f1b%231372f4820d413f1b"&gt;contractually bound to purchase a second copy&lt;/a&gt;.  &lt;a href="http://www.microsoft.com/mac/default.aspx?pid=macIntelQA"&gt;Office ran fine on the new Intel-based iMac&lt;/a&gt;, but it seemed to &lt;a href="http://support.microsoft.com/kb/917381/en-us?spid=2490&amp;sid=global"&gt;detect when I was running one of the applications on my Mac Mini&lt;/a&gt;.  It left me wondering how close big brother was watching.  In function, this is actually pretty nice to keep honest people honest and doesn't bother me.  In theory, however, I can imagine the folks at the &lt;a href="http://www.eff.org/"&gt;EFF&lt;/a&gt; having some issues on how this affects your &lt;a href="http://www.eff.org/Privacy/eff_privacy_top_12.html"&gt;privacy&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The programs I had built and installed under "/usr/local" had not been copied, but &lt;a href="http://fink.sourceforge.net/"&gt;Fink&lt;/a&gt; programs under "/sw" did get copied.  The Fink install tool worked, but none of the installed applications worked.  I did a quick 'file &lt;i&gt;binary_executable&lt;/i&gt;' and read about &lt;a href="http://0xfe.blogspot.com/2006/03/how-os-x-executes-applications.html"&gt;OS X binary executable types&lt;/a&gt;.  I also read Apple's description on &lt;a href="http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/universal_binary_exec_a/chapter_7_section_2.html"&gt;what Rosetta is supposed to run&lt;/a&gt;.  My methods were a bit unscientific. I quickly moved on to more urgent matters about which my wife would actually care.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Moving the Data&lt;br /&gt;&lt;/span&gt;The most valuable bits of data on my wife's computer, as far as I know, are her photographs, her music for iTunes and iPod, her Microsoft Word documents, some drawings, Quicken data, and all of her Microsoft Office e-mail and contacts.  The &lt;a href="http://www.apple.com/support/switch101/migrate/"&gt;Apple site topic on data migration&lt;/a&gt; told me: &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;b&gt;Tip:&lt;/b&gt; If you're moving files over manually, you'll save yourself some time down the road if you organize your files during the process from the get-go. For example, move your My Pictures photos from your PC to your Home folder's Pictures folder on your Mac, move your PC's My Music song files into the Music folder on your Mac, move your PC's My Videos files to the Movies folder on your Mac, move your text and PDF files to your Documents folder on the Mac, export contacts to vCards on your PC and import them into Address Book on your Mac, and so on.&lt;/blockquote&gt;Okay, this is a little bit helpful for the uninitiated, but I quickly found myself jumping forward without the proper amount of planning anyway.  What this tip drastically fails to tell you is anything practical about how each of those tools organize the data once you've moved it over.  The best example I have is what happened to the photos.&lt;br /&gt;&lt;br /&gt;I copied her entire "My Pictures" folder onto the Mac into her Picture folder.  Originally, she used her &lt;a href="http://h10025.www1.hp.com/ewfrf/wc/softwareList?os=228&amp;lc=en&amp;amp;cc=us&amp;dlc=en&amp;amp;product=371583&amp;lang=en"&gt;HP camera software&lt;/a&gt; to import an organize her photos, leaving each "roll" of photos it its own subdirectory names after the date the photos were imported.  There were also several subdirectories that she had copied off of my machine that had names like 'triptoeurope2004'.  Well, I figured, she's going to want some tool on this machine to manage all of her photos as well.  I installed the HP software, but I figured that it would likely be a bit easier to support her if she went the pure-&lt;a href="http://www.apple.com/ilife/"&gt;iLife&lt;/a&gt; route.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.apple.com/ilife/tutorials/iphoto/ip1-1.html"&gt;iPhoto&lt;/a&gt; didn't remove originals after performing the import, so I removed them myself.  They take up way too much space, the single largest body of her data, to leave many copies on a single drive.  This was probably not a great idea, since iPhoto put them all in one &lt;a href="http://www.apple.com/ilife/tutorials/iphoto/ip1-2.html"&gt;roll&lt;/a&gt;, and not in multiple &lt;a href="http://www.apple.com/ilife/tutorials/iphoto/ip3-1.html"&gt;albums&lt;/a&gt; either.  Oh, well, I guess she needs something to do on this new computer, rather than just enjoy the organization that existed on the old computer.&lt;br /&gt;&lt;br /&gt;On to the music.  This has to be simple, since all those &lt;a href="http://www.macminute.com/2004/07/16/ipoditunes"&gt;people are switching to Macs because of iTunes and iPods&lt;/a&gt;, right?  Well, Apple certainly has thought about &lt;a href="http://www.apple.com/macosx/switch/howto/ipod.html"&gt;moving iPod users from a PC to a Mac&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;Step 2: Empty your iPod&lt;/h3&gt;     &lt;p&gt;To make your switch as painless and efficient as possible, you should clear off your iPod. We recommend emptying it completely of all your music. This sounds like a radical step, but don’t worry. Your music already resides on your PC, so you’re not in danger of losing anything. (You’ll need to re-copy all your iTunes music onto the iPod anyway — more on that in a minute.)&lt;/p&gt;&lt;/blockquote&gt;What??  Forget that I just happened to not do things in this order, but would I really want to?  Yes, I do get the fact that there is a copy on the PC.  In my case, I have this fall-back plan where if my wife doesn't like the Mac, then I'll simply take it and leave her on the PC.  Also, the photo data is bigger than what would fit on her iPod and little consideration seems to be given to that possibility.  Doing a scrub-job on her iPod sounds like it could get me in a lot more hot water than I'm in already for simply proposing that she move to a Mac at all.&lt;br /&gt;&lt;br /&gt;I wanted to move iTunes playlists, not just the music.  The &lt;a href="http://docs.info.apple.com/article.html?artnum=300173"&gt;instructions&lt;/a&gt; left me a little nervous of what mess I'd need to clean up, but they did work fine.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Moving Mail&lt;/span&gt;&lt;br /&gt;Buy this, buy that. Apple told me I needed to purchase yet more software to do the migration, if I really wanted it to be easy:&lt;br /&gt;&lt;blockquote&gt;     For easier moving, you might want to consider &lt;a href="http://www.detto.com/move2mac/" target="_blank"&gt;Move2Mac&lt;/a&gt;, a third-party application that makes the moving process easier. Not only will it move files from your PC to your Mac, it also transfers other items such as your email account settings and address book, Internet Explorer bookmarks, desktop backgrounds, dial-up Internet settings, and more.&lt;/blockquote&gt;After spending over $1000, what is another $50?  $50 is what it is!  If Apple didn't find it worth adding that to the cost of the iMac before I bought it, I don't see the point now.  Well, I'm about to learn why it is worth $50 and Apple is stupid.&lt;br /&gt;&lt;br /&gt;Microsoft has a &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;311129"&gt;nasty hold on your e-mail once it is in Outlook&lt;/a&gt;. I'd never thought about trying to &lt;a href="http://docs.info.apple.com/article.html?artnum=106778"&gt;get out of that trap using IMAP&lt;/a&gt;, but it seemed like a solid idea. If I wanted to move my mail simply with &lt;a href="http://en.wikipedia.org/wiki/Imap"&gt;IMAP&lt;/a&gt;, I needed to create a &lt;a href="http://www.apple.com/dotmac/"&gt;.Mac account&lt;/a&gt; which provides an IMAP mail box, since my &lt;a href="http://en.wikipedia.org/wiki/Internet_service_provider"&gt;ISP&lt;/a&gt; doesn't provide IMAP.  That solution has a recurring fee, so it is time to turn to the world of &lt;a href="http://en.wikipedia.org/wiki/Open_source_software"&gt;open source&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I initially got the idea to use IMAP and create an IMAP server by reading a blog entry by &lt;a href="http://homepage.mac.com/pauljlucas/"&gt;Paul J Lucas&lt;/a&gt; on &lt;a href="http://homepage.mac.com/pauljlucas/personal/macmini/imap.html"&gt;configuring an IMAP server on a Mac Mini&lt;/a&gt; using Dovecot and only stumbled upon the similar Apple recommendation later.  I had Fink installed, so I figured installing &lt;a href="http://www.dovecot.org/"&gt;Dovecot&lt;/a&gt; should be simple.  Going in loops several times, I never could find a Fink distribution that included Dovecot and I got eerie impression that Fink was dead based upon where the &lt;a href="http://fink.sourceforge.net/faq/mirrors.php?phpLang=en"&gt;Fink FAQ&lt;/a&gt; sends you for mirror status:&lt;br /&gt;&lt;blockquote&gt;&lt;a name="status"&gt;       &lt;/a&gt;&lt;div class="question"&gt;&lt;p&gt;&lt;a name="status"&gt;&lt;b&gt;Q3.7: Can I see what the current status of rsync mirrors is?&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;a name="status"&gt;       &lt;/a&gt;&lt;div class="answer"&gt;&lt;p&gt;&lt;a name="status"&gt;&lt;b&gt;A:&lt;/b&gt; Yes, go to &lt;/a&gt;&lt;a href="http://finkmirrors.net/status.html"&gt;http://finkmirrors.net/status.html&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;     &lt;/blockquote&gt;Which yields:&lt;br /&gt;&lt;blockquote&gt;      &lt;h2&gt;Site Error&lt;/h2&gt;   &lt;p&gt;An error was encountered while publishing this resource.   &lt;/p&gt;   &lt;p&gt;&lt;strong&gt;Debugging Notice&lt;/strong&gt;&lt;/p&gt;    Zope has encountered a problem publishing your object.&lt;p&gt; Cannot locate object at: http://www.uptime.at/uptime/status.html   &lt;/p&gt;&lt;/blockquote&gt;Giving up on Fink, I went to &lt;a href="http://darwinports.opendarwin.org/"&gt;DarwinPorts&lt;/a&gt; for &lt;a href="http://dovecot.darwinports.com/"&gt;Dovecot&lt;/a&gt;.  This installation when happily along, but configuration was still a bit of a headache.  I based my configuration file on Paul's blog, but I needed to go to the &lt;a href="http://wiki.dovecot.org/"&gt;Dovecot Wiki&lt;/a&gt; and read the &lt;a href="http://wiki.dovecot.org/QuickConfiguration"&gt;quick configuration page&lt;/a&gt; to figure out how to do the &lt;a href="http://en.wikipedia.org/wiki/Pluggable_Authentication_Modules"&gt;PAM&lt;/a&gt; setup.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.info.apple.com/article.html?artnum=106683"&gt;Setting up Mail.app&lt;/a&gt; was relatively simple, but because I signed my own &lt;a href="http://en.wikipedia.org/wiki/Digital_certificate"&gt;certificate&lt;/a&gt;, I regularly get a &lt;a href="http://www.macosxhints.com/article.php?story=2006061400134986"&gt;warning message&lt;/a&gt; that I need to fix at some point.  The more frustrating part was moving over the &lt;a href="http://en.wikipedia.org/wiki/Contact_list"&gt;contact list&lt;/a&gt;.  I could have tried to &lt;a href="http://blogs.officezealot.com/ty/archive/2004/03/09/680.aspx"&gt;export the contacts using vCards&lt;/a&gt;, but writing a program just seemed silly.  I &lt;a href="http://office.microsoft.com/en-us/outlook/HA010920411033.aspx"&gt;extracted the contacts from Outlook 2000&lt;/a&gt; without any hang-ups.  Problems came when I tried to &lt;a href="http://docs.info.apple.com/article.html?artnum=25330"&gt;import the created .CSV file into Mail.app&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The Mail.app import function was actually pretty intuitive, which is good given the small amount of instructions.  I was able to figure out that "postcode" should be mapped to "zipcode" and just left off the third line of any mailing address, but I won't go into that here.  The process was intuitive, but not necessarily simple or fast.  When I finally hit the button to go ahead with the import, nothing happened.  I was able to flip through all of the contact records fine, so I thought.  There was that one point where it hung on me a long time and I ended up restarting the import.  Okay, that happened about 3 times.&lt;br /&gt;&lt;br /&gt;It turns out that the import tool was having a problem &lt;a href="http://en.wikipedia.org/wiki/Parsing"&gt;parsing&lt;/a&gt; the .CSV file.  I didn't spend too much time trying to figure out if this was a file creation error from Outlook or an import error, but the result was an import that would hang and not present any error. Carriage return errors in CSV file caused Mail.app to not complete the import. Clicking OK over-and-over again didn't tell me why the entries weren't actually imported, even though the preview was fine. Eliminating the problem entry cleared the issue and her contacts were moved.&lt;br /&gt;&lt;br /&gt;Maybe I should have at least spent $10 on &lt;a href="http://www.littlemachines.com/"&gt;Little Machines' O2M&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;First impressions&lt;/span&gt;&lt;br /&gt;When she looked at her new mail tool, she immediately noticed the lack of status bar.  Sure, there is that spinning thing that she'll notice at some point, but there were so many little things moving from one application to another.  It doesn't matter what anyone might say would be more "intuitive".  What matters is that things are different now and &lt;a href="http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&amp;ixPost=21167"&gt;change is bad&lt;/a&gt;.  &lt;a href="http://en.wikipedia.org/wiki/Peopleware"&gt;Peopleware &lt;/a&gt;has a great write-up on people's impressions of change, but I haven't found any &lt;a href="http://gsehl.editme.com/TestingQuotes"&gt;on-line quotes&lt;/a&gt; I can place here.&lt;br /&gt;&lt;br /&gt;The dock was another point of confusion.  The confusion was similar to what you'd find when first starting using Windows as well, but she asked me a very relevant question: Why are there two places for things on the desktop, one on the bottom and and one on the side?  I explain that one is the &lt;a href="http://en.wikipedia.org/wiki/Dock_%28computing%29"&gt;dock&lt;/a&gt; and the other is the &lt;a href="http://en.wikipedia.org/wiki/Desktop_metaphor"&gt;desktop&lt;/a&gt; with &lt;a href="http://developer.apple.com/documentation/Carbon/Conceptual/DesktopIcons/ch13.html"&gt;desktop icons&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;She used to have a &lt;a href="http://en.wikipedia.org/wiki/Taskbar"&gt;taskbar&lt;/a&gt; that she could click to get between programs that are running.  Now, I need to explain that she can use the dock for the same purpose, almost.  It still seems quite foreign, and not in an adventurous way. Nothing in the interface gives her hints to the existence of &lt;a href="http://en.wikipedia.org/wiki/Expos%C3%A9_%28Mac_OS_X%29"&gt;expose&lt;/a&gt;, so I tell her about some of the function keys.  A few notes on a post-it and that doesn't seem to be much of a problem right now.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion (for part 1)&lt;/span&gt;&lt;br /&gt;I could go into many more details, but let me summarize this all in two words: computers suck.  Sure, I've been using computers since the 1970's and I cannot imagine my life without them.  I can bend them to my will and get all sorts of magic done; filling myself with that unique and utterly pointless pride that comes from getting something to work that maybe only one other person on the planet has seen.  Yet, the task of moving data and applications from one computer to another is something any computer user will experience multiple times in their lives if they are blessed with longevity.  My wife sees this all as some sort of inexplicable torture that could only be motivated by the most evil and twisted forms of geek pride.  I can try to explain that this is all in some grand vision of making both of our lives ultimately easier, but I haven't found the parallel universe where that actually makes sense.  Computers suck.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-7049467116507720165?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/7049467116507720165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2006/12/try-migrating-your-wifes-computer-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/7049467116507720165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/7049467116507720165'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2006/12/try-migrating-your-wifes-computer-from.html' title='Try migrating your wife&apos;s computer from WinXP to Mac OS X (Part 1)'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-138097053365446539</id><published>2006-12-12T07:57:00.000-06:00</published><updated>2006-12-12T08:34:22.134-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='p2p sockets'/><category scheme='http://www.blogger.com/atom/ns#' term='parakey'/><category scheme='http://www.blogger.com/atom/ns#' term='collaboration'/><category scheme='http://www.blogger.com/atom/ns#' term='youos'/><category scheme='http://www.blogger.com/atom/ns#' term='jxta'/><category scheme='http://www.blogger.com/atom/ns#' term='p2p'/><category scheme='http://www.blogger.com/atom/ns#' term='web operating system'/><category scheme='http://www.blogger.com/atom/ns#' term='paper airplane'/><title type='text'>Paper Airplane and Web Operating Systems</title><content type='html'>I've got a few posts in the works, but reading &lt;a href="http://www.codinginparadise.org/"&gt;Brad Neuberg's blog&lt;/a&gt; &lt;a href="http://codinginparadise.org/weblog/2006/12/ann-hyperscope-11-released.html"&gt;post this morning&lt;/a&gt; on &lt;a href="http://hyperscope.org/"&gt;HyperScope&lt;/a&gt; has got me itchy to mention one of my pleas to the folks creating &lt;a href="http://en.wikipedia.org/wiki/Web_operating_system"&gt;web operating systems&lt;/a&gt;.  It was Brad's reference to &lt;a href="http://www.codinginparadise.org/paperairplane/"&gt;Paper Airplane&lt;/a&gt; that has made me lose my patience.  &lt;a href="https://paperairplane.dev.java.net/"&gt;Paper Airplane&lt;/a&gt; is a &lt;a href="http://www.jxta.org/"&gt;JXTA&lt;/a&gt;-based project to allow anyone to serve up web content without a web server.&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Paper Airplane is a Mozilla plugin that empowers people to easily create collaborative  P2P web sites, without setting up servers or spending money. It does this by integrating a  web server into the browser itself, including tools to create collaborative online communities  that are stored on the machine. Paper Airplane Groups are stored locally on a user's machine. A  peer-to-peer network is created between all of the Paper Airplane nodes that are running in order  to resolve group names and reach normally unreachable peers due to firewalls or NAT devices.&lt;/p&gt;  &lt;p&gt;Parts of Paper Airplane have been modularized into the &lt;a href="http://p2psockets.jxta.org/"&gt;P2P Sockets&lt;/a&gt; project, a reimplementation of standard Java sockets on top of Jxta and ports of standard web servers, servlet engines, etc. to run on top of a peer-to-peer network. P2P Sockets is at a 1.0 beta level, while Paper Airplane development is just beginning. Paper Airplane code will be posted to this site as it is developed.&lt;/p&gt;  &lt;p&gt;See the &lt;a href="https://paperairplane.dev.java.net/docs/tutorials/plugin_screencast.html"&gt;demo screencast&lt;/a&gt;  of Paper Airplane in action to get a quick overview.&lt;/p&gt;&lt;/blockquote&gt;Well, the Paper Airplane demo is starting to look pretty good.  The bee in my bonnet is telling me to try to reach those Web OS folks, namely &lt;a href="https://www.youos.com/"&gt;YouOS&lt;/a&gt; and &lt;a href="http://www.parakey.com/"&gt;Parakey&lt;/a&gt;, and make sure they aren't leaving this great research on the side of their efforts.&lt;br /&gt;&lt;br /&gt;It must be among the key objectives of a Web OS to provide a programming layer, core set of services, and guided user interface paradigms.  Decentralized hosting is fundamental among that set of services as it is completely necessary for privacy, reliability, and ease-of-use.  To require centralized hosting, that is, to fail to provide for all users to be service and content providers, would be an devastating sin.&lt;br /&gt;&lt;br /&gt;Expect more on this topic from me soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-138097053365446539?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/138097053365446539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2006/12/paper-airplane-and-web-operating.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/138097053365446539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/138097053365446539'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2006/12/paper-airplane-and-web-operating.html' title='Paper Airplane and Web Operating Systems'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-1213505209429732724</id><published>2006-12-06T09:45:00.000-06:00</published><updated>2007-12-13T10:18:20.841-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='democracy tv'/><category scheme='http://www.blogger.com/atom/ns#' term='josh kinberg'/><category scheme='http://www.blogger.com/atom/ns#' term='rocketboom'/><category scheme='http://www.blogger.com/atom/ns#' term='asus'/><category scheme='http://www.blogger.com/atom/ns#' term='broadcatching'/><category scheme='http://www.blogger.com/atom/ns#' term='rss aggregators'/><category scheme='http://www.blogger.com/atom/ns#' term='youtube'/><category scheme='http://www.blogger.com/atom/ns#' term='fireant'/><category scheme='http://www.blogger.com/atom/ns#' term='xolo tv'/><category scheme='http://www.blogger.com/atom/ns#' term='amanda congdon'/><category scheme='http://www.blogger.com/atom/ns#' term='bittorrent'/><category scheme='http://www.blogger.com/atom/ns#' term='participation media'/><category scheme='http://www.blogger.com/atom/ns#' term='avalanche'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>The Future of Digital Media Includes Participation</title><content type='html'>&lt;em&gt;[I originally wrote this article on August 30, 2006, before Google purchased YouTube, but I think it is worth sharing here.]&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;There is a huge push to provide the next generation of digital content distribution to consumers that is more responsive to their desires.  Today, content is typically created by large production companies, like Disney, then distributed by cable and satellite TV carriers.  In the move to IP set-top boxes (IPSTB), there is a notion of giving consumers more "on-demand" choices.  Largely being missed is just how much control over available digital content consumers will have.  New developments in online social networks are showing us that many consumers are interested and capable of producing content—and there is an audience.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_y7jVc0o1My8/R2FakBrpU3I/AAAAAAAAAAg/l2SoK4Ao-rE/s1600-h/FutureOfDigitalMedia.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_y7jVc0o1My8/R2FakBrpU3I/AAAAAAAAAAg/l2SoK4Ao-rE/s400/FutureOfDigitalMedia.png" alt="" id="BLOGGER_PHOTO_ID_5143491824407106418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The split between traditional media and a new field of participation media comes when the audience is given mechanisms to respond and engage.&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#4"&gt;[4]&lt;/a&gt; The traditional path is to provide the audience with more choice, be it through cable and satelitte distribution, "on-demand" programming, or the forthcoming IP set-top boxes.  Participation media, instead, gets the audience involved, providing opportunities for everyone to be a content creator, to distribute the content, and to present content in new venues.  YouTube has gotten things started by allowing small video clips to be shared and rated on web pages.  RSS media aggregators, such as FireAnt or Democracy TV, go a bit further by enabling subscription to full-length videos in a more decentralized fashion.  These services are just the start in the creation of a new digital media infrastructure where the audience can reach entirely new levels of content targeted at their interests.&lt;br /&gt;&lt;h2&gt;YouTube&lt;/h2&gt;YouTube has taken ownership of 43 percent of the online video market&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#1"&gt;[1]&lt;/a&gt;, is delivering 100 million videos everyday&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#2"&gt;[2]&lt;/a&gt;, and has an audience of up to about 20 million viewers, an increase of almost 400% in 6 months&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#3"&gt;[3]&lt;/a&gt;. With this degree of success, YouTube is obviously providing something that viewers like.  In similar fashion to many web site startups today, they're following a user-first formula for attracting viewers, giving the opportunity for the users to turn the site into something they want.&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/qFyIT7rVZ0Q"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/qFyIT7rVZ0Q" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;Anyone is welcome to upload a video on YouTube and then share the link with friends.  Offensive or illegal videos may be removed from the site when complaints are received by the "flag as inappropriate" link below the video.  Each publisher is allowed to keep each video shared privately amongst friends and family, or to make it public and seek to make it to the "most watched" video category.  With relatively few restrictions, and so many content producers, the video library is vast and potentially difficult to navigate without some help.&lt;br /&gt;&lt;br /&gt;To provide help navigating the content, YouTube collects many statistics on the videos uploaded and includes a one-to-five-star rating scheme.  Using this rating information, the number of views of a particular video, comments made by viewers, and other information, YouTube is able to provide suggestions and categories of videos the viewer might find interesting.  Tags are collections of words describing the topic of the video and it is quite easy to look for popular videos with similar tags that have been rated highly by other viewers.  All of this data management makes it quick and easy to be entertained by the huge library of content.&lt;br /&gt;&lt;br /&gt;I'd be a bit surprised if anyone couldn't find something on YouTube to keep entertained for weeks on end, but you might notice the current video quality level of YouTube is less than stellar.  While some people are frustrated with the quality, it doesn't seem to be affecting the success of YouTube.  While many viewers will pay for the quality of presentation provided by technology such as high-definition televisions, the large audience of YouTube shows that convenience, customization, and creativity, even at a minimal quality level, will bring viewers.&lt;br /&gt;&lt;h2&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 32px; height: 32px;" src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" border="0" /&gt;&lt;/a&gt;RSS Media Aggregators--Television for Participation Media&lt;/h2&gt;An RSS feed is the equivalent of a television broadcast tower for the Internet.  RSS, or Really Simple Syndication, involves a web-link (URL) and specially formatted information describing the subject matter,author, when new content is available, and other information that might be used to determineinterest in the content.  Most web browsers, such as Firefox, provide some support for RSS feeds, but do not natively handle all of the media types or provide significant automatic retrieval of content based upon the feeds.&lt;br /&gt;&lt;br /&gt;An RSS media aggregator is a computer program that acts as the equivalent of a TV tuner and a TiVo, allowing a user to surf channels, find the content they desire, and automatically download the latest episodes without needing to manually explore web sites.  Unlike traditional media, RSS feeds can be served from any computer on the Internet with a web server and there are many servers providing publishers these feeds for free.  While today's RSS media aggregator programs and RSS feed servers can be somewhat easy to use and are centered around participation media, they solve a different set of problems than YouTube and don't yet provide all of the same features.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.xolo.tv/watchme/XOLOTV_8.mov"&gt;See the Josh Kinberg interview on XOLO TV.&lt;br /&gt;&lt;!-- object type="video/quicktime" data="http://www.xolo.tv/watchme/XOLOTV_8.mov" class="mov" height="376" width="480"&gt;&lt;br /&gt;&lt;param name="controller" value="true"&gt;&lt;br /&gt;&lt;param name="autostart" value="0"&gt;&lt;br /&gt;&lt;param name="scale" value="aspect"&gt;&lt;br /&gt;&lt;/object --&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Both FireAnt and Democracy TV are RSS media aggregators capable of utilizing BitTorrent to provide fast downloads of popular content, without the need to have powerful web servers involved as with YouTube. If RSS is like the television broadcast tower, BitTorrent is like the power generator for that tower. Utilizing BitTorrent, every computer used to download media content becomes a server for that same content.  For every viewer who downloads a video, the download for every new viewer will be faster. The additional download capacity and decentralization provided by BitTorrent allows for higher quality videos to be served.  Wikipedia refers to this technology as "broadcatching"&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#7"&gt;[7]&lt;/a&gt; and the term connotes the many distributors to one consumer relationship&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#8"&gt;[8]&lt;/a&gt; of these BitTorrent-enabled RSS media aggregators.&lt;br /&gt;&lt;br /&gt;In addition to solving the bandwidth problem for publishers, broadcatching also enables revenue streams not available when using YouTube due to restrictions on posting advertisements.&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#9"&gt;[9] &lt;/a&gt;Rocketboom, a popular video blog providing new content everyday Monday through Friday, chose to interact directly with advertisers and claims to reject product placement.&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#10"&gt;[10] &lt;/a&gt;Instead, the blog creates ads directly for their advertisers, such as Earthlink.&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#11"&gt;[11] &lt;/a&gt;This degree of control over content, quality, and availability, that can't be delivered on YouTube, will motivate publishers to look elsewhere when doing more than giving away random clips.Democracy TV has a separate publishing component called Broadcast Machine.&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#18" class="FootnoteRef"&gt;[18]&lt;/a&gt; This software integrates with a web server running on a computer to create a web site for publishing media content.  Since the publisher controls the web site, there are fewer restrictions on what content can be published, and what video quality level can be achieved, than with YouTube.  Despite the existence of Broadcast Machine, publishing content using broadcatching is still more complex than the file upload feature of YouTube.&lt;br /&gt;&lt;br /&gt;In addition to the added complexity of publishing, the ease of finding content suffers from a more diverse body of publishing practices.  The tags on content are much less likely to be stored in a consistent manner or to be the same as related content.  Statistics and ratings on content won't necessarily be stored in a single place and there are more reasons not to trust the data that is available.  Attribution to the original author is also a serious issue for both YouTube and any broadcatching environment, but without a central resource to resolve disputes, broadcatching is even more susceptible to false claims of ownership.&lt;br /&gt;&lt;br /&gt;Even with the publishing issues, the need to download new software to collect broadcatching feeds could be the biggest barrier to wide acceptance.  Microsoft's next version of Internet Explorer will provide some native RSS support&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#12" class="FootnoteRef"&gt;[12]&lt;/a&gt;, but the functionality will likely only be similar to Firefox and performance will be limited compared to the open-source broadcatching aggregators already available.  Concerns over copyright infringement will keep companies like Microsoft moving slowly towards broadcatching.  Research Microsoft has published recently on a technology they call Avalanche&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#13" class="FootnoteRef"&gt;[13]&lt;/a&gt;, a competitor to BitTorrent, indicates they will eventually catch the open source community.&lt;br /&gt;&lt;h2&gt;What is Next?&lt;/h2&gt;Fixing the software download issue for broadcatching is something that will certainly be solved. Lightweight Java, ActiveX controls, or browser plug-ins could simplify the software installation necessary to provide the desired experience. More adventurous solutions could seek to utilize the JavaScript capabilities in the latest browsers to build the functionality directly, without additional installations.  Creation of such easy-to-use tools could evolve slowly in the open source community or could be accelerated by businesses or partnerships who can identify the potential gain on investment.  Eventually, native support in the operating system or web browser will support the required protocols and interfaces.&lt;br /&gt;&lt;br /&gt;An alternative to solving the software download problem on PCs is by including all of the necessary software in an embedded system. Embedded systems ship with software installed and could provide all of the necessary components for publishing and subscribing to content.  There is already at least one home network router on the market today, the Asus WL-700gE, with BitTorrent included along with a hard disk drive for storing the downloaded content.&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#15" class="FootnoteRef"&gt;[15]&lt;/a&gt; The current feature set is short of "YouTube-in-a-Box", but similar and additional functionality could be included in more complete embedded systems, including IP set-top boxes.&lt;br /&gt;&lt;br /&gt;With all of this potential for involving everyone in participation media, it might be simple to lose an alternative lesson from the varied degrees of success of YouTube and the RSS+BitTorrent solutions: branding still matters.  The video blog Rocketboom has begun to receive numerous mentions in the main stream media and provides some legitimacy to video blogs as a viable media.&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#16" class="FootnoteRef"&gt;[16]&lt;/a&gt; YouTube has further delivered legitimacy to other forms of participation media and organized it in a way that is convenient and entertaining.  Alternatively, FireAnt and Democracy TV have been around about as long as YouTube, but without the success.  A quick search on PRNewswire shows 17 mentions of "YouTube" in August 2006&lt;a href="http://beta.blogger.com/post-edit.g?blogID=8978423996746351775&amp;amp;postID=1213505209429732724#17" class="FootnoteRef"&gt;[17]&lt;/a&gt;, but searches for "FireAnt" or "Democracy+TV" didn't yield any useful results.  Without some promise of creative quality associated with a recognized brand, it is unlikely any new media distribution venture could ultimately succeed.&lt;br /&gt;&lt;h2&gt;References&lt;/h2&gt;&lt;ul class="Footnote"&gt;&lt;br /&gt;&lt;li class="Footnote" id="1"&gt;[1] CNET article that claims "YouTube could be a steal at $1 billion" &lt;a href="http://news.zdnet.com/2100-9588_22-6108971.html"&gt;http://news.zdnet.com/2100-9588_22-6108971.html&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="2"&gt; [2] YouTube Press Release &lt;a href="http://www.youtube.com/press_room_entry?entry=RZs9p25QDCY"&gt; http://www.youtube.com/press_room_entry?entry=RZs9p25QDCY &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="3"&gt; [3] Growth of YouTube Audience &lt;a href="http://www.marketingvox.com/archives/2006/07/24/youtubes_audience_has_grown_fourfold_in_six_months"&gt; http://www.marketingvox.com/archives/2006/07/24/youtubes_audience_has_grown_fourfold_in_six_months/ &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="4"&gt; [4] 2003 paper from Agile-Media on "Understanding Participation Media" &lt;a href="http://www.agile-media.co.uk/files/BTagilemedia_guide2.pdf#search=%22participation%20media%22"&gt; http://www.agile-media.co.uk/files/BTagilemedia_guide2.pdf#search=%22participation%20media%22 &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="5"&gt; [5] YouTube video on uploading videos &lt;a href="http://www.youtube.com/watch?v=qFyIT7rVZ0Q"&gt; http://www.youtube.com/watch?v=qFyIT7rVZ0Q &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="6"&gt; [6] Why YouTube is more popular than Google Video &lt;a href="http://googlesystem.blogspot.com/2006/08/why-is-youtube-more-popular-than.html"&gt; http://googlesystem.blogspot.com/2006/08/why-is-youtube-more-popular-than.html &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="7"&gt; [7] Wikipedia definition of "broadcatching" &lt;a href="http://en.wikipedia.org/wiki/Broadcatching"&gt; http://en.wikipedia.org/wiki/Broadcatching &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="8"&gt; [8] Site claiming to know origination of the term "broadcatching" &lt;a href="http://www.broadcatch.com/definition.shtml"&gt; http://www.broadcatch.com/definition.shtml &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="9"&gt; [9] YouTube terms of use &lt;a href="http://www.youtube.com/t/terms"&gt; http://www.youtube.com/t/terms &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="10"&gt; [10] Rocketboom video blog request for sponsors &lt;a href="http://www.rocketboom.com/sponsorship/"&gt; http://www.rocketboom.com/sponsorship/ &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="11"&gt; [11] Rocketboom episode with Earthlink advertisement at end &lt;a href="http://www.rocketboom.com/vlog/archives/2006/05/rb_06_may_03.html"&gt; http://www.rocketboom.com/vlog/archives/2006/05/rb_06_may_03.html &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="12"&gt; [12] Feature list of upcoming Internet Explorer 7 &lt;a href="http://www.microsoft.com/windows/ie/ie7/about/features/default.mspx"&gt; http://www.microsoft.com/windows/ie/ie7/about/features/default.mspx &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="13"&gt; [13] Whitepaper on Microsoft's Avalanche technology &lt;a href="http://research.microsoft.com/%7Epablo/avalanche.aspx"&gt; http://research.microsoft.com/~pablo/avalanche.aspx &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="14"&gt; [14] XOLO TV interview with Josh Kinberg &lt;a href="http://www.xolo.tv/watchme/XOLOTV_8.mov"&gt; http://www.xolo.tv/watchme/XOLOTV_8.mov &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="15"&gt; [15] Product description of Asus WL-700gE wireless LAN router with BitTorrent and a hard drive &lt;a href="http://www.asus.com/"&gt; http://www.asus.com/products4.aspx?modelmenu=1&amp;amp;amp;model=979&amp;amp;l1=12&amp;amp;l2=43&amp;amp;l3=0 &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="16"&gt; [16] New York Times article on Amanda Congdon leaving as host of Rocketboom &lt;a href="http://www.nytimes.com/2006/07/07/arts/07rock.html"&gt; http://www.nytimes.com/2006/07/07/arts/07rock.html?ex=1309924800&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;en=20c360b0d2e505ef&amp;amp;ei=5088&amp;amp;partner=rssnyt&amp;amp;emc=rss &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="17"&gt; [17] PR Newswire &lt;a href="http://www.prnewswire.com/"&gt; http://www.prnewswire.com/ &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li class="Footnote" id="18"&gt; [18] Participatory Culture, who created Democracy TV &lt;a href="http://participatoryculture.org/"&gt; http://participatoryculture.org/ &lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-1213505209429732724?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/1213505209429732724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2006/12/future-of-digital-media-includes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/1213505209429732724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/1213505209429732724'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2006/12/future-of-digital-media-includes.html' title='The Future of Digital Media Includes Participation'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_y7jVc0o1My8/R2FakBrpU3I/AAAAAAAAAAg/l2SoK4Ao-rE/s72-c/FutureOfDigitalMedia.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8978423996746351775.post-3315869029613156679</id><published>2006-12-03T08:38:00.000-06:00</published><updated>2006-12-04T16:48:30.033-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Finding a voice (the problem with blogs)</title><content type='html'>I've been quite hesitant to start a blog with any actual content.  From the ones I've read, it seems most folks aren't nearly as paranoid as I am.  It is absolutely nerve-racking to think about how much information about me is available on the Internet with very little effort.  Can I avoid my slightest fear that someone is going to hunt me down and poison my dog because I accidentally offended them?&lt;br /&gt;&lt;br /&gt;There is also the issue of &lt;a href="http://www.eff.org/bloggers/lg/faq-ip.php"&gt;intellectual property rights&lt;/a&gt; and proprietary information.  Will I slip up and give away something that is really owned by my company, get fired, get sued, and make my company go bankrupt?  Will I give away &lt;a href="http://www.paulgraham.com/bronze.html"&gt;my billion dollar idea&lt;/a&gt; to some ninny who then corrupts it to kill every puppy in the country?&lt;br /&gt;&lt;br /&gt;And what about the whole deal with using someone else's server to share these ideas?  How do I know they won't burn to the ground just when &lt;a href="http://blogs.siliconvalley.com/gmsv/2006/08/sure_the_newspa.html"&gt;Bill Gates&lt;/a&gt; was going to read my latest blog entry on why he should use his &lt;a href="http://www.gatesfoundation.org/default.htm"&gt;foundation&lt;/a&gt; to cure a disease that would otherwise kill every puppy on Earth?&lt;br /&gt;&lt;br /&gt;Nevertheless, I've decided the risk of NOT starting a blog is too great to continue &lt;a href="http://www.imdb.com/title/tt0108598/quotes"&gt;prevaricating around the bush&lt;/a&gt;.  Living in ignorance of the value of my ideas, not being exposed to necessary feedback, isn't acceptable.  Experiencing the problems of maintaining a blog is one of the best ways I can imagine to be a part of the solution.  I hope that you'll join me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8978423996746351775-3315869029613156679?l=blog.hangerhead.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hangerhead.com/feeds/3315869029613156679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.hangerhead.com/2006/12/finding-voice-problem-with-blogs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/3315869029613156679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8978423996746351775/posts/default/3315869029613156679'/><link rel='alternate' type='text/html' href='http://blog.hangerhead.com/2006/12/finding-voice-problem-with-blogs.html' title='Finding a voice (the problem with blogs)'/><author><name>Jadon</name><uri>http://www.blogger.com/profile/08406407439869229968</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
