Here at last is my presentation from Web 2.0, which I've been criminally remiss in posting. It's live now because of L.M. Orchard's marvelous Firefox Download Day Mega Widget, which uses some of the techniques.
If you're reading this, chances are pretty good you have an online profile. Unless you're fantastically self-disciplined and all of your profile information is served by a single FOAF object which lives on a server in your basement--in which case you're a virtual hermit--there are several branches of "you" out there already, all constantly trying to strangle each other in the endless quest for search rankings and mindshare.
That last is most important. For a while now I've been hearing about various "data portability" initiatives, most of which will only allow you to make a copy of some small subset of the current state of your profile. Everything else--including historic transactions and top-secret personal information--remains online, per the terms of the TOS you ignored when you first joined up.
Remember, if you can't delete it, it's not portable.
I've been interested in FOAF for a long time. Abstracting out all my social relationships into a separate layer, just as I do with my presentation and behavior layers, really resonates. Future possibilities like being able to point marketers at my FOAF object so they will quit wasting their time trying to sell me timeshares seems like a very real possibility.
What changed today? MyBlogLog rolled out FOAF. And now, finally, I don't have to worry about keeping a file on my Web site. All I need to do is add people and services to my network on MyBlogLog, and it's taken care of for me.
This morning, the Pipes team launched a new feature, Pipe Badges. Using several of the ideas collected in Case-Hardened JavaScript, Pipe Badges allow the site operator to include a single line of JavaScript, hosted by Pipes, and see one of three handy badges--list, image, or map view--pop up instantly.
Over the past few months I've published articles documenting an extremely trivial weakness that allows any third-party operator to determine if its users are signed in to several well-known Web services. This is pretty clearly information that ought not to be shared; even if it's not explicitly stated in the service's terms of service, it's expected by the public.
Here's a toolbar bookmarklet that looks for a MyBlogLog identifier on the page you're on, and uses the MyBlogLog API to dig out information about its reader roll. You can try it here, or drag it to your bookmarks toolbar and run it anywhere else on the Web.
After much hard work, the team at MyBlogLog and the Yahoo! Developer Network--including but definitely not limited to Todd Sampson, Ian Kennedy, J.R. Conlin, and the one and only Chris Goffinet--have released the MyBlogLog API into limited public beta.
Suddenly there's a wide-open source of information about who lives where on the Web. With a minimum of fuss it would be easy to go grab a Twitter status, del.icio.us bookmark set, or Flickr feed for anybody listed below and slot it neatly into place, and that's just the beginning.
Think of it as a small-scale Sudoku board with a twist: you must place pieces on the board in the order that they're given to you. If you make an illegal move, by duplicating a color in any row or column, the move you made will stay while enough of the previous moves (row, column, or sub-board) will drop out and return to the end of the line. This may turn out to be smart strategy, depending on the layout you're faced with. To try this out on your iPhone or iPod Touch, visit http://kentbrewster.com/glint
Here's a list of notes-to-myself about hacking the iPod Touch. I'm posting it here in the hope that it may be useful to other owners, who are happy with their new toys but can't help thinking that there might be more fun to be had.
We're into the New Year, and not a word from Mr. Boyd besides the demand that I take this down. While I understand some folks would like more detail, it won't be posted here. Unless you're the sort of person who thinks "she pissed me off" is a good reason for a man to sucker-punch a woman, details are not important.
Back late last night from Defrag, which I hope to attend again next year. It's been noted elsewhere that most speakers at the conference repeated several main themes; this seems true to me. In this post is a long list of highlights, sorted in alphabetical order, which seems as good as any.
If you're like me and you prefer the "classic" Windows start menu and task bar--flat gray, minimal distraction, not so Teletubbies-looking--you may have already noticed that there's no easy way to tell the Classic version not to track and show your recently opened documents.
Had a bit of trouble today: one of Vickie's two-gig thumb drives went catatonic. All Windows could come up with was the scary message that the disk in drive E wasn't formatted, and did she want to format it now? (Answer: nooooooo!) After a bit of investigation--the usual stuff: reboot, pray, try it on several machines, sacrifice a chicken--we came to the conclusion that the thing's file system had broken. To the rescue: Christophe Grenier's TestDisk/PhotoRec suite, at http://cgsecurity.org.
Back from a week-long jaunt to the heartland: to Chicago, for Adobe MAX, and thence to Champaign-Urbana, for a lecture to Mike Woodley's class and the kick-off event for the UIUC chapter of Yahoo!'s University Hack Day.
In which our friends Structure, Presentation, and Behavior go on a New Adventure, outside the browser window....
Implementing the del.icio.us tagometer badge on the new site clashed with my main goal for the redesign: it had to be as fast as possible. So I cracked into it this afternoon, and wound up with a single 6k script that works, and does nothing to my YSlow score, which is currently a 96% on pages that don't have a bunch of external includes. (Bonus: there's even a way to recreate the del.icio.us logo without loading an image!)
A week or so back, Amazon released their Widgets page, which seems to be a corral for many existing widgets and services, plus some neat-looking new ones. What's most interesting to me is that the cool new toys all seem to be in HTML, and not Flash. Amazon seems to be going after a smaller, more-capable crowd (bloggers, hackers, small business operators) and not the denizens of the MySpace/Facebook walled gardens.
Because of the way Answers is set up, high-level users--and by "high-level," I mean "anybody level 3 and above"--are not powerful because of what they know, but because of the frequency and tone with which they communicate what they know. They're on the service a lot. They answer questions quickly and accurately. And they have high status because they write graceful, easy-to-digest answers that don't make the person who was brave enough to ask the question feel stupid for having done so in public. These folks are volunteer evangelists for whatever product or site they recommend ... and they are easy to find, using the Answers API.
I'm doing my best to bring all the old posts, content, and comments over, and have added something new. Here and there you'll spot a closed norgie next to a purplish headline, indicating that there's something behind the curtain that you might or might not want to see. In this case, it's the nerdish details of how the new site works. (Or, in the words of the folk singer: "I've suffered for my art; now it's your turn.")
Creating properly-sized vertical dividers between columns seems like it ought to be easy. It is, if you're using tables for layout: you bang out a couple of cells, put a border-right on the left one, and you're done. If, on the other hand, you choose to write standards-compliant HTML, you're heading down a harder road.
Recently I found myself in the position of needing to code a series of syndicated Web badges. To guarantee that they ran as consistently as possible, I started looking for ways to create stylesheets with JavaScript, instead of having to do an additional HTTP request, and--assuming the stylesheet actually loaded--worry about the possibility that my selectors could be overridden by an additional set of rules loaded somewhere else on the page.
A second case-hardened JavaScript badge. This one takes a Digg category (or a group of them, or none at all) and builds a full-featured search badge. Cute stuff abounds: mouse over the story to see details, the user to see profile, and the vote count to see the category and optionally add it to your list.
A case-hardened JavaScript badge. Grabs the Twitter feed for the ID of your choice; massages it into a neat little badge; allows continued interaction with your friends and their feeds.
Everybody likes a nice little Web badge. Here's a set of methods that will allow you to build and serve darn-near-bullet-proof Web badges from your network to anywhere on the Web, so your clients won't have to do anything but include a single line of JavaScript.