kwc.org Photos Spare Cycles MythBusters

Category: Web

July 12, 2008

Google App Engine: Some early tips

appengine_lowres.jpgI'm not an advanced user of Google App Engine, but I did make some mistakes at the start that I had to pay for later on. All of these mistakes are simple and easy to avoid, so I thought I'd share some tips for others looking to wade into App Engine waters (thanks to bp for rescuing me from early mistakes).

Use memcache from day 1

With most apps you can write first, optimize later. Google App Engine's quotas including quotas for high CPU usage, which you can go over very quickly. Right after my site deployed I started getting some hits from StumbleUpon -- it was sad seeing my site disabled so soon after its birth.

The Memcache API is ridiculously easy to use, so thankfully optimizing is not difficult. It's basically just a string dictionary. Build your code to make as much use of this API as possible.

Limit your query result sizes

Big query results will hammer your quotas, so do whatever you can to make sure you work on small result sizes.

Take the time to watch the tutorials

You'll be productive quickly enough, so take some time to watch the tutorial videos to get a better understanding of how App Engine and Big Table work. It can help you figure out how to design your model better. For example, learn what entity groups are early on so you can decide whether or not you should use them.

Use source code management

You'll be up and running in no time with App Engine, so you have to be even more careful with your source code. Early on I found it far too easy to start hacking in a new feature into my code and breaking it -- which meant that I couldn't make any other updates to my site until I got it working again.

Keep your queries in a few places

App Engine's APIs make it really easy to do queries, in fact, too easy. It also automatically creates indexes for you based on your queries. You'll soon find queries scattered in every bit of your code and you'll be wondering why you suddenly have so many indexes.

Your better off consolidating your queries in a few places so you can keep track of what sort of queries you're doing and possibly eliminating some in order to reduce your indexes. This will also make it easier to invisibly throw memcache on top so that your higher-level code doesn't have to know if its dealing with the datastore or the cache.

One week of Google App Engine

appengine_lowres.jpgI got tired of cutting and pasting links into blog entries on my Spare Cycles site every time the Tour de France rolls around, so I thought I'd spend those early morning, live-race-watching sessions coding up a Google App Engine site to do most of the work for me. The app is very simple:

  • it checks a bunch of RSS feeds
  • it allows me to mark each entry it finds as approved or rejected

There's some additional stuff in there to try and classify a link by stage, category and type. Nothing rocket science.

I've been pleased with the low startup cost in getting something up and running. I had a crude cut running almost immediately and have been able to post incremental improvements frequently -- I think I'm already up to 200 revisions. Most of those revisions are due to an overabundance of confidence in my ability to code Python error free while watching TV at 5 in the morning. You are supposed to try out your code on a development server that runs on your local computer, but sometimes I was lazy.

In some ways the startup cost was too low -- I probably should have watched some of the tutorial videos first before designing my data model. You can play around with the data model after you've deployed it, though certain properties are harder to change than others (e.g. keys and parents). I was also more timid to do so because my site has had users from the get-go.

My only real complaints are:

  1. You can't schedule tasks on the server. You're only way of updating data is to load a URL. My simple hack for this is to use the 'Reload Every' extension in Firefox.
  2. It's really easy to exceed the quotas on the system. Too many queries or too many urlfetches on a particular page will easily trigger a temporary ban.
  3. The djangoforms API could use more than a little bit of work. Datetimes are not rendered properly and the documentation is really hard to navigate.
  4. I wish there were an automated tool for getting data in/out of the system. I'm constantly worried that I'm going to bork my data somehow, so I want to be able to back it up without having to keep a custom backup tool up-to-date.

My next attempt will probably be something photo related, so I'll soon have some more experience with the Image API as well.

February 1, 2008

Micro-hoo

With Microsoft putting Yahoo on its dinner plate, I may have a very different reason for getting my photos off of Flickr. I viewed Yahoo's acquisition of Flickr as an overall plus; a Microsoft acquisition would be a bit of a poison pill. The same goes for del.icio.us, though my heart is less tied to that service.

My mind goes back to the acquisition of Hotmail, which turned a leading free e-mail provider into a stagnant cesspool of spam and craptacular-ness. Microsoft forced Hotmail onto MS infrastructure for political reasons. Attempting the same with Yahoo's gives me visions of datacenters engulfed in flames.

The most interesting take I've seen in How Microsoft Could Go Hostile. it brings to light the timing of the takeover bid and how Microsoft could circumvent Yahoo's anti-acquisition poison pill.

August 27, 2007

Bloglines Beta -- not yet

I tried out the new Bloglines Beta to see if it could win me back from Google Reader. I had stuck with the original Bloglines for quite awhile, even through the first release of Google Reader, but it has stagnated under the guidance of Ask.com. Bloglines Beta is the first real attempt to catch up with Google Reader 2.0 and, for the most part, that's all it really is. It adds new message reading views that are pretty much restyle-ized versions of Google Reader. The one notable exception is that you can drag-and-drop feeds onto a "Start Page" for that My-Yahoo-ish feel.

I wasn't particularly won over. The two major annoyances for me are:

  1. You can't read "Everything". In Google Reader, I like to breeze through All Items if I'm not feeling picky. The Bloglines Beta requires you to view their fancy new "Start Page." This forces you to read folder-by-folder, which for my habits is a bad choice.

  2. There is a major bug for the speed readers. I tend to type "j" quickly to go through one item after the next. It will often jump to the next feed before finishing the one I was scanning through. My best guess is that it caches a certain number of items from the current feed and thinks you've reached the end when the cache is empty, instead of fetching more items.

These are both fixable, but as they both pertain to my feed-reading workflow, there's no way I can make the jump. I ran across these annoyances within a minute of using the new Bloglines.

August 7, 2007

NYTimes Select to go free?

nyt_ts_icon.gif The New York Post (note the source) claims to have the scoop: New York Times Select Content Freed. I've occasionally caught a Times columns syndicated in the Palo Alto Daily News or elsewhere, but the move to 'Select' content mostly took the Times out of the online conversation as far as I could tell. Those that took the plunge didn't seem enjoy the value either: subscribers fell from 224,000 in April to 221,000 in June. Maybe the they've figured that there's more money to be had selling ads shown to the non-subscribing millions than getting $8/month from the declining quarter million.

July 23, 2007

Fun local sites for burritos and more

WalkScore lets you put in an address and it computes a 'walk score' for that address. More importantly, it tells you what all the good stuff you can walk to nearby is, though apparently "Welter's Fun House" at Apt. 165, 750 North Shoreline Blvd, is my nearest bar -- I should see if Welter is willing to live up to his bogus hack listing.

BurritoPhile hosts some of the most important discussion threads on the Web: which burrito joints serve carnitas with the correct balance of crunchy and moist texture. There's a nice bias towards the Bay Area and Mountain View is very well covered.

Zvents: I'm biased because I know an employee, but I went six years living in or around Mountain View without knowing:

  1. There's a Japanese Buddhist Temple in Mountain View
  2. It hosts an Obon Festival every year

I even go to the Safeway across the street from it twice a week or so.

The festival turned up when I search Zvents so d and I checked it out over the weekend, mainly to catch the Bon Odori dancing. I don't recall spam musubi being served at the Obon festivals in Japan, but it brought back great memories nevertheless -- I was surprised that I remembered one of the dances.

July 5, 2007

Pownce invites

pownce.pngI've got five invites for those that are interested.

I don't have high expectations for my usage of Pownce -- Twitter barely gets usage among people I know, and I expect something so Twitter-like to barely do better. Besides, Twitter has Hahlo, which is oh-so iPhone friendly.

On a side-note to my fellow Comic-Con-ers: Twitter was fairly nascent when I first recommended it for Comic-Con '06 -- when it was still 'Twttr' -- but now methinks it is time to rock the Twitter at Comic-Con '07.

June 7, 2007

Easier URL for Amazon tags, and RSS

With all of Amazon's wacky URLs, I never realized they added a simple mapping for browsing by tag:

http://www.amazon.com/tag/apple/
http://www.amazon.com/tag/microsoft

You can also subscribe to tags using:

http://www.amazon.com/rss/tag/apple/new
http://www.amazon.com/rss/tag/microsoft/new

There's even more hacking you can do with these URLs, like associates ids. Checkout the Amazon Web Services blog entry for more (Note: some of the URLs there are incorrect. Use 'tag' instead of 'tags' and '/new' seems required).

One thing Amazon hasn't made URL-simple is browsing for your own tags. Those still require the non-memorable http://www.amazon.com/gp/tagging/manage-tags/tag-name/ .

PageOfText:Wiki as Twitter:Blogging

Gordon pointed me over to his Page of Text site this morning. It's kinda like Twitter, but for Wikis instead. You get a page, there's no real markup (unless you really dig for it), and that's about it . As someone who finds the entry cost and commitment of Wikis to be too steep, this is perfect for me. I remarked to him over coffee that just about ever piece of text I interact with is either (a) on a Web server or (b) in CVS/SVN. One of the only exceptions to this is the good 'ole 'scratch.txt' file that I keep on each computer that captures the isolated bits of text that have no proper home -- some todos, the occasional Unix to command, some URLs, etc...

This morning my Web server was out so I went ahead and composed an upcoming entry in my Page of Text. In fact, I'll finish composing this entry in Page of Text and you can play around with it here.

June 5, 2007

New Ask.com: which results are paid?

The new all-in-one Ask.com search is exciting and all, but it fails one critical test: ads look like search results. They have the exact same appearance and aren't visually separated from the search results. You can't tell the difference between the top search result and the ad because only the very first ad is marked as an ad -- the rest blend in with the top results. Sometimes there's one ad, sometimes there's more, so I personally can't tell without careful reading.

Another knock: search for 'search' and you'll see Ask.com at the top with Google's first mention midway through the second page of results, and no links directly to www.google.com.

February 2, 2007

Cordurl

Cordurl mapPaul launched with a new toy I like: Cordurl. It's like tinyurl for geographical locations. For example, http://cordurl.com/M9G-6E 'links' to a NASA Shuttle Landing Facility. Paul even integrated it with geonames so that links to related Wikipedia articles show up.

December 12, 2006

Gotuit Scenemaker: interesting idea, not ready for consumption

gotuit.jpgOnline video site Gotuit has launched their Scenemaker tool, which has a great idea behind it: allow users to "videomark" a particular portion of a video and add their own tags, title, and description. I take a lot of videos at book author events, and this would mean that I could videomark a particular quote or Q&A response instead of breaking up the source video. It also means less of the "funny part occurs 2:14 in." It's not all that different from the spirit of purple numbering, for those familiar with that effort.

However, I can't really recommend using it just yet. Maybe in the future, but not just yet. I tried to videomark one of my Neil Gaiman videos, with frustrating results. It was a bit klunky but not too terrible to select the "scene" that I wanted to clip, and it was nice to be able to just load in a video from Youtube. But then came the "and now what?" moment. I wanted to post the video somewhere so I could share my clip, but the only buttons available to me were load, edit, delete, and save. All save does is save your progress clipping the video.

Then I watched the tutorial video, which ends at the exact point where I got stuck. This is where I started saying, "what the hell?" as there these are the three big features they tout:

  1. Bookmark or "Deep Tag" Scenes Found Inside Online Videos From YouTube and Metacafe
  2. Share Only The Scenes In A Video You Want
  3. Embed The Individual Scenes on Your MySpace Page, Blog or Web Site

I was still stuck on #1. I hadn't shared or embedded yet. After skimming down their gigantic FAQ, I found the answer I wanted: I have to wait until my clip shows up in their search results, load that video, and then I get the control to post the video. Yes, you have to keep searching again and again until your clip turns up.

On top of that, their site kept logging me out and the only way I can video "my videos" is by hacking a query string. These are not insurmountable problems, but it does seem that this is a tacked on feature that hasn't really been integrated into the concept of the overall site just yet.

In case you're curious, here is the result of my little test:

October 23, 2006

Nice outdoor vacation tool

The National Park Service has a "Find a Park" page that makes it easy to browse lists of national parks by activity, proximity, or both. There are convenient pop-up descriptions that make it easy to quickly find out more about the parks you've listed.

Find a Park

Testing out blip.tv

blip.tv has a faster uploads, less limits, cleaner UI, and more geeky bells and whistles than YouTube or Google Video, but it seems to be heavily Microsoftian in video format -- that may just cancel the rest out. I'm giving it a test above to see how it works out.

October 2, 2006

A9 drops a bunch of stuff

A9 has launched a redesign which features a nice continuous scrolling feature, but their redesign always comes with heavy cutting: bye-bye A9 Maps with street photos, Amazon discount, yellow pages, history, bookmarks, diary, and toolbar. Where other services like Google and Yahoo are racing to add more, A9 has opted for less, which would be admirable if I didn't happen to like what they dropped. The A9 maps and Amazon discount were the only two reasons I ever went to a9.com. The A9 maps were a bit under featured to be killer -- they could never tell me what I was looking at -- but it did make it a useful service distinct from other mapping sites. It's difficult now to look at a9.com and see what they offer that's unique other than their own fancy UI widgets.

A9: What's New

August 16, 2006

Sharpcast Beta review

sharpcast.gifI've spent several hours checking out Sharpcast Photos and thought I'd post my initial thoughts. Sharpcast has a great syncing technology, which they've chosen to showcase by deploying a photo-sharing solution with both Web and Windows clients. You can install Sharpcast on multiple machines in order to easily share your photos between them, and you can also share albums with specific people.

This isn't quite a review because I believe that utility of Sharpcast will largely depend on business model decisions that haven't been made yet: Sharpcast is more alpha than beta, as you are limited to 2GB of storage and the future pricing and limits are unclear. Case in point, Flickr offers me 2GB/month of photo upload (at a price), which guarantees its long-term usefulness for me; Sharpcast's 2GB total is nothing more than a toy to play with for a couple of months. I understand the need to not have to build up a massive storage farm just yet, but I take over 2GB of photos at a single wedding.

"Sharpcast Photos is optimized for accessing, sharing, and backing up photos." I kept this in mind when checking it out so that my comments would be contexted to the intended product. I also kept in mind my dad and my sister, because if I'm going to share, I should be able to share with my family (Flickr is not so strong in this regard).

So, going on the three activities that Sharpcast does list -- accessing, sharing, and backing up -- I've recorded my thoughts, followed up with a list of some peeves I had with the UI along the way.

Continue reading "Sharpcast Beta review" »

July 10, 2006

co.mments.com: lots of love for SixApart

Assaf of co.mments.com has to be the most responsive developer I've ever dealt with. Awhile back I posted about liking co.mments.com, but wishing it supported MovableType 2.x blogs. Assaf stopped by saying he would have MT 2.x covered shortly, and did. This made co.mments.com useful for 99% of the blogs I visited, until SixApart launched Vox. Unsurprisingly, co.mments.com didn't work with the brand new service, but I e-mailed Assaf, and now he's implemented support for both Vox and LiveJournal. So whether I'm commenting on MovableType, Vox, LiveJournal, or Blogger, co.mments.com is letting me follow the conversation. That's great for me -- maybe not great for you ;).

May 26, 2006

30boxes: it's all coming together

30boxes.gifLast month, 30boxes added e-mail integration to their online calendar tool. You forward the e-mail to their add [at] 30boxes.com address and whatever is in the subject line is used as the "one box" event information (e.g. "Birthday Party May31 5:30pm tag birthday"). Handy and essential, but not much of a "Wow!" factor for me.

More recently, 30boxes added event mapping support. If you add a location to an event, which they make pretty easy, it will mark it on a Google Map and display the weather forecast. The map nerd in my scores this with a wow factor, even if it isn't as useful as e-mail integration. Between the two it means that you can pull up a calendar event, check the e-mail that started it, look at where the event is, and even find out what the weather will be like when you get there -- pretty much everything that I might want to check prior to an event. You can even get the same mapping support with events from your upcoming.org calendar that have location data.

30boxes has worked with upcoming.org from the start and they keep coming up with more and more features between the two that increase my usage of both. I've signed up for a Google Calendar but 30boxes has held my attention. Google Calendar is a good Google product, but it does things the Google way. In order to support public calendars, Google crawls the entire Web and gathers every calendar it can find. That's great if I quickly want to find the Redskins' football schedule, but the Google way precludes great synergistic integrations like 30boxes and upcoming.org. I'm sure the GCal + GMail integration will be fantastic, but with 30boxes is better targeted at a Web-savvy audience.

April 15, 2006

I'm a 'Director' now (YouTube)

directorYouTube just launched their 'director' program, which kills two birds with one stone. It eliminates the recently imposed 10-minute limit on videos and it also adds much better branding to your videos (one of the few things that Google Video did better). The 10-minute limit is an arbitrary limit meant to discourage the posting of copyrighted TV programs and movies. Although YouTube built part of its popularity on the availability of such content, they are trying to make nice with the TV studios and even boldly suggesting that the TV studios post content themselves.

The intent of the director program is fairly clear: make people jump through a couple extra hoops so that they feel more accountable for the content they post. In exchange, make the people feel 'cooler' by giving them a 'Director' title and providing better branding. You apply for the Director program, so presumably they at least screen the contents of the accounts they approve. It only took me a day to get approved and none of my videos are high-quality, so I think just about anyone who doesn't break the rules will get approved.

The improved branding is important. YouTube used to make it really difficult to link to your own Web site from a video, which annoyed me when I was posting MythBusters Q&A videos and couldn't even link to my blog post about the event. Now if you go to one of my videos, you can see there's even a kwc.org logo, a big red directory stamp, and a link to my blog post. You also get to specify custom "Director Details" fields with a particular video: Video URL, Custom Field #1, #2, and #3. As an example of a custom field, they mention 'price,' which presumably you would use if you were selling the full video elsewhere. The custom fields appear in the same upper right box as your director logo.

April 5, 2006

Why relate?

Google recently launched Google related links to compete with Yahoo's Y!Q for publishers. Both provide you an automated mechanism for inserting "related" links into your own Web site. I don't get it. Let me start off with an example of a human-authored attempt to incorporate related links (from Wikipedia's April 1, 2006 article, but just about any Wikipedia article will do):

Slashdot incorporated a pink "OMG!!! Ponies!!!" theme [1] at 00:00 UTC. This girlish theme is in stark contrast for a techie website believed to be mostly frequented by male nerds.

The only related links in that sentence important to understanding the subject (link "[1]") were Slashdot and OMG, but there are plenty of other 'related' links to Wikipedia entries about pink, girlish, male, nerds, contrast and Web sites -- great if your goal is to spend three hours on Wikipedia exploring the interconnectedness of entries, but not much more.

A link is a way for someone to leave your page. With either Google Related or Y!Q, you, as a publisher, are saying that you want to insert more ways for a visitor to get the heck out, that the fire marshal has directed visitors to proceed to the nearest related link safety exit in a calm and collected manner.

I use a more profitable system for saying, "Get the heck out": ads. A large percentage of the entries on this site are crap or have only short-term relevance. My entry about Bootcamp won't matter for long, but many more people will read it a year from now because of search engines. I'm too lazy to keep older blog entries relevant and I don't want to delete part of my historical record, so I review older entries from time to time and place my ad exit signs if I think that the entry won't age well... or if I think I can make a buck :).

Ads are just as crappy as related links, but older entries are mostly compost and you can't really crap on crap. At least Google is better incentivized to make ads more relevant. As a publisher, masking the smell with a Google Adsense check helps and there is one good that comes of it all: you can buy fancy new toys to blog about ;).

February 15, 2006

Almost useful Caltrain site

iamcaltrain is an attractive mashup of Yahoo maps, Flickr, and the Caltrain schedule. I've posted my own Caltrain hacks before (Caltrain vis, Caltrain tags), so anything that makes my commute easier is bound to catch my attention. iamcaltrain almost did it, but it needs a couple of tweaks:

  • I can get a station-to-station schedule, but I can't bookmark it
  • Reloading clears the schedule I'm looking at
  • Bug: To get from Mountain View to Menlo Park leaving right now it gave me the option of taking the next train to Menlo Park (15 minutes) or taking the same train all the way to San Bruno and catch a train back (1 hour 24 minutes).
  • Bug: If I type the name of a station in the start or end boxes, it assumes I'm typing an address

February 6, 2006

30 Boxes: immediate wow

30boxes.gifAfter hitting refresh all day, I finally managed to get a beta account on 30 boxes, which is a Web calendar with fancy features like:

  • a text box at the top where you can quickly add events like "Tour of California Feb 19-26" or "kwc's Birthday Oct 31 repeat yearly". I've found this box to be much, much faster after a 10 second learning curve.
  • overlay your local weather on top of your calendar.
  • little touches, like giving you a link to check your Gmail in order to retrieve your signup confirmation and getting a user icon from Flickr if you give it your Flickr account name.
  • export to iCal so that you can view it in iCalendar, Sunbird, or other apps
  • subscribe to your upcoming.org profile.
  • share your calendar with friends (anyone else feel like signing up? let me know)
  • uncluttered display: the calendar takes up your whole browser window

I've only been using it 15 minutes and I'm gearing up to switch over from my Yahoo! Calendar. Every other "Web 2.0" calendar site I've tried in the past (at current count, about three) has failed to immediately impress or convince me that it is in anyway better than the good ole' Yahoo klunker. I'm a little hesistant to jump ship so quickly. The last technology that convinced me to leave Yahoo! behind was Gmail, so it's been quite awhile since I've had to deal with the ramifications of having my personal workflow moved from one system to another. It appears that they may be in need of a little more polish before I'm ready to migrate, but given all the little touches in there so far it seems that whoever is in charge of their development will get it polished up nice and shiny.

December 15, 2005

Busy break

To all of you out there that are hecka busy with work like me: we all deserve a break for Cute Overload!.

December 3, 2005

Good design - Weber

I just used the Weber Web site to order some replacement parts for a grill and I have to say I was impressed enough to write this short review. The highlights:

  • They have a simple pictoral guide to help you figure out what model you have.
  • You're also given the choice of ordering the replacement part online or finding a nearby dealer.
  • When you click on an individual dealer it shows what they models of grills they carry.

November 15, 2005

Amazon adds tagging

You can now tag products on Amazon -- I've already tagged some of the ink cartridge supplies my printer uses so I can find those pages again easily. I see this feature being useful as both a bookmark manager to find a product again at a later time and a discovery feature to help me find accessories or similar items. Amazon doesn't have a good way of finding supplies for my PIXMA ip4000R printer, but one PIXMA ip4000R owner tags their supplies then I'll have an easy way to search using tags.

Unfortunately Amazon deployed the current tagging feature in a non-commital manner. The tagging interface doesn't always show up for products and it's currently difficult to search for products based on tags. It also takes three clicks from the homepage to find the page that lets you manage your tags (__'s Home, Your Amazon Home, Manage Your Tags). I'm cautiously optimistic.

FYI, you can search for products with a particular tag like so:

http://www.amazon.com/gp/tagging/glance/yourtag/

For example, http://www.amazon.com/gp/tagging/glance/printer/

It's a bit obtuse but it saves a bunch of clicking.

November 14, 2005

$10 dressup at Threadless

The $10 sale at Threadless started today. Too bad I'd already ordered my You Are What You Eat and Pandamonium shirts. Of course, with all good sales come the lines -- cheap t-shirts require great patience.

November 4, 2005

Yahoo Maps (beta) and Local Events

The Local Events Browser mashup is a nice demo of the new Yahoo Maps beta. It helped me find out about the "Gross, Gruesome, and Gothic" exhibit (10/1 - 3/12) over at the Cartoon Art Museum (I keep meaning to go there sometime). It is also a good visualization of how lame Peninsula life can be: zoom out a bit and the Peninsula looks like the eye of the hurricane, the perfect nothing calm surrounded by the torrent of SF, Berkeley, Oakland, and even San Jose.

September 28, 2005

Rzoto beta

Josh Tyler, creator of Helio-Courier and ChameleonReader (nice RSS reader layered on top of Bloglines that I use) has taken another stab at RSS reading with his latest project, Rzoto. Rzoto is a Firefox plugin that examines the sites you read to see whether or not there are feeds associated with them. It builds a page that lists the discovered feeds and does some smart sorting. Rzoto is now in its beta phase and Josh needs some users to get feedback.

For those of you that don't understand RSS/ feeds/Atom/aggregators, or just don't like the process of tracking down a feed and manually subscribing to it, you might want to give it a shot to see if it can save you time checking Web sites for updates.

You should give it a shot even if already have a reader setup -- Rzoto does all the work for you so it doesn't require any extra effort. You'll probably find some feeds that you didn't realize existed before.

September 20, 2005

Food thoughts

Wandering the Yahoo! cafeteria, it seems to be a less cool Google cafeteria. The Y! cafeteria has some nice things, but you get them for free at Google.

They were out of coffee.

September 15, 2005

A search with no 'enter'

Yahoo has launched Instant Search, it's attempt to one-up Google Suggest. Instead of trying to autocomplete your search terms for you, the top search result appears for you as you type, i.e. you don't hit enter or click 'search.' I can see this approach solving a lot of usability problems for Web search for the average user (where average user is probably not someone reading this blog). According to Nielsen, 40% of the search population is not search literate, which he demonstrated by showing a video of an example user in this 40% attempting to do a search query. The number of different ways other than the correct way the user tried was impressive, though understandable.

The elimination of one the search steps should be beneficial to the 40% crowd. Also, this could be merged with a Google Suggest-like autocomplete -- the autocomplete to speed text entry and reduce spelling errors, and the instant search to eliminate problems with clicking the correct button or typing the correct key.

As currently implemented, though, the Y! Instant Search isn't ready to help that many people. The number of queries for which there is an actually instant search result is very small, so small that you have to adapt their examples searches to figure what works. I see this as a big impediment to my general use because the instant search is just slow enough that it's hard to tell whether the instant search is still being fetched or there is no instant search result. Also, I find the general Yahoo! Search results page (the page you get if you do click 'search') extremely annoying. On my laptop screen the top search result isn't even fully visible without scrolling down due to all the ads at the top. A search engine that places most of its results 'below the fold' is rather worthless.

August 1, 2005

Gender swapping, easily

Here's a fun little tool to occupy your bored time: regender. It swaps male and female terms in a Web page. Sometimes the effect is barely noticeable, but in the case of Wikipedia's Masculinism and Feminism entries it's A Whole New World. Other pages I found interesting: * horizonline's review/quotes from Baudolino * honeyfield's entry on womens' rights to abortion * meta's entry on Kids, Girls, and Communication tech * Bush's speech announcing John Roberts, or Bush addressing the National Boy Scout Jamboree (via danah boyd)

July 29, 2005

destagnation of feeds

josh and I were discussing at lunch how your list of feeds can start to stagnate. You get a fixed list of blogs you read and you can go through periods where you stop exploring for new content. It's kind of like when you have TiVo and you stop watching as many new programs.

To counteract this, here's a list of feeds I've more recently started reading for my entertainment:

July 25, 2005

Amazon Recommendations

amazon.qtip.JPG

July 14, 2005

Protective Tour Googles

Courtesy of Hogue, I now have this greasemonkey script to shield my eyes from inadvertent Tour revelations. I've pasted the code below for those who may find themselves in similar situations requiring selective news display.

As for real world news filters, Team Uni is doing a great job protecting me already. At dinner tonight parakkum told me to keep my eyes on my plate and not look up -- Stage 11 was on TV. The alarm was unnecessary as I'd seen Stage 11 this morning, but it shows that the team is on form today and ready to go.

// ==UserScript==
// @name No Tour
// @description pop up an alert on any page containing Tour de France info
// @include *
// ==/UserScript==

var badness = new Array(6);
badness[0] = 'armstrong';
badness[1] = 'tour de france';
badness[2] = 'cycling';
badness[3] = 'yellow jersey';
badness[4] = 'lance';
badness[5] = 'tdf';

function check() {
	var body = document.getElementsByTagName('body')[0].innerHTML.toLowerCase();
	for (var i = 0; i < badness.length; i++) {
		var index = body.indexOf(badness[i]);
		if (index > 0) {
			var temp = document.getElementsByTagName('body')[0].innerHTML;
			document.getElementsByTagName('body')[0].innerHTML = '<div 

align="center"><h1>SHIELD YOUR EYES</h1></div>';
			alert("The goggles, they do nothing!");
			alert(badness[i]+" is mentioned on this page");
			document.getElementsByTagName('body')[0].innerHTML = temp;
			return;
		}
	}
}

window.addEventListener('load', check, true);

July 7, 2005

Great Internet Business Model

Threadless has one of the best Internet business models I've ever seen, and it's fun!

Threadless sells t-shirts that are entirely managed through a community process:

  1. Community submits designs
  2. Community votes on best designs
  3. Best designs become t-shirts
  4. Community submits photos of themselves posing in t-shirt to post in catalog
  5. T-shirts sell out
  6. Visitors can request reprints of soldout shirts. If enough reprints are requested for a particular size, the shirt is reprinted.

As far as I can tell, this pretty much means that they can produce great t-shirts with little design overhead and very little inventory. They're guaranteed to sell a good supply of the initial stock, so their prices are competitive ($15, sometimes on sale for $10). The quality of the t-shirts is much higher than CafePress, and they even remove the annoying tag and silkscreen in the name of the t-shirt and washing instructions instead.

As for street cred, a Threadless t-shirt was responsible for the infamous New York Times goatse hack.

I've already got myself two Threadless t-shirts. There will be a lot more if the reprint requests go through:

shirt shirt

July 6, 2005

Fun tools and resources

Gmaps Pedometer: a great Google Maps hack that lets figure just how long that bike ride to work is and even send that route as a link to friends.

NumSum: for those simpler spreadsheets that don't need Excel (i.e. all of them).

Five Ingredient Recipes: when cooking for myself I try not to exceed three steps in my cooking process, which includes unwrapping the package to stick it in the microwave. Five ingredients implies at least five steps, but I may be willing to sacrifice.

Rapid Afterimage: this optical illusion still throws me.

July 2, 2005

Site loyalty

wombat posted about an entry about site loyalty, listing the software he uses in various categories and also discussing the loyalty inherent in that particular category. I was originally going to parallel his entry and list the software that I am currently using, but instead I turned this into an entry on how to take current Web services and increase site loyalty and value, with a main focus on how I believe that history is becoming the next big thing in Web services, along with three examples of how current services might evolve.

Site loyalty is ultimately determined by the value of the data that it stores and delivers. The sites that I use are the sites that have the highest value of data (e.g. Flickr, del.icio.us, Gmail, Chameleon/Bloglines), and recent trends in Web services have increased both the value of data and rate at which it can be acquired. Some examples:

  • Tagging: Tagging layers data upon data. The addition of a tag to a photo adds categorization information to that photo and it also links that photo to other's that have the same tag, including photos taken by other people. Therefore, a single photo includes its own data, as well as the means for finding other photos of a similar quality and people with similar interests. Good tagging services have features to suggest and autocomplete tags, which increase the speed and amount of tagging.
  • Search: The search space used to be a zero-switch-cost arena. Google conquered Altavista, and Microsoft and others were full of the belief that they could supplant Google with superior search technology. I think this current crop of competitors is wrong, mainly because the search engine space is now different. Both Google and Yahoo are adding in features that collect and store your data, making you more loyal to their service. They also have the ability to tie a single search box to the multiple sources of data that they are collecting. The latest is search history and 'personalized' search, which collect data without requiring any additional interaction. Add to that e-mail, desktop search, and blogs and the search box has a memory of where your data is and how you want it.

The most important data that I think that services will start collecting is history. I've already mentioned how Google and Yahoo are collecting search history, but there's also Amazon, which perhaps has been the leader in collecting and reguritating it's knowledge of your use of the service. Amazon's recommendation wizard, based on my purchase history, is one of the main reasons I continue to use the service. The current generation of social bookmarking services (Spurl, My Web 2.0) offer the ability to automatically save a version of the page you are bookmarking, creating your own miniature version of the Wayback Machine just in case that old bookmark gives you a 404 or the page is modified.

History hasn't taken over the Web yet, maybe because of privacy concerns, but here are three examples in three different categories of how I think the Web could evolve to use history:

  1. RSS Aggregators: every RSS aggregator should keep track of every link that you click. Although I can always easily bookmark a link, there are far too many cases in which a page I read becomes important long after I've closed the browser window. A time-indexed, feed-indexed, searchable history of links I've clicked would be an invaluable tool for recovering that lost link.
  2. Event organization/calendars: Event organization tools (e.g. evite) and online calendars view events as things that will occur, completely ignoring things that have occurred. One of my main reasons for sticking with Yahoo Calendar is that it has a detailed record of most of my major activities; it is a sparse journal of my life. Similarly, evite pages, which are the focus of attention prior to an event, are completely ignored after an event. Yet, the evite page has many things going for it: people that went to the event have the link, and it provides the means of contacting everyone who did attend the event. Many of the events I attend end with an exchange of e-mail addresses, followed by the exchanging of photos several days later. If the evite page faciliated this post-event process, it could become a record of events that you have attended, mixing the traits of social calendars with that of journals.
  3. News sites: The New York Times requires you to login to view any article on its site. Therefore, it knows every article that you read. Imagine that the end of the year is coming up and the Times is putting out its "Year in Review" articles. In addition to these articles, they could offer loyal readers a "Personalized Year in Review," based on the articles that you clicked on and read. Every day of the year you would know what happened, as judged by your own interpretation of news-worthiness. Of course, there's no reason to limit this feature to an annual review.

June 29, 2005

Yahoo's retort to my previous post

A day after I posted about Google's personalized search launch, I now find myself demo-ing Yahoo's "My Web 2.0 BETA"* (the logo for which tips its hat to the Flickr folks).

In terms of features, Yahoo's response is to see Google's personalization + search history and add in social bookmarking (del.icio.us-like) and social networks (Yahoo 360). This is an impressive array of functionality, but does an impressive feature list make for an impressive experience? Review in the extended.

Continue reading "Yahoo's retort to my previous post" »

June 22, 2005

I am Walmart

Some friends and I pitched in for an Amazon Prime upgrade a couple months back and it's completely changed my shopping habits. Instead of browsing around trying to choose $20 worth of items to buy so I can get free shipping, I treat Amazon like a just-in-time supply delivery system. If my photo printer tells me it's running low on yellow ink, I quickly log into Amazon, order the $10 cartridge with free 2-day shipping, and by the time the ink is dry and new cartridge is waiting for me at my door. For gift buying, I can ensure precision gift delivery with the 2-day shipping, or overnight for an extra $4 when I'm really doing "just-in-time" shopping.

The resupply isn't quite perfect yet. Today I had to go to Home Depot to pick up replacement bulbs and a new light switch. It would be nice to envision a future in which, via RFID or by taking a photo of the item, I could save myself the effort of combing Home Depot's aisles and instead have the replacement parts waiting for me on my doorstep, delivered by my just-in-time Amazon supplier.

June 9, 2005

We interrupt this Internet hiatus...

...to bring you a message of pro-Internet goodness.

I just tried to book a room at a hotel and they wanted $130/night. I went onto hotwire, selected a hotel that was $70/night (hotwire doesn't tell you the name of the hotel), and ended up booking the exact same hotel.

update: credit for saving me $60 goes to susanne, who suggested hotwire in the first place

May 20, 2005

Greasemonkey-ing around

I finally started having fun with Greasemonkey. Greasemonkey is a tool for Firefox that lets people write their own little programs on top of any Web site. There are various scripts to clean up site annoyances, such as scripts to remove CNN's ad columns or scripts to remove posts by Xeni on BoingBoing, but the type of scripts that have tipped me into using Greasemonkey are the time savers: autocomplete for Del.icio.us and a hack for This American Life that switches links to the downloadable (instead of streaming) audio.

I never looked at an actual Greasemonkey script until today when mfkenney posted a script to the Flickr Hacks group. His script modifies Flickr photo pages so that clicking on the photo title pulls up a menu that lets you click to the thumbnail/small/medium/large/original photo .jpg versions -- without this script you have to click through two or three pages to get the same result (link to script). mfkenney released it under GPL so I made a quick (1 minute) modification to the script that links to the "photo zoom" page instead (the photo zoom page provides HTML for posting the photo into a blog entry): Modified FlickrAllSizes script.

NOTE: To use either of these scripts you'll need Firefox, and you'll have to install Greasemonkey. You can then come back to this page, right click on the link, and select "Install User Script."

May 1, 2005

Backpack: way cool, way too much $$$

Update: (5/2/05) Backpack has upped it's limits since I originally wrote this entry. Free accounts now get 5 pages (up from 3) and the $5/month account get 20 pages (up from 15). They also increased the storage for the $5/month account from 25MB to 40MB. In the entry below I've indicated some of these changes, but it seems silly to have little "(update: )" or strike notations everywhere, especially when these changes don't really change the way I feel about their pricing. The most important limit to me is "20 pages." How useful would a Wiki that could only store 20 pages be? How useful would a blog with 20 entries be? The feature I like about Backpack is that it makes it easy to create content. Their pricing stands in opposition to these potential uses and only makes sense if they are targetting this at business users that can afford the extra $$$ for higher limits -- but why target business users when you already have Basecamp?

original entry follows...

I've been playing a bit more with Backpack -- it combines much of the free-flow composition of Wiki with the ease-of-use and power of structured data (e.g. todo lists). When they release it to the public it might become a very useful 'application' for me and my friends to plan events together, but...

...we're not going to be able to plan that many events with it because the free account only gives you 3 pages total (update: 5), and the non-free plans are way too friggin' expensive. And by 'way', I mean WAY.

As a pricing reference point, I would compare it to Flickr, which I use constantly and have a two-year Pro account for.

FlickrBackpack
$25/year$60/year*
2GB/month25MB total (now 50MB)
Unlimited photosets15 pages (now 20)

* This pricing is based on Backpack's basic account (cheapest non-free account).

It's just not even in the same ballpark. Even when Flickr cost $40/year (pre-Yahoo), it was still a bargain compared to Backpack.

The 15-page limit is especially egregious. I can begin to understand