<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-25014351</atom:id><lastBuildDate>Sat, 28 Oct 2023 15:58:13 +0000</lastBuildDate><title>blueblog</title><description>blueorganizer, bluemark and everything else adaptiveblue.</description><link>http://adaptiveblue.blogspot.com/</link><managingEditor>noreply@blogger.com (adaptiveblue)</managingEditor><generator>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-115359644337712696</guid><pubDate>Sat, 22 Jul 2006 19:24:00 +0000</pubDate><atom:updated>2006-07-22T20:16:49.966-04:00</atom:updated><title>The blueblog is movin&#39; and groovin&#39;</title><description>Wanted to let you know that the blueblog has a new location: http://blog.adaptiveblue.com/&lt;br /&gt;&lt;br /&gt;From hence forth, that is the address you&#39;ll want to go to for news about adaptiveblue, and blueorganizer, and the smooth stylings of alex, anderson, and the whole adaptiveblue bunch.&lt;br /&gt;&lt;br /&gt;Here are some buttons if you&#39;d like to subscribe to blueblog at it&#39;s new home:&lt;br /&gt;&lt;a href=&quot;http://feeds.feedburner.com/adaptiveblue/feed&quot; title=&quot;Subscribe to my feed&quot; rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot;&gt;&lt;img src=&quot;http://www.feedburner.com/fb/images/pub/feed-icon32x32.png&quot; alt=&quot;&quot; style=&quot;border: 0pt none ;&quot; /&gt;&lt;/a&gt; Subscribe&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://www.bloglines.com/sub/http://feeds.feedburner.com/adaptiveblue/feed&quot; title=&quot;blueblog&quot; type=&quot;application/rss+xml&quot;&gt;&lt;img src=&quot;http://www.bloglines.com/images/sub_modern1.gif&quot; alt=&quot;Subscribe in Bloglines&quot; style=&quot;border: 0pt none ;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.netvibes.com/subscribe.php?url=http://feeds.feedburner.com/adaptiveblue/feed&quot;&gt;&lt;img src=&quot;http://www.netvibes.com/img/add2netvibes.gif&quot; alt=&quot;Add to netvibes&quot; style=&quot;border: 0pt none ;&quot; height=&quot;17&quot; width=&quot;91&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://client.pluck.com/pluckit/prompt.aspx?GCID=C12286x053&amp;a=http://feeds.feedburner.com/adaptiveblue/feed&amp;amp;t=blueblog&quot;&gt;&lt;img src=&quot;http://www.pluck.com/images/pluck/pluspluck.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://fusion.google.com/add?feedurl=http://feeds.feedburner.com/adaptiveblue/feed&quot;&gt;&lt;img src=&quot;http://buttons.googlesyndication.com/fusion/add.gif&quot; style=&quot;border: 0pt none ;&quot; alt=&quot;Add to Google&quot; height=&quot;17&quot; width=&quot;104&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://add.my.yahoo.com/rss?url=http://feeds.feedburner.com/adaptiveblue/feed&quot; title=&quot;blueblog&quot;&gt;&lt;img src=&quot;http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif&quot; alt=&quot;&quot; style=&quot;border: 0pt none ;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://adaptiveblue.blogspot.com/2006/07/blueblog-is-movin-and-groovin.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-115345553990084889</guid><pubDate>Fri, 21 Jul 2006 04:18:00 +0000</pubDate><atom:updated>2006-07-21T21:43:03.346-04:00</atom:updated><title>Alex Iskold science and tech book picks</title><description>&lt;iframe frameborder=&#39;0&#39; width=&#39;225&#39; height=&#39;450&#39; src=&#39;http://s3.amazonaws.com/blueorganizer/shared/slideshow.html?ab_userid=alex_technical&#39; class=&#39;blueiframe&#39;&gt;&lt;/iframe&gt;</description><link>http://adaptiveblue.blogspot.com/2006/07/alex-iskold-science-and-tech-book.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-115258304809531089</guid><pubDate>Tue, 11 Jul 2006 01:47:00 +0000</pubDate><atom:updated>2006-07-10T21:57:28.110-04:00</atom:updated><title>Feeding Frenzy</title><description>&lt;p class=&quot;MsoNormal&quot;&gt;Let’s say you’ve amassed a proud collection of DVD’s and you are tracking them with blueorganizer.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;Now you want to share the details of this collection with the world.&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;What if you discover a great new book and are excited to tell your friends and family about it?&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;Or let’s imagine that you have a buddy that is very cool about letting you borrow Xbox games from his collection.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;He is always buying new games and you wish you had a way to see what new games he has, and how well he likes them.&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;If only there were some way to do these things.&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;Well, now there is.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;With our newly available public beta (get it at &lt;a href=&quot;http://www.adaptiveblue.com&quot;&gt;www.adaptiveblue.com&lt;/a&gt;) , you can publish your collections as RSS feeds. We have tested this version of the blueorganizer with the following readers: &lt;img src=&quot;http://www.bloglines.com/favicon.ico&quot; /&gt; Bloglines,                           &lt;img src=&quot;http://www.google.com/favicon.ico&quot; /&gt; Google reader,                           &lt;img src=&quot;http://www.netvibes.com/favicon.ico&quot; /&gt; Netvibes,                           &lt;img src=&quot;http://www.newsgator.com/favicon.ico&quot; /&gt; Newsgator,and &lt;img src=&quot;http://www.pluck.com/images/pluck.ico&quot; /&gt; Pluck.                   Other readers should work as well.&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;No more emails, no more phone calls, no more checking back on the web pages. Your family and friends can simply subscribe to your picks! Anytime when you discover a music album, an electronic gadget or a toy, your friends and family will automatically see it in their favorite news reader. And if they are also users of the &lt;span class=&quot;bluetext&quot;&gt;blueorganizer&lt;/span&gt;, they will be able to add your picks to their collection!&lt;/p&gt;Find out more at the &lt;a href=&quot;http://www.adaptiveblue.com/share.html&quot;&gt;share bluemarks tutorial&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-anderson&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;technorati tags: &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt; adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt; blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/rss&quot; rel=&quot;tag&quot;&gt; rss&lt;/a&gt;&lt;a href=&quot;http://technorati.com/tag/bloglines&quot; rel=&quot;tag&quot;&gt; bloglines&lt;/a&gt;&lt;a href=&quot;http://technorati.com/tag/netvibes&quot; rel=&quot;tag&quot;&gt; netvibes&lt;/a&gt;&lt;a href=&quot;http://technorati.com/tag/newsgator&quot; rel=&quot;tag&quot;&gt; newsgator&lt;/a&gt;&lt;a href=&quot;http://technorati.com/tag/pluck&quot; rel=&quot;tag&quot;&gt; pluck&lt;/a&gt; &lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/07/feeding-frenzy.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-115250151148834670</guid><pubDate>Mon, 10 Jul 2006 03:05:00 +0000</pubDate><atom:updated>2006-07-09T23:18:31.503-04:00</atom:updated><title>Millions more sites now supported</title><description>Another new feature that is now available in our new public beta is the ability to add a bluemark from just about anywhere.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;Here is how it works:&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;Let’s say you find yourself on some random page that mentions a movie, a game, or a CD you are interested in.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;All you need to do is highlight the name of that thing and right-click it, and you will be presented with the option to bluemark it.&lt;o:p&gt; &lt;/o:p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;If you already have build 2.1 or later, you can try it right now - right here in the blueblog:&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;span style=&quot;font-weight: bold; color: rgb(51, 102, 255);&quot;&gt;Step 1&lt;/span&gt;:&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;Pick a movie, any movie&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;I’ll pretend you chose Blue Hawaii , a movie in which Elvis “is happy to be back in &lt;st1:state&gt;&lt;st1:place&gt;Hawaii&lt;/st1:place&gt;&lt;/st1:state&gt; with his surf-board, his beach buddies, and his girlfriend”&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;span style=&quot;font-weight: bold; color: rgb(51, 102, 255);&quot;&gt;Step 2&lt;/span&gt;: Highlight Blue Hawaii in the paragraph above, or in this very sentence and right click it&lt;/p&gt;      &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;(Wait a few seconds for the magic to happen)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-weight: bold; color: rgb(51, 102, 255);&quot;&gt;Step 3&lt;/span&gt;: In the context menu you will see “bluemark [Blue Hawaii] movie!”&lt;/p&gt;      &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;For those of you without the latest version installed yet, it will look something like this:&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/3774/2954/1600/textmark1.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/3774/2954/320/textmark1.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;        &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-weight: bold; color: rgb(51, 102, 255);&quot;&gt;Step 4&lt;/span&gt;: Click this new menu item, and you’ll get the Add movie dialog for Blue Hawaii&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/3774/2954/1600/textmark2.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/3774/2954/320/textmark2.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;That’s it.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;This will work anywhere you see the name of most any item that could be part of any of the collections.&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;Before this, we supported adding bluemarks from less than 50 sites.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;Now it is more like 50 million.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;Not too shabby! You can get the beta via our website &lt;a href=&quot;http://www.adaptiveblue.com&quot;&gt;www.adaptiveblue.com&lt;/a&gt;&lt;/p&gt;-anderson (has left the building)&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;technorati tags: &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt; adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt; blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/elvis&quot; rel=&quot;tag&quot;&gt; elvis&lt;/a&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/07/millions-more-sites-now-supported.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-115246244924878045</guid><pubDate>Sun, 09 Jul 2006 16:26:00 +0000</pubDate><atom:updated>2006-07-20T01:57:45.186-04:00</atom:updated><title>bluebadges everywhere!</title><description>Decorate your blogs with slideshow badge! Your friends will always know what your are picking and will be able to add your picks to their blueorganizer collections!&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;iframe id=&quot;blueiframe&quot; src=&quot;http://s3.amazonaws.com/blueorganizer/shared/slideshow.html?ab_userid=alex&quot; frameborder=&quot;0&quot; height=&quot;450&quot; width=&quot;225&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;iframe id=&quot;blueiframe&quot; src=&quot;http://s3.amazonaws.com/blueorganizer/shared/slideshow.html?ab_userid=alex&quot; frameborder=&quot;0&quot; height=&quot;450&quot; width=&quot;225&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/p&gt;</description><link>http://adaptiveblue.blogspot.com/2006/07/bluebadges-everywhere.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-115203068255702274</guid><pubDate>Tue, 04 Jul 2006 16:29:00 +0000</pubDate><atom:updated>2006-07-04T12:31:22.576-04:00</atom:updated><title>red, white, and blueorganizer</title><description>Just wanted to wish a happy Fourth of July to our friends in the U.S.  Happy Birthday America!&lt;br /&gt;&lt;br /&gt;To our friends in England, no hard feelings. 8-)</description><link>http://adaptiveblue.blogspot.com/2006/07/red-white-and-blueorganizer.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-115171398639590095</guid><pubDate>Sat, 01 Jul 2006 00:30:00 +0000</pubDate><atom:updated>2006-06-30T20:36:56.253-04:00</atom:updated><title>From Java to JavaScript</title><description>&lt;a href=&quot;http://web2.sys-con.com/read/242892.htm&quot;&gt;From Java to JavaScript&lt;/a&gt; was originally published in Web 2.0 Journal.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I spent the last 10 years of my career programming in Java. When I first discovered it in 1996, I was instantly enlightened. My life in the C++ box of ambiguities and strange side effects came to an end, and boy, was I relieved! Since then, I lived, breathed and thought exclusively in Java. &lt;/p&gt;&lt;p&gt;There are a few a lessons that Java taught me all that I think are really important. The first lesson is that even complex software can be written in a simple and elegant way. The second lesson is that software development is not just about language, it is also about the libraries. The third lesson was that software engineering, like architecture, is about patterns. &lt;/p&gt;&lt;p&gt;In the beginning of 2006 I took of my Java hat off and started a web 2.0 company called adaptiveblue. In a few weeks I brushed up on my JavaScript, learned PHP and XUL. At first, I found the lack of debugger and everything else that should be part of normal development environment, rather frustrating. But after about one month, I started to like this new world order. I realized that I can get things done really quickly. It felt like... well... It felt like hacking. I knew that it was time to stop and take a deep breath. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Do not hack, engineer!&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;I do not believe in hacking, I believe in software engineering. While getting things done quickly is rewarding you can not build any serious piece of software by just hacking it together. First you need to understand the problem at hand, then you need to come up with the solution strategy, pick tools, decide on the architecture and plan the execution. In a nutshell, you need to engineer the solution. &lt;/p&gt;&lt;p&gt;More importantly, a 1000 little hacks do not deliver the same value to the consumers as a single integrated, well thought through system. Its cool to see many little web applications that combine X and Y to make Z. But cool and useful are not the same thing. Modern web software needs to leverage burgeoning web services and facilitates intelligent, holistic, consistent end-to-end user experience. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;New game, old rules &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;As a Java engineer coming to the web 2.0 world, you naturally ask: What do I need to do differently? Clearly there is a set of new technologies that needs to be understood and learned. But there are no fundamental differences in how we should approach the software engineering itself. Change in a programming language, tools and environment does not mean the change in patterns and practices of software engineering. While the fans of Python, Perl and PHP, each believe that their language is the best, these languages are basically equally powerful. &lt;/p&gt;&lt;p&gt;To write good software in any language you need to be familiar with tools and standards and you need follow a software development methodology. Good tools make you more productive, while standards help your solution play nice with the other software. But in the end of the day, it is up to you to understand and follow the basic modeling principles, ensure modularity in your system, continuously cleanup and refactor your code and ensure the quality by doing testing. &lt;/p&gt;&lt;p&gt;The beauty of Web 2.0 platform is in its flexibility and the ability to bring together wide range of applications, data and technologies. This beauty and flexibility, however, come with important cost – fragility. Because we are dealing with scripting languages, evolving API and frequent changes, the software that we make is fragile. This is why applying basic software engineering principles is absolutely essential. &lt;/p&gt;&lt;p&gt;Lets take a look at the Web 2.0 development landscape and see what is there to help us get organized. The development practices combined with industry offerings make up our toolbox. Knowing what we have, what we do not have and what to ask for is important for dealing with Web 2.0 dynamic development environment. &lt;/p&gt;&lt;center&gt;&lt;img alt=&quot;&quot; src=&quot;http://www2.sys-con.com/development_practices.jpg&quot;&gt;&lt;/center&gt;&lt;p&gt;&lt;strong&gt;No IntelliJavaScript yet... &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;To start with, we have a problem, because there is no smart IDE like &lt;a href=&quot;http://www.jetbrains.com/&quot; target=&quot;new&quot;&gt;IntelliJ&lt;/a&gt; for JavaScript. The overall IDE market right now looks sparse. I am not aware of any widely adopted JavaScript IDE at this point. (Please post the IDE that you use in the feedback section of this article). I&#39;ve seen &lt;a href=&quot;http://www.interaktonline.com/Products/Eclipse/JSEclipse/Overview/&quot; target=&quot;new&quot;&gt;JSEclipse&lt;/a&gt; mentioned a few times and looked at the demo on their we site. It looks promising, but I have not tried it yet. &lt;/p&gt;&lt;p&gt;In the mean time, I still code in IntelliJ, because it supports JavaScript syntax highlighting and does string-based variable/method name completion. But IntelliJ&#39;s JavaScript support is not even close to the support this great IDE provides for Java. The lack of a smart IDE is a big blow to our productivity, because JavaScript files can quickly grow long and messy, buggy and unmaintainable. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Refactor, refactor and, if in doubt, refactor again &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The solution is to combat the mess and complexity with refactoring. Even if it means doing refactoring via string replace and manually moving pieces of JavaScript around, it is still better than not doing it. Continuously refactoring JavaScript code, making it modular and splitting the responsibilities is your ticket to a healthy system. &lt;/p&gt;&lt;p&gt;It is also necessary to capture core abstractions, separate them into different source files and think about the interfaces that glue them together. This does not mean coding the way we coded in Java. In fact creating classes in JavaScript is not essential. But just like we wrote modular code in C, we need to do the same thing in JavaScript. Unfortunately, lack of refactoring support makes all of these activities much more difficult and error-prone, but they can not be skipped. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Complement/Replace debugging with unit testing &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Lack of good IDE also means that there are no good cross-browser debugger. Most Firefox developers use &lt;a href=&quot;http://www.mozilla.org/projects/venkman/&quot; target=&quot;new&quot;&gt;Venkman&lt;/a&gt; and for IE there is &lt;a href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sdbug/Html/sdbug_1.asp&quot; target=&quot;new&quot;&gt;Microsoft Script Debugger&lt;/a&gt;. But often people resort to printf-like debugging, which in JavaScript takes a form of alert popups. This style of debugging can lead to a big waste of your time, since you have to click &#39;Ok&#39; to close every popup. &lt;/p&gt;&lt;p&gt;Instead, you will be much better off using Unit Testing. Ever since I first encountered JUnit four years ago I am more and more convinced that unit testing is an absolutely essential software development activity. Instead of old-fashioned &#39;If it ain&#39;t broken don&#39;t fix it&#39;, the modern motto should be &#39;If it ain&#39;t tested it ain&#39;t working&#39;. Particularly because software quality is what is going to help you gain validation and customer acceptance in the Web 2.0 world. &lt;/p&gt;&lt;p&gt;There are a few JavaScript unit testing frameworks that are out there. Two of them are called JSUnit because they were developed simultaneously. One can be found here: &lt;a href=&quot;http://www.edwardh.com/jsunit&quot; target=&quot;new&quot;&gt;http://www.edwardh.com/jsunit&lt;/a&gt; and another one here: &lt;a href=&quot;http://jsunit.berlios.de/index.html&quot; target=&quot;new&quot;&gt;http://jsunit.berlios.de/index.html&lt;/a&gt;. Both are similar to JUnit. Another unit testing &lt;a href=&quot;http://wiki.script.aculo.us/scriptaculous/show/UnitTesting&quot; target=&quot;new&quot;&gt;framework&lt;/a&gt; is part of the scrip.aculo.us library.. All of these frameworks allow you to run the tests inside an HTML page. Of course, it would be nice to have the unit testing integrated into the JavaScript IDE. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Use existing libraries, but handle with care... &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Now for the good news. There are tons of JavaScript libraries and most of them come with wrappers for AJAX, date functions, animation and DOM manipulation. Unfortunately none of them are standard, so you have to do research and pick the ones you find more appealing. Here are the libraries that receive a lot of attention: &lt;a href=&quot;http://prototype.conio.net/&quot; target=&quot;new&quot;&gt;prototype&lt;/a&gt;, &lt;a href=&quot;http://script.aculo.us/&quot; target=&quot;new&quot;&gt;script.aculo.us&lt;/a&gt;, &lt;a href=&quot;http://openrico.org/rico/home.page&quot; target=&quot;new&quot;&gt;rico&lt;/a&gt; and &lt;a href=&quot;http://www.dojotoolkit.org/&quot; target=&quot;new&quot;&gt;dojo&lt;/a&gt;. For a good list of libraries, please see &lt;a href=&quot;http://edevil.wordpress.com/2005/11/14/javascript-libraries-roundup/&quot; target=&quot;new&quot;&gt;this&lt;/a&gt; blog. &lt;/p&gt;&lt;p&gt;At adaptiveblue we have been using the library called &lt;a href=&quot;http://www.mochikit.com/&quot; target=&quot;new&quot;&gt;MochiKit&lt;/a&gt;, developed by Bob Ippolito. So far we have no complains and no bugs to report. We choose MochiKit because of its comprehensive documentation and complete set of tests. Reading Bob&#39;s comments made us convinced that he really knows and understands JavaScript and that we can trust him and his code. &lt;/p&gt;&lt;p&gt;Trust is no small issue in this case. With Java, we are all safe because Sun is a responsible company that has made a huge commitment to the language, libraries and development community. But with JavaScript the situation is different. Since there are no standard libraries, we have to use the code developed by individual enthusiasts. This begs questions like: How long will this library stick around? Will the bugs be fixed on time? Will the features that I need be added in the next version? These questions are not easy to answer right now. We need to have standard libraries. And it matters less which code we adopt, as long as it becomes the standard. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Patterns &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;No software engineering discussion would be complete without patterns. Since the famous &lt;a href=&quot;http://www.amazon.com/gp/product/0201633612/sr=8-1/qid=1151645729/ref=pd_bbs_1/102-1856370-6879310?ie=UTF8&quot; target=&quot;new&quot;&gt;GoF&lt;/a&gt; book, we have been discovering and applying patterns in all of our projects. Patterns form the back bone of any modern software, they ensure correctness and validate the architecture. Web 2.0 environment applications are no exception. &lt;/p&gt;&lt;p&gt;For an excellent, comprehensive overview of the &lt;a href=&quot;http://ajaxpatterns.org/&quot; target=&quot;new&quot;&gt;Ajax patterns&lt;/a&gt; please visit Ajax Patterns web site. In our daily development work on blueorganizer Firefox extension, we have found the two patterns particularly useful: Singleton and Naming or Interface pattern. Lets take a look at them in turn. &lt;/p&gt;&lt;p&gt;The Singleton pattern, is probably the most well-known pattern. In JavaScript the singleton guarantees that only one object of a particular type is instantiated. However, we typically use singleton for a different reason. We use it to mimic namespaces. The lack of the namespaces in JavaScript can lead to strange side effects, like someone else defining a function with the same name as your function. To minimize the likelihood of this, we define our utility classes as singletons and prefix them with adaptiveblue, accomplishing Java-like namespace behavior. You can find additional information about singleton, as well as example code &lt;a href=&quot;http://simon.incutio.com/archive/2006/03/07/etech&quot;&gt;here.&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Since JavaScript is not quite an object-oriented language, there is no concept of an interface built in. This does not mean, however, that you can&#39;t code to an interface. Quite the opposite. The interface in JavaScript are simply naming conventions. This is exactly the same as the bean property accessors and modifiers in java beans or naming conventions in EJBs. Using naming conventions to define the interfaces is simple, yet powerful way to introduce OOP style into your JavaScript. For example, imagine a general DOM traversal, which applies the node visitor to every node. The node visitors are simply objects that all have visit( node ) function. Simple naming conventions can get you pretty far. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Conclusion &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;JavaScript and Java have little in common except for the first four letters. If you are transitioning from Java into Web 2.0 development world it is worth while to familiarize yourself with the tools, standards and vendor API. It is also worth while to map each activity from your Java development process onto the Web 2.0 development world. But once you master the language, the libraries and the tools, it is back to old software development methods. Think interfaces, decoupling, refactoring and testing and you will be able to build robust AJAX applications.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;technorati tags:&lt;br /&gt;&lt;a href=&quot;http://technorati.com/tag/javascript&quot; rel=&quot;tag&quot;&gt;javascript&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/ajax&quot; rel=&quot;tag&quot;&gt;ajax&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/web20&quot; rel=&quot;tag&quot;&gt;web20&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/web20_transition&quot; rel=&quot;tag&quot;&gt;web20 transition&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt;adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt;blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/alexiskold&quot; rel=&quot;tag&quot;&gt;alex iskold&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/06/from-java-to-javascript.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-115085530698391304</guid><pubDate>Wed, 21 Jun 2006 01:59:00 +0000</pubDate><atom:updated>2006-07-19T02:07:17.533-04:00</atom:updated><title>bluebadges</title><description>We have been working on some really exciting stuff!&lt;br /&gt;&lt;br /&gt;In the next major version our users will be able to publish&lt;br /&gt;their collection via RSS and showcase them using the bluebadges.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Here is classic bluebadge:&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;iframe id=&#39;blueiframe&#39; src=&#39;http://s3.amazonaws.com/blueorganizer/shared/slideshow.html?ab_userid=alex&#39; frameborder=&#39;0&#39; width=&#39;225&#39; height=&#39;450&#39;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- Alex</description><link>http://adaptiveblue.blogspot.com/2006/06/bluebadges.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-115057933104091318</guid><pubDate>Sat, 17 Jun 2006 21:00:00 +0000</pubDate><atom:updated>2006-06-17T17:26:25.870-04:00</atom:updated><title>Let The Games (and Toys) Begin!</title><description>We&#39;ve just updated the blueorganizer with some exciting changes to make your browser even smarter. Here are some of the highlights:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Video Games&lt;/span&gt;: Now you can grab video games for your platform(s) of choice from some of the leading game sites on the Net .  Thanks to blueorganizer, Firefox now recognizes when you are looking at a video game on gamestop, gamefly, amazon, and more.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Toys&lt;/span&gt;: Whether it is the latest Cars toy on eToys or a great board game on boardgamegeek, you can now add toys to your collection.  Once there, you&#39;re only a simple click away from finding more toys to enjoy.  Remember: he who has the most toys wins.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Wishlists&lt;/span&gt;: Many users wanted to be able to easily import their Amazon wishlists into their blueorganizer.  We listened.  Now all it takes is a quick click on the Options page and your wishlist becomes part of your collection.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;TagFetch Integration&lt;/span&gt;: You can search on any tag in your collection at TagFetch just by using the Tags menu.&lt;br /&gt;&lt;br /&gt;All this can be yours - just sign up for the private Beta at www.adaptiveblue.com, or if you are already a user, just update to the latest version via the Firefox Extensions dialog.&lt;br /&gt;&lt;br /&gt;-anderson&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;technorati tags: &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt; adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt; blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/videogames&quot; rel=&quot;tag&quot;&gt; videogames&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/toys&quot; rel=&quot;tag&quot;&gt; toys&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/tagfetch&quot; rel=&quot;tag&quot;&gt; tagfetch&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/wishlist&quot; rel=&quot;tag&quot;&gt; wishlist&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/boardgamegeek&quot; rel=&quot;tag&quot;&gt; boardgamegeek&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/06/let-games-and-toys-begin.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-115041982690604028</guid><pubDate>Fri, 16 Jun 2006 00:41:00 +0000</pubDate><atom:updated>2006-06-16T07:54:03.786-04:00</atom:updated><title>blueorganizer: the vacuum bags success story</title><description>My wife just asked me to order vacuum cleaner bags.&lt;br /&gt;&lt;br /&gt;Ordinarily, a man would consider such request outrageous. But not me. You see, I&#39;ve got it all wrapped up. When we bought our little Bosch friend, I quickly found the Type G bags that made him happy. Being a good del.icio.us sport, I bookmarked the site.&lt;br /&gt;&lt;br /&gt;Two month ago, when the blueorgaizer - del.icio.us integration was finished, I was able to view and manage all of my del.icio.us bookmarks inside the blueorganizer.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/801/2604/1600/p1.0.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/801/2604/320/p1.0.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Boy, did that payoff! I bring up the blueorganizer. I see that I have 337 bookmarks. I have no fear. I type in &#39;&lt;span style=&quot;font-weight: bold;&quot;&gt;vacu&lt;/span&gt;&#39;. And voila, I find the link! That took whole 2 seconds. Now try doing this with your browser bookmarks.&lt;table&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/801/2604/320/p2.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/801/2604/320/p3.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;Want to be a good family man? Get your own &lt;a href=&quot;http://www.adaptiveblue.com&quot;&gt;blueorganizer&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;technorati tags:&lt;br /&gt;&lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt;blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt;adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/firefox&quot; rel=&quot;tag&quot;&gt;firefox&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/delicious&quot; rel=&quot;tag&quot;&gt;delicious&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/bookmarks&quot; rel=&quot;tag&quot;&gt;bookmarks&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Alex</description><link>http://adaptiveblue.blogspot.com/2006/06/blueorganizer-vacuum-bags-success.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114996024158519488</guid><pubDate>Sat, 10 Jun 2006 17:11:00 +0000</pubDate><atom:updated>2006-06-16T14:36:27.266-04:00</atom:updated><title>How Amazon S3 is Going to Change the World, 5 Gigabytes at a Time</title><description>&lt;a href=&quot;http://www.web2journal.com/read/233855.htm&quot;&gt;How Amazon S3 is going to change the world&lt;/a&gt; was originally published in Web 2.0 Journal.&lt;br /&gt;&lt;br /&gt;We are observing the transformation of the web from an ecosystem into an operating system. Building blocks such as websites, blogs, web services, podcasts and RSS are coming together and give rise to a new computing platform. The web operating system is emerging and it is bigger than the sum of its parts.&lt;br /&gt;&lt;br /&gt;Remember your operating systems class, when you learned that every operating system has a handful of fundamental concepts such as storage, virtual memory and scheduling? The new web is no exception. However, since the Internet is a gigantic network of computers working in parallel, the basic operating system concepts take on a different shape.&lt;br /&gt;&lt;br /&gt;For example, when you try to save a file on your computer, there is a (rare) possibility that the disk is full, and the write will fail. But with the new web operating system, this does not have to be the case. If the disk of one computer becomes full, the web operating system can switch and store the file on another computer. So on the web, you practically never run out of space.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Amazon S3 – the new virtual storage service from Amazon&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The virtual storage has been in the news for sometime now. Dion Hinchcliffe has written a survey of virtual storage providers in his &lt;a href=&quot;http://web2.wsj2.com/online_information_storage_completing_the_web_as_platform.htm&quot;&gt;recent post&lt;/a&gt;. He particularly commended the Amazon S3 – simple storage service for its innovative API.&lt;br /&gt;&lt;br /&gt;In essence, the &lt;a href=&quot;http://aws.amazon.com/s3&quot;&gt;Amazon S3&lt;/a&gt;&lt;a href=&quot;http://aws.amazon.com/s3&quot;&gt; &lt;/a&gt;offers developers a huge hashtable. The &lt;a href=&quot;http://docs.amazonwebservices.com/AmazonS3/2006-03-01/&quot;&gt;minimalistic API&lt;/a&gt;, available in both SOAP and REST, is focused on basic management of the objects – write, read and delete. By default, the service works over HTTP and supports storage of objects up to 5 gigabytes in size. There is also support for BitTorrent and a plan to add other protocols in the future. To use the service, you have to have an Amazon Web Services account.&lt;br /&gt;&lt;br /&gt;Amazon has done a  very thorough job documenting and supporting the service. The &lt;a href=&quot;http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=46&quot;&gt;resources&lt;/a&gt; page contains a wealth of useful information to get you going, most notably the API and the user forums. There are also code samples available in various languages that illustrate how to use the Amazon S3 API.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Storing and retrieving objects&lt;/b&gt;The objects in S3 account are placed into buckets. Each account is allowed to have up to 100 buckets and the bucket name has to be unique across all S3 users.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://res.sys-con.com/story/jun06/233855/figure1.gif&quot; /&gt;&lt;br /&gt;Figure 1: Example from Amazon S3 API shows CREATE BUCKET request&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Each object inside a bucket has to have a unique UTF-8 compliant key assigned by the developer. Since there is no specific key structure imposed by S3, the developers are free to do what best suits their needs. The documentation hints at using slashes to create directory-like structure, but does not insist on it. The lack of key specificity and directory interface in API is not a limitation, but an added flexibility, since people&#39;s needs might be different and implementing the directory-like storage is just a matter of following naming conventions in the code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://res.sys-con.com/story/jun06/233855/figure2.gif&quot; /&gt;&lt;br /&gt;Figure 2:  Example from Amazon S3 API shows GET BUCKET request&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The API also allows the developer to list all the keys in a particular bucket. This is implemented using a flavor of the Iterator pattern and a concept of a marker. With the first query no marker is supplied. If the bucket contains more objects than specified in max-keys parameter, then the a marker for the next starting point is returned. To obtain the next set of results, the marker is passed back in the subsequent request.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://res.sys-con.com/story/jun06/233855/figure3.gif&quot; /&gt;&lt;br /&gt;Figure 3: Amazon S3 diagram&lt;br /&gt;&lt;br /&gt;Since it might be expensive to fetch the entire object from S3, the API allows you associate the meta data with each object. The meta is returned together with the key when GET BUCKET operation is requested. This functionality is particularly handy for storing and looking up information about large media files.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;S3 Security&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;S3 has a built in security model for both connecting to the service and setting the access policy for  individual objects and buckets. To access the service, each developer is required to obtain the Access Key ID and the Secret Key. The Access Key ID, the same ID used for all Amazon Web Services, has to be passed in with every request. The Secret Key is used as an encryption key to encrypt  pieces of the request in order to prove the requestor&#39;s identity.&lt;br /&gt;&lt;br /&gt;The authentication is somewhat involved and there are quite a few questions on forums complaining about authentication problems. Amazon API has a page dedicated to it, which you can see here. In addition, there are code samples in various languages which illustrate the correct usage of authentication. If you do not know much about encryption, look for the code sample in your language - it will save you hours of debugging.&lt;br /&gt;&lt;br /&gt;In addition to the authentication, S3 API comes with an Access Control List (ACL) for every bucket and every object. The ACL can be set via a separate request or at the time when the bucket or an object are created. Here is the set of currently supported ACL choices.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://res.sys-con.com/story/jun06/233855/figure4.gif&quot; /&gt;&lt;br /&gt;Figure 4: Current S3 ACL choices&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Using AJAX to access S3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;S3 opens an intriguing possibility of dramatically simplifying the back end for some applications. You can envision the architecture where an application simply consists of a client, which directly communicates with S3. This client can be a desktop application or an applet or an Ajax application embedded in the browser. Such a model is not appropriate for enterprise systems that require complex data processing, transactions and caching, but it could work well for things like Google Sync or del.icio.us. Simplicity, instant scalability, a built-in security model and Amazon&#39;s reputation make a strong case.&lt;br /&gt;&lt;br /&gt;If you are writing a Firefox extension or Ajax-based web application, you can either write your own S3 wrapper in JavaScript or use &lt;a href=&quot;http://www.decafbad.com/trac/wiki/S3Ajax&quot;&gt;S3Ajax &lt;/a&gt;developed by Les Orchad. S3Ajax basically mimics the S3 API, and takes away the pain of dealing with the formatting of the raw requests and encryption.&lt;br /&gt;&lt;br /&gt;It appears that the &lt;a href=&quot;http://decafbad.com/blog/2006/04/03/javascript-apps-with-readwrite-access-to-s3&quot;&gt;developer has plans to build this out further&lt;/a&gt;. It would be good to have a higher level of abstraction built in, as well as a way to loop through the objects in the bucket and ability to fetch multiple objects concurrently.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;This all sounds very sweet, but what about the performance?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Needless to say, the performance is one of the top questions on the Amazon S3 forum. Amazon does not provide any specific data and does not have an SLA in place. But the &lt;a href=&quot;http://docs.amazonwebservices.com/AmazonS3/2006-03-01/OverviewDesignReq.html&quot;&gt;design requirements&lt;/a&gt; and the &lt;a href=&quot;http://docs.amazonwebservices.com/AmazonS3/2006-03-01/OverviewDesignPrinciple.html&quot;&gt;design principles&lt;/a&gt; from the S3 creators show strong focus on performance and scalability.&lt;br /&gt;&lt;br /&gt;There are a  few benchmarks that independent developers posted on forums. I&#39;ve seem these benchmarks improve since S3 launched. The latest results, indicate low latency. A benchmark on March 17 said: “Putting a 2 MB mp3 took 0.8s, retrieving it took 1.085s -- quite fast, quite responsive”.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;So who is using Amazon S3 right now?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Even though the service launched just a few months ago there is already a number of companies leveraging it for a wide range of purposes.  In personal on-line storage space we note &lt;a href=&quot;http://www.elephantdrive.com/welcome/index.aspx&quot;&gt;ElephantDrive &lt;/a&gt;(Windows), &lt;a href=&quot;http://www.jungledisk.com/&quot;&gt;JungleDisk &lt;/a&gt;(Windows,Linux,Mac) and &lt;a href=&quot;http://filicio.us/register/?return%5furl=%2f&quot;&gt;Filicio.us&lt;/a&gt; (Web-based).  From the discussion forums it is clear that a few companies are planning to use S3 to store media files, but we cannot tell who these companies are. At &lt;a href=&quot;http://www.adaptiveblue.com&quot;&gt;adaptiveblue &lt;/a&gt;we are using S3 to store the bluemarks of our users favorite books, movies and music. And if you want to get a feel for what other things are possible, take a look at this &lt;a href=&quot;http://jkeyes.com/2006/03/ten_ideas_for_amazon_s3_applic.php&quot;&gt;top10 &lt;/a&gt;list.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Amazon S3 is an innovative, exciting new service that is going to change the way we do computing on the web. Michael Arrington of TechCrunch said this in one of his posts:&lt;br /&gt;&lt;br /&gt;“S3 provides a terrific opportunity for startups with great ideas for a storage user interface to avoid building a back end storage infrastructure. Amazon is offering extremely low pricing and a very dependable infrastructure. For some people, S3 will allow them to launch a service that they otherwise couldn’t have built.”&lt;br /&gt;&lt;br /&gt;If you have not done so already, take a look at S3 and see for yourself. A good place to start playing with it is the &lt;a href=&quot;https://jsh3ll.dev.java.net/&quot;&gt;jSh3ll&lt;/a&gt;, which offers shell like command line interface to the service. Then join the Amazon Web Services program and start coding. The possibilities are endless!&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;technorati tags:&lt;br /&gt;&lt;a href=&quot;http://technorati.com/tag/amazon&quot; rel=&quot;tag&quot;&gt;amazon&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/amazon_web_services&quot; rel=&quot;tag&quot;&gt;amazon web services&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/amazon_s3&quot; rel=&quot;tag&quot;&gt;amazon s3&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/virtual_storage&quot; rel=&quot;tag&quot;&gt;virtual storage&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt;adaptiveblue&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/06/how-amazon-s3-is-going-to-change-world.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114982041845247044</guid><pubDate>Fri, 09 Jun 2006 02:14:00 +0000</pubDate><atom:updated>2006-06-08T22:43:16.980-04:00</atom:updated><title>Non-linear returns on positive feedback</title><description>When you are excited about an idea and putting all your energy into it, there is nothing more rewarding and sweet than positive feedback from your users. It is the biggest energy booster. It propels you forward and it compels you to be uncompromisingly excellent. &lt;br /&gt;&lt;br /&gt;So it is so awesome to get positive feedback on blueorganizer! We are seeing bunch of good feedback in blogosphere and getting good comments and suggestions from our users. Thanks guys! &lt;br /&gt;&lt;br /&gt;And we are listening. You asked for Video games? Coming out next Monday. We will be releasing &#39;Lets play&#39; theme and you will be able to collect video games and toys from your favorite web sites. You asked for integration with Amazon lists? We are working on it and planning to release in about 1 week. With a single click button you will be able to import your wish lists into the blueorganizer. &lt;br /&gt;&lt;br /&gt;So keep the feedback coming!&lt;br /&gt;&lt;br /&gt;We also wanted to share with you some of our other near term plans and to get your feedback. &lt;br /&gt;&lt;br /&gt;We are looking into rolling out ways to collect people&#39;s profiles from LinkedIn, FaceBook and MySpace. We are also planning to help the travelers out there collect destinations and hotels. But the really big thing that you will see coming soon will is the ability to subscribe to picks of your friends, family and colleagues - your bluecircle. &lt;br /&gt;&lt;br /&gt;We are working non-stop to build these new features. Please tell us what do you think.&lt;br /&gt;&lt;br /&gt;- adaptiveblue team&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;technorati tags: &lt;br /&gt;&lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt;adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt;blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blogging&quot; rel=&quot;tag&quot;&gt;firefox&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/browser_wars&quot; rel=&quot;tag&quot;&gt;browser wars&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/smart_browser&quot; rel=&quot;tag&quot;&gt;smart browser&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/rss&quot; rel=&quot;tag&quot;&gt;rss&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/06/non-linear-returns-on-positive.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114954308733109481</guid><pubDate>Mon, 05 Jun 2006 21:07:00 +0000</pubDate><atom:updated>2006-06-05T22:52:28.830-04:00</atom:updated><title>We Want You!</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/3774/2954/1600/blueSam.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/3774/2954/320/blueSam.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Now that the blueorganizer is in private beta, we&#39;re looking for ways to get the word out and build a community.  There are some features coming in future releases that will help with this, but in the meantime, we want you to give us the feedback we need to shape blueorganizer into the powerful tool we know it can be.&lt;br /&gt;&lt;br /&gt;One way we are reaching out is with this blog.  That is why I found Seth Godin&#39;s blog &lt;a href=&quot;http://sethgodin.typepad.com/seths_blog/2006/06/how_to_get_traf.html&quot;&gt;How to get traffic for your blog&lt;/a&gt; so useful and timely.  I plan to use his tips to help us spread the word.&lt;br /&gt;&lt;br /&gt;If you reading this, it must have worked.  Please sign up for our private beta via &lt;a href=&quot;http://www.adaptiveblue.com&quot;&gt;www.adaptiveblue.com&lt;/a&gt;, try out the blueorganizer, then let us know what you think.&lt;br /&gt;&lt;br /&gt;-anderson&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;technorati tags: &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt; adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt; blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blogging&quot; rel=&quot;tag&quot;&gt; blogging&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/community&quot; rel=&quot;tag&quot;&gt; community&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/06/we-want-you.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114927583338797172</guid><pubDate>Fri, 02 Jun 2006 19:11:00 +0000</pubDate><atom:updated>2006-06-02T15:17:13.403-04:00</atom:updated><title>The Missing  &lt; a href &gt; With Microformats</title><description>&lt;p class=&quot;MsoNormal&quot;&gt;Microformats have a huge potential to take us to the semantic web – a place where sharing information between different providers is more seamless and robust. &lt;span style=&quot;&quot;&gt; &lt;/span&gt;To put it simply, the way it works is that everyone creating a web page with information about a DVD , for example, uses a standard DVD microformat with appropriate tags such as:&lt;stars&gt;&lt;director&gt; title, stars, director, and genre &lt;genre&gt;&lt;/genre&gt;&lt;/director&gt;&lt;/stars&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;This would allow the browser or any other information consumer to recognize and utilize this information as a DVD rather than just a bunch of html.&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;Sounds pretty simple, right?&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;Well it is, except for 1 thing.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;Well, to be more precise, except for a few million things – all the existing web pages that were created before this hypothetical DVD microformat became a hypothetically accepted standard.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;What about those pages?&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;The fine folks at microformats.org talk about “paving the cowpaths” – meaning adapting what is already there. Are the people that own all those pages going to do that?.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;I don’t think so.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;Instead, we need a tool that can read old-school, non-microformatted pages, figure out the relevant information, then spit out microformatted pages.&lt;/p&gt;      &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;Anyone know a tool that can do that?&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;That’s right, blueorganizer has been “taught” to parse the html from supported sites such as Netflix or Amazon, recognize when a page contains info about a DVD, then extract the relevant information.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;This information is then stored in an xml file. If a DVD microformat were to become standardized, it would an easy task to make this xml file conform to that standard.&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;      &lt;p class=&quot;MsoNormal&quot;&gt;Just a glimpse of what might be coming.&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;-&lt;st1:city&gt;&lt;st1:place&gt;anderson&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;technorati tags: &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt; adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt; blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/microformats&quot; rel=&quot;tag&quot;&gt; microformats&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/semanticweb&quot; rel=&quot;tag&quot;&gt;semantic web&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/web2.0&quot; rel=&quot;tag&quot;&gt; web2.0&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/06/missing-with-microformats.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114914050830532746</guid><pubDate>Thu, 01 Jun 2006 05:25:00 +0000</pubDate><atom:updated>2006-06-01T02:15:49.780-04:00</atom:updated><title>Of man, mice and microformats</title><description>Sometimes I am amazed with our ability to reinvent the wheel.  By us I mean humans and engineers. We pose a hard question, solve it, get happy, get drunk, forget the answer and then recurse.&lt;br /&gt;&lt;br /&gt;For example, we posed a question: What is a good programming language? We struggled for a while and then arrived at the answer - Java. We were happy for 10 years. Not inside the browser, but definitely happy. Now because we could not be happy with the answer inside the browser, we started hacking in JavaScript. Don&#39;t get me wrong, I enjoy JavaScript very much, but as all of you, deep down, I know that this is crazy.&lt;br /&gt;&lt;br /&gt;But that&#39;s really not what I am after in this post. My case is about the microformats.&lt;br /&gt;&lt;br /&gt;First of, lets get something straight - microformats are trying to bridge a huge gap that exists online today - the lack of structure. You can not even explain the problem to a person, because when the person comes to the Amazon web site, she sees a book and says: Hey, here is a book. Here is the author, the year it was published, the publisher. But computers do not get that. The computer does not understand that this page contains a book. All that it sees is bunch of HTML tags. And  because of that, the computer can not find the pictures of the book&#39;s author on Flickr, or the blogs discussing this book on Technorati.&lt;br /&gt;&lt;br /&gt;We understand text and graphics naturally, but computers can&#39;t. Computers do not work like we do.&lt;br /&gt;&lt;br /&gt;So what&#39;s the problem? The problem is that we have the language parsers and semantics build right into our heads. Lucky for us! But, sucks for computers. They do not have all that. So if we want computers to do things for us, we need to help them out first. We need to explain to our computers that a book has an author and that Madonna is a singer and that Pulp Fiction was directed by Quentin Tarantino.&lt;br /&gt;&lt;br /&gt;We are not talking magic here. We are talking about straight-forward annotation.&lt;br /&gt;&lt;br /&gt;The microformats, offer a way to annotate information within HTML pages.  So we can tell the computer, hey bud, this is a book and it is written by J.K.Rowling in 2005.  Like this:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot;&gt;    &amp;lt;book&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot;&gt;   &amp;lt;title&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0); font-weight: bold;&quot; class=&quot;sans&quot;&gt;Harry Potter and the Half-Blood Prince&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot;&gt;          &amp;lt;/title&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&lt;br /&gt;&amp;lt;author&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;J.K.Rowling&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;          &lt;/span&gt;&amp;lt;/author&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;   &amp;lt;published&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;2005&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;          &lt;/span&gt;&amp;lt;/published&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;     &amp;lt;/book&gt;&lt;/span&gt;&lt;b class=&quot;sans&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;span class=&quot;sans&quot;&gt;This is so obvious, and so yesterday. We already learned that XML is good thing and HTML is a bad thing, did we not? We learned not to mix semantics and presentation in our enterprise applications. We just need to remember this when we are authoring the web pages.&lt;br /&gt;&lt;br /&gt;Now some might say, oh, but you described XML and a microformat is a different beast:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot;&gt;    &amp;lt;span class=&quot;book&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot;&gt;   &amp;lt; span class=&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot;&gt;title&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0); font-weight: bold;&quot; class=&quot;sans&quot;&gt;Harry Potter and the Half-Blood Prince&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot;&gt;&amp;lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&amp;lt; span class=&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;author&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;J.K.Rowling&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;          &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot;&gt;span&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&lt;br /&gt;&amp;lt; span class=&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;published&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;2005&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);&quot;&gt;          &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot;&gt;span&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot;&gt;span&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153); font-weight: bold;&quot; class=&quot;sans&quot;&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class=&quot;sans&quot;&gt;&lt;br /&gt;But really, it is not any different. It is uglier, I&#39;ll give you that, but it is not different.  Esthetics aside, microformats lead to a huge productivity boost and take us a step closer to the next holy grail - semantic web.  Microformats help the computer &#39;understand&#39; the concepts that are obvious to people. And because the computer &#39;understands&#39; these concepts, it can act upon them much like we do, harnessing the power of semantics.&lt;br /&gt;&lt;br /&gt;With that, when you are looking at a web page that contains a movie, you should be able to click on the actor and find the videos of this actor on YouTube. Or you can instantly read the reviews of a gadget on Technorati or you can listen to a podcast with your favorite author. All of this becomes possible once we embed the semantics into HTML content. This is both important and inevitable.&lt;br /&gt;&lt;br /&gt;The HTML looks flat to computers. It is 3D to us, but 2D to our electronic pals. We need to unflatten the HTML, we need to annotate it, so that computers can discover the beauty and power of semantics. The very knowledge and power that we as humans have been putting to good use for the past couple thousand years.&lt;br /&gt;&lt;br /&gt;Alex&lt;br /&gt;&lt;br /&gt;P.S. Apologies, there was no mice in this post.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;&lt;br /&gt;technorati tags: &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt; adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt; blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/microformats&quot; rel=&quot;tag&quot;&gt; microformats&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/semantic_web&quot; rel=&quot;tag&quot;&gt;semantic web&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/web-20&quot; rel=&quot;tag&quot;&gt; web-20&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/06/of-man-mice-and-microformats.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114904274013494800</guid><pubDate>Wed, 31 May 2006 02:23:00 +0000</pubDate><atom:updated>2006-05-30T22:46:30.040-04:00</atom:updated><title>It’s a web-page.  It’s a movie. It’s Superman.</title><description>&lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: georgia;&quot;&gt;Extractors are what we here at adaptiveblue call the code that lets us represent html pages as real world things like movies, books, or gadgets. As we continue to write extractors for more web sites, it is very interesting to me to think about the transformations taking place.&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: georgia;&quot;&gt;Let’s take the movie Superman Returns as an example. The fine folks at imdb created a &lt;a href=&quot;http://www.imdb.com/title/tt0348150/&quot;&gt;web page&lt;/a&gt; for this film. This page is sent to your browser as tags and text, nodes and values. That the browser displays this data in a nicely formatted, easier to understand way is important, but this is not the end of the transformation.&lt;/p&gt;&lt;p  class=&quot;MsoNormal&quot; style=&quot;font-family:georgia;&quot;&gt;The crucial step happens in our brains where we take these words and images, and think about it not as a web-page, but rather as a movie.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;This leap allows us to make relationships and connections to other real world things in our personal experience. We see the word “Superman” and we remember our old comic book collection from years ago, and hope it is still intact somewhere. We see that Kevin Spacey is playing Lex Luthor, and we remember how much we liked him in American Beauty, and decide to rent that DVD sometime soon.&lt;/p&gt;&lt;p  class=&quot;MsoNormal&quot; style=&quot;font-family:georgia;&quot;&gt;The point is that, as a webpage, this information has only a limited value.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;As a movie however, the value to us personally can increase exponentially.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;That’s why we are trying to make the browser smarter, so it knows when a page represents a movie, and then presents us with actions that make sense for a movie.&lt;span style=&quot;font-family:georgia;&quot;&gt;  &lt;/span&gt;It&#39;s a step toward the semantic web.&lt;br /&gt;&lt;/p&gt;-anderson&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;&lt;br /&gt;technorati tags: &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt; adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt; blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/superman&quot; rel=&quot;tag&quot;&gt; superman&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/semantic&quot; web=&quot;&quot; rel=&quot;tag&quot;&gt; semantic web&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/web-20&quot; rel=&quot;tag&quot;&gt; web-20&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/05/its-web-page-its-movie-its-superman.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114861381127361907</guid><pubDate>Fri, 26 May 2006 03:15:00 +0000</pubDate><atom:updated>2006-06-10T09:44:05.846-04:00</atom:updated><title>Smart Browser, Where Art Thou?</title><description>&lt;a href=&quot;http://ajax.sys-con.com/read/227524.htm&quot;&gt; Smart Browser, Where Art Thou?&lt;/a&gt; was originally published in Web 2.0 journal and Ajax World magazine.&lt;br /&gt;&lt;br /&gt;In 1998, I got my hands on Mitchell Waldrop&#39;s book called &#39;Complexity&#39;. Ever since, I&#39;ve been on an amazing journey discovering one of the most profound developments in modern science. Complexity, or more formally, the study of complex systems, is about unifying themes that run through all modern scientific disciplines including physics, biology, economics, ecology, linguistics, and sociology.&lt;br /&gt;&lt;br /&gt;John Holland, one of the fathers of complexity science, coined the term Complex Adaptive Systems to characterize ant colonies, societies, cells and ecosystems. He pointed out that the agents in these systems are adapting to the surrounding environment by building models and by learning. And as Jeff Hawkins summarized in his book &#39;On Intelligence&#39;, the human evolution has been about the progressive invention of various forms of memory. Genes, brains, language and books are all examples of this.&lt;br /&gt;&lt;br /&gt;It is obvious that memory plays a critical role in human intellect and human interactions. Yet today our  interactions with computers, and the web in particular, are disappointingly stateless. We keep going back to the Google search box and re-entering the same stuff over and over again. The computer simply has no idea what we are looking for and how to help us find it. Ah, you&#39;d say, but how can it? Don&#39;t we need artificial intelligence for that? My claim in this article is that no, we do not. Instead, we need to get inspiration from complexity science and focus on usability and productivity.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Bookmarks are flat, the world is not&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let’s start by looking at the way we currently remember things on the web. When we find something interesting we create a bookmark. If we are web 2.0 savvy we tag it and send it to del.icio.us. Sounds good, right? Not really. Say we find an interesting book on Amazon, a wine to buy for a friend&#39;s birthday, or a restaurant that we’d like to visit next Valentines day. The moment we bookmark the site, the rich concept like a book,  a wine or a restaurant instantly disappears. Instead what we have left is the link: a piece of text that will not be meaningful a week from now. Why not? Because we do not think in terms of links. We think in terms of concepts like books, wines and restaurants.&lt;br /&gt;&lt;br /&gt;The links that we store as the clues to deal with the massive amount of information out there, are just not enough. We need to capture and store the semantics of a thing that we find interesting. If it is a book, then we need to remember that it is about globalization and that was written by Thomas Friedman. If it is a wine, we need to capture that it was a mix of Petite Syrah and Zinfandel and that it came from Boggle winery in California. If it is a restaurant we need to remember that it is Asian fusion cuisine near Times Square in New York.&lt;br /&gt;&lt;br /&gt;There is a minimum set of attributes that actually defines a thing in our brains. Without these attributes, the objects carry no meaning and we can not remember then. By now, as a society, we have accumulated countless of bookmarks that we will never revisit. We also lack the tools to help us clean them out. So we are trapped with collections of information that we can not re-use.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Tagging all the way&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It is important to capture the right amount information to create meaning. It is also important to facilitate meaning via a taxonomy. This is a fancy word, but frankly, Yahoo! got it right since its early days. Things and concepts need to be organized, because people thrive on structured information. The problem, however, is that the web directories are static, but our personal taxonomies aren&#39;t. Like any complex system, our understanding of the world and our semantics constantly changes.&lt;br /&gt;&lt;br /&gt;The recent invention of tagging has the potential to solve the personal taxonomy issue correctly. For managing this evolution tags are much more flexible than folders. For example, if something was  called OLE, we can retag it as ActiveX, but fundamentally it remains the same piece of information. Moving stuff from one folder to another is incredibly painful, but renaming a tag is easy.&lt;br /&gt;&lt;br /&gt;To be successful, tagging needs to become pervasive and it needs to be built into the browser.&lt;br /&gt;&lt;br /&gt;There is huge productivity gain in that. When we need to find something, we can just think of a tag or concept and instantly narrow our search space from thousands of things down to a handful. And no, it is not the same as folders and bookmarks. With folders, we always focused on the hierarchy and must decide into which folder or sub-folder to save the link.&lt;br /&gt;&lt;br /&gt;The truth is that it was always a losing game, because James Gosling&#39;s blog could go into either a Java folder, a Blog folder or a Movers and Shakers folder. With tagging, we can quickly find a link to  Gosling&#39;s blog just by thinking about any one of these concepts. This is natural, because this how our brain organizes information and it is so fast that we cringe at the thought of expanding yet another folder.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Got memories? Use them wisely.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Suppose now that the browser can capture the information, preserve semantics and offer rich support for tagging. Assume also that the browser lets us painlessly find things that we once liked. What else do we need to have in place to have a more productive online experience? We&#39;d like the browser to use the information that we’ve already stored, to help us find relevant new information.&lt;br /&gt;&lt;br /&gt;For example, say we bookmarked the movie &#39;Memento&#39; on the Internet Movie Database site. Our smart browser created a movie bookmark, stored the director, the names of the stars, the year and the title of the movie. It also helped us tag this movie with &#39;Crime&#39;, &#39;Drama&#39;, &#39;Mystery&#39; and &#39;Thriller&#39; tags.&lt;br /&gt;&lt;br /&gt;The next day, when we are perusing our movie collection, we decide to rent this movie on Netflix. Instead of going to netflix.com, typing the title of the movie and then selecting it from the list of matches, we just want to be able to right-click on the movie in our organized collection and select &#39;Rent on Netflix&#39;. Or, when we want to find more movies by the same director, Christopher Nolan, we click and select &#39;Find more movies by Christopher Nolan&#39;. If we wanted to see a video about the star Carrie-Ann Moss, we should be able to right-click and select &#39;Show videos with Carrie-Ann Moss on YouTube&#39;.&lt;br /&gt;&lt;br /&gt;All of this is possible, because the browser has the concept of a movie and its attributes built right in. This is not artificial intelligence, it is simply hard-coding. But it is the kind of hard-coding that is not wrong, because it leads to a huge productivity boost. In addition to handling the everyday concepts, the  browser also helps the users tag every piece of interesting content, to make our browsing world wonderfully connected.&lt;br /&gt;&lt;br /&gt;Because we tagged the movie &#39;Memento&#39; we can now instantly search for &#39;Thriller&#39; in books on amazon, find podcasts about &#39;Crime&#39; on Odeo or find what people recently tagged as &#39;Drama&#39; on del.icio.us. If we are looking at Madonna&#39;s music, we can instantly find her latest album, along with latest pop and dance music. If we are looking at an iPod, we can instantly find other products by Apple, other iPod models and pictures of iPods on Flickr. This is not AI, this is common sense.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Microformats and the long wait for semantic web&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We have been talking about this functionality for years. Sir Tim-Berners Lee has been pushing hard for a Semantic Web since the early days of the web. We need semantics on the web, HTML just does not cut it. The loss of structure and semantics caused by HTML leads to a loss of productivity, and, frankly, a waste of our time. How and when do we get to the Semantic Web?&lt;br /&gt;&lt;br /&gt;The answers are not so clear. The reality is that we have billions of HTML pages out there. Our best bet right now are microformats, which insert XML-like semantical information into HTML. Microformats are actually the right approach, because they offer us hope and a road to the Semantic Web. It is not a straight road, however. We need more tools that help us extract semantics and annotate existing web content with microformats notation and we need to invent microformats for everyday things like books, movies and wine.&lt;br /&gt;&lt;br /&gt;While the industry is struggling to standardize, the end users continue struggling to find and organize their information. The browser needs to step in, in the meantime, and help the users. Building semantics into the browser is a good thing and it is the right thing because every one already uses a browser. We do not need to have a centralized uber-intellect trying to answer all of our questions. Instead we need a personalized browser on every desktop, in every cell phone and pda, focused on saving time for an individual user. This distributed model works well in computers and complex systems.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;But we are going to get there, right?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So who is working on making the browser smart? Surprisingly, the heavyweights seem to be on the sidelines. Perhaps the bloody battles of the Netscape vs. Microsoft browser war still bring bitter memories or perhaps something is being build in complete secrecy. Who knows? But we do know that there are people working on the problem in the open. Here are some examples.&lt;br /&gt;&lt;br /&gt;First, notably, there is Flock (http://www.flock.com) – the browser for you and your friends. Flock is on a mission to integrate with the best web services to help people better collaborate online. Flock helps us manage our del.icio.us and Shadows bookmarks, work with photos on Flickr and post to various blogs.&lt;br /&gt;&lt;br /&gt;Flock&#39;s strategy for integrating Web Services involves a so-called topbar, which you can see in Figure 5 above. The topbar changes depending on which service the user is interacting with. For example, the topbar can display Flick photos,Yahoo! maps or News. The jury on the usability of this is still out, but the guys at Flock definitely get the productivity vibe. They work hard to make things simple - that’s for sure.&lt;br /&gt;&lt;br /&gt;Another example of building smarts into the browser is the Attention Recorder from Attention Trust (http://www.attentiontrust.org). This non-profit has a lot of prominent web 2.0 people as its members, including Michael Arrington and Stowe Boyd. The organization produced an Attention Recorder extension for Firefox, which simply records each URL that you visit, stamps it with a timestamp and stores it in one of the approved services. The premise and the promise of the Attention Trust organization is to deliver personalization based on the user&#39;s attention. Here is the quote from their Principles:&lt;br /&gt;&lt;br /&gt;When you pay attention to something (and when you ignore something), data is created. This &quot;attention data&quot; is a valuable resource that reflects your interests, your activities and your values, and it serves as a proxy for your attention.&lt;br /&gt;&lt;br /&gt;Right now, this is still in the beta/data collection phase, but it is obviously heading in a very interesting direction.&lt;br /&gt;&lt;br /&gt;The last example is a brand new startup called adaptiveblue, of which I am the CEO. The vision of adaptiveblue is to develop new browser technologies that deliver a personalized web experience, enhance productivity and save time. Our first product, the blueorganizer Firefox extension, is now in private beta. The blueorganizer addresses most of the issues discussed in this article. You can learn more about it and try it, by visiting http://www.adaptiveblue.com.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;The smart browser circa 2010&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We do not know who is going to get there first. It does not matter. What matters is that we can get done what we need to get done, despite the accelerating pace of our society. Increasingly, we spend more time working on the web. Sooner or later, everything will become the web. So it is important, that the one tool that we use to interact with the web, the browser, raises the bar and helps us out.&lt;br /&gt;&lt;br /&gt;What we need is for the browser to &#39;understand&#39; what we are doing and to save us time. To do that, it will have to know about what we have looked for in the past and what we are looking for now. It will need semantics. To achieve these ambitious goals, the next generation of the browsers will need to:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;         Embed the basic everyday life-concepts like books, movies and electronics&lt;/li&gt;&lt;li&gt;         Not lose important information and preserve semantics&lt;/li&gt;&lt;li&gt;         Encourage and simplify tagging of the content&lt;/li&gt;&lt;li&gt;         Continuously build and update the set of user experiences&lt;/li&gt;&lt;li&gt;         Focus on usability and help the user do things faster&lt;/li&gt;&lt;li&gt;         Embrace the design for productivity model&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;How can we get this smart browser now? We need to ignite another browser war. The smart browser will be born in the battle of web giants and startups. It will be a product of imagination, struggle for standards and long sleepless nights. But at the end of the day, like all great inventions it will be worth it because it will make our life easier.&lt;br /&gt;&lt;br /&gt;- Alex&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;&lt;br /&gt;technorati tags:&lt;br /&gt;&lt;a href=&quot;http://technorati.com/tag/browserwars&quot; rel=&quot;tag&quot;&gt;smart browser&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/ie&quot; rel=&quot;tag&quot;&gt;browser wars&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/semantic_web&quot; rel=&quot;tag&quot;&gt;semantic web&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt;blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt;adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/web20&quot; rel=&quot;tag&quot;&gt;web20&lt;/a&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/05/smart-browser-where-art-thou.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114861207135327772</guid><pubDate>Fri, 26 May 2006 02:52:00 +0000</pubDate><atom:updated>2006-05-25T23:15:03.220-04:00</atom:updated><title>Five Minutes Of Fame</title><description>&lt;p class=&quot;MsoNormal&quot;&gt;Why is it that when you hear a recording of your voice it sounds so much different than it does from within your own head?&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;I just created a blueorganizer demo video that you can see &lt;a href=&quot;http://www.adaptiveblue.com/demo/demo1.html&quot;&gt;here&lt;/a&gt;. &lt;span style=&quot;&quot;&gt; &lt;/span&gt;In creating this, I’ve had to listen to the playback of my voice on take after take as I worked to get it right.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;In so doing, I came to the realization that I &lt;span style=&quot;&quot;&gt; &lt;/span&gt;sound much cooler to me than I do to everyone else.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;Lucky for me, I guess.&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Anyway, I hope you can stand my voice long enough to get some benefit from the video.&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;Please send us any feedback or criticism via &lt;a href=&quot;http://www.adaptiveblue.com/contactus.html&quot;&gt;http://www.adaptiveblue.com/contactus.html&lt;/a&gt;.&lt;/p&gt;-anderson&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;&lt;br /&gt;technorati tags: &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt; adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt; blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/camtasia&quot; rel=&quot;tag&quot;&gt; camtasia&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/05/five-minutes-of-fame.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114830411737920904</guid><pubDate>Mon, 22 May 2006 13:15:00 +0000</pubDate><atom:updated>2006-06-10T09:54:54.433-04:00</atom:updated><title>The Webification of the Desktop</title><description>&lt;a href=&quot;http://www.web2journal.com/read/224934.htm&quot;&gt;The Webification of the Desktop&lt;/a&gt; article was originally published in Web 2.0 journal and AjaxWorld Magazines.&lt;br /&gt;&lt;br /&gt;During the nineties boom days, one of my friends told me: Soon your refrigerator will be connected to the Internet. It will talk to the computer at the supermarket and send it the list of things that need to be replenished. It will also check the latest rating information on the products that you buy and will let you know if there is something better out there. And of course, it will scream when the milk expires.&lt;br /&gt;&lt;br /&gt;Today, like back in the nineties, I applaud the vision of a smart refrigerator. Being a big fan of automation I think that everything that can be automated, will be automated. But just as back in those days, I believe that things get automated in a certain order. And now it is not yet time for web-smart refrigerators in every household. It is time, though, for our desktops to get web-smart.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;Desktop goes to the web&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Web 2.0 is bringing the notion of smart and thick UI to the web. We are rediscovering good user interfaces that have been noticeably missing from our web experience. Thanks to AJAX technology, we see more and more desktop widgets and concepts making it into web sites. Thankfully, we are beginning to forget what it is like to have to reload on every click.&lt;br /&gt;&lt;br /&gt;Not only are desktop metaphors are coming to the web, some web sites have actually implemented the desktop using AJAX. These neo-portals use a desktop-like layout to help the user manage all web information in one place. There are many sites like this; the ones we note here are Netvibes, Goowy, Start.com and the Google home page. Of all of them, Goowy has the closest resemblance to the desktop, particularly MacOS X. They call their desktop a webtop.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://res.sys-con.com/story/may06/224934/Iskold_Fig1.jpg&quot; /&gt;&lt;br /&gt;Figure 1: Goowy webtop&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There is an article on TechCrunch talking about Goowy that has lots of follow up comments from readers. Some readers are saying that they are not ready to exchange their desktops for webtops and spend the entire working day in the browser. There are usability and productivity issues that need to be addressed before we abandon the desktop software and permanently move into the browser.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;The web comes to the desktop&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;In the meantime, we should be seeing more of the opposite trend – the &quot;webification&quot; of the desktop. There is no reason why our desktop applications can not be web-aware. An improvement in this area would drive up our productivity, because switching back and forth between the application and the browser is very inefficient.&lt;br /&gt;&lt;br /&gt;Let’s look at some examples of applications that already succeed in integrating web sites and web services into our desktops. The first example shows the Trillian chat client using the Wikipedia to lookup definitions.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://res.sys-con.com/story/may06/224934/Iskold_Fig2.jpg&quot; /&gt;&lt;br /&gt;Figure 2: Trillian chat client using Wikipedia&lt;br /&gt;&lt;br /&gt;If this feature would not be built into Trillian, the user would need to select the word, copy it, open the browser, go to the wikipedia site, paste the word and hit enter to search. Instead, the user just rolls the mouse over the word. This is 1 second instead of at least 10 seconds. This is productivity!&lt;br /&gt;&lt;br /&gt;Another example of the webification of the desktop are the Dashboard Widgets on the Mac. Apple folks have come up with the idea of exposing bits of the web as widgets. All these widgets are written in HTML, JavaScript and CSS. By cleverly leveraging popular web technologies, Apple instantly gained an army of developers.&lt;br /&gt;&lt;br /&gt;Each widget takes up a small piece of the desktop and is specialized in presenting one type of information or one web service. There are thousands of widgets, so we can not list them all. Here are some examples to give you a flavor: iTunes current song lyrics, del.icio.us feed widget, and a calendar widget.&lt;br /&gt;&lt;br /&gt;All of these widgets demonstrate the &quot;webification&quot; of the desktop, because they seamlessly integrate with the web services behind the scenes. Whatever song iTunes is playing, the iTunes widget goes out and fetches the lyrics. The del.icio.us widget displays the latest links and helps the user quickly find any link without launching the browser. The calendar widget shows the date, local time and is smart about daylight savings. The great thing about all these widgets is that they save us clicks, and therefore save us time.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://res.sys-con.com/story/may06/224934/Iskold_Fig3.jpg&quot; /&gt;&lt;br /&gt;Figure 3: iTunes lyrics widget&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://res.sys-con.com/story/may06/224934/Iskold_Fig4.jpg&quot; /&gt;&lt;br /&gt;Figure 4: del.icio.us widget&lt;br /&gt;&lt;br /&gt;The final example is the Flickr plugin for iPhoto. iPhoto is the most popular photo management application on the Mac, Flickr is the most popular site to share pictures so there is a natural fit.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://res.sys-con.com/story/may06/224934/Iskold_Fig5.jpg&quot; /&gt;&lt;br /&gt;Figure 5: iPhoto Flickr integration&lt;br /&gt;&lt;br /&gt;The integration is correctly done via the Share option in the iPhoto. The plugin allows immediate aggregation of a user’s pictures into Flickr sets, and supports tagging and description. Like any good integration, the plugin does everything we would expect it to do and nothing extra.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Integrate to boost productivity&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Making desktop applications web-aware pays off because it drives productivity and saves user&#39;s time. The user can not afford to spend time cutting and pasting between applications. The user can not afford to do 3 clicks instead of 1. With the increasing amount of information around us, we need smart, automated and context sensitive software that is designed for productivity.&lt;br /&gt;&lt;br /&gt;The desktop applications should step up and integrate the best web services to make it easier for the user to get things done. The web services, on the hand, need to also step up and offer solid API’s. Thankfully, API&#39;s are part of Web 2.0 culture. Many popular web services provide SOAP or REST interfaces that are basically equivalent to what the users can do directly on the site.&lt;br /&gt;&lt;br /&gt;Even if the service offers an API, integrating it into the desktop may not be a good idea. Anytime when we are mixing metaphors, paradigms and platforms, we need to be careful. It is important to ask why, what and how.&lt;br /&gt;&lt;br /&gt;When thinking about webifying a desktop application ask questions like these:&lt;br /&gt;&lt;br /&gt;Is there a direct productivity benefit in this integration? &lt;br /&gt;Can the integration be done in a way that does not break the current usage model?&lt;br /&gt;Does the integration lead to additional overhead for the end user?&lt;br /&gt;Will the integration result in a lot of maintenance?&lt;br /&gt;&lt;br /&gt;If these questions make you feel like there might be issues, the integration is probably not worth doing.&lt;br /&gt;&lt;br /&gt;Lets go back to our the first example, and understand why it was a good idea for Trillian chat to integrate with Wikipedia. Notice that Trillian exposes a small piece of information via a popup. It does not launch the browser. Instead it succeeds in showing information instantly and using only a small amount of screen real estate. In the next example, Apple Dashboard Widgets, again, the key is that each widget shows only a small piece of information. Both of these demonstrate integration that gets the data from the web and avoids launching the browser.&lt;br /&gt;&lt;br /&gt;The iPhoto integration is different. It is useful because it provides a quick way to upload phots from iPhoto to Flickr. It is an example of an automation that helps the user with typically tedious data duplication. Another example of this pattern are the web backup software tools that present themselves as drives or folders on your desktop.&lt;br /&gt;&lt;br /&gt;If your integration falls into one of these two categories and you can integrate it into your solution in a straightforward manner, you are likely to get a lot of &#39;Thank you&#39; notes from your customers.&lt;br /&gt;&lt;br /&gt;- Alex&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;&lt;br /&gt;technorati tags:&lt;br /&gt;&lt;a href=&quot;http://technorati.com/tag/webification&quot; rel=&quot;tag&quot;&gt;webification&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/webtop&quot; rel=&quot;tag&quot;&gt;webtop&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/desktop&quot; rel=&quot;tag&quot;&gt;desktop&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt;blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt;adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/web20&quot; rel=&quot;tag&quot;&gt;web20&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/05/webification-of-desktop.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114795795227426053</guid><pubDate>Thu, 18 May 2006 12:43:00 +0000</pubDate><atom:updated>2006-05-18T10:01:01.280-04:00</atom:updated><title>The Browser Wars 2.0</title><description>I bet that we are about to see the Browser Wars 2.0. This second act of the war is going to be longer and juicier, because there is much more at stake now. The Browser Wars 2.0 will be the the ultimate battle for the advertising dollars . After all, whoever controls the browser, controls the default search box.&lt;br /&gt;&lt;br /&gt;More than 5 years ago we saw Netscape lose to Microsoft. Netscape was dragged into the arms race, was forced to compromise on quality and in the end just could not get it together. Internet Explorer emerged as a clear winner and practically monopolized the browser market. And so for the next 5 years or so Microsoft ruled the world with the same version of Internet Explorer. But then Firefox came on the scene, and the rules began to change.&lt;br /&gt;&lt;br /&gt;Firefox&#39;s premise - the browser should not suck! Of course we all agree. In this day and age when there is so much innovation in the web space, how can we tolerate a dumb browser? We can&#39;t and we won&#39;t. The browser must evolve to reflect what the web is today.  And so you have Flock - the social browser entering the scene,  Firefox 2.0 is around the corner and the (finally with tabs) IE7 is trying to get out of beta. And, depending on which way the wind blows, Google and Yahoo! might jump in too.&lt;br /&gt;&lt;br /&gt;It is the dawn of the new battle and we need to figure out what is the battle for and what we, as the end customers, are going to get out of this battle. The good news is that no matter who wins this time, we are going to get a much better browser. The bad news is that, at least for Microsoft, this battle is not about better technology. Instead, it is the battle for billions of eyes and a potential to turn the tide in the search and advertising game. After all, whoever controls the browser, controls the default search box.&lt;br /&gt;&lt;br /&gt;The next generation of the browser is going to be much more &#39;aware&#39; of the web. We will be seeing tighter integration with popular sites and services, integration with on-line storage and bookmarking services, and more targeted advertising. The new browser will be aware of our interests. It will have the concept of people, books, music and movies. The new browser will be a step closer to the vision of a semantic web.&lt;br /&gt;&lt;br /&gt;Most importantly, the new browser is going to have to face a tough job: saving our time and helping us sift through tons of information to find the things that matter the most.&lt;br /&gt;&lt;br /&gt;- Alex&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;&lt;br /&gt;technorati tags: &lt;br /&gt;&lt;a href=&quot;http://technorati.com/tag/browserwars&quot; rel=&quot;tag&quot;&gt; browserwars&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/firefox&quot; rel=&quot;tag&quot;&gt;firefox&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/ie&quot; rel=&quot;tag&quot;&gt;ie&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/flock&quot; rel=&quot;tag&quot;&gt;flock&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/web20&quot; rel=&quot;tag&quot;&gt;web20&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/05/browser-wars-20.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114783037833907151</guid><pubDate>Wed, 17 May 2006 01:18:00 +0000</pubDate><atom:updated>2006-05-17T08:10:41.780-04:00</atom:updated><title>Myself, In 40 Links</title><description>In order to help people get started using blueorganizer, we decided to provide a &quot;&lt;a href=&quot;http://www.adaptiveblue.com/staffpicks.html&quot;&gt;jumpstart&lt;/a&gt;&quot; page where we would each list 10 books, 10 gadgets, 10 CDs, and 10 movies.  Choosing these 40 items turned out to be more difficult than I expected.&lt;br /&gt;&lt;br /&gt;The first problem was narrowing down each list to just 10.  I&#39;ve been a collector all my life, so it was tough to decide who would not make the cut.  I love Ferris Bueller&#39;s Day Off, but I also love Glory, and it with only 10 slots, I didn&#39;t think I could have 2 Mathew Broderick films (sorry Ferris).  Should the classic music I&#39;ve been listening to for 25 years have more spots on the list than artists that I&#39;ve more recently discovered? Were the books I read as a technology person a better choice than the books I read as a would-be photographer?&lt;br /&gt;&lt;br /&gt;As I puzzled these issues, I  started to consider the social aspect of this exercise.  Not only would my co-workers and friends see this list, but so would hundreds/thousands/millions(?) of blueorganizer users.  How would this latter group judge me by my selections? If they hated a book I love, would that affect their opinion of the product?  Does it matter?&lt;br /&gt;&lt;br /&gt;In the end, I decided not to worry too much about the whole thing, and picked good quality items that I like and that I felt gave a good cross-section of who I am and what I am interested in.  Now I see a third problem.  Even though only a few weeks have gone by, I feel like I want to make some changes.  I see now that my 40 links will be a constantly moving target.&lt;br /&gt;&lt;br /&gt;-anderson&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;&lt;br /&gt;technorati tags: &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt; adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt; blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/web2.0&quot; rel=&quot;tag&quot;&gt; web2.0&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/05/myself-in-40-links.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114763497583867632</guid><pubDate>Sun, 14 May 2006 18:18:00 +0000</pubDate><atom:updated>2006-05-14T15:58:46.946-04:00</atom:updated><title>Reflection</title><description>We rarely have the chance these days to pause and to reflect on our past. It feels like time and our lives are just passing through us, faster and faster. We like it this way, because it is thrilling, it is challenging and it is modern.&lt;br /&gt;&lt;p&gt;&lt;img src=&quot;http://www.museum-reproductions.com/cartdata/uploads/1041734228_large-image_daliswanslg.jpg&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;There is no time to reminisce and relive our experiences. We are barely catching up with the present and already are half foot in the future. We can not afford to re-read an old book or travel to the same destination or to keep coming back to the same restaurant. There is just so much new going on in our lives now that our past becomes seemingly irrelevant and far.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Occasionally, though, we need to stop and to remember the past events, thoughts, people, books, movies and the bits of the songs we loved 10 years ago. Our memories work in a strange and wonderful ways. As in Proust&#39;s memoirs, a brief touch of tea aroma can lead to an avalanche of childhood memories. We suddenly remember things that we thought were lost forever. The things that we need to remember.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;One of the movies that made a big impact on me in the last decade was the movie &lt;a href=&quot;http://www.netflix.com/MovieDisplay?movieid=60020435&quot;&gt;Memento&lt;/a&gt;. In this film, shown in reverse, the main character has a disorder that precludes him from forming permanent memories. He is only able to keep his state (memento) for 15 or 20 minutes and after that he has to figure out the things from scratch. The twist is that he is on the quest to find and punish his wife&#39;s killer. To make progress, despite his strange situation, the stateless hero leaves himself clues. He takes Polaroid pictures of people that he meets and writes messages on his very own body.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;As the movie begins we are ready for Pulp Fiction-like thriller half mixed with the comedy. But after leaving the theater, and during the few following days, we begin to realize and appreciate the full depth of this unique movie. Memento puts our very own lives under the microscope of memory. How do we really know that we have had the experiences that we think we had? And strikingly we conclude that just like the circumstantial hero of the movie, we have nothing but the clues that we leave to ourselves to reassure us in our past.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;It is good to leave the clues about our past experiences. We need them to be certain of who we are. We need them to be able to be sentimental when we feel like it. We need these clues to sanity check our race into the future.  And what better clues can we find than our books, our movies and our music? These, uniquely human and internationally understood products of our civilization shape and reflect on our lives like few other things.&lt;br /&gt;&lt;br /&gt;Glance over your book shelf, take a pick at your DVD collection and listen to your favorite music on iTunes and Pandora. It makes you remember. It makes you laugh. It makes you a better person. These glimpses of the past help you make better decisions for today and for tomorrow.&lt;/p&gt;</description><link>http://adaptiveblue.blogspot.com/2006/05/reflection.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114740264962902265</guid><pubDate>Fri, 12 May 2006 02:57:00 +0000</pubDate><atom:updated>2006-05-16T21:14:24.573-04:00</atom:updated><title>bluemark this!</title><description>The road thus far has been long and winding, but we have just passed an important milepost: the availability of the private beta of blueorganizer.  We are excited to draw back the curtain and reveal the result of months of consideration, exploration, determination, and of course, perspiration.&lt;br /&gt;&lt;br /&gt;So, what is this blueorganizer.  What does it organize?  Why is it &lt;span style=&quot;font-weight: bold; color: rgb(51, 102, 255);&quot;&gt;blue&lt;/span&gt;?&lt;br /&gt;&lt;br /&gt;blueorganizer is a Firefox extension designed to store, sort, search, and harness many of the “things” you are interested in.  Right now “things” include books, movies, albums, gadgets, and websites.  When you find something you want to collect, just push the bluemark this! button. That’s when the magic happens. The organizer figures out the key information about that item.  For example, if you add a movie, blueorganizer extracts the Title, Director, and Stars.  It also has a “smart” tag extractor that gets you started in classifying the item, so you can find it again later.&lt;br /&gt;&lt;br /&gt;We hope lots of people will try out the beta and give us feedback.  Go &lt;a href=&quot;http://www.adaptiveblue.com/&quot;&gt;here&lt;/a&gt; to learn more and sign-up.  Then be sure to tell us what you think.  We think what we’ve made is good, but we know your feedback will help us make it better.  Along those lines, many new features are planned, some which will really take this to the next level.  We’re living in interesting times.&lt;br /&gt;&lt;br /&gt;As for why the organizer is &lt;span style=&quot;color: rgb(51, 102, 255); font-weight: bold;&quot;&gt;blue&lt;/span&gt; – there are many theories. Maybe it has to do with the blue shifting of approaching light.  Maybe it is holding its breath.  Maybe it chewed the gum that Willy Wonka warned it not to.  Maybe it is cold. All will be revealed… but not yet.&lt;br /&gt;&lt;br /&gt;- Anderson&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 153, 0);font-size:85%;&quot; &gt;&lt;br /&gt;technorati tags: &lt;a href=&quot;http://technorati.com/tag/adaptiveblue&quot; rel=&quot;tag&quot;&gt; adaptiveblue&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/blueorganizer&quot; rel=&quot;tag&quot;&gt; blueorganizer&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/web2.0&quot; rel=&quot;tag&quot;&gt; web2.0&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://adaptiveblue.blogspot.com/2006/05/bluemark-this.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114739672031977466</guid><pubDate>Mon, 20 Mar 2006 06:17:00 +0000</pubDate><atom:updated>2006-05-11T21:21:32.476-04:00</atom:updated><title>Information overload 2.0</title><description>It is thrilling to hear about Web 2.0 these days. There is so much energy and buzz that you just know we are going through another phase transition. In this next phase the information consumers become information producers.&lt;br /&gt;&lt;br /&gt;Blogs, podcasts &amp;amp; RSS enable anyone to jump onto modern media wagon. Undoubtedly this is a good thing. Out of all of this, we are likely to come out faster, smarter and, of course, cooler.&lt;br /&gt;&lt;br /&gt;While we are excited with the possibility of everyone becoming a media voice, we also need to consider the consequences. Here are simple insights based on a network topology.&lt;br /&gt;&lt;br /&gt;In the &#39;old&#39; world we had a few distinct large information hubs. In the &#39;new&#39; world we have essentially peer-to-peer network. The new setup has on the order of magnitude more connections and that means that each person is going to be handling much more information.&lt;br /&gt;&lt;br /&gt;In short, we are on the brink of huge personal information overload. In the race to make all sorts of information available we need to race at least as quickly to build filters for relevant information.&lt;br /&gt;&lt;br /&gt;But wait, do not we have RSS? RSS allows us to subscribe to exactly what we need, right? Yes, that what RSS does but it is not the kind of personal filter needed in today&#39;s day and age. What we need is intelligent, adaptive filter that evolves together with person&#39;s interactions and tastes.&lt;br /&gt;&lt;br /&gt;RSS is too crude. RSS is still all or nothing. We need an algorithm that continuously learns from the content that user is accessing and is then capable of filtering new content.&lt;br /&gt;&lt;br /&gt;For example, a person who is subscribing to news about Java may not be interested in every article coming from a particular feed. An intelligent algorithm needs to be able to sift through 10 different Java news feeds and compile personalized, essential subset that is aligned with specific interests of the user.&lt;br /&gt;&lt;br /&gt;And of course this has to be built into the browser. No single site will be successful in doing this simply because the site looses control once the user goes to a web page on another site. A browser plugin that can continuously monitor users content will be to do the job.&lt;br /&gt;&lt;br /&gt;And it follows then, that the entire filtering and personalization solution needs to be part of the browser. We will be seeing some interesting solutions over the next few years. Firefox and its commercial branch called Flock have already started down this road. Microsoft is likely to follow with IE 7.X&lt;br /&gt;&lt;br /&gt;  - Alex</description><link>http://adaptiveblue.blogspot.com/2006/03/information-overload-20.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-25014351.post-114739659692905176</guid><pubDate>Wed, 08 Mar 2006 03:15:00 +0000</pubDate><atom:updated>2006-05-11T21:17:03.220-04:00</atom:updated><title>Tool integration and personalization</title><description>Personalization is about seamless user experience. It is about accessing and moving information with ease. Integration of tools and technologies facilitates personalization because it reduces amount of effort needed to make things work.&lt;br /&gt;&lt;br /&gt;Today we create new technologies and services with unprecedented speed. Inevitably there is going to be lots of competition and lots of different ways of doing things. While being healthy, competition often makes it difficult for people to get things done.&lt;br /&gt;&lt;br /&gt;As much as we need competition, we need integration and interoperability of tools and technologies. This is particularly important for transferring information between different desktop applications and web sites.&lt;br /&gt;&lt;br /&gt;Start with the simple example. Apple did a great job with iSync. All my contacts are synchronized three ways between my desktop, my iPod and my phone. But they are not synchronized with my Gmail. Understandably why, but still annoying. In a personalized world, it would just work.&lt;br /&gt;&lt;br /&gt;Perhaps synchronization of contacts is a holy grail that will one day be resolved via a standard format. We have to be patient and wait. But what about other things and technologies that we use? Different sites on the web just do not interoperate unless they are from the same vendor. Desktop tools also only interoperate with sites that are by the same vendor.&lt;br /&gt;&lt;br /&gt;The bottom line is that to transfer information we need to do extra clicks and extra clicks amount to energy and precious moments of our lives.&lt;br /&gt;&lt;br /&gt;And so it is rather refreshing to see a Flickr plugin for iPhoto. Clean, simple and convenient. No more specialized apps. iPhoto is the photo management app on the Mac, Flickr is the site to share pictures - so here you go:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://connectedflow.com/flickrexport/&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 450px;&quot; src=&quot;http://connectedflow.com/graphics/plugin.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The integration is intelligently done via Share option in the iPhoto. The plugin allows immediate aggregation of the pictures into a Flickr set, supports tagging and description. All in all it is short and sweet.&lt;br /&gt;&lt;br /&gt;Another integration effort that is worth mentioning is &lt;a href=&quot;http://www.flock.com/&quot;&gt;Flock &lt;/a&gt;- a new Firefox based browser.  Leaving aside an issue of forking off the code base, lets focus on good integration features. The browser is actually aware of tags, blocks and rss feeds. This makes things heck of a lot easier. I can see all my tags without going to delicious. I can read news right in my browser. And I can write my blogs without logging into the blogger.com. (Actually blogging is still buggy and unfriendly at this point, but it is easy to get the idea of where this is going).&lt;br /&gt;&lt;br /&gt;Hopefully we will be seeing more browser and tool/technology integration in the near future. We are probably headed towards search build into Microsoft word, not the kind of thing we want to see, but there is probably not that much that we can do about that.&lt;br /&gt;&lt;br /&gt;     - Alex</description><link>http://adaptiveblue.blogspot.com/2006/03/tool-integration-and-personalization.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item></channel></rss>