Welcome to MSDN Blogs Sign in | Join | Help
Alex Barnett tagged me with the "5 things meme" some weeks back.  Here we go:

  1. I spent several weeks every summer going to cemetery conventions with my grandparents. I've heard all the jokes, this is a business of complex long term planning and sales.  One banquet in trade for a week at the beach -- good deal.  My sister and I would max out our checkouts from the library at 12 books. Those summer car rides were a significant contribution to my reading skills.
  2. My early jobs as webmaster involved a lot of search engine optimization, starting in 1996 or so, I was exploring structural markup and keyword density.
  3. I do a lot of greasemonkey prototyping behind the firewall at Microsoft.  It's a great way to demo features.  Based upon conversations with Mark Pilgrim, this happens at lots of big corporations.
  4. I grew up with 10 feet of albums and thus have a special place in my heart for old school rock'n'roll from Springsteen to Gram Parsons.  Gotta love those original Advent speakers with vinyl!
and now for the hum-dinger. 

5. I'm leaving Microsoft at the end of the week.  It's been an exciting couple of years and, to some degree, i was just getting the hang of *process* at the corporate behemoth.  The search product has come a long way in the over 2 years I've been there and there's a budding mashup/hackday effort that I was lucky to be a part of. Heck, I even got to demo a javascript hack to Bill Gates. 

That said, I want to participate more deeply in realizing whatever the future vision of common use hypertext turns out to be and I'll be returning to hacking in the commons, on Firefox, tools for user centered design, etc.  New gig in Atlanta to be disclosed shortly.

Before anyone goes blogging doom and gloom for Microsoft from personnel, with Jon Udell and an undisclosed as of yet, but distinguished Firefox extension dev starting soon, MSFT is doing ok on that front.  I'm hoping to make Jon's first week in Redmond geek dinner Thursday.

For future updates, point your aggregators to surfmind.com.
With the morning buzz on wikipedia and search, and a snowy day in Redmond, I spent a moment to craft the Live.com version of wikiseek.com with a macro, andyed.wikiout.  Try it for:
Try it out at http://search.live.com:80/macros/andyed/wikiout/

The OPML generator revealed an interesting use case -- tracking the blogosphere's opinion on specific topics or products through comment feeds.  However, this is typically not what folks want to add to their normal subscription list.  I've refined control of the return of comment feeds and added the ability to include/exclude category/tag feeds.


I've also added the ability to nest exported OPML rows in a top level category. This facilitates grouping in some news readers.  Enjoy your OPML

A couple months ago, I learned about Microsoft's official process & support for community, open source projects centered around www.codeplex.net.  At that point, the site was pretty empty, but it's turned into very active development repository. A profusion of Windows Live Writer plugins are being developed in this VS Team System derived environment.  There are also some very interesting projects:


I've got a javascript unobtrusive DHTML visualization script slated to make it's way to CodePlex, grabbing the > 200mb source client now. I've also got a few features from my client side blogging system blozom that I'd love to port to Live Writer.

It's hard to say how the environment will compare to other open source repositories I've used like sourceforge and mozdev, but the what's new RSS feed is better designed than the either of those systems at least! Check out the Codeplex RSS community with the OPML Generator.

 

One of my more fanciful macro creations as I experimented with LinkFromDomain over the last few weeks was a 7 degrees inspired hack using Seattle internet poster boy Chris Pirillo.

Macro:andyed.aintNobodyIfYouAintPirillo restricts matches to content linked by one of Pirillo's sites.  So, Scoble is still the #1 Robert, but musician Robert Burns and artist Robert Wilson take a backseat to geeks Robert Scales and Robert McLaws.

I'm not a contender for the top Andy, where Chris trades Warhol for Hertzfield, but I am in the game. Test your Pirillo connectivity with the form below (or click through from your aggregator) by entering your name and/or site in the form below.
 

Don't have a link from Chris Pirillo?

You ain't nobody

powered by Live Search

 
Vote on this macro at the gallery.

In case you couldn't tell, in microsoftie speak, I'm super excited about (advanced) search macros.  I've created about 50 macros, the best of which I selected for the macro directory on this site.  Almost all of these macros feature LinkFromDomain heavily.

Significant portions of my work experience since '96 have involved doing SEO, and I'm jazzed that the search engine community is appreciating the Live Search syntax for their assessment purposes.  However, that's mising the really interesting and important point here.

Search Macros vs Rollyo/Sites Search
Macros are often compared to Rollyo or other site bundling search offerings, but I hope the blog post describing LinkFromDomain, LinkDomain, and featuring other operators, sets the record straight.  Defining a set of sites to search is cool, and an idea well due to be commonly available. To be fair, Rollyo's UI and integration is slick, but  Micah Alpern hacked up a search of his blog, the blogs he linked to, or the web at large with a Google API hack back in 2003!

Using the link domain operators, you can go well beyond a simple set of sites.  You can:

  • keep a living list of the sites that link to you and search them
  • keep a living list of the sites you link to and search them
  • do the same for a set of trusted sites

Access to other advanced syntax differentiates further from simple site search amalgamations.  Heck, Scoble pontificated about a search engine that excluded blogs that participate in pay per post.  While I didn't figure out a way to focus this on only those PPP bloggers who don't disclose their interest, I think it's impressive that the basics can be done at all.  It's called macro:andyed.realBloggers, and uses -inbody:counttrackula.com to exclude sites that use the PPP tracking script (I think!) and hasfeed: to restrict to blogs (or other pages with syndication).

Super Hubs: DiggRank
The promise of personal networks of trust in information retrieval is not fully realized by the macros offering, but it's an important step in the right direction.  For super-hubs, like Digg or Delicious, linkFromDomain captures some really interesting human attentional residue.

Let me introduce macro:andyed.DiggRank. Try it for:

If you'd prefer to diversify from Digg, try macro:andyed.popularRank which maps from delicious, digg, stumbleupon, reddit, wink, and rojo:


This isn't just site search :)

One more example: there's a classic set of works by John Brunner that neatly fit into the cyberpunk genre, but predate the 80s rise of writers like Gibson, Sterling, and Stephenson.  My macro:andyed.cyberpunk nails the simple query John Brunner and provides the perfect background for my previous sentence. While wikipedia dominates page 1, note the diversity of domains returned on page 2 and beyond.  Only 7 domains were programmed into the macro, but they're used as jumping points to create a search set of 10,000 pages.
 

What does it do?: This app runs your query against the Live Search API with the feed: syntax, returning RSS feeds, and assembles an OPML file. You'll get the chance to choose from the results before generating the subscription list.

What is OPML?: An XML format commonly used for managing subscriptions to RSS feeds in readers known as aggregators. Typically, you'll find an import command in your aggregator where you can browse to a .opml.

What can I use it for?
  • Startup a Blog reading list: Subscribing to blogs is not as easy as it could be and can be time consuming. Bootstrap your blog subscription with this tool.
  • Subscribe to a community: By crafting a careful query, you can get an instant RSS synch with a whole community of bloggers.
  • Watch bloggers reactions: Enable comments to get specific blog post comment feeds to track what bloggers are saying about your topic of interest.

Try it out at http://surfmind.com/lab/msn/opml/

Wait until I tell you about combining this with macros!  We've just posted the official blog post describing macros V2, following up on a core developer's account from a few weeks ago.  There's still more to come.

There's another interesting extension to this technique -- creating a reading list from a search.  Reading lists are groups of RSS feeds you can subscribe to, allowing the creator of the reading list to edit the list and you to get the updated feeds automagically.  While support is limited across readers right now, it's a very cool idea.  I'm not quite ready to invite a world of aggregators to ping my server regularly to get updates; perhaps someone out there is?  The Live Search API is available!

I've written about the challenges of capitalizing on at-scale user feedback both academically and on the search blog (busted post alas, edit when fixed).  One way to listen to users is to open up your bug tracking system to the world, as done by Mozilla.org.  While this results in a great deal of information about user needs and pain points, it results in hundreds (if not thousands) of duplicates scattered around the bug database and associated component hierarchy.

We do a lot of structured feedback data collection at Microsoft, in search and across the organization, within Microsoft and in our customer's environments.  As I've worked in this space for search, some good folks over in the operating system team have taught me a few tricks. Their approach is now available to the world of Vista users at the Windows Vista Scenario Voting site.

Collecting feedback in this way has numerous advantages over plain textual feedback or structured bug reports:
  • A user doesn't have to be a programmer to put their feedback into the right place, maximizing it's chance of impact
  • Communicating key scenarios focuses users on goals the software producer is committed to supporting
  • Feedback is encouraged to target key parts of the process, speaking the user language and using recognition not recall.  That is, rather than requiring the user to remember the arbitrary "Step 4 of the network setup wizard", a plain language set of steps is provided
That last point may need a bit of elaboration.  Here's what the scenarios page lists for View a summary of the latest content from RSS feeds.

  1. Visit http://channel9.msdn.com/
  2. View the RSS feed available from the page
  3. Subscribe to it.
  4. After an RSS feed has been subscribed to, view a summary of the latest content using the mini Explorer (bar on the side of IE, found by clicking the Favorites icon.)
Feedback can then easily refer to specific steps that are causing the user's problems.  I expect gathering user reactions to and wishes for software products to be a key strategy for product success in the coming years.  Already, some hypothesize that the ease of development and feedback loops are a key determinant of the web's success.

Figure 7: There are many choices for flicks
Windows Vista offers a operating system level implementation of gestures called Flicks especially tuned for pen usage on tablets.  There's an important difference between this implementation and gesture implementations like Optimoz for firefox:  there is no explicit trigger event.   In Optimoz, we designed the recognizer to only trigger on a click, defaulting to right click but re-configurable to other mouse buttons or combinations of modifiers and mouse buttons.



Figure 8: Customize flicks

Triggering flicks is a much harder problem than working with explicit user triggers. The display to the right shows the configuration options for tweaking how sloppily the gesture recognizer allows your flicks to be.



In almost all cases, trigger free invocation, if successful, is preferable.  Notably, it enables use of gestures for scrolling, something that never worked especially well in Optimoz.



There's another notable difference that's less positive in comparison to Optimoz.  Because Vista flicks operate at the OS level, they don't have the ability of in-application implementations to access the content in the application, unless support is specifically enabled.  Given an in-browser implementation like Optimoz, we can do all sorts of interesting things in the DOM.  The best example of this is the "open dragged over links in tabs" that allows a quick open of a serious of linked sites -- especially useful for blogrolls.



I was an early dogfooder of Flicks but haven't played with the whole experience.  I plan to get Vista running on my new home tablet this weekend.  Should be fun!



For more on flicks, try my Windows Vista macro for the query flicks though if you're really into it, the results of my tablet pc macro for the query flicks are more geeky.  I haven't written much about macros and the other new bits at Live Search yet as I'm waiting for the team to introduce the new features on the live seach blog.  In the meantime, trust me: this macro thing is turning out to be very cool.

Tagged & : Technorati Profile.
Arstechnica, one of the sites that made my "techy" news macro, has posted a nice review of Vista audio enhancements.  Bass tweaking sounds great, and one feature is quite interesting from a psychological perspective:

Speaker fill

Speaker fill is a technique that is used when there are more speakers available than channels in the source music. In other words, if you have a music file that was recorded in stereo with only two channels, Speaker fill will synthesize additional channels and direct them to the appropriate speakers. It works by manipulating the channel sound in subtle ways—such as adding small delays or applying a filter—and then channeling the appropriate frequency levels to the appropriate speakers. From http://arstechnica.com/news.ars/post/20060907-7682.html, 9/7/2006 7:57:50 AM, by Jeremy Reimer

I'm not sure how well this works, but the principle sounds right. Your senses, and in fact cognition, have time limited buffers for information and have to be good at filling in the gaps. Vision has a remarkably tight high-rez view of 2 degrees with a fairly rapid refresh rate, potentially moving a tiny amount almost as fast as your tv's refresh rate but creating greater than 1/10 second "blindspots" while you make larger eye movements. So while the delay doesn't quite emulate true positioning, the mind can accomodate and integrate the sound with a likely interpretation of position.

It's been a month of heads down time getting ready for our refresh over at live.com (search). I expect to be posting with accelerating frequency as we start to really showcase our new stuff (and I get some time to look outward).
Nate put together a nice collage of some layered UI work we did back in the late 90s next to a recent ship from Apple:



The webgraphics UI allowed a user to see all 10 titles and hover in to see details.  The time explorer uses a cleaner mapping of y-axis to time, but lacks the the visibility advantages of the wbg design.

Note: I'm pretty proud of the search stack UI, notably as it was a hidden frame AJAXy implementation for IE, fresh after the introduction of innerHTML.
Wow, academic work covered by News.com; well, it is research by sone of MSR's most talented information retrieval folks and the search competitive space seems to be a media favorite. One of the works discussed by News.com explores analysis of user behavior given a strong statistical model of normal patterns.

SIGIR is this week in Seattle, so in addition to the staff presenting our dozen papers, we've got a stellar attendance from the search product team.  I'll be on the panel at the Evaluating Exploratory Search workshop later this week where I'll be talking more about modeling user behavior for system diagnosticity.
Google Blogoscoped covers a recent Matt Cutt's video session where the question of searching only personal homepages is addressed.  We also recognized this need and crafted a macro for this purpose at Live Search.  Here's what it looks like:
    prefer:intitle:""'s""  (homepage | intitle:""home"" | intitle:""'s page"" | ""my favorite"" | ""my interests"" | inurl:""~"")"

The prefer operator is a unique one to MSN/Live Search.  It affects the ranking, but is not a requirement for a page to match.  Note also the extensive use of the inurl and intitle operators.  These are quite handy; at ACM CHI this year I demoed macros and was asked if I could create a search engine for canadian college history departments.  Thirty seconds later I had an amazed audience with "inurl:.ca/history loc:CA prefer:(department | university | professor | research)"

Macros allow you to bundle up syntax like this and add them to your scope bar on live.com.  Learn more about the Live Search advanced syntax on our help page or the blog post announcing our last round of syntax additions.  Macros are only available on our beta live.com at the moment, but this will be addressed very soon.
Robert Cringely offers some interesting curmudgeoning on the recent buzz around a study that showed a longer lifetime of news articles on the web than in print.  In his words: "this news stickiness is bad, very bad, because it means we read less and ultimately learn less than we did in the past."

Here's a counter argument: the longevity of news articles is greater on the web because the story gets extended, with opinion, related points, and admittedly plenty of effects due to a less consolidated delivery to audiences.

We're still a fair way from a world where the blogosphere's consumption and "digging" of news articles produces consistent additional value over the original story, but we've known how to get there for a long time.  Conklin's work, from 20 years ago, paved the way.  I and some fellow hypertextually oriented colleagues intersected this vision with the current world of the web at JoDI.  We still need better ways to faciliate sense-making across distributed blog posts and comments, but we've come a long way from the central node oriented blogosphere of the 90s.  Techmeme's isolation of related posts is a great step.

Continuing my trend of including eye-candy, here's a bit from the historical work I'm referencing:

gIBIS notation

Figure 1: The graphical IBIS (gIBIS) notation [Conklin-1988] and an example, showing how Issues, Positions and Arguments are combined to cumulatively build graphical argument spaces.

From Buckingham Shum, S. (1998). Negotiating the Construction of Organisational Memories. In U.M. Borghoff and R. Pareschi (Ed.), Information Technology for Knowledge Management (pp. 55-78). Berlin: Springer. (First published as: Negotiating the Construction and Reconstruction of Organisational Memories. Journal of Universal Computer Science, 3 (8), 1997, pp. 899-928 [http://www.iicm.edu/jucs_3_8)

The office 12 Excel blog is one of my favorite MSDN blogs, along with Alex and the popular favorites.  The latest Excel post delves into the design process with a focus on the incremental formalization of artifacts.  I love that Microsoft's embrace of blogging allows us to offer insights into the design process in a way that's both interesting and positive for product awareness.  Here's a very cool pic from the post:




While tablet mode is a bit under-used in the search world, hand drawn flow charts and UI mockups seem to drive most of my fellow PMs to swivel and risk losing the wacom $35 pen ocassionally.
More Posts Next page »
 
Page view tracker