Lazycoder

30Jan/060

How to make tagging useful

Backup Brain: “Tags Don’t Work”

There’s been a lot of discussion here about tags, and I’m being the heretic by simply saying that tags don’t work. Here’s a quick demo to show what I mean:

Technorati Tag: Mac OS X
Technorati Tag: macosx
Technorati Tag: OSX
Technorati Tag: Apple
Technorati Tag: Mac
Technorati Tag: OS X
Technorati Tag: os-x
Technorati Tag: mac-os-x
Technorati Tag: Macintosh
Nine different searches, nine different sets of results; but all of them are, at their heart, looking for the exact same thing. That’s not working, by any meaning I know for the word.

Dori Smith, whom you should invite to your web tech conferences, makes a great point about tags. Back at the Seattle Mind camp during Chris Pirillo’s Gada.be session, a discussion about tags and search came up. I mentioned that tags are useless primarily because the context and meaning of the tag varies from user to user. So you’re only option is to either standardize, which is almost impossible. See, despite the fact that Dori and I might both tag a picture or a link with the tag “OS X”, why we are tagging the picture will probably not be the same. I may tag a screenshot of the new Leopard release of OS X with “OS X” so that I can find it later, but I might also tag a picture of a developer friend of mine who works at Apple with “OS X” because that’s what he works on. Anyone other than me looking at the person tagged with “OS X” might not be able to figure out why he’s tagged with that name. Which ends up contributing to the overall noise in the search results for a the tag “OS X”. But the tag means a lot to me.

My point at the SMC was that tags are only useful in an extremely local context. My example was I wanted to be able to tag links in an OPML file, giving each link a certain context. For example, if I were tagging a link to Dori’s weblog, I might use the tags “Javascript Expert” or “Dashboard”. Then I would use a local application that would search through my OPML file, and the contents of the RSS feeds for each link. The query might look something like this:

“keyword:XmlHttpRequest tags:Javascript Expert source:http://www.lazycoder.com/mySources.opml”

What this allows me to do is search a list of feeds that I’m interested in, not just the entire web, but limit the context of my search to RSS feeds with the tag context. So I’m only searching through RSS feeds by people I consider to be Javascript Experts. Do I miss out on some potentially rich sources by limiting my search to sources I’m already aware of? Yes, but I gain a tighter focus IMO. You can always expand the search to the entire web using Google/MSN/Yahoo/Technorati if you want. You wouldn’t even have to write a secondary interface. A few search engines allow you to get the results back in RSS format. Just create a search for terms you are interested in and tag the results RSS result feed appropriately. It won’t always be perfect, but at least it allows you to define what you consider an “authority”.

Which brings me to how I use tags. I use Flickr and tags within Flickr to make it easier for me to group like photos. to be honest, I could give a damn if anyone else can make sense of my photos. I took a bunch of photos recently at Whidbey Island last spring, guess what I tagged them with? “Whidbey”. The code name for the latest version of Visual Studio was “Whidbey”. Guess what people subscribing to a Flickr ‘Whidbey” tag feed got instead of screenshots of Microsofts latest IDE? My pictures of pretty flowers and scenery. Does that make me a bad tagging citizen? Probably. Do I care? No, I can find all the pictures I’ve taken at Whidbey Island quickly. Same with my Delicious links. I don’t really care about the social aspect, tagging is useful beyond just the social, community building aspect. It’s a simple, and easy for users to understand, way to group data together using metadata.

Filed under: Technology No Comments
30Jan/060

When a cache isn’t a cache

K. Scott Allen : Wierd Caching: “but don’t forget the cache itself can ‘automatically remove seldom used or unimportant items’.”

So I’m peacefully reading through my RSS feeds and I read this post by K. Scott Allen. I don’t see the bug at first, I’m thinking it has something to do with threading and ask about using a lock on the item being retrieved from the cache. Scott replies with the above statement. I thought, “That’s odd. It’s not really a cache then. It’s more like a slot machine.”

I’ve always taken for granted that items I place in the cache will be there when I come back, unless the cache is invalidated or some code in another thread comes in and removes it.

(sigh) Once again, I’ve lost my innocence.

I’m sure that the cache doesn’t remove items without good reason, like maybe all of the references to the item are gone. But it still gives me a little pause.

Filed under: .NET No Comments
30Jan/060

You can’t ever find all the bugs

Coding Horror: Not All Bugs Are Worth Fixing

Jeff Atwood has a great post where he talks about bug triaging.

“But for everything else, there’s a serious problem: testers aren’t real users. I’d give a bug from a customer ten times the weight of a bug reported by a tester.”

later in the comments:

“I didn’t get into it in the post, but the ‘how do you define *bug*?’ question always comes up at some point.”

Between these two statements , one unspoken point jumps out at me.

You can’t believe that your testers have found ALL of the bugs. One reason is that testers “aren’t real users”. They don’t use the application in the same way a user does. You can’t always guarantee that your application will be run under ideal conditions. Anytime someone tells me that they have zero unresolved bugs in their database, I tell them, “Just wait a bit. It’ll fill up.”

The second reason is that what a user considers a “bug” isn’t necessarily what you and your tester consider to be a “bug”. You might end up grouping it into a “feature request” or “edge case”, but that doesn’t make it any less of a bug to your user.

re:edge cases – I never classify people as edge cases during bug triage or design meetings. Usually if you do that, the person in question gets very defensive and you waste a lot of energy discussing how very important they are and how extremely vital their feature/bug is rather than focusing on the bug or feature. This happens when people emotionally invest in their bugs or features. they become a part of their sense of self and identity. (he said after having squeaked by with a ‘B’ in Psych 101). Sometimes, they only thing more emotionally charged than a bug triage meeting is a code review.

14Jan/066

Vista vs OS X is not important

“Vista Re-Introduced (as OSX)” vs. “Developers, Developer, Developers..”

: “But this stings a bit… Three short videos of from Bill Gates’ Windows Vista demonstration at CES. Well, it’s Bill’s voice, but the video has been replaced with demonstrations of the same features on Mac OSX, which was released back in 2002.”

Vista Could Be So Much Better:

“From reading other blogs, it seems many developers are unimpressed with the sheen of Windows Vista, the next version of the Microsoft operating system. “

I’ve seen the videos that Jon is referring too, they are pretty funny. Not all of the features shown were in the version of OS X that was released in 2002. In fact, most of them (Dashboard, Spotlight to name two) weren’t available until Tiger. The live previews and Expose have been around for a while. When you use OS X, these features get so ingrained into your workflow that you start to hit the keystrokes no matter what system you are currently working on. I’m always hitting F10 on my WinXP Pro machine at work and expecting it to do something. I know there are third-party apps out there that simulate Expose on Windows, I’ve tried them. They run like 2 legged dogs compared to the real thing. It’s just not the same.

See, it doesn’t matter what features are in OS X or in Vista. It doesn’t matter if Microsoft demoed desktop metadata search before Spotlight was ever announced. It doesn’t matter if “Aeroglass” looks better than “Quartz”.

Microsoft’s biggest enemy is itself. Even if Apple did copy Spotlight from Microsoft, Apple shipped it first. I know it’s “hard to turn the battleship”. The users don’t care. I don’t care. I know you have to test every new feature against every language in the world. I don’t care. The users don’t care. If you are second to market with a feature, you look like you are lagging. Even if internally you conceived the feature years before your competitor. You look like a copycat. Microsoft needs to change it’s shipping mindset. It needs to be able to turn around features faster. Apple users buy a new version of their OS for $129 almost every year? Why? Each version has new features in it. For both developers and end users. 10.0 brought Cocoa for devs, protected memory for the users. 10.1 (Puma) brought DVD playback as well as significant performance increases. 10.2 was a biggie. Quartz Extreme, a new Finder, Rendezvous , support for Windows networks. 10.3 had Expose, iChat AV, and Filevault to name a few. 10.4 brought several “Core” technologies to the developers. Core Data and Core Imaging. Users were treated to Spotlight, the Dashboard, Smart folders, and the Automator. In that same amount of time, Microsoft has shipped 1 version of it’s flagship OS, Windows XP, to it’s users. (I know server 2003 came out too, but is your Aunt Tilly or Uncle Jed going to run server 2003 at home?). Name the big user facing improvements to Windows between Windows 2000 and Windows XP? More stability, security (well with XP SP2 at least), and the Luna theme. All of the applets, as Jon notes, have stayed about the same. Vista will add in RSS all over the place, about a year after Tiger. Still nothing about podcasting support, either creation or consumption. While Apple is shipping updates to their iLife products that enable Aunt Tilly and Uncle Jed to put our the “how to bake a pie” podcast. How many Apple users will actually USE that stuff? Probably not many, but more than if it wasn’t present and they had to cobble together a solution from third party tools.

Sure Apple has a tiny, small percentage of the market that Microsoft does. But ask yourself, who’s users are happier with their choice? Why, because even if they just care about making money it APPEARS that Apple cares more about their users. They fan their userbase like a small flame and try to grow it. They ship features that are user facing much faster than Microsoft, or almost anyone else for that matter. It’s the one thing that has impressed me the most about Apple products. The focus on the consumer and the ability to quickly turn features out to the public. That’s something Microsoft needs to work on.

Filed under: MacOS, Technology 6 Comments
11Jan/061

One of the benefits of working in medical research




PIX33.jpg

Originally uploaded by SKoon.

Great keychains.

Filed under: General 1 Comment
10Jan/061

I’ll be buying from the Apple store

Looks like I’ll be making at least one purchase from the Apple store in the near future, probably within two weeks. My freakin’ battery in my iBook has decided to roll over and die. Now I get about 45 minutes worth of use out of it between charges rather than the 2.5 hours I used to get. It’s been a quick death too, just started happening over the past couple of weeks. I’ve been ripping some movies to play on my Palm during my commute and it’s required me to leave the iBook running overnight sometimes. I wonder if the heat from the processor/charger circuits has damaged my battery? With my next battery, I won’t let it run hot like that for a long time.

Filed under: MacOS 1 Comment