Doc Searls: It’s too hard to find and share the coolness of Live Maps

Investigating the location of the WUMB transmitter, Doc Searls notes that while the Live Maps bird’s eye view is awesome, it’s way too hard to find and share.

Finding: For example, if I plug 42° 15′ 27″N, 71° 01′ 44″W into maps.google.com, I go straight to a real x/y place on a map. Live Maps doesn’t know what to do with it.

That appears to be true. If you know the coordinates of a location, you can find it in Google Maps using any of these formats in the search box:

42.257500, -71.028889
42° 15′ 27″N, 71° 01′ 44″W
+42° 15' 27.00", -71° 1' 44.00"

The Live Maps search box doesn’t like any of these. You could search for Hatherly Road, Quincy MA, and find it that way, but the locator page where Doc probably found the coordinates for the transmitter doesn’t know about that address.

True, most people will search for addresses, not coordinates, but I agree with Doc here, there’s no reason not to also support searching by coordinates.

Sharing: I’d show you the Live Maps views, but there’s no way to link to them. Not that I can find, anyway.

Another fair criticism. The workaround is to click Sharing -> Send in email. This launches a mail client with a new message containing the URL:

http://maps.live.com/default.aspx?v=2&cp=r18mqy92dxp9&style=o&lvl=1&tilt=-90&dir=0&alt=-1000&scene=3327738&encType=1

It turns out that you don’t need the default.aspx, and it seems that the minimal working version of that URL is:

http://maps.live.com/?v=2&cp=r18mqy92dxp9&lvl=1&style=o

(The backstory on the URL syntax is here.)

The cp parameter is the map’s center point, and I’m not sure how Live Maps computed the r18mqy92dxp9 in the above URL, but you can also use lat/lon coordinates in decimal form, so a more human-writeable form of the URL is:

http://maps.live.com/?v=2&cp=42.257500~-71.028889&lvl=1&style=o

So it’s doable. And to Doc’s point about lock-in, I’ve done this whole exercise in Firefox on a Mac, so there’s nothing Windows-specific going on here.

But he’s right. I shouldn’t have to work so hard to find, and link you to, the very cool bird’s eye view of the WUMB transmitter.

Alf Eaton shows how to gather scientific reaction to open access scientific articles

In response to this item and its follow-on discussion, Alf Eaton shows how you can, in fact, discover the (open access) scientific commentary surrounding an (open access) scientific article. Outstanding!

Here’s the interactive version of the service. You can feed it an URL, a DOI, or a PubMed id, and it fetches conversations about that item from Postgenomic, PubMed, Connotea, and Scopus.

I took the liberty of converting this service into a bookmarklet which I’ve labeled sc (scientific conversations). It’s the analog to my standard dc bookmarklet (del.icio.us conversations) and bc bookmarklet (bloglines conversations).

WordPress won’t let me post javascript: URLs so I can’t post the installable versions of these bookmarkets, but here they are in textual form:

sc: javascript:location.href=’http://scintilla.nature.com/conversations?uri=’+encodeURIComponent(location.href)

dc: javascript:location.href=’http://del.icio.us/url?v=2&url=’+encodeURIComponent(location.href)

bc: javascript:location.href=’http://bloglines.com/search?q=Bcite:’+encodeURIComponent(location.href)

If you make a new bookmarket, edit its properties, and copy one of these javascript: thingies into the URL or Location box, you’ll be good to go.

So, this is great! Now if I’m visiting a PLoS Medicine article I can just click dc, bc, and sc to assess how both the general-interest and scientific communities are reacting to it.

Thanks Alf!

Hacking the noosphere

I was in Montreal on Saturday to give a talk at CUSEC 2008, a great conference that’s organized by Canadian software engineering students (and recent grads) who want to congregate, exchange views, and hear from speakers they think will provide useful insight.

I gave the morning keynote, and Jeff Atwood spoke in the afternoon. Our messages dovetailed in an interesting way. Jeff’s title was: “Is writing more important than programming?” As a wildly successful blogger, the influence of his own writing has eclipsed the influence of his programming. He admits that this result is “not typical,” but argues that every programmer will reap benefits from narrating the work: influence, collaboration, clarity of thought.

My title was “Hacking the Noosphere”. The themes are shared tools and data, social engineering, language, the semantic web, human augmentation, and Doug Engelbart’s vision of the true purpose of information technology.

Although I’m trying to be more extemporaneous these days, I had a lot I wanted to say, and I wanted to say it carefully, so this turned into one of those talks that I wrote out completely. The upside is that I can make it available to read.

Bloggers talk to bloggers, scientists talk to scientists

When chatter in the mainstream media and in the blogosphere intersects with scientific discourse, I’m always interested in the ways that citations do, or don’t, cross the border between those domains. In 2006, for example, while checking references for a podcast with Steve Burbeck about multicellular computing, I traced a meme about how we humans are really a hybrid of human and bacterial cells. The mainstream vector was a New York Times magazine story on obesity. It got to the blogosophere by way of a Wired News story. But the original Nature Biotechnology article mentioned in the Wired story was linked nowhere that I could find.

A comment from Gordon Mohr on yesterday’s item about Many Eyes prompted a similar analysis. Gordon asks:

…do the Many Eyes founders consider the statistical paradox that when testing large numbers of hypotheses, *most* recognized ’statistically significant’ results may in fact be false?

A good discussion of the issue is here:

http://www.marginalrevolution.com/marginalrevolution/2005/09/why_most_publis.html

To answer Gordon’s question, I don’t know, it didn’t come up in our conversation. But lets look at the conversation surrounding the PloS Medicine article cited in the blog entry to which Gordon points.

The blog entry itself was widely noticed, it has 31 del.icio.us bookmarks. What about the PloS Medicine article cited in this popular blog entry? It has only 6 del.icio.us bookmarks.

This is the URL cited by the marginalrevolution blog:

http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pubmed&pubmedid=16060722

It’s not the most canonical form of the article’s URL. A more canonical form would be the base PubMed record:

http://www.ncbi.nlm.nih.gov/pubmed/16060722

That URL has 0 del.icio.us citations. However, now we cross over into the realm of scientific discourse. When you visit that PubMed URL, you’ll discover citations in the PubMed domain:

Comment in:
PLoS Med. 2005 Aug;2(8):e272.
PLoS Med. 2005 Nov;2(11):e361.
PLoS Med. 2005 Nov;2(11):e386; author reply e398.
PLoS Med. 2005 Nov;2(11):e395.
PLoS Med. 2007 Apr;4(4):e168.

There’s another canonical form for the PloS Medicine article, by the way. It has a Digital Oject Identifier (DOI):

http://dx.doi.org/10.1371/journal.pmed.0020124

Interestingly, there is 1 del.icio.us citation for that DOI.

So, what did the PloS Medicine folks have to say about the claim in the cited August 2005 PloS Medicine article? Here’s an April 2007 reaction:

The mathematical proof offered for this in the PLoS Medicine paper shows merely that the more studies published on any subject, the higher the absolute number of false positive (and false negative) studies. It does not show what the papers’ graphs and text claim, viz, that the number of false claims will be a higher proportion of the total number of studies published (i.e., that the positive predictive value of each study decreases with increasing number of studies).

I’m not interested here in the claim and counterclaim. I’m interested in the process of discourse, in citation as the engine of that discourse, in the role that canonical identifiers play in citation, and in the disconnect between scientific and mainstream discourse.

It’s all happening on the web, but it’s happening in isolated ghettoes with few points of actual contact. How could we bring those worlds into closer contact?

Here’s one approach that could help. When the citation engines in the blogosphere find references in blog entries to scientific articles on the web, they could resolve those to their most canonical forms: DOIs, PubMed records. And they could make equivalences among those forms. That way, conversation in the blogosophere about a scientific article, and scientific conversation about the same article, would tend to hang together and would be discoverable in the same contexts.

Why does this matter? Well, the marginalrevolution blog is influential, widely cited in the blogosphere. The entry that cited the PLoS Medicine article was itself widely cited. But the PLoS Medicine reaction to the article is not part of the blog conversation. I had to work really hard to find it, and to include it here.

The conversation-tracking tools used by bloggers should discover scientific discourse related to a scientific article as easily as they discover blog discourse. Conversely, the conversation-tracking tools used by scientists should discover blog discourse as readily as scientific discourse. Public understanding of science would improve, and so would scientific understanding of the public.

A conversation with Fernanda Viégas and Martin Wattenberg about Many Eyes

For this week’s ITConversations podcast I spoke with Fernanda Viégas and Martin Wattenberg about Many Eyes, a project at the forefront of a new category called social data visualization. I was particularly interested to hear about how civic or political argumentation, which tends to devolve into posturing — especially online — might improve when it’s grounded in shared data.

Martin
I don’t think we’ve reached data analysis utopia, but there are intriguing first steps. We’ve had a couple of solid political arguments happen on the site, where someone will put up a vehemently argumentative piece, saying for example that they believe people on welfare get too much money, and they’ll point to their statistics and charts to support that. In the skirmish that follows, people often get beyond the standard red-state/blue-state divide because it is rooted in the numbers.

Of course this argumentation doesn’t happen only on the Many Eyes site. Because the visualizations are linkable and (now) embeddable, it spills over to blogs as well.

I’m also intrigued by the notion that, as more people spend more time investigating official sources of data, we’ll start to uncover problems with the quality of that data.

Fernanda
We’ve seen that people have found mistakes on official data sets from authoritative sources. And the reason they were able to do that so easily is because visualization will show you something you didn’t have time or patience to discover in a spreadsheet.

This does leave Many Eyes open to the criticism that it invites people who lack statistical expertise to draw fallacious conclusions.

Martin
We’ve certainly run into objections that visualization can be deceptive. People are afraid that visualizations will be created that are inappropriate and misleading. And in fact that’s a well-founded objection in some ways, because every visualization is a simplification of the underlying data. There’s a point of view involved, and people are suspicious of that. But my belief is we have to give people as much power as we can.

Fernanda
Also, even though we created Many Eyes for the lay person, because we felt that this was something that was needed, that there was nothing out there for people to play with in terms of interactive visualization, it seems to be powerful enough to attract scientists too.

I think that kind of cultural mashup will be really good for everyone involved. Fernanda talked about how, at one point, a user put up a visualization of the Alberto Gonzales testimony that highlighted lots of “I don’t recall” kinds of statements. An hour later, another user put up a similar visualization of Bill Clinton’s testimony about Monica Lewinsky.

Fernanda
You could see the same sorts of phrases. The really exciting part, to us, was a couple of things. One, there was a conversation going on through these visualizations. Also, people usually think of informational visualization as this neutral tool, because it is based on data. Part of what people are beginning to understand, hopefully, is that visualizations have a point of view.

.aspx considered harmful

It’s been a decade since Tim Berners-Lee wrote Hypertext Style: Cool URIs don’t change, the first contribution to what is still not a very extensive literature on designing namespaces for the web. Recently, when I made the suggestion that a blog engine ought not produce URLs that end with .aspx, I was asked: “Why does it matter?” For me it boils down to two reasons:

  1. Futureproofing
    A blog posting is, in theory, a permanent artifact. You’d like its URL to remain constant. Sometimes, of course, change is unavoidable. URLs aren’t digital object identifiers, and for most web resources, there’s no way to insulate yourself from an ownership change that results in a domain name change. But you don’t want to subject yourself to avoidable change, and file extensions fall into that category. Last year foo.asp, this year foo.aspx, next year something else, the only meaningful part of the name is foo. The technology that produces the name, never mind the version of that technology, is a variable that need not, and should not, be exposed. If links are pointing to foo.asp, and your upgraded blog engine produces foo.aspx, you broke those links. That’s unnecessary and avoidable.

  2. Style
    Names without extensions are cleaner and simpler. Why does that matter? I guess if you think of URLs as constructs generated by machines for machines, then it doesn’t, because machines don’t care about style. But I believe that even when they’re machine-generated, URLs are for people too. We read, cite, and exchange them. Their structure and content conveys meaning in ways that warrant thoughtful analysis. Elements that don’t convey meaning, and that detract from clarity, should be omitted.

The Strunk and White Elements of Style for the literary form that is the web’s namespace hasn’t really been written yet, but Tim Berners-Lee’s 1998 essay belongs in that genre. So does the Richardson and Ruby book RESTful Web Services which, as I noted in my review, recommends that URIs use forward slashes to encode hierarchy (/parent/child), commas to encode ordered siblings (/parent/child1,child2), and semicolons to encode unordered siblings (/parent/red;green). We can, and we should, think and act in principled ways about the web namespaces we create.

I guess I’m extra-sensitive to the .aspx thing now that I work for Microsoft, because I know that to folks outside the Microsoft ecosystem it screams: We don’t get the web. It’s true there are plenty of .php and other extensions floating around on the web. But non-Microsoft-powered sites are far more likely to suppress them than are Microsoft-powered sites, because you have to go out of your way to get IIS and ASP.NET to do that.

Happily, that’s changing. The URL rewriting capability that’s long been standard in Apache, and is integral to modern web frameworks like Rails and Django, is coming to ASP.NET. From Scott Guthrie’s introduction to the ASP.NET MVC Framework:

It includes a very powerful URL mapping component that enables you to build applications with clean URLs. URLs do not need to have extensions within them, and are designed to easily support SEO and REST-friendly naming patterns. For example, I could easily map the /products/edit/4 URL to the “Edit” action of the ProductsController class in my project above, or map the /Blogs/scottgu/10-10-2007/SomeTopic/ URL to a “DisplayPost” action of a BlogEngineController class.

I hope that cool URIs will become the default for Microsoft-powered websites and services. Meanwhile, there are a variety of add-on URL rewriters for IIS that can streamline and normalize web namespaces. I wish they were used more extensively.

The personal service management console

My longtime correspondent Raymond Yee, who I finally got to meet when I visited Berkeley last year, is writing a book on remixing data and services. The book mentions my elmcity.info experiment but, when Raymond visited the site the other day, all he saw was the text of the FastCGI script that runs the whole show. It turns out that when BlueHost upgraded Apache, they broke the mechanism that’s used to invoke arbitrary FastCGI scripts like my Django launcher.

It’s fixed now1, but the incident reminds me that I haven’t yet fully developed the line of thinking that I’ve now tagged servicemanagement. What I am increasingly feeling, as I’m sure many others are — and not only geeks, but also and especially civilians — is that it’s becoming impossible to sanely manage and control our growing numbers of service relationships.

That lack of control was the real point of my Verizon story, for example. And my story is tame compared to this one from John Halamka, which begins:

On Thursday, December 20, my FiOS internet/TV service was shut off by Verizon without any notice or warning.

and concludes:

As CIO of Harvard Medical School and CareGroup, I spend millions every year with Verizon and I cannot navigate Verizon Customer Service.

One aspect of the service management console I envision here would be a common view of all the services I depend on, green/orange/red for healthy/sick/dead.

In the case of a website, it’s not enough to know that the box (or webserver) is alive, healthy means delivering the expected page. There are a million ways not to, and so in the past — although not in this case — I’ve used a cache-and-compare method to verify. It would be entirely feasible for a web hoster to wrap a user-friendly interface around that method, so that anybody could easily declare expected outputs, but I haven’t seen this done by a commercial hoster.

Of course every service relationship sets up expectations, so there are all kinds of assertions you might want to make. I received the e-bill by the expected date. My paycheck was deposited. The payment I made was credited to the right account. The package I sent was delivered. The book I returned to the library was received and checked in.

I want a common way to make all these assertions, and to subscribe to notification of assertion failure.

I’d also like my personal service management console to be subscribed to streams of events, from service providers, about the operation of their services. The expiry notice from EZPass, the Apache migration email I may or may not have received from BlueHost, the WordPress upgrade notice that’s only visible when I log in to WordPress — every time I turn around, another of these alerts pops up, but they’re all coming at me in different contexts, and through different channels. It feels scattered and random because it is. But logically there’s just a handful of communication patterns — like event notification, assertion failure notification, and upgrade/renewal confirmation — that could be abstracted into a common interface. As services multiply, and as their management friction increases, the need will become more apparent.


1 Fixed for me, thanks to a specific intervention, but not, I observed and the BlueHost support guy confirmed, for others who wish to map arbitrary FastCGI scripts by declaring handlers in the control panel.

Syndication and accountability

The always-interesting Jeff Jonas wrote recently about outbound record-level accountability, i.e., tracking where sensitive data is sent.

Without outbound record-level accountability … ensuring data currency across information sharing ecosystems can be problematic. The challenge being when a record changes in the originating system, how will one be certain which recipients of the original record need to be notified?

He adds that while such accountability is desirable, “not every mission will warrant the cost.”

I wonder, though, how much of the cost might evaporate if we make the architectural shift from sending data around, like email, to publishing it, like blogging.

I love the phrase data blogging, which Gavin Carr coined in response to some of the articles in my hosted lifebits series. One of the things that falls out naturally, in a syndication-oriented architecture, is the ability to audit who your subscribers are, and which chunks of data they access.

Note also that Jeff’s caveat about “which recipients of the original record need to be notified” implies owner-initiated push. But if the recipient is a subscriber, that update channel is already open and ready for use.

In terms of the value that the syndication pattern can provide, both for inter-personal as well as for cross-organizational communication, I think we’ve hardly scratched the surface.

CUSEC 2008

On Saturday I’ll be in Montreal giving a talk at CUSEC, the Canadian University Software Engineering Conference. It’s an unusual event, organized by and for students. According to the backstory, the goal was:

…to bring the most passionate software engineering students from across Canada together under one roof, to listen and learn from the smartest and the greatest software engineers the world has ever seen.

As another of this year’s speakers, Tim Bray, has noted, we are in excellent company. Of course I’m not really a software engineer, and I don’t even play one on TV, but I’m glad that the planners thought my own unusual perspective would be valuable, and I’m looking forward to hanging out with a crowd of passionate students.

A conversation with Neil Giarratana about high-tech business in small-town New England

For this week’s ITConversations show I spoke with fellow Keene resident Neil Giarratana, a software entrepeneur whose 12-person company reverses the usual geographic pattern. A number of folks around here, me included, operate as remote outposts of companies located in metropolitan areas. But Neil’s company, Lucidus, is headquartered here, with field offices in larger cities elsewhere.

In an era of accelerating migration to cities, this counter-cyclical pattern fascinates me. As Neil candidly admits, there are tradeoffs. But thanks to ever-improving telecommunications and the evolving decentralization of work, it’s feasible to combine a high-tech career with the lifestyle advantages of our quintessential New England town.

New contexts for old ideas

In a tech industry that is obsessively if not pathologically dedicated to the Next Big New Thing, it’s hard to make the case for refining, reinterpreting, and consolidating what we already have. Bill Buxton does so eloquently in a recent BusinessWeek column, The Long Nose of Innovation, which I found by way of Kevin Schofield. You may recall Bill’s name from this introduction to our podcast interview about his book, Sketching User Experiences. In the BusinessWeek column Bill writes:

The heart of the innovation process has to do with prospecting, mining, refining, and goldsmithing. Knowing how and where to look and recognizing gold when you find it is just the start. The path from staking a claim to piling up gold bars is a long and arduous one.

That resonates powerfully with me. I’ve always been a prospecter, miner, refiner, and goldsmith who finds new value in mature technologies like NNTP conferencing, HTTP GET, and screencasting. Bill goes on to say:

Any technology that is going to have significant impact over the next 10 years is already at least 10 years old.

We might quibble. Was the web 10 years old in 1997? Yes and no. But I’ll grant poetic license because I think the statement is mostly true, and I’ve been wrestling with some of the consequences that flow from it.

Here’s one. Advocates for powerful ideas and methods that are long extant but have yet to fully bear fruit may tend to become nostalgic, appear misguided, act bitter, lose focus. These are counterproductive behaviors. So how do you avoid them? How do you stay the course, keep your eye on the ball, move forward, remain excited, and find ways to explore the same old things in new and different ways?

One answer, I think, is to keep engaging with different people in different contexts. Yesterday I was showing and discussing some things that I’ve known for so long, and documented so extensively, that I worried about sounding like a broken record. But in that context it was fresh information, a new perspective. People got excited. And their excitement rekindled my passion.

The transparent supply chain

I finally got around to reading Michael Pollan’s excellent The Omnivore’s Dilemma which traces several different food chains from source to prepared meal. As I’ve mentioned here before, a remarkable follow-on dialog took place beween Pollan and Whole Foods’ CEO John Mackey, in the form of a blog exchange and a joint public appearance. That dialogue, which explores the book’s critique of “industrial” or “big” organic operations, is a great example of how in the blog era a book can sustain a lively follow-on conversation.

It’s a huge book, and there are a number of other conversations that might spring from it. One I’d like to see would focus on the possibility of a more transparent food supply chain. It’s true that there’s much about that supply chain we’d rather not know, but it’s also true there’s much that we simply cannot know. As service-oriented information systems increasingly control the supply chain, that knowledge — of how food is produced, processed, and transported — becomes, at least in principle, more discoverable.

The same applies more broadly to all supply chains. When Jeff Bezos spoke at MIT last year, several different folks asked variations of the same question: Can you expose more information about the production and transportation methods employed by the makers of your products, so we can factor those into our decisions?

Unlike government data, which is nominally ours, most corporate data is not something we’re obviously entitled to. Governments might compel a certain level of supply-chain transparency. Corporations with good stories to tell about ethical/sustainable practices might reveal them voluntarily. One way or another, we may begin to expect that supply chains ought to be more transparent than they are today.

In the case of our food system, making the supply chain more transparent would be a radical innovation — painful, but health-promoting.

Managing service relationships

When Verizon recently and erroneously canceled the online bill presentment service that I’d signed up for, I told them to just start sending paper bills again. I just couldn’t face the hassle of repeating their signup process.

For me, paper and electronic bills converge on the payment screen of my bank’s online service. So while the e-bills save me typing in amounts, versus clicking on a payment option, there aren’t many amounts to type and it’s really not a big deal.

I chose this method because, again, I couldn’t face the hassle of signing up individually for a bunch of per-biller payment systems. One obvious conclusion is that the long-awaited user-centric identity technologies now emerging — OpenID, CardSpace, and more broadly the identity metasystem — will grease the wheels, eliminate a huge amount of friction, and hugely accelerate e-commerce. If we think it’s big now, we ain’t seen nothing yet.

But beyond the convenience of single sign-on, and of common registration profiles that we can transmit with a click, a deeper issue looms on the horizon. It’s not just the psychic burden of signing up for services that weighs on our minds. Increasingly it’s the psychic burden of being in many service relationships, each of which needs to be managed and monitored individually.

Consider, for example, the problem of renewing those relationships. Just yesterday, I was confronted with three different renewal scenarios involving WordPress, EZPass, and GoDaddy. In each case I had to locate and jump through a differently-shaped hoop. That kind of thing wears you down. It’s never easy enough, your past experience is always too remote to guide you in the present, and if you fail or just forget, the consequences can range from annoying to severe.

What you really want, of course, is a renewal policy. When you set up a new service relationship, you define the policy: Renew automatically, on request, or never. In my case, I’d make all three of those relationships renew automatically. That would mean that WordPress gets to take ten bucks from my PayPal account every year for domain mapping, EZPass gets to refresh the expiration date on my credit card, and GoDaddy gets to charge my credit card for domain renewals.

What would it take to be able to review and manage all of your service policies in one place? Enterprises, for whom the need to do that is much more acute than it currently is for individuals, have concluded that service-oriented architecture is the answer. The much-maligned WS-* bells and whistles, which seem so overblown for simple point-to-point interaction on the web, come into their own in a fabric of cooperating services governed by policy-based intermediaries.

I predict that as individuals find themselves embedded in more and more service relationships, and begin to feel the need to manage those relationships more sanely, one of the current distinctions between the enterprise and the “consumer web” will start to erode. We’ll find that we are all embedded in many service relationships. And we will all benefit from technologies that enable us to flow those relationships through management consoles.

Socially innovative uses of technology: a year of podcasts

It was great to see my interviews with Beth Kanter and Dick Hardt appear on the ITConversations top 10 list for 2007. Since it’s the listmaking season, I want to make one as well. Not a list of favorites, because there are so many, but instead of conversations that best exemplify the theme of using technology in socially innovative ways.

Last summer I realized that this theme had become really important to me. It also occurred to me that, while there hadn’t been much overlap between ITConversations and its sister channel, Social Innovation Conversations, there should be. Doug Kaye and Phil Windley agreed, and I was delighted when my interview with Ned Gulley became my first crossover show to appear on both channels.

I think that many of my shows, including the interviews with Beth Kanter on working with digital immigrants in non-profit organizations, and with Dick Hardt on user-centric identity, touch on the theme of socially innovative uses of technology. Here’s a rundown of some others, in alphabetical order by last name.

Barbara Aronson: Making medical research literature available online, at low or no cost, to poor countries. (blog)

Ken Banks: Using SMS to create communication networks in Africa and other places ill-served by the Internet. (blog)

Gardner Campbell: Using the tools and methods of Web 2.0 to reimagine higher education. (blog)

Mike Caulfield: Bootstrapping and running a state-level community-based political blog. (blog)

Brian Dear: Enabling performers to measure and respond to demand for personal appearances.

Greg Elin: Extracting, reformulating, and making sense of the operational data of government. (blog)

Beth Jefferson: Federating the online catalogs of public libraries, and pooling the participation of patrons. (blog)

Ned Gulley: Designing problems to be solved by gameplay that teaches advanced skills using an optimal mix of cooperation and competition. (blog)

John Halamka: Modernizing the exchange of health care information, and putting patients in charge of it. (blog)

Timo Hannay: Bringing the tools and methods of Web 2.0 to the scientific world. (blog)

Ed Iacobucci: Creating a decentralized alternative to the hub-and-spoke air travel system. (blog)

Doug Kaye: Helping volunteers capture and publish audio recordings of civic events. (blog)

Matt MacLaurin: Recapturing the joy of creative expression in software, in a game inspired by LOGO and implemented using modern software principles. (blog)

Hugh McGuire: Bootstrapping and running a collective effort to record and publish public-domain audiobooks. (blog)

Simon St. Laurent: Chronicling the civic and political life of a small town. (blog)

Jim Russell: Analyzing the dynamics of the Pittsburgh diaspora. (blog)

Greg Whisenant: Enabling cities and towns to publish crime data online, and imagining the citizen/government collaborations that can flow from that. (blog)

John Willinsky: Advocating open access to academic literature, and reimagining education in the era of Net participation. (blog)

Jeannette Wing: Explaining why the principles of computational thinking will become part of everyone’s educational foundation. (blog)

Omnidirectional (or public, or broadcast) identity

On a recent flght to Seattle, Microsoft identity expert Vittorio Bertocci wrote:

I want to take some time writing down some hallucinatory (=vision without execution) thoughts about omnidirectional identities. Be warned, this may be just pointless rambling.

It isn’t pointless, not by a longshot, but the term omnidirectional identity needs to be unpacked — and maybe even revised to something like public (versus private) identity, or broadcast (versus narrowcast) identity. I had a long talk with Vittorio last month, for a new interview series I’ll be launching soon, and in the part where we discussed OpenID and CardSpace he discussed omnidirectional and unidirectional identity:

VB: OpenID is actually a kind of omnidirectional identifier, which is something that sooner or later we have to deal with. Whereas cards are metaphors that help me to do things that are unidirectional. Every time I use a card, it’s for a transaction specifically with one relying party.

The same happens with OpenID, but you have the perception that there’s a URI which describes you. This opens the way to future developments which, in my view, we desperately need. What we see happening with Facebook is just a signal that the industry needs to do for omnidirectional identifiers what we are now doing for unidirectional identifiers.

JU: Can you define those terms?

VB: The idea is that your identity, or identity in general, can have different audiences. An omnidirectional identifier is something you use for being recognized by everybody. So if you go to the Verisign website, using HTTPS, their certificate declares their public identity.

Then you have unidirectional identities. So if I land on a website that, for business purposes, asks my age, then I obtain a token specifically for that website. We call this unidirectional. The flow goes straight to that website and nobody else. When you use a card today, or OpenID, you’re in a unidirectional context. You’re transmitting attributes to one specific relying party.

But in the case of OpenID, I have my account, vibro.openid.com, and it’s a URI, it’s my identifier, and it’s omnidirectional in the sense that everybody knows it. While in the case of my cards, there’s nothing that I tell to everybody. So I think OpenID is a good starting point for thinking about an ecology of omnidirectional identity. How do I handle identity that I want projected everywhere, not just to a specific relying party?

Also, the concept of an identity provider — in both CardSpace and OpenID — is for giving you attributes about yourself. I go on a website, I want to buy wine, I am the one who is asking the identity provider to certify me. While in the world of social networks, the requester of an identity may be somebody other than me. If somebody is looking at my profile, it’s not me. But the request is still for identify information about me. This is an area that needs thought. As an industry we did an excellent job with unidirectional identity, and the ecosystem for both CardSpace and OpenID is vital. But we haven’t yet found the laws for omnidirectional identity. When we do, things like Facebook Beacon won’t happen. We need to extend the conversation to include omnidirectional identifiers for users. A website has a public identity. But at this moment, a user’s public identity is an imagined phenomenon. You search for yourself and find traces of your identity on the web, or maybe the identity of somebody who has your same name.

JU: Or someone who said something about you. Made a claim about you, in effect.

VB: Exactly.

I’ve long projected a public identity omnidirectionally, so I’ve had a long time to consider this issue. A decade ago, when I realized the asymmetry of digital certificates — the secure website identifies itself to you, but not vice versa — I began using, and advocating the use of, client digital certificates. I used them to sign my emails, and would have used them to sign my postings to the Net if there had been any kind of ecosystem in place to recognize and honor those assertions of identity. There wasn’t, and there still isn’t. Meanwhile, as Vittorio notes, we’ve done a good job of first thinking through, and then implementing, the unidirectional identity scenarios that we need for e-commerce.

I realize now that even blogging, as big a phenomenon as it has become, wasn’t enough to motivate serious thought about the kind of public identity projection that I’ve always understood blogging to be. But I think Vittorio is right. The social networks are a much bigger phenomenon, and they’re acquainting many more people with the notion of public identity projection. Perhaps now the need for a system that enables people to project and manage their own public identities — a need that I was never able to articulate convincingly before — will simply become apparent.

A conversation with Richard Wallis about the Talis semantic web platform

I forgot to mention, before vanishing for the holidays, that I had published this ITConversations interview with Richard Wallis about the semantic web platform that UK-based library systems vendor Talis is building.In a sort of podcasting pas de deux, Richard simultaneously interviewed me for his podcast. Part of that interview was excerpted, and commented on, at ReadWriteWeb under the link-provoking title Sexy Librarians of the Future Will Help You Upload Your Videos to YouTube.

From oil to wood pellets: New England’s home heating future

For many of us living in New England during the first winter of oil prices above three dollars a gallon, discussions of information technology have given way to discussions of home heating technology. We’re at the beginning of an adoption curve here that will rival earlier waves of adoption — first of iron woodburning stoves, then central heating systems fueled by coal and now mostly oil.

Our future fuel is biomass, in the form of sawdust and other recycled wood waste compressed into pellets that look like rabbit food. They burn cleanly and efficiently in airtight stoves that use augurs to feed the pellets slowly and steadily from hoppers into surprisingly small combustion pots.

Like several of our friends, we jumped on the bandwagon last year. Ours is an insert that converts an otherwise useless fireplace into a heat source that’s displacing a sizable chunk of our oil usage. Another friend uses a standalone unit which, because pellet stoves produce so little exhaust heat, is vented through a wall without requiring a tall flue. Two other friends have pellet stoves in their basements, one heating a small house passively and another heating a larger house through its pre-existing forced hot air ducts.

We’re all new to this game, so when we get together we compare notes on stove designs, pellet prices and quality, heat distribution strategies, cleaning and maintenance, and of course effectiveness. Everyone’s story is different. My friends who are leveraging their pre-existing forced hot air system have just about kissed the oil truck goodbye and are saving a lot of money. But they’re not quite as comfortable upstairs in really cold weather as they used to be. Others with hot water radiator systems, including us, aren’t doing nearly that well. We’re using Rube Goldberg arrangements of fans to distribute the hot air that the stoves blow, but that only gets you so far in an old New England house with lots of small rooms. For us, it’s a supplement that’ll pay for itself in a few years, but not a replacement. And we’re way less comfortable in parts of the house than we used to be.

Still, this technology represents a path to a sustainable future in which we use a locally-produced commodity to heat our homes much more cleanly and efficiently than wood ever did before, at a cost that’s already way below oil and will only look better as oil continues to skyrocket.

For most of us, though, it’s not yet a perfect replacement. And for all of us, it’s not automatic. A truck doesn’t show up at the house to pump pellets into a giant tank. We buy them by the ton, and they’re delivered on pallets bearing fifty forty-pound bags that we haul inside, stack, and then dump one at a time into our hoppers. The reload interval varies from less than a day in our case, to up to a week in other cases. Although these stoves produce very little ash — a few ounces per 40-pound bag — the ash removal chore also varies from days to months depending on the design of your stove. In terms of convenience, heating with pellets is more like heating with wood than heating with oil or gas. There’s hauling, there’s loading, and there’s maintenance.

But things will change. A home like mine, with an oil burner and hot water circulating through radiators, will use a boiler that heats the water with pellets instead of oil. These are emerging in Europe, but only starting to come onto the market here. I don’t know anyone who uses one to heat a private residence. But the Harris Center — a nature conservancy in the nearby town of Hancock — is heating 10,000 square feet for $1700/year using a pellet boiler. I was driving by Hancock today and stopped to take a look. The place was closed, but I saw the silo that stores and automatically delivers pellets. For the oil tanks in basements like mine, that’s the handwriting on the wall.

The itemized electric bill

W. David Stephenson, a homeland security and disaster management strategist who shares my interest in citizen use of government data, pointed me to this item which suggests that if data produced by smart electric meters were shared in social networks, we could work together to optimize our energy use.

Sounds great. But as I understand it, although these meters report usage in hourly or even 15-minute intervals — thereby enabling utilities to fine-tune pricing and customers to fine-tune usage — they still can’t itemize your bill on a per-appliance basis. That would be a killer application. Imagine a little device that sits between the appliance’s plug and the wall socket, measures the power use, and reports that data over the AC network to a collector. Each device would be coded, you’d map the codes to appliances (TV, refrigerator, toaster, computer), and you’d wind up with a fully itemized accounting of where all the power goes. No guessing about the payback period for a new and more efficient refrigerator, you’d just know. A few years down the road, if your new Energy Star fridge starts to leak, you’ll be alerted to the fact and know to check the seals.

In this scenario the network effects would get really interesting. When contemplating the purchase of that new fridge, for example, you could go beyond the rated performance to the actual performance as measured by other users of that model. And maybe even adjust for factors like the number of kids in the house who are likely to stand in front of the open fridge door pondering their options.

As Amory Lovins points out, you can’t manage what you can’t measure. His MAP/Ming lectures on power use in industry are full of stories about unmeasured energy flows that, when instrumented, yield easy yet dramatic optimizations.

In software, of course, we know this instinctively. To optimize code, we inject instrumentation that shows us the hot spots where programs spend inordinate amounts of time. We need to inject the same kind of instrumentation into the electrical devices in our homes. I’m no engineer so I’m just asking: Is there conceivably a cheap, low-tech, easily-installed way to do it?

Collaboration plus productivity

As conversations about Office Live Workspace emerge, I expect to read more like this one:

Tim: What happens when you are working on a document at the airport, your wi-fi pass expires, and you hit Save? Maybe a beta tester can answer this. Does Word or Excel prompt for a local copy instead? And if you save such a copy, how do you sync up the changes later?

Kip: Just tried it, Tim. Opened a document from Workspaces, made a change, disconnected from the internet, and hit “Save to Office Live”. Word immediately opened the local My Documents folder and offered to save it there, just as if it was a local file.

Tim: Thanks for checking this out. That’s not ideal in my view. It should save it locally but automatically synch it at the next opportunity.

In fact, I think the folder in which Workspace offered to save Kip’s file was a Workspace folder, not a local one. At least, that’s what I saw when I repeated the experiment:

From there, I clicked the Save button and saw this:

Fair enough. Network problems were preventing a connection to the server. I’d have needed to make a conscious choice to save locally.

What then? A variety of scenarios are plausible. That’s the good news, but also the bad news, about having an offline option. When editable documents can live on multiple local drives and in the cloud, people need to be aware of multiple names and locations. It’s inherently harder to collaborate. But you can untether, and you can use full-strength applications.

With Google Docs, where there is only a single cloud-based editable document, people need only keep track of one name and location. It’s inherently easier to collaborate. But you’re always tethered, and (for now) you can only use rudimentary applications.

Given the differing capabilities — and ubiquities! — of browser-based and native applications, there is no single right approach. But as always, extremes converge. Office Live Workspace already has web-only components, like its simple AJAX note writer, which tends toward the model of a single cloud-based editable document and optimizes for collaboration. Meanwhile Zoho already has a Google Gears-based offline mode, and a plug-in for Word and Excel. It goes the other way, enabling editable documents to be in more than one place and enhancing productivity.

One way or another, we arrive at a midpoint along the continuum which is aptly described by the phrase software plus services. The challenge for everyone will be to figure out how best to merge the collaboration benefits of one model with the productivity benefits of the other.

I am (not) Spock

Tim Bray wants to know if/why spock.com matters. Here’s why I think it does. At some point, people are going to throw up their hands in disgust when invited to sign up for yet another service in order to assert or defend their online identities. So, for example, Spock thinks that Jon Udell is the inspector general at the Department of Justice, based on these two blog postings of mine. In fact, that person (whom I will not name here in order to avert yet more identity confusion1) is represented thusly in Spock.

I have no interest whatsoever in setting Spock straight about these facts, because I know that effort won’t carry over to ZoomInfo or to anywhere else.

I have a huge interest in establishing a presence, anchored somewhere in the emerging identity metasystem, to which I can refer Spock and ZoomInfo and other services. If Spock inspires other folks to appreciate why they might want to establish such presences for themselves, that’d be great. And based on some of the reactions I’m seeing, perhaps Spock will help us get there.

Isn’t it delightful, by the way, that both of these books exist?

I am Spock / I am not Spock


1 Of course, by writing the phrase “Jon Udell is the inspector general” I am probably ensuring that it will show up here.

“The discovery of irregular patterns by group noticings”

Phil Shapiro sent me this unusual and fascinating request:

On the local neighborhood email list I’m on here in Greenbelt, Maryland, there’s a growing sense about a problem with postal mail being delivered on time. It’s beginning to look as if a fatigued postal worker may be doing the proverbial “storing mail at his/her home” rather than delivering it.

Local mail is taking a full week to be delivered and some mail is not arriving at all. It’s been fascinating to watch the growing consensus that something may be amiss.

The discovery of irregular patterns via group noticings needs a name. We need a name for this process to better pinpoint the source and extent of viral outbreaks (such as the pandemic flu) and we need a name for this process for countless other ways that individuals look out for the well being of others.

Thanks for asking your readers if they can think of the right neologism for this process.

I just love the phrase “the discovery of irregular patterns via group noticings.” At first blush, it certainly seems worthy of a neologism! Then again, there is nothing new about group noticings. This was always the way of tribal, village, and agricultural life, before the industrial age made our daily activities less visible to one another. So maybe there’s a perfectly good old word just waiting to be dusted off and brought back?

Technical mastery requires social innovation

A number of times, recently, I’ve made an assertion with which nobody has disagreed. The assertion is that if we invented no new information technologies for the next five or ten years, we could nevertheless move the ball significantly forward by consolidating gains that we should have made by now, but haven’t. My argument is that what people don’t know and seemingly cannot learn about computers, software, and information systems represents what Amory Lovins, speaking in terms of energy, calls negawatts, a resource whose value springs not from new production but from the rethinking and improved utilization of existing resources.

As the software pendulum swings back and forth, we alternately hail the simplicity of interfaces that do very little but are easily learned (Google Docs), and the power of interfaces that do much more but are much harder to master (Microsoft Office). Arguments for the former presume that the latter are doomed because most people never learn to use most of their power. That’s true. But does that mean that most people will never be able to make better use of that power? If so, if we assume that people are simply uneducable in this regard, then it’s a problem across the board. Because even the simplest online application can do much more than people know or appreciate.

For example, del.icio.us looks to be bare-bones simple, and in a way it is, but to use it effectively you have to master some strategies that today elude almost everybody. In a comment on that entry, Tessa Lau writes:

In order to accomplish your #1 and #2 above, people need to both realize that they can do that database query, and that they can refer to the results using a stable URL. I’m coming to believe that both those operations are still way beyond the capabilities of mainstream web users.

Here’s a related example from Gmail. Recently, the application’s URLs became more RESTful. A message URL now looks like this: https://mail.google.com/mail/#inbox/116edd484f4ca72e. Why? So that you can bookmark it, exchange it, compose it with other things. Almost nobody will, of course. But are these operations truly beyond the capabilities of mainstream web users? Or are they just skills that aren’t easily transmissible in the current environment, but might be in a differently-designed environment?

Tessa Lau’s CoScripter is, of course, a beautiful example of such a differently-designed environment. It enables people to share experiential knowledge about the use of software in a relatively frictionless way. In the realm of screencasting, Jing is another way to reduce the friction of sharing such knowledge.

My point holds no matter where the pendulum happens to be at the moment. Across the spectrum of application styles, software can do a better or worse job of augmenting human capability. Simplification is important and useful, but it’s not all that matters. Mastery of the more complex matters too. And people can handle that.

As Lucas Gonze notes here, reading and writing musical notation was once a much more common skill than it is today. The 19th-century parlour music that he’s recovering and bringing back to life was, Wikipedia says, “intended to be performed in the parlours of middle class homes by amateur singers and pianists.” Were those amateur singers and pianists more capable than their counterparts today? No, they were just embedded in a culture that was attuned to a certain sort of peer production.

The peer production of our era is based increasingly on software applications and online resources. If we aspire only to the common denominator, and assume that no forms of mastery will matter, then we do ourselves a great disservice. People can attain mastery in an environment that encourages it. Creating that environment would in fact be a major innovation, albeit more social than technical.

The psychic burden of online registration

Verizon just sent me the following email:

Your request to be removed from the Online Billing program has been received and accepted. Thank you for your participation.  Please do not reply to this Email.  Should you have questions, please contact us at http://www.verizon.com/contactus.Please do not reply to this Email.  For questions or comments, please contact us at http://www.verizon.com/contactus.

I have multiple accounts with Verizon. A couple of years ago, I took advantage of the option to stop receiving paper bills, and instead receive them electronically in my online banking system where I pay them. Now, for no apparent reason, online bill presentment has been canceled for one or more of those accounts. But I never requested to be removed from the Online Billing program!

The headers on the email message convince me that it is genuinely from Verizon, despite its repetitition and the oddly constructed link. There’s no whiff of phishing here, and I’m not being asked to do anything, it’s just a misguided notification.

My options were:

  1. Debug whatever went wrong with my current online bill presentment.
  2. Sign up for Verizon’s own online bill payment service.
  3. Begin receiving paper bills again.

It is a sad commentary that, after contemplating the amount of my time and effort required for each of these options, I chose #3.

Is it just me, or is the psychic burden of online registration reaching epic proportions?

The wisdom of which crowd?

Dave Megginson recounts an interesting experience with the collective mind of Gmail users. When messages from a customer of his went AWOL, he found them in the Gmail spam trap. He surmises that even though this sender played by the opt-in/opt-out rules, the crowd made its own rule.

My guess is that they sent out an announcement, a lot of other gmail-users flagged it as spam, and whatever weighting algorithm gmail uses tipped it over so that the messages were no longer considered legit by default.

Dave concludes:

This new collaboration is an unexpected side-effect of the shift from desktop e-mail clients to web mail, and it would be foolish for companies not to pay attention.

I agree that companies should pay attention, and Dave’s list of do’s and don’ts (e.g., “I don’t care that your company just won five awards — SPAM!“) is spot on.

But while it’s true that we see this effect as a consequence of the shift from desktop e-mail to webmail, there’s no reason in principle why desktop e-mail clients can’t also contribute to this new crowd wisdom. Virtually all e-mail programs offer a “Mark as Spam” option. Those votes could be collected and processed by any cloud service, and not necessarily by one bound to any particular webmail service.

In Dave’s case, for example, he might rather not rely on the collective wisdom of the random group of folks with whom his Gmail account happens to be colocated, but instead on some trust circle of his own choosing or making.

The fact that we can’t separate these concerns is unrelated to the architectural choice of web-based versus client-based software. In both contexts we could specify whose wisdom we would like to add to our spam filters. We don’t have that choice today because we’ve barely scratched the surface when it comes to exposing services that users can compose to their liking.

Elsewhere, meanwhile, Doug Purdy notes the integration between Google Talk and Google Reader — whereby shared items become visible to friends — and remarks:

I still can’t believe we don’t have something like Live Reader.

Of course Live Reader, like Google Reader, would almost certainly expect me to share within the artificial context defined by use of the service. It’d be refreshing to see a different take, one that would enable me to reach out to friends and associates across a range of reading and bookmarking services.

How HD Photo will make happy snappers even happier

Back in July I interviewed Bill Crow about HD Photo, the image format that’s being considered for standardization as JPEG XR. One of the advantages of this new format, as Bill explained on his blog, is that it can preserve data that would normally be lost when a camera decides what color values to include in a photo. Now, there aren’t yet any cameras that implement HD Photo, but the idea is that when they arrive, you’ll get the the best of both worlds. As a JPEG camera does today, an HD Photo camera will produce an image that distributes color values as best it can. But unlike a JPEG camera, an HD Photo camera won’t throw away all the values it doesn’t include. More information will be preserved in the image, and will be recoverable in the editing process.

Bill demonstrates and explains that editing process in this 5-minute screencast (Silverlight, Flash). The editing application is nothing fancier than Windows Live Photo Gallery, and that’s an important point. Most people, myself included, are not wizards in the realm of color theory and advanced image manipulation. We’re happy snappers. We’d just like to be able to move a slider and pull in some information that the camera didn’t assign to the visible range but that we want to include. This screencast shows how easy that will be.

Discovering versus teaching principles of social information management

In response to Josh Catone’s observation that del.icio.us has failed to go mainstream, Richard Ziade offers three hypotheses:

  1. Nobody really needs a way to centrally store their bookmarks
  2. Most people don’t understand what del.icio.us does
  3. People don’t feel compelled to share del.icio.us with others

The winning explanation, I am sure, is #2. Nobody understands what del.icio.us does. I am constantly explaining the nature and value of its social information management capabilities. Just this week, in various meetings on Microsoft’s Redmond campus, I found myself reiterating four of my major uses of del.icio.us.

1. Answering a question with an URL.

I’m often asked questions like “What have you written about how to do screencasting?” I answer with an URL:

http://del.icio.us/judell/screencasting+howto

This not only wildly efficient, it’s future-proofed. If I hand you that URL today, then later add new items to the list, you’ll pick them up if you visit the URL in the future.

2. Del.icio.us as a database.

The URL shown above is an example of the pattern I discussed here. It’s actually a query: select all bookmarks where one tag is screencasting and another tag is howto. If you understand that such queries are possible, judicious assignment of tags becomes a data management discipline.

3. Collaborative list curation.

As discussed here:

Recently I began keeping track of interesting public data sources using the del.icio.us tag judell/publicdata, and invited others to do the same using their own del.icio.us accounts. That method sets up an interesting pattern of collaboration whereby all contributions flow up to the global bucket, tag/publicdata, but individual contributors can curate subsets of that collection according to their own interests.

It’s a powerful pattern for loosely-coupled collaborative list-making.

4. Feedback monitoring.

When I’m visiting an URL, I often use my del.icio.us citations bookmarklet (available here) to see who has bookmarked the URL, which quotation and tags were used to describe it, and what the history of attention to that URL has been over time.

Is it del.icio.us’ fault that, even in the geek subculture where the service is mainly used, so few people seem to discover and exploit these patterns? I wonder about this all the time, and not just with respect to del.icio.us. True, all of our information management tools could do a better job making features more easily discoverable. But to grok the patterns and apply the strategies I’m talking about, it’s not enough to know that features exist. You need to develop a sense of how those features can be used in support of certain principles of personal and social information management. It would be great if we could create software that naturally leads us to the discovery of those principles. But that’s a tall order. While we’re waiting, I think we should admit that these principles ought to be part of what you learn in order to become a digitally literate 21st-century citizen.

Professional services for professional blogs

This morning my web presence intersected on the Information World Review blog with the web presence of Ben Toth. In an IWR interview, Ben describes himself as follows:

Ben Toth, 48, domiciled on a farm in Herefordshire. I trained as a librarian at University College London about 15 years ago. I used to be the director of the NHS National Knowledge Service when it was part of Connecting for Health. The best known service it runs is the National Library for Health (www.library.nhs.uk). Currently, I’m designing the enterprise architecture for the National Institute for Health Research (www.nihr.ac.uk). I’m also writing a book on Health 2.0, which will be published in parts later this year.

Further along in the interview:

Q: How long have you been blogging?
A: Since about 2001. Eighteen months ago I lost all my entries and had to start again.

This is nuts. Never mind the posthumous disposition of the writings of this librarian and enterprise architect. They are not even reliably available here in the present.

Here’s another example. Recently John Halamka, whom I interviewed here, launched a remarkable example of the genre I call the professional blog — by which I do not mean blogging for pay, but rather the purposeful narration of a professional life. At geekdoctor.blogspot.com, Dr. Halamka has opened a window into the life of a dynamic individual whose insights into healthcare IT, and whose stewardship of key initiatives and standards in the area of portable health records, will be historically significant but are also important touchstones here in the present.

And yet…geekdoctor.blogspot.com? That’s the best we can do? Again, I’m not picking on any particular service. None of the present options offer anything close to the levels of service that a professional person investing real effort into the narration of a professional life ought to expect.

For Dave Winer, for me, for Ben Toth, for John Halamka, and for a growing number of professional bloggers in the sense I’m defining the term, there’s got to be a better way. We don’t need services that are free. We need services that are reliable here in the present, and that offer tiered levels of future assurance. If you build it, we will pay.

Matt MacLaurin on creative expression with Boku

In this week’s ITConversations show with Matt MacLaurin we discuss Boku, a programming environment in which kids can create their own games.

What inspired Matt to create Boku was the following observation:

If I’m a kid today, looking at the computer, am I going to see it as an art tool, as something that’s there for creative expression? Or am I going to see it as a content channel, really just a television with some interactivity and a whole lot of channels?

He contrasts that with his own early experience of computers:

If you turn on a Commodore Pet, or an Apple II, the first thing you get is the Basic prompt, and it’s really just saying that the computer is a blank slate, and it’s waiting for you to create something in code. That idea that the computer screen is a surface you can paint your ideas on, and then have those ideas come to life in a magical way, that’s what I wanted to recapture.

True, the pendulum is swinging back toward an architecture of participation. Text, audio, and video artifacts are pouring onto the net. But, says Matt, “you can express creative ideas in programming that you can’t really express in any other way.”

Exploring ideas in the realms of gaming and simulation should be as accessible, Matt thinks, as blogging and podcasting have become. So he’s created, in Boku, a programming environment where programs always run, are never incorrect, and are developed by the accretion of actors, of objects, and of rules that govern their interactions.

The roots go back to Logo and Smalltalk, but there’s also a very modern aspect: the system is decentralized and loosely-coupled, behavior is emergent. The robotics examples that Henryk Nielsen demonstrates in this screencast are spiritual cousins to Boku: loosely-coupled systems of independent, rule-governed actors.

If Boku teaches kids to think in these terms, I think they’ll be well prepared not only to create their own interesting games and simulations, but also to negotiate the emerging ecosystem of online services. With the Commodore Pet and the Apple II you were the ruler of the universe. But no more. As programmers who act in a world of loosely-coupled services, we can no longer aspire to total control. Instead we need to learn how to be effective consumers, producers, and — above all — interactive peers.

Boku is also, by the way, fundamentally social.

If you make something that’s cool, not a 4-hour game but just a 15-second interesting visual phenomenon, you give it a name and maybe a tag, and you hit a button, and it goes up into the cloud so other people can pull it down and take it apart. You can’t download a game without getting the source, Boku doesn’t really distinguish between the two. We consider authoring and tweaking to be part of the play.

Matt recalls a conference at which Ray Bradbury spoke, and said that while he was impressed with all the tech, the real problem lay elsewhere.

He held up a blank sheet of paper. What do you do when you’re faced with a blank sheet of paper, and you don’t have an idea? How do you come up with that idea? How do you express it? Our shorthand for that is the blank page problem, and we think about it all the time for Boku. The community is the answer. If you’re stuck, go and surf what others have uploaded today. If you can’t figure out how to make the motorcycle jump over the canyon, go and browse motorcycle and jump, and look, someone else did it. So you pull it down, and of course the code’s built in. It’s obvious I guess, but the Internet as an infrastructure for creative communities to come together — that’s really what it’s all about.

In case you can’t tell, I hugely enjoyed this interview. I hope it will be heard not only by those who care specifically about game programming but also by those broadly interested in creativity, education, and commons-based peer production.

From Simple Sharing Extensions to FeedSync

It’s been a couple of years since Ray Ozzie kicked off the Simple Sharing Extensions (SSE) initiative on his blog. It’s not so easy, by the way, to know exactly how many years it’s been. If you search for sse ray ozzie you’ll land on this page which is dated Nov 20, but no year is mentioned. I had to browse around in the archive to remind myself it was November 2005. Blogging platforms — and I’m not singling out Live Spaces here, they’re all in the same boat — aren’t good places for documents that turn out to have historical significance. Of course you never know what will turn out to be significant. That’s why I’ve been evangelizing the idea of a hosted lifebits service that will keep our stuff intact, and available for reliable long-term citation. But, I digress.

SSE was updated this week, and renamed as FeedSync. Over on Channel 9 I published a podcast and a screencast (Silverlight, Flash) with Steven Lees, one of the folks working on FeedSync. The screencast walks through an example (available at CodePlex) in which two simple list-making applications, running on two different machines, synchronize the insertion and deletion of items. In this case they talk through a relay service, but that’s not required. FeedSync is agnostic to topology and transport, specifying only how to represent updates, deletions, and conflicts in RSS and Atom feeds, and how to process those events into a merged result.

The merge algorithm described in the spec isn’t something most of us are going to be able to bang out quickly and reliably, so I’ll be on the lookout for implentations that package up the logic. One of those is the Microsoft Sync Framework, which has just updated the Microsoft.Synchronization.Sse namespace to Microsoft.Synchronization.FeedSync. I haven’t found good examples for using it, so if you can point me to some I’d appreciate that. Similarly I’m curious to know about other implementations of the synchronization logic for other programming environments. Or, equally interesting, implementations delivered as cloud services.

Although FeedSync is capable of full-blown multi-master synchronization, there are all kinds of interesting uses, including simple one-way uses. Consider, for example, how RSS typically has no memory. Most blogs publish items into a rolling window. If you subscribe after items have scrolled out of view, you can’t syndicate them. A FeedSync implementation could enable you synchronize a whole feed when you first subscribe, then update items moving forward. It could also enable the feed provider to delete items, which you might not want if the items are blog postings, but would want if they’re calendar items representing cancelled events.

RSS took off in part because it was human-readable and -writeable. To this day, you can get away with doing simple things “by hand”. With FeedSync, the RSS and Atom formats are still pretty easy to read and write. But nobody is going to do the rule-governed transformations by hand. For that we’ll need an ecosystem of libraries and services. I hope they’ll emerge because FeedSync is an extremely general mechanism that could be applied in all sorts of useful ways.

Simile: Semantic web mashups for the rest of us

I was at MIT yesterday to give a talk, and afterward visited with the Simile project team. I’d known a bit about their semantic web efforts, notably Piggy Bank, a Firefox extension that hosts JavaScript-based screenscrapers that extract data from web pages. But there’s been a ton of development since then, and it’s all good.

The best way to describe what I saw yesterday is probably to start with this example. It’s what the Simile team calls an exhibit, which is a web page that performs faceted browsing of a data set. In this case, my example exhibit is actually a mixture of two others: the CSAIL faculty page, and the CCNMTL staff page. If you visit either of those exhibits you’ll find that you can restrict the view by selecting, for example, the group facet. The CSAIL page exposes another view called position. (The CCNMT doesn’t expose its analog to that facet, but if it did, it would be called title.)

View source on either of these pages and you’ll find a very simple chunk of HTML that enumerates and styles the included data elements. You’ll also see references to two JavaScript files. One contains all the AJAX behavior that populates the page with data and drives the interactive experience. The other contains the data, which is a JSON serialization of a simplified form of RDF.

The first thing to notice is that you can rip and replace the data reference. In fact that’s what happened when one of these pages was cloned from the other. The clone then proceeded to rename and specialize its data set, yielded a seemingly incompatible result.

So how did I create a merge of the two? Enter Potluck, a shockingly capable AJAX-style data mixer. I referenced the two data sources, and then combined analogous fields. I merged CSAIL’s position and CCNMT’s title into a single field called position. Even more interesting is the field called building. The CCNMT data has a thing called building, but the CSAIL has nothing really comparable — there’s tower, but that’s not equivalent. In fact, the CSAIL equivalent to CCNMT’s building is the prefix in the CSAIL office field. In an office value of 32-G606, for example, the building is implicitly building 32.

David Hyunh, the original author of Potluck, showed me how to extract that implicit information using a feature called simultaneous editing. Here’s how that works:

The editor groups things into similar columns. You can then adjust an entire column by editing a single entry. Here I’ve inserted “Building” in front of “32” and selected and deleted everything following “32”.

To define a new column you drag/drop fields. To create the merged position field, I dragged position from CSAIL, and title from CCNMT, then renamed the combined result as position.

To define a facet, you drag/drop the column name to another area of the canvas. For my merged exibit, I used the facets origin (i.e., CSAIL vs CCNMT), plus group, position, and building.

Then I exported the merged data into the same JSON format as the original sources, cloned one of the pages, and referenced the merged data set. From there it was just a bit of tweaking to make the div elements in the HTML page reference the facets that I’d defined.

Stunning.

Behind the scenes it’s all RDF, but the point is that nobody needs to know or care about that. And the larger point is that the Simile folks — having spent years fighting ontology wars — have now gone AWOL. The new stance is: Everybody gets to name their fields as they prefer, and mashup tools like Potluck can define equivalences among them. All the original source data, and all the merged data, is available in a common format that translates into grist for the engines in the RDF mill. All the data, and all the interactive behavior associated with the data, is cleanly separated from the presentation.

This is a great boostrap strategy. When faculty group B sees the cool faceted browser that faculty group A has made, B will want one of its own. It can pretty easily figure out how to adapt its data to the format, perhaps with some help from the Babel translator in order to, say, repurpose a spreadsheet. Everybody gets to scratch their own itches, and the environment makes things easy and fun, but under the covers semantic data is being accumulated.

I don’t think that any semantic web skeptic, and I have been one, has ever disputed the value that can emerge when you traverse RDF-style data sets. The question has always been: How will we get people to create those data sets, in ways and for purposes meaningful to them? The Simile team are laser-focused on solving that problem, and from what I can see they’re biting off huge chunks of it with these tools and methods.

I’m not suggesting that ontologies will play no role, but I’ve long believed that we need to evolve toward them from real data that people can create, use interactively, and begin to cross-combine. That’s exactly the approach that Simile is taking. Seeing it in action, and then easily reproducing it myself, totally made my day.