March 30, 2006

Naked Answers

I like what Werner wrote about the visit from Shel Israel and Robert Scoble. Heh, wish I'd been there. I must have missed the email...

Anyway, this particular part struck me as being very true :
Amazon is a long time pioneer in the space of involving their customers with our product. And we really listen to our customers; any Amazon employee who encounters an issue on a forum or weblog or at any other place is empowered to escalate those issues internally immediately until they get fixed. Customer feedback is essential for Amazon and we will use all effective means to get it.


A few times over the past few years I've brought issues to internal teams and each time they have been totally positive about working on them - often it's a 'user education' thing (usually I'm the one being educated), but when it's a larger issue I've seen teams honestly re-examine what they are doing and incorporate the feedback and real change really happens.

March 26, 2006

Ripple - Internet IOUs

From a post by Mark Baker, the
Ripple payment system looks facinating! This is very intriguing because two nights ago I was wondering about payment systems and whether banks support 'request for transfer' requests in addition to just transfer-in and transfer-out requests. I imagine the problem of spam with request-for-transfer-out would be a problem. Anyway, the Ripple system is a distributed network of trust for the exchange of digital IOUs. These can be exchanged for products, services or even cash - anything of value. It'll be interesting to see what happens if someone integrates this with Edgeio or Craigslist (think 'mashup'). I haven't finished reading the whole site, so there are lots of open questions around fraud and actual overhead of participation, but this is all very cool.

Their About page is a good place to start.
From their FAQ:

How do I cancel debt on the system once it's been settled?

When two connected account partners settle a Ripple obligation outside the system, for example, by using cash, the person receiving the settlement must record it in the system by returning the settled IOUs to their issuer. They do this by making a regular Ripple payment to the person who settled their debt with you. Your mutual account balance will be changed to reflect the fact that the debt has been settled. In effect, they are using the IOUs they hold on the Ripple system to purchase cash.


The Internet is evolving it's own system of governing - of the people, by the people, for the people. First it started with communication, then community and now commerce. It seems inevitable that it's members will become an independent government unto itself. It won't start out perfect. Behavior, laws and regulations will continue to adapt, just as historical governing regulations have changed over time. But this tells me that there is a reason why this technology stuff is important. It is the technology of these Internet based systems that help private citizens remain private and remain citizens - and keep on being free. All changes start with a small ripple.

March 18, 2006

Irish pub on St Patrick's Day

On most Friday's, our team goes out for a lunch in Seattle's International district - mostly Asian, Thai and Indian food. But this Friday as we were heading out, we remembered it was St Patrick's Day and started looking for an Irish pub. The ones we knew about were kind of far, so we decided on going to F.X. McRory's - I always thought of it as a whiskey bar, but figured it had some Irish-ness to it.
When we got there, the staff all had some sort of green hat or shamrock painted on their cheek, so we knew we found the right place. There is a huge dining hall off to one side with high ceilings, old wooden floors and super tall windows letting in the sun - it was very nice. But the best part was that our table was right next to a band playing drums and bagpipes! I love the sound of bagpipes, but dang they were loud . We noticed later that the musicians had ear plugs - cheaters.
The menu had stew, shepherd's pie and corned beef and cabbage sandwiches - so I got the sandwich. I'd never had corned beef before and I have to say it's good enough try again someday - especially given a tall glass of Guiness to go along with it. But I'll have to warn you, the little dish of what looks like cabbage isn't cabbage, so if you take a big bite (like I did) you'd better really like horseradish.

March 15, 2006

ArtRage 2

If you or someone or know has even the slightest interest in painting, either on canvas or the computer, go right now and see ArtRage 2 - it's a fantastic program that feels like real painting. I really need to get a pressure sensitive tablet...

Pandora - find more music

Wow, the Pandora site that
plays similar music based on innate musicality is way cool! It's based on something called the Music Genome project that categorized songs on 40 or more dimensions. Fancy fancy!

"Ever since we started the Music Genome Project, our friends would ask:

Can you help me discover more music that I'll like?

Those questions often evolved into great conversations. Each friend told us their favorite artists and songs, explored the music we suggested, gave us feedback, and we in turn made new suggestions. Everybody started joking that we were now their personal DJs.

We created Pandora so that we can have that same kind of conversation with you."

March 14, 2006

Amazon S3 - finally, a real REST service

The new S3 Web service has what I would consider a very well designed REST interface that is also well documented (all the Amazon Web services have decent documentation). The current set of Amazon Web services is starting to grow nicely.

The S3 service is advertised as a Web-scale storage system with a super simple API and apparently very low storage and bandwidth costs. Each resource stored can be up to 5GB and also has support for ACL based permissions - to access the ACL, just append "?acl" to the resource. That's pretty simple and effective.

March 10, 2006

Microformats and product data

I've been hanging out on the microformats.org discussion list related to product data - too bad the email list isn't linkable. Anyway, these are my latest thoughts:

I am also wondering where and when a microformat for products would be useful. I'm generally wondering when /microformats/ are useful. (see http://microformats.org/about/) It seems to me that general narrative text and general conversations in text sometimes have 'hard' data like people, places, dates, times, phone numbers, etc Marking these as /being/ people, places, dates, etc. makes it easier for software to process - but the underlying data below the markup is still readable and sensible to people. Product data isn't like this at all. It's an unregulated mass of named properties with little rhyme or reason - there is no need to gently superimpose tags without breaking the elegance of the underlying data because there simply isn't any underlying elegance.

What it sounds like may be useful is a simple way for people to talk about things and reference those things, but without needed to fill in the blanks for unnecessary detail. For example, if I talk about the new mountain bike that I bought and immediatly scratched up by tipping over, it would be cool if I could tag the phrase "new mountain bike" as a reference to a product - but I don't want to actually describe the composition of the bike, the kind of tires and suspension and whatnot. People don't do that, manufacturers do.

If we want to solve this for manufacturers, then just use XML. Then the next problem is how can software determine which attributes from which manufacturers mean the same thing? That's where a shared 'open product attribute' database would be useful.

Gosling down on PHP and Ruby

This is a hoot - from
James Gosling at a Sun conference - narrowly correct but broadly missing the point :

'There have been a number of language coming up lately,' noted James Gosling today at Sun's World Wide Education & Research Conference in New York City when asked if Java was in any kind of danger from the newcomers. 'PHP and Ruby are perfectly fine systems,' he continued, 'but they are scripting languages and get their power through specialization: they just generate web pages. But none of them attempt any serious breadth in the application domain and they both have really serious scaling and performance problems.'


As a language, PHP and Ruby may not have the breadth of Java on a single machine - after all, they just 'generate' web pages. Well, they do a little more than that I suppose, they can handle incoming Web requests too. And what applications can you build and at what scale if all you can do is process messages over a network? I suppose the breadth of the applications possible is the same as the breadth of the network your messages travel over - which in this case is global. Maybe someone should tell him that 'the network is the computer'.

March 08, 2006

Alex Russell on Comet

From Phil Windley - this a
very good summary of the web-native event notification system that has evolved from Ajax - Comet. It hits all the points that KnowNow dealt with five or six years ago.

One nitpicking point is this "The problem is that each connection takes a process or thread and there might be thousands of them. Comet can reduce load but not on your current Web infrastructure." A server doesn't necessarily have to allocate a thread or process for each connection - if you look at IRC servers, they handle many thousands of concurrent connections. What is needed is non-blocking IO and Phil's post later points to SEDA - staged event driven architecture. Which brings this full circle from my work at KnowNow that used persistent connections to the browser, to my team at Amazon that used SEDA in a new real-time publishing system we built over the past few months.

It's great to see everybody up to speed on internet-scale event notifications - the power of event driven browser applications is now clear, XML messaging via Atom/RSS is widespread, even Microsoft has contributed algorithms for supporting messages criss crossing a cross-linked web of subscriptions. What's next? I think the 2-connection limit needs to be solved and that will be the final step in the next wave of live Web apps.

March 07, 2006

Simple Sharing Extensions

The Simple Sharing Extensions built by Ray Ozzie at MS is
a pretty decent description of nearly Web-native pub-sub message handling. Anyone doing event notifications will recognize most of the issues and algorithms - there are some very useful wrinkles when considering the context of RSS and feeds.

One thing that this doesn't improve on is the retrieval of data from a single URI - multiple consumers have to really keep up their polling. An alternative is to use something similar to Atom's next/prev linking (which I'm not sure is in the final Atom spec, but it's in the discussion history somewhere). In the case of MS's SSE, if each incremental feed was located at a unique URI, and that feed contained a link to the next set of changes (that the server chooses to hand out) then a lot more caching can take place and the server can choose it's own approach to throttling clients.

March 06, 2006

Comet - event driven Ajax arrives

This
Ajaxian post introduces the name 'Comet' to describe an event-driven approach which is a natural evolution of Ajax applications. It's been great to see so many applications use Ajax and the recent appearance of 'unsolicited message delivery' to browsers is also very cool. There have been a few groups doing this for many years, and it's exciting to see it all about to really take off and become fully mainstream.

The remaining technical hurdle for this technology is the client-side 2 connection limit - at KnowNow we used a 'journal' topic to funnel all messages through, but I don't know what others are doing. I'm going to guess that browsers will soon move this to 4 or more connections. It may be necessary for some deep thinkers to analyze the TCP/IP issues and address it at the protocol level, but I hope not.

Just the other week, I built a simple servlet at work that delivers messages into a browser using a persistent connection. I hooked the servlet to our recruiting/resume pipeline, so now my team gets live notifications the moment a candidate is entered into the system - we now beat out other groups in tagging the candidate and get first choice of many more people. A simple tool, but super useful and it only took a few hours of work, compared to a few weeks of work back at KnowNow so many years ago. Having a built-in XML parser on the client and a robust browser (Firefox in my case) takes care of most of the client infrastructure.

The thing I like about my simple messaging server and client is that it uses hyperlinks identify the set of messages and the client simply 'follows the links' to get more messages. When a client gets to the end of the list of messages, the servlet holds onto that request until more messages arrive - at which point they flow down to the client, achieving fairly low latency. The implementation isn't scalable or efficient, but the approach of using hyperlinks is.

Here's an example chat app (don't expect greatness...)

February 24, 2006

Eliot Blogs!

Finally - Eliot has a blog! Dr. Macro's XML Rants

I worked with Eliot several years ago (at DataChannel) and enjoyed every minute of it.

February 17, 2006

More SOAP apologetics

In "Don Box on Pragmatism and Web Services", Dare quotes Don being pragmatic about when and where to SOAP
Some of the decisions [...] are simple business decisions that are determined by who your target audience is.
1. If you want a great experience for .NET/Java devs, you’ll typically publish schemas (through wsdl) and support SOAP.


Hmm, "business", "audience" and then "developer" just don't flow for me. The market for true Web applications are users, not developers. Developers using early binding procedural languages will be a shrinking market - not a growing market. Those who build for themselves are the new 'developers'.

February 09, 2006

Listings from the edge

This article by Rob Hof about Edgeio is interesting - the vision of decentralized listings is a strong one, and very exciting.

Although Teare's demo was on blogs, that doesn't appear to be the only target. He says this will work for single items on blogs all the way to millions of items from Web stores like Amazon. He contends that RSS feeds reduce the usefulness of centralized repositories of information--most big Web sites today, in other words. "EBays and Craigslists become unnecessary and the tolls they charge become unreasonable," he says.


Well, it looks like Edgeio is a centralized system, but built from de-centralized data that is also directly available. Sort of like syndicated listings.

February 07, 2006

100songs

I've started another blog - not much related to Amazon or Web technology - called
100songs. Since I have a mini ipod and buying music online is easy (and getting easier month by month) and I had a $100 gift certificate from Christmas, I thought I'd buy one song a week and write about it. Feel free to drop by and make suggestions.

January 24, 2006

Windows Live beta agreement - cost of shipping?

I'm checking out the Windows Live email beta, and their license agreement is of course scary, but this really was intriguing:

3. COST OF TESTING. There is no charge to Recipient for testing of the Product. Microsoft shall bear all direct freight expenses relating to the shipment of the Product to Recipient’s place of business and Recipient will pay any return freight expenses.


They unfortunately don't specify how I can initiate the shipping of Hotmail to my place of business - and I'm not sure Amazon would appreciate it even if they did.

January 09, 2006

France July 2005


France July 2005 324
Originally uploaded by dierken.

Last year we traveled to Europe and spent a week in the South of France. July was hot, dry and we loved it there. This is a photo just outside the apartment we were staying in. It's on the edge of the village of Le Garde Freinet.

December 29, 2005

A link is not a widget - part II

From Kevin Burton's blog:

Take Microsoft's Live.com for example. At the Syndicate conference I was nice and pointed out a few bugs to the Microsoft team. They fixed them by making them worse and just plain inaccessible.

They're not links. They're fake ajax 'on click' handlers which trap both the left and right mouse buttons. The Live.com team tricks the user and makes them look like links when in fact they're not.


As I've said before "a link is not a widget".

Great quote:
Live.com is one of those products you won't use but it's still annoying to know that it exists.

December 17, 2005

Fuck Christmas

Oh, this is good... very good...

From Fuck Christmas:
Can we back up just a couple steps here? At what point did a basic understanding of the separation of church and state become a fucking war on religion? And how did we get to the point where you can call an organization set up to defend our civil liberties Terrorists on national television and no one fires your ass? Enough. Fuck all of you lying little shitheads who wish the world was out to get you so you could play the poor oppressed victims. Wake up assholes, you're the cowboys, not the fucking Indians.