Archive for February 19th, 2007

BrowseGoods, BlackDogAir: Two New Ways to View Shopping

Written by on Monday, February 19th, 2007 in Ajax News.

Online retail was an over $100 billion industry last year. Jupiter Media expects that to grow to over $140 billion by 2010. Comscore has attributed the growth to lower prices and just how damn simple it is to buy things online. This week, two new Amazon powered shopping visualization services rolled across our desks. Here’s a look at each.

browsegoodslogo.pngBrowseGoods: The product of a company called Dotted Pair, BrowseGoods’ shopping interface shows you a map of categories and subcategories of goods (think google maps for goods). Their first example is for shoes and kind of looks like a blocky map of the world if Dolce and Gabbana had their way. Each box is titled with a category title, and breaks into yet smaller boxes with the subcategory titles, until you zoom in so close you can see a cloud of shoe thumbnails. While zoomed all the way in, you can bring up product details from Amazon that also rotates through all of the product images.

browsegoodsscreen.png
The BrowseGoods method seems useful if I don’t have any idea what kind of shoe I want to get, but the lack of filtering is cumbersome when I know more about the type of shoe I want. Dealing with the blob-like geography of the categories while zoomed in and perusing the shoe selection was tough.

BlackDogAir: The project of Andy Lammers, BlackDogAir looks at Amazon’s music, books, and movies like a family tree. The tree starts with the display of Amazon’s browse pages fanned out vertically. Each item can be clicked on for details or bring up another level of the tree displaying the its related items.

blackdogairscreen.png

Current shopping visualizations don’t seem to be slowing down the pace of online commerce, but as the volume and variety of goods online grows, new tools will be needed to sort and experience them. I still see Like.com as the best of the new visual shopping engines.

Crunch Network: MobileCrunch Mobile Gadgets and Applications, Delivered Daily.

Source: TechCrunch
Original Article: http://feeds.feedburner.com/~r/Techcrunch/~3/93113179/

MSN Experimenting With Most Digg Like Service Yet

Written by on Monday, February 19th, 2007 in Ajax News.

Last week we saw first Yahoo! and then Dell launch sites that were largely acknowledged to be Digg inspired.  Digg may not have invented the vote-on-news motif but it may have been most important in popularizing the paradigm so far.  Now LiveSide, a great place to follow all things Live.com, reports on three European Microsoft sites currently in Beta that better embody the ethic of Digg than any of the other big players have yet.

Called MSN Reporter, the service is being tested in the Netherlands, Belgium and Norway.  Users can submit links from any domain on the web.  Other users can then vote stories up or down and leave comments.  The sites are seeing a fair amount of traffic, approaching a total of 1 million visitors per month after two months in beta.

Two things are most striking about MSN Reporter.  First, these social news experiments are already being leveraged in the heart of MSN’s larger online properties - nl.msn.com for example displays the top four MSN Reporter stories right on the front page.  AOL certainly doesn’t put the top Netscape stories on its front page - there’s a fairly arduous editorial process required just to get stories from the sprawling Weblogs Inc. network onto AOL proper.  For MSN to put top social news stories on the front page of a primary site is a big deal.

The second big step taken by MSN Reporter is that unlike supposed Digg clones at Yahoo!, Dell and AOL’s Netscape - MSN Reporter users are able to submit links to pages completely outside of MSN control and no effort is made to keep readers tied to the MSN domain when they visit those sites.  Reporter is an important sign that for at least one big player, walled content gardens aren’t as set in stone as we might think.  Digg was a key market leader in demonstrating that a site can win in terms of traffic by letting its users point each other off site.  Monetization is a big question that remains for these sites, but MSN appears willing in Europe at least to experiment meaningfully with the approach.  

There are certainly differences between MSN Reporter and Digg, the most notable being the ability to vote stories down as well as up and the absence of substantial user profiles.  Digg has arguably gained a lot of steam from the top users whom until recently won bragging rights from an onsite list of their names and contributions.

Despite those differences, Digg’s launch in 2004 marked the beginning of a shift towards accessibility and popularity in social news that SlashDot in 1997, Del.icio.us in 2003 and Reddit in 2005 did not.  If MSN Reporter spreads beyond these 3 beta sites and continues to be placed on the front page of MSN sites - I think MSN may go down in history as the first major player to leverage deep integration of the social news paradigm.

Crunch Network: CrunchGear drool over the sexiest new gadgets and hardware.

Source: TechCrunch
Original Article: http://feeds.feedburner.com/~r/Techcrunch/~3/93099653/

It could have been worse. I could’ve been stranded on the runway for eight hours. But still, flying JetBlue last Thursday out of JFK was no picnic. [1]

JetBlue terminal

Some communication lessons from the fiasco:

Put all your soldiers on the front lines. Jet Blue’s corporate offices are located near JFK so they brought in a bunch of people who normally work there to help out with customers. They wore Jet Blue vests and/or badges and wandered around the terminal answering questions, directing customers, and listening to complaints. Granted, a lot of these people didn’t know what was going on any more than the passengers but, hey, at least they were there. In that kind of situation, a lot of customers just want to vent and know someone is listening. And I saw one rep ask an irate customer for a business card so he could follow up with him later. You need boots on the ground to do the little things like that.

Be the guy with the megaphone. The PA system by the gates was pitiful. The volume was feeble and you could barely make out the thin announcements (you’d have better luck making out the unintelligible conductor announcements on the NYC subways). And people were desperate to know what was going on. Enter megaphone man. Rumor was that he actually worked as legal counsel to JetBlue. He went to each gate with a megaphone and updated all the passengers with the latest info. Then he’d walk toward the rear of that gate and repeat the info again for those who couldn’t hear. It wasn’t always good news. But at least an actual person was there, communicating something clearly.

Have an operator reserve force. A lot of the JetBlue reps on the scene encouraged passengers to call (800) Jet-Blue for more info. The problem was the phone lines were so jampacked there was no way to get through. This forced already irate customers to wait in lines for hours in order to find out information that easily could have been shared over the phone. The result: A lot of steam was built up and the people onsite had to deal with it.

Take it personally. When people are stuck on board a plane for eight hours with no clean toilets, they take it personally. And when your company promise is to “bring humanity back to air travel,” you better take it personally too.

It was nice to see the founder and chief executive of JetBlue say he’s “humiliated and mortified” by what happened. He’s taking responsibility and promising real changes. That’s what customers want to hear.

Mr. Neeleman said he would enact what he called a customer bill of rights that would financially penalize JetBlue — and reward passengers — for any repeat of the current upheaval. He said he would propose a plan to pay customers, after some amount of time, by the hour for being stranded on a plane…He says knows he has to deliver. “I can flap my lips all I want,” he said. “Talk is cheap. Watch us.”

Use your web site as a PR tool. Neeleman’s emotional response was nowhere to be found at jetblue.com though. The latest JetBlue news is the addition of 3 blind moose Merlot and Chardonnay to flights. The last entry at David Neeleman’s blog at the site is titled: “2007 Takes Off in the Right Direction.”

Granted, there’s a link that says “Operational Interruptions” in the site’s header but it takes you to a bunch of sterile, boilerplate text (e.g, “JetBlue continues to experience cancellations and delays as a result of Wednesday’s ice storm in the Northeast. Please check the status of your flight online before proceeding to the airport.”)

The site needs to become the online version of the guy with the megaphone. There should be a letter from the CEO. There should be an apology. There should be details about changes that are going to happen to prevent this from occurring again. If you can’t easily make changes to the current site, set up a special crisis site to handle the situation. As it is now, the company’s online presence seems disconnected from reality.[1] Fyi, here’s the gritty details of my day at JFK (others had it worse): There was a big storm on Wednesday. But by Thursday things had cleared up. I had a 1:15pm flight to Chicago. I checked online and the site said the flight had been delayed until 2:15pm. So I arrived at the airport at 1pm. I checked in and the rep told me my flight had been cancelled and I was now flying standby on the 8pm flight. He took my bag and checked it in. He said if I had any questions, to ask at Special Services check-in. I went there and waited in line for over an hour. They told me that the 8pm flight wouldn’t actually leave until 11:45pm. And even then there would only be a 50-50 chance that I would get onto that flight. There were no other flights available until Monday. I decided to wait it out and take my chances. I stuck around the airport and then, at around 10:30pm, they told us the flight had been cancelled. We had to reschedule by waiting in another huge line or calling an 800 number. The 800 number was jammed though and it was impossible to get through. I decided to worry about it later. Now I had to get my bag back. This was another two hour wait. No one knew where the bags would come out or when they would come out. (But they did know that the bags could not be delivered.) Everyone was frazzled. The baggage handlers looked like they had just emerged from a war zone. Finally, at about 12:45am, the bags came out. I headed home. On the way, I tried calling the 800 number again and got put on hold. While on hold, there was a recurring message that said, “JetBlue isn’t the only way to fly…but it ought to be.”

Source: Signal vs. Noise
Original Article: http://www.37signals.com/svn/posts/274-be-the-guy-with-the-megaphone-and-other-lessons-from-a-jetblue-meltdown

My Data Stream

Written by on Monday, February 19th, 2007 in Ajax News.

After a year and a half of heavily using social applications, I recently had to revisit the plan to aggregate all my activity into one data stream.  As the calendar rolled to 2007, I kept wishing I could look at all my social activity from 2006 in context: time, date, type of activity, location, memory, information interest, and so on.  What was I bookmarking, blogging about, listening to, going to, and thinking about?  I still had the urge to have an information and online activity mash-up that would allow me to discover my own patterns and to share my activity across the web in one chronological stream of data (to start with anyway).

While there are some great services like SuprGlu for aggregating feeds into a browseable blog format (see my SuprGlu here), it’s still a hosted service and I need something that runs on my own server so I can have greater flexibility.

Others have been toying with this idea as well.  A few months ago, Jeremy Keith wrote about his experience with this very issue in ”Streaming my life away.” He decided to write a PHP script that would track several RSS feeds (Twitter, Flickr, Del.icio.us, Last.fm, and blog posts) by time-stamp and then display them in chronological order.  It doesn’t do any caching but “the important thing is that it’s keeping the context of the permalinks (song, link, photo, or blog post) and displaying them ordered by date and time.” His experience resonated with me.  I tried his PHP script but it didn’t quite work on my blog.  Jeff Croft also has a similar implementation at his tumblelog, which appears to be down now. 

The night I was playing with this idea, I twittered about it and heard from Boris Anthony who showed me his ggalaxy multi-contextual aggregator, a great system for seeing all of your friends’ (or favorite feeds) output in one place.  In this case, the river of news is limited to 7 days and not archived. ggalaxy will be a Wordpress plugin.

For my immediate purposes, I wanted to have the data from my selection of RSS feeds parsed and actually imported into my own MySQL database so it was archived and referenced in my own system.  After doing some more research to see if anything was out there specifically for my blog software, I found feedgrab, an amazing plugin by Andrew Weaver in the ExpressionEngine forums.  It worked well but needed the ability to import data from RSS feeds with unique criteria.  After an email exchange with Andrew, he informed me this was already in the works.  He updated the plugin and added new features within a couple of days.  Big thanks to Andrew for writing this (and all the great programmers that support the open source community with their expertise).

My data stream:

http://www.emilychang.com/activity/data/stream

I set up a separate blog for each of my services with custom fields for the data and I’m tracking my RSS feeds from:

EmilyChang.com

eHub

Ideacodes

Stylehive

del.icio.us

twitter

plazes

flickr

last.fm

upcoming

The plugin script fetches the RSS feed from each service and then parses the XML and imports the data from pre-determined fields into an ExpressionEngine blog database.  This is then displayed on my stream page by time-stamp with an icon to indicate the service or my blog source.  You can click on the mini-calendar to view activity by day. 

The script runs automatically every day and imports data from the various services.  I can now search that database with the ExpressionEngine search engine by keyword(s).  While this is internal to me at the moment, I’ll make the search public after I’ve customized it a bit.  If I search for “urban” I would see results for all my bookmarks tagged red in stylehive, del.icio.us, music I had listened to through last.fm with the title or band “red,” photos I posted to flickr with that tag, status messages at twitter, events I was watching or attending at upcoming, Ideacodes news, or eHub apps with a match.

When I wrote about this back in September 2005, I was thinking that this type of aggregating by tag would also be helpful. 

But, I’m also finding that the more tagging I do in various places and for different types of content, the more I feel my metadata becoming siloed into these other databases. Even though today’s new applications have moved beyond rigid categories and allow me to tag my own data, the current state of tagging doesn’t allow for us to map these information relationships from one site to another - or perhaps more aptly, to see a snapshot of our metadata universe.  I’m still looking for a way to see how my current tags crossover with one another, and with tags made by others - the aerial view.

This type of attention stream seems harder to do right now since each web service does tags quite differently within RSS enclosures. 

For now, this activity stream idea is providing the start to a holistic view of my activity across online networks: both my own and the ones I use. In turn, this acts as a conduit for you, the reader.  Rather than just a static “recommended links” page or a blogroll, the data stream opens up my activity to you in semi-realtime and at one website.  I’ll continue tweaking the content, navigation, and layout so watch for changes.  Let me know what you think!

My data stream:

http://www.emilychang.com/activity/data/stream

[Technorati tags: , , , , , , , , , , ]

Source: Emily Chang
Original Article: http://www.emilychang.com/go/weblog/comments/my-data-stream/

Make a Claim with OpenID on Jyte

Written by on Monday, February 19th, 2007 in Ajax News.

Jyte is a new service that leverages OpenID to allow users to start a discussion on any “claim” they care to make. Other users can then vote and discuss those claims.  Users can give each other credibility points regarding any topic by tag.  It’s a nice, full featured site that could come in handy for all kinds of different discussions.  It’s more timely than ever now that OpenID is gaining more widespread support every day. The best thing about OpenID is that it allows a single sign-in across all sites the support the protocol. If you have an AOL/AIM user name, you can now use it to log in at all kinds of different sites, including Jyte.

Jyte is a nice, lightweight service with a lot of possibilities.  There’s a lot of sophisticated social networking type features included. If you’re looking for a polling feature with more personal accountability and context this could be just what you’re looking for.  The site is a product of Portland, Oregon’s JanRain.

You can log in to Jyte with any OpenID login, which as of last week includes AOL.  I used JanRain’s MyOpenID.com service, but if you want to participate in a discussion you can also log in like this: http://openid.aol.com/

As you can see above, there’s a nice embed function.  Claims can also be subscribed to by RSS.  Users can make related claims and there’s a similar claim filter upon submission to decrease duplicates.  Participants in Jyte discussions can be limited by group membership via the API’s “social whitelisting” feature.

Only a few things have disappointed me about the service so far.  The embeddable widget appears to be very limited in the length of the claim displayed.  It would also be nice if I was given the option to log in from inside the iframe widget instead of launching a new page. Finally, as you can see via the claim below, if I make a claim just for discussion I’m automatically listed as being in agreement with it. In this case, I don’t.

I think Jyte provides a good look into the cutting edge of online conversation.  It may also prove useful in and of itself.  Of course that’s likely only true if OpenID sees widespread use.  That’s what I think - how about you?

Marshall Kirkpatrick is the Director of Content at SplashCast and will be assisting with TechCrunch while Michael Arrington travels.

Crunch Network: CrunchGear drool over the sexiest new gadgets and hardware.

Source: TechCrunch
Original Article: http://feeds.feedburner.com/~r/Techcrunch/~3/92999044/

Worst Workspace Challenge

Written by on Monday, February 19th, 2007 in Ajax News.

Geeks are known to live, literally, at their desks. Their workspace can become somewhat personalized and cluttered. Sometimes massively so. If you think your workspace is one of the best (meaning worst), hop on over to CrunchGear and check out their workspace challenge. Whoever sends in a picture with the most ridiculously horrible workspace wins a new chair.

To enter, we need pictures of the worst workspaces. This includes your desk, chair, general work environment, etc. We want to see disaster. Papers everywhere, gum stuck to stuff, coffee spilled, broken chairs, smashed desks, whatever. It needs to be Bad, with a capital B. Send your entries to contest at crunchgear dot com.

I can’t wait to see these pictures. And by the way, TechCrunch employees are not eligible (I actually think I’d have a shot at winning this).

Crunch Network: CrunchGear drool over the sexiest new gadgets and hardware.

Source: TechCrunch
Original Article: http://feeds.feedburner.com/~r/Techcrunch/~3/92989940/

ZK Now Supports Javascript, Groovy, Ruby

Written by on Monday, February 19th, 2007 in Ajax News.

As promised, the latest release of ZK (ZK 2.3 RC) now supports more languages in zscript than just Java. It now supports Javascript, Groovy and Ruby. Futhermore, you can easily add support for a new language in half a day (maybe with some practice, no?) by extending a simple interpreter class. That’s assuming, of course, that a Java-based interpreter already exists for the language.

For those of you not familiar with ZK, it is a Ajax framework that has you write your application logic on the server-side and treats the browser as a simple display server (as opposed to client-side frameworks that implement lots of application logic in the browser and treat the server more as a collection of web services). You write your application using ZUML, an XML-based markup language, assembling interface components in a way very similar to the desktop GUI component/event driven model. You tie your app logic into the markup language using zscript statements:

CODE:

  1. <window title=”Fileupload Demo” border=”normal”>
  2.     <image id=”image”/>
  3.     <button label=”Upload”>
  4.         <attribute name=”onClick”>{
  5.             Object media = Fileupload.get();
  6.             if (media instanceof org.zkoss.image.Image)
  7.                 image.setContent(media);
  8.             else if (media != null)
  9.                 Messagebox.show(”Not an image: “+media, “Error”,
  10.                     Messagebox.OK, Messagebox.ERROR);
  11.         }</attribute>
  12.     </button>
  13. </window>

In the sample above, we are using Java as the scripting language. Now you can use Ruby, Javascript or Groovy in it’s place. Realize that scripts written in these languages are executed on the server, not the browser.

Source: Ajaxian
Original Article: http://ajaxian.com/archives/zk-now-supports-javascript-groovy-ruby

Erik K. Antonsson, a prof at Cal Tech, has a page of quotations related to design and engineering. Some samples:

“If a major project is truly innovative, you cannot possibly know its exact cost and its exact schedule at the beginning. And if in fact you do know the exact cost and the exact schedule, chances are that the technology is obsolete.”
-Joseph G. Gavin, Jr., discussing the design of the lunar module that landed NASA astronauts on the moon.

“What appears at first to be well-articulated, firmly established architecture often consists of a broad (perhaps even vague) product concept; a set of evolving, sometimes loosely formulated specifications; and multiple, often conflicting targets that may be difficult to meet. The product is invariably complex and the planning process, its attention to detail notwithstanding, is unlikely to uncover all the relevant conflicts and problems in advance. To meet an objective such as `the door on the new luxury sedan should create a feeling of solidity and security when it closes’ may be difficult, involving the application of technical expertise and a great deal of negotiation with engineers working on the body, electrical system, stamping, and assembly. Though planning establishes overall direction and architecture, product engineering must still confront numerous conflicts and trade-offs in local components and subsystems.”
-Kim B. Clark and Takahiro Fujimoto, “Product Development Performance: Strategy, Organization and Management in the World Auto Industry”

“And let it be noted that there is no more delicate matter to take in hand, nor more dangerous to conduct, nor more doubtful in its success, than to set up as the leader in the introduction of changes. For he who innovates will have for his enemies all those who are well off under the existing order of things, and only lukewarm supporters in those who might be better off under the new.”
-Niccolò Machiavelli, “The Prince”

Source: Signal vs. Noise
Original Article: http://www.37signals.com/svn/posts/259-if-you-know-the-exact-cost-and-the-exact-schedule-chances-are-that-the-technology-is-obsolete

3D Renderer using Canvas

Written by on Monday, February 19th, 2007 in Ajax News.

Hans Schmucker has created a proof of concept for 3D Renderer using Canvas.

I’ve written another 3D Renderer for the Canvas element… however it is differet to the existing implementations, this one loads a standard Alias Wavefront OBJ file and renders it. It’s not as far as it could be so far (mainly because the Canvas element seems to have a pretty poor clipping system implemented, so that even if the majority of a shape is outside the canvas it will still try to draw the whole shape and then clip it against the window on a per-pixel basis), but it’s definitely usable. Shading (each triangle gets a color based on its distance from the viewport) and collision detection (it only detects if there is a triangle below the viewport and will move the view to that position) are primitive, but still, I think this is pretty impressing for standard JS.

3D Demo

The demo does the following:

  • Load a model
  • Set up controls to modify a view object
  • Find the nearest triangle below the player
  • Move the player down to that triangle
  • Rotate the model
  • Clip it against Z=0 so you only render what’s in front of you
  • Split partially visible triangles against Z=0
  • Project all vertices, so that they get smaller the farther away they are
  • Draw them, with the distance dictating the color

3D Canvas Demo

Source: Ajaxian
Original Article: http://ajaxian.com/archives/3d-renderer-using-canvas

Section 508 under revision

Written by on Monday, February 19th, 2007 in Ajax News.

Joe Hanink let us know that Section 508 is under revision via the W3C Roadmap for Accessible Rich Internet Applications (WAI-ARIA).

As a developer of Rich webapps, Section 508 compliance is a concern since its most recent update occurred in 2001. I am awaiting feedback from access-board.gov on whether there will be any provisioning for transitional compliance for webapps built after the announcement but before the new rules take effect.

The w3c WAI-ARIA draft indicates what mechanisms will be standardized to allow webapps to communicate semantic details to API driven screen readers, but there I’ve been unable to find any public information about the specifics of the new 508 rules.

Source: Ajaxian
Original Article: http://ajaxian.com/archives/section-508-under-revision



Site Navigation