The social agent, part 5: Narrated Video

Two weeks ago, I published the first four parts (1, 2, 3, and 4) of The Social Agent, my addition to the Mozilla Concept Series focused on online identity. I provided both interaction mockups and written essays illustrating the thinking behind the designs. While this work invited some feedback, I fear that my essays suffered from the TL;DR syndrome. Consequently I decided to try one more medium to explain The Social Agent: narrated video.

There are six videos in the series; you can also watch the entire uncut screencast (parts 1-6) if you’ve got a half hour to spare. Here they are:


Identity in the Browser

People, Apps & Pages




I’d be eager to hear your feedback, here or by email. There is also a mailing list that Mozilla set up to capture feedback.

If these ideas interest you, I’d also recommend checking out the Account Manager and Contacts prototypes that Mike Hanson, Dan MillsRagavan Srinivasan and the Mozilla Labs team produced.

The social agent, part 4: Share

Mozilla Labs Official ConceptThis is the fourth part of the five part Mozilla Labs Concept Series on Online Identity. This post introduces the “Share” verb as a core feature of the social agent. Historically, browsers have relied on email for sharing, but it’s time that the browser did more to make it easier to share across networks — while at the same time reducing unnecessary clutter on webpages. This post describes how sharing could be built in the browser.

Previous entries in the concept series include: Part 1: The Social Agent, Part 2: Connect, and Part 3: Follow.

Also take a look at the rest of my mockups (view as a slideshow) or visit the project overview.

. . .

Looking back, it’s quite plain to see that web browsing, email and chat co-evolved, each being the domain of different applications, and being powered by non-interoperable protocols. Over time, people grew used to separating information consumption from information exchange. The dual use of applications like Firefox and Thunderbird demonstrate this situation, as though sharing and consuming were completely distinct modes of computing.

However, people largely treat these behaviors as one in the same — they’re nearly as eager to share what they discover on the web as they are excited to discover it. It’s just that email is one of the few (clunky) tools they have. And yet, imagine what the experience is like for the uninitiated — launching a browser for the first time (especially if they aren’t inured to the ways of email). They’re going to find it terribly frustrating to share something they find on the web, no matter how great their natural desire is to share it.

This functionality should be supported by our software — browsers included! Social computing is about combining both discovery and sharing — and the social agent can, again, manage such transactions.

Sharing in modern browsers...

Thus, it’s disheartening (is it not?) that the most advanced sharing feature that browsers offer today — in 2010 — is a hand off to your preferred local email client, adding friction and interrupting your flow. Should you really need to launch a separate app just to share a link? ?

Meanwhile, it’s become all the more common to publish content openly on the web — a public display of sharing. While historically people have been hesitant to be too open online, the success of public-by-default services like Flickr over private-by-default services like Kodak EasyShare prove the durability of this trend, which is also manifest in services like Delicious, StumbleUpon, Twitter, and Facebook. It’s clear that relying on email as the primary mechanism for sharing is useful, but not sufficient for today’s web user — whose network is increasingly not found in their email address book.

Enter: the social agent.

Recall that the social agent already manages the people and topics you follow and your relationships with various parties. The next step is to add sharing to the browser. In this way, the tool that you use to discover content will be the same tool that you use to share and rebroadcast that content. Thus sharing becomes a natural part of your routine, and you become a participant-creator of the social web.

ShareThis interface

Now, of course it’s not sufficient to just add a sharing button and call it a day. That’s what so many websites already do, marring their pages with a bunch of tiny icons intended to help you share better! Well, your social agent should banish those annoying pests and make it easier for you to share the links and content with the people that you care about. Sure — for web savvy folks this isn’t necessarily a problem — but as websites become more dynamic and complex, there is a need to make sharing much more straightforward and integrated.

So suppose you visit the New York Times homepage and spot a story you think your friend would be interested in. If you used the “Send Link…” function, you’d end up sending a link to the homepage: By the time your friend visits the site, the article you wanted to share might have already fallen out of site. Sharing fail!

Yet, you didn’t do anything wrong. You saw something that you wanted to share and used the only tool your browser gave you. Regardless, you still want to share the story!

The sharing selector facilitates intentional sharing

There are a number of ways that the social agent could help you gracefully achieve this, whether you want to share a video, photo, blog post, article, event, or other common web document. For one, the browser can ask you to indicate specifically which item(s) you want to share. It can then attach extra information (related links, titles, descriptions) to your share to enrich your message (Facebook already does this for those of you who have figured out how to use Facebook’s sharing bookmarklet).

Let's send this as a message...

Again, the familiar sharing widget appears, prefilled with addresses from the profiles in that bundle

The browser can also tell you what methods it has available to share content with certain friends, or can make a list of your contacts or friends available through a familiar and convenient auto-suggesting textbox.

Let's drag this item instead...

This means that the browser should help you drag and drop content to your friends, and between any compatible web sites or services.

Additionally, the browser can also maintain a history all the items you’ve shared, giving you the ability to search across them, and bring them back up quickly. You could also filter by recipient, service, time, or where you were physically located when you shared.

Dropped image (from one web app to another!)

Viewing the metadata of the dropped image...

The browser can also follow the items you’ve shared to watch for updates or other changes like new comments. Since following is a feature we’ve already discussed, it’ll suffice to say that the items you share will be recorded and followed for new updates, which will be available in your activity dashboard.

Given how prevalent sharing information has become now that nearly everyone can be reached online, a modern browser should support this behavior in order to make the experience more universal, discoverable, easier to use, and more convenient.

The social agent, part 3: Follow

Mozilla Labs Official ConceptThis is the third part of the five part Mozilla Labs Concept Series on Online Identity. This post introduces and examines the “Follow” verb as a more modern and flexible approach to “subscribing” to information — information of any kind: people, sites, social objects and anything with a stream or feed.

Other entries in the concept series include: Part 1: The Social Agent and Part 2: Connect.

Also take a look at the rest of my mockups (view as a slideshow) or visit the project overview.

. . .

Recently I stopped by my neighborhood Whole Foods looking to pick up fixin’s for dinner — some fish, beets; y’know: the basics. After checking out, I noticed a sign on the wall that I’d not seen before, providing links to that local Whole Foods’ Twitter and Facebook pages. It struck me as rather strange that a company like Whole Foods would promote their profiles on networks owned by other companies until I got out of my tech bubble mindset for a moment and realized how irrelevant Whole Foods’ homepage must seem to people who are now used to following friends’ and celebrities’ activities on sites like Twitter and Facebook. What are you supposed to do with a link to a homepage these days? Bookmark it? — only to lose it among the thousands of other bookmarks you already forgot about?

An increasingly common sight...

As the number of people and organizations who have homepages on the web has increased the people formerly known as the audience are diverting their attention from these static outposts to activity-based social content, often consumed as-it-happens, in real-time.

This has tremendous implications for the browser, an application devised during the age of the “slow web”. More importantly, the browser’s interface hasn’t kept up with the changing and rapidly evolving nature of web content, failing to provide native interfaces that help you track content that you’re interested in, and that updates you automatically as new atomic data is available.

Though many browsers have basic feedreader support, their implementations are uninspired and irrelevant — as evidenced by the popularity of alternative web-based aggregators like Google Reader, Netvibes, Friendfeed, and even Twitter and Facebook.

In fact, the popularity of these services proves that consuming syndicated content from various sources is something that people want — it’s just that the browser does virtually nothing to satiate this desire.

Whole Foods‘ promotion of their Twitter and Facebook profiles also underscores an additional evolution that existing feed formats don’t express: that people are interested in many more kinds of content than blog posts and articles! People want photos, videos, status updates, wishlists, favorites, birthdays, and more. They want to know what changed or what happened — whether someone left a comment, made a new friend, is attending an event, or changed their profile photo. These activities take place across several domains and contexts, and pulling them all together into one convenient place is needlessly tedious and rarely portable.

Though I’m sure Whole Foods would much prefer to advertise its own website, they must promote themselves in the contexts where their customers spend their time for one simple reason: Facebook and Twitter have made it insanely easy for people to follow what their friends and favorite brands are doing. Even though feeds subscriptions have been built into browsers for several generations now, it took the social networks to actually make this feature usable — and wrote the browser right out of the picture.

But all’s not lost. As it turns out, the social agent is perfectly suited to provide “following” functionality by modernizing the browser’s existing feed infrastructure. In fact, by implementing “follow” at the browser level, we can generalize the activity of “subscribing” beyond articles and blog posts — and bring the functionality that people expect from social networks to the entire web.

Like subscribing, “following” only goes one way — and doesn’t require a reciprocal relationship in the way that “adding someone as a friend” on a social network often does.

CNN Log In to Follow

This means that following can apply to a wider array of subjects like people, sports teams, comment threads, brands, and any other entity that might emit a stream of updates or activities (even your scale can emit an activity stream!).

Following does not define the mode by which one “follows”, nor is it restrictive in what you follow. In Twitter, for example, you can follow someone’s updates on the web, on your phone via SMS, in apps, or in other connected social networking contexts. In other words, the social agent can continually evolve the experience of following all kinds of activities and objects, rather than being restricted to the conventional list of items common today.

Viewing a photo detail page.

The social agent can integrate following in two different ways: it can either provide built-in handling of syndicated content, or it can seamlessly hand off to a service like Friendfeed, Brizzly, TuneIn, Netvibes, Seesmic, or Google Reader. What’s important, though, is that when you hit the “follow” button, updates from your sources flow to a known preferred aggregator.

The power of “following” is evident when you connect to an activity publisher. To date, getting access to protected feeds in the browser has been complicated, especially if you use technologies like Facebook Connect or OpenID which don’t use passwords to provide access. By adding the ability to connect your active account to what you follow, the social agent can provide you seamless access to private feeds.

For example, say you decide to follow your friend, and want to receive updates when he posts new photos. That’d be easy, except that his photos are private to the world, and he posts them to a network that you’re not on. No problem: since the social agent knows who you are, it can help you connect with your friend and make it easy to just ask him for permission to see his photos. Next time he signs in, he’ll get a notification that you’ve requested access, which he can approve at his leisure. And you never have to sign up for the service that he happens to use — since his updates will be delivered to you through your social agent.

Following is about more than just status updates...

In practice, much of what I’ve described is already possible using recent protocols and formats. It’s really just a matter of providing a unified experience through the browser and pushing for wider adoption of these technologies across the most popular social web services.

Over time, it is conceivable that the browser may develop sophisticated functionality that provides personal analysis and insights into the people and activities that you follow. Such analysis may be presented in an aggregated view, or give you “Best Of” summaries along various slices (daily, monthly, locally, among your college friends, etc). It certainly will be exciting to improve your ability to consume all the information you’re interested in without being overwhelmed by it, with the social agent able to differentiate between content types, activity sources, actors, and contexts and able to pick out those things which are most relevant to your tastes.

One last thing: as processors become faster and computers more connected, managing information should be a burden borne by the computer, rather than the individual. The individual should instead focus on information intake, assessment, interaction, and decision making — the things that require human attentiveness.

Interfaces for managing data should be kept to a minimum, and where they do exist, should be made simple, efficient, and clear. Where we once relied on hierarchical folders and directories, for example, we can now rely on search or other heuristic ranking tools that take social inputs to improve their performance.

Over time we can expand functionality, but to begin, it makes sense to heed the wisdom of Gall’s law:

“A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.”

The social agent, part 2: Connect

Mozilla Labs Official ConceptThis is the second part of the five part Mozilla Labs Concept Series on Online Identity. This post introduces and examines the verb “Connect” as the foundation of a more personalized browser — which I outlined in Part 1: The Social Agent.

Also take a look at the rest of my mockups (view as a slideshow) or visited the project overview.

. . .

When was the last time you created a new username and password so that you could make use of some website? Do you remember what username you picked, or which email address you used to sign up? Probably. But what about that support forum that you signed up for a couple weeks ago while you were home for the holidays? Did you write it down somewhere? Or worse: did you just use the same username and password that you use everywhere else?

Spreadsheets, text files, sticky notes, cheat-sheets, software and browser extensions — you name it, people have probably found some way to recruit every kind of notational tool there is to help them remember the countless passwords, PINs, IDs, usernames, and secrets needed to access the apps, websites, and services that they use on a regular basis. But we can do better.

Step 1: Activate

The social agent is designed to unify your online social experience. With that in mind, a social agent must become an extension of you in order to mediate your online interactions.

This is achieved by activating your browser against your preferred account provider when you first begin your online session, just as you activate your mobile phone before being able to make or receive calls. This is how the browser is turned into a social agent.

By activating your browser, you are effectively telling your browser who you are and where to store and access your data online.

Account Manager - Activate a New Account

Fortunately, you can activate using any account that you already have that supports a Connect API, like Twitter Connect or Facebook Connect (or soon, OpenID Connect). It is also conceivable to use the browser in an anonymous or “incognito mode”.

Step 2: Connect

Once activated, you can visit any site that supports Connect and with the click of a button, sign up and bring your profile, relationships, content, activities, and any other portable data with you. This process is identical to Facebook Connect or Twitter Connect, except that the interaction occurs between your social agent and the site you’re visiting.

What is a Connect API? Writing for the O’Reilly Radar blog in February last year, David Recordon defined the anatomy of “connect” as meeting four criteria:

  • Profile: Everything having to do with identity, account management and profile information ranging from sign in to sign out on the site I’m connecting with.
  • Relationships: Think social graph. Answers the questions of who do I know, who do I know who’s already here, and how I can invite others.
  • Content: Stuff. All of my posts, photos, bookmarks, video, links, etc that I’ve created on the site I’ve connected with.
  • Activity: Poked, bought, shared, posted, watched, loved, etc. All of the actions that things like the Activity Streams project are starting to take on.

OpenID ConnectThis is what the verb “connect” means for the social agent. The “connect” button communicates that your browser is going to share some amount of your profile data with the site that you’re connecting with. You’re not just signing in. You’re connecting — and creating a relationship with the site. You can of course change the data that the website gets — even after you’ve signed in — and the benefit of this model is that you have transparency into what data you’re sharing with whom.

Far from making it impossible for you to share your data, your social agent should help you mediate such decisions, guiding you about which sites to connect with, and providing context to help inform you actions.

Clicking Connect pulls a familiar browser-based UI

For this model to work, your connections are actually made between your preferred account provider and the third parties to which you’ve connected. Your account provider, then, acts as a hub for all of your online doings — collecting, maintaining, and mediating your browsing history, relationships and contacts, activities, transactions, content and media, and online profile. This provider should let you selectively configure how much, how little, or how long such your data is made available to third parties — much in the same way that you manage access on Twitter or Facebook today.

For you, this means that you get to pick an account provider of your choice — without needing to worry about remembering or managing passwords or usernames. Instead, you can have any number of accounts that are available to you wherever the web goes.

As a core feature of the social agent, connecting is the action you take whenever you want to establish an enduring an ongoing relationship with a site, service, or individual.

The social agent

Mozilla Labs Official ConceptLate last fall, from late November through December, I worked with Mozilla Labs to envision what the future of a more social browser might look like. Working with the team, I produced a series of mockups and written pieces that were designed to first layout a future scenario for what I call “pop computing” — an era when computing is cheap, abundant, and a part of the everyday environment.

Thus, this is the first of a five part series that re-imagines the browser as a “social agent” — and defines how it can do more to facilitate various social behaviors by supporting three verbs that can “socialize” the browsing experience: Connect, Follow, and Share.

Weave Identity

To put the ideas presented here into some context, I will begin with a vignette that describes a future computing scenario, motivated by three emerging conditions:

  • online account and data portability
  • ubiquitous networked access
  • decreasing cost of advanced computing devices

This scenario is intended to provoke us to peek around the corner of today’s browser paradigm. Little that is presented here is entirely novel. Instead, this sketch presupposes that the browser has learned new capabilities that take it from the document-centric era of the web into the age of people-centric web services. This “social agent” knows who you are and facilitates common tasks like connecting to sites, interacting with following people and information, and providing intuitive tools for sharing for than just links.

. . .

We begin at a conference, somewhere far from home that required air travel, sometime in the near-future. It doesn’t really matter what the subject of the conference is, where it’s happening specifically, or why you’re going. However, a big draw of this event is getting to meet fellow professionals and exchanging tips and experiences, with the outcome of the event some kind of shared digital artifacts that capture the top highlights. There will be ample WiFi at the event and something else: everyone attending the event is given a slate computer to use for the duration of the event.

In fact, this kind of access to computing has become quite common; and with data access and portability vastly improved, the need to carry around personal electronics of any kind has all but gone away. In fact, the very thought of bringing a personal laptop — even a netbook — to the conference — now seems obtuse, as though you were bringing your own rotary phone and Yellow Pages to the conference.

It is also not possible to “install” applications on the device; instead, any application or service you need is available on-demand, available as a zero-footprint web service.

This device is the definition of a web native device; it serves dual purposes: to make computing extremely convenient, and abundant. It omits all the distractions and bells and whistles in favor of a lean, clean user experience, and is designed to augment — rather than replace — human interaction, as a whiteboard or pad of paper might.

The “browser” on this device has been modified to accommodate a new mode of online interaction. While it has retained a number of browser conventions, it introduces new capabilities that enhance personalization, sharing, and collaboration by carving out specific interfaces dedicated to interacting with people and web services.

When you turn on the device for the first time, you’re asked to activate the machine by signing in to your preferred identity service provider. You can either choose from a list of well known providers or supply an OpenID Connect-enabled account address.


Once activated, the device becomes an “extension” of your existing digital identity and any activity that you perform on the device will be attached to that identity. You may activate additional identities in order to assume discreet roles, but most people get by with as few as one or two active digital identities at any given time.

To that point, passwords are a thing of the past. With the advances in data portability and service interoperability, all modern sites and web services accept users from other networks (just as we take for granted the ability to email people from different domains today), making it possible to connect with, follow, and share with people on other networks without needing to create a new account. For most people, you only need one account for all your computing activities.


To better illustrate activation, I’ll draw an analogy to selecting your active gamer profile on an Xbox: once you’ve logged in with your gamertag, all your high scores, achievements, customizations, and social connections get attached to your profile. You don’t create a new gamertag for every game you play, nor for every social network (Facebook, Twitter,, etc) that you add to your profile. Instead, your gamertag is like a meta-identity to which you attach services, preferences, and attributes. This gamertag becomes a convenient, reusable identity.

Furthermore, if you visit a friend’s house and sign in to her Xbox with your gamertag, you’ll be able to bring all those preferences, connections, and achievements with you. You would set up and use the account system of this web-based device in the same way. In our future scenario, you would likely activate the same account that you use in your typical computing tasks while at the conference — picking up from where you left off — bringing access to all the resources and services you use, without the hassle of having to bring your own device, or remember more than one password.

During the course of the event, you would be able to make use of the built-in sharing capabilities to trade notes, photos, and videos with attendees co-located and remote. You could also follow those speakers and presenters who you find interesting, again, using the built-in features of the social agent.


On the expo floor, you could use the device to wirelessly connect your account to any of the exhibitors, taking photos, making notes, and swapping contact information or gathering information to read later — which would all be seamlessly and securely synced to your cloud provider.


Best of all, because these activities would be performed under a primary account, it would be easy for you to revisit this experience later — filtering the connections and contacts you made by time, location, or contextual activity (for example, did you meet this person because they were a speaker, or were you introduced to this person through a mutual friend?). You would also have digital receipts of the information that you shared with people, and be able to recall the products and organizations you started following while at the event. In other words, rather than having to perform these different types of common tasks across a number of separate networks after the fact, your social agent would mediate these tasks for you — ultimately freeing you up to focus on the event itself — and the interactions with your fellow attendees.

. . .

Our opportunity, then, is to define how the browser could serve us better if it were recast as a social agent. To begin with, we need to make two assumptions:

  • First, there’s no reason why the browser should remain a passive bystander in our online experience. With increasing information abundance, we require smart and sophisticated tools that bring us the information that we need to know, when we need to know it, and that brings back our focus, productivity, and accelerates our understanding of the world around us.
  • Second, the social agent serves as an extension of the self into the web. Just as the mouse and keyboard facilitate the interaction between man and machine, the social agent facilitates the interaction between people through the medium of the web. We trust the keyboard to “communicate” our keystrokes to the computer just as we typed them, and expect the browser to help us articulate our connections other people directly. As the trust between the browser and man grows, we are extending ourselves into the digital medium — augmenting our access and ability to manipulate information — and enhancing our ability to connect with others. And yet, the browser is cast in the image of an infovore — and not a social being. Thus the potential to retool the browser as a social agent is huge, and remains largely unexplored territory, especially as we are spending more of our computing time in this application.

As the nexus of all of our online activities the browser is uniquely positioned to provide convenient and consistent access to friends, contacts, documents, and media across networks. And as an extension of man, the social agent is a fulcrum of user-centric computing — turning the individual into the point of integration by rejecting the current rash of fragmented service-centric identities. As far as the individual is concerned, it should be a choice whether one decides to fragment his identity into a thousand partial profiles strewn across the web, rather than a mandate.

From Mozilla’s perspective, the social agent offers dignity to the individual and brings balance to a chaotic ecosystem.

Just as Firefox has brought choice and innovation to a once-monopolistic browser market, the next generation browser must bring choice to the rapidly centralizing world of social networks. To achieve this, we need more than just another social network; we need a vision of the social web that is built on upon technological interoperability that fosters agency for the citizen of the web.

As my contribution to the Mozilla Concept Series on Identity, this series will explore the following hypotheses:

  • that people’s experience on the web would be enhanced if the browser offered more compelling, integrated social functionality
  • that the browser can be made social, becoming a personal, social agent
  • that a social agent can minimize the overhead of participating in the social web and maximize the benefits
  • that the architecture of identity in the browser is critical to achieving simplicity and clarifying the experience of social networking
  • that a social agent should simplify and reduce the work necessary of web developers to create secure, compelling social applications
  • that social functionality must be built into the browser in order to spread the benefits of the social web as wide as possible
  • that establishing trust is essential to growing the social web, and that trust can be earned by putting the individual, rather than services, at the center of the personal social web experience

This series of posts will sketch out a vision for the future of social computing, and is intended to provoke discussion, critique, and alternative proposals. In my mockups, I depict three new flows that adding three new verbs (connect, follow, and share) could bring to the browser. Subsequent posts will tackle each of these topics in turn:

  • Connect: acting as your social agent, the browser becomes an extension of yourself, making it easier and more secure to participate in the social web
  • Follow: as a replacement for the antiquated notion of “subscribing”, “following” becomes the general way to track the activities or feeds associated with a people, brands, celebrities, or social objects.
  • Share: as the fundamental activity of the social web, sharing media, content, and information is integrated into the browser and enhanced through making available social connections and publishing services

Losing my religion

Last January, writing on the problem of open source design, I said:

I’ve probably said it before, and will say it again, and I’m also sure that I’m not the first, or the last to make this point, but I have yet to see an example of an open source design process that has worked.

Indeed, I’d go so far as to wager that “open source design” is an oxymoron. Design is far too personal, and too subjective, to be given over to the whims and outrageous fancies of anyone with eyeballs in their head.

Lately, I’m feeling the acute reality of this sentiment.

In 2005, I wrote about how I wanted to take an “open source” approach to the design of Flock by posting my mockups to Flickr and soliciting feedback. But that’s more about transparency than “open source”. And I think there’s a big difference between the two that’s often missed, forgotten or ignored altogether: one refers to process, the other refers to governance.

Design can be executed using secretive or transparent processes; it really can’t be “open” because it can’t be evaluated in same way “open source” projects evaluate contributions, where solutions compete on the basis of meritocratic and objective measures. Design is sublime, primal, and intuitive and needs consistency to succeed. Open source code, in contrast, can have many authors and be improved incrementally. Design — visual, interactive or conceptual — requires unity; piecemeal solutions feel disjointed, uncomfortable and obvious when end up in shipping product.

Luke Wroblewski is an interaction designer. He recently made an observation about “openness” that really resonated with me:

I read this quote last week and realized it is symptomatic of a common assertion that in technology (and especially the Web) “completely open” is better than “controlled”.

“But we’ll all know exactly where Apple stands – jealously guarding control of their users […] And that’s not what Apple should be about.” –TechCrunch

Sorry but Apple makes their entire living by tightly controlling the experience of their customers. It’s why everyone praises their designs. From top to bottom, hardware to software -you get an integrated experience. Without this control, Apple could not be what it is today.

He followed up with a post on Facebook’s design process today that I also found exceedingly compelling.

I worry about Mozilla in this respect — and all open source projects that cater to the visible and vocal, ignoring the silent or unengaged majority.

I worry about OpenID similarly — an initiative that will be essential for the future of the social web and yet is hampered by user experience issues because of an attachment to fleeting principles like “freedom” and “individual choice”. Sigh.

I’m not alone in these concerns.

When it comes to open source and design, design — and human factors, more generally — cannot play second fiddle to engineering. But far too often it seems that that’s the case.

And it shouldn’t be.

More often there should be a design dictator that enters into a situation, takes stock of the set of problems that people (read: end users) are facing, and then addresses them through observation, skill, intuition, and drive. You can evaluate their output with surveys, heuristics, and user studies, but without their vision, execution, and insane devotion to see through making it happen, you’ll never see shit get done right.

As Luke says, Most people out there prefer a great experience over complete openness.

I concur. And I think it’s critical that “open source” advocates (myself included) keep that at top of mind.

. . .

I will say this: I’m an advocate for open source and open standards because I believe that open ecosystems — i.e. those with low barriers to entry (low startup costs; low friction to launch; public infrastructure for sustaining productivity) — are essential for competition at the level of user experience.

It may seem paradoxical, but open systems in which secretive design processes are used can result in better solutions, overall.

Thus when I talk about openness, I really mean openness from an economic/competitive perspective.

. . .

Early today I needed access to a client’s internal wiki. Having gone without access for a week, I decided to toss up a project on Basecamp to get things started.

When I presented my solution to the team, I was told that we needed to use something open source that could be hosted on their servers. Somewhat taken aback, I suggested Basecamp was the best tool for the job given our approaching deadline..

“No, no, that won’t do,” was the message I got. “Has to be open source. Self-hosted.”

I asked them for alternatives. “PHProjekt“. Double Choco Latte. I proposed Open Atrium.

Once again, as seems all too common lately, more time was devoted to picking a tool rather than producing solutions. More meta than meat. Worst of all, religion was in the driver’s seat, rather than reality. Where was that open source pragmatism I’d heard so much about?

Anyway, not how I want to begin a design process.

Ultimately, I got the access I needed — to MediaWiki. So, warts and all, we’ll be using that to collaborate. On a closed intranet.

In the back of my head, I can’t help but fear that the tools used for design collaboration bleed into the output. To my eyes, MediaWiki isn’t a flavor that I want stirred into the pot. And it begs the question once and for all: what good can “open source” bring to design if the only result is the product of committee dictate?

Google Chrome and the future of browsers

Chrome LogoNews came today confirming Google’s plans for Chrome, its own open source browser based on Webkit.

This is big news. As far as I’m concerned, it doesn’t get much bigger than this, at least in my little shed on the internet.

I’ve been struggling to come to grips with my thoughts on this since I first heard about this this morning over Twitter (thanks @rww @Carnage4Life and @furrier). Once I found out that it was based on Webkit, the pieces all fell into place (or perhaps the puzzle that’s been under construction for the past year or so became clearer).

Chrome is powered by Webkit

Last May I ranted for a good 45 minutes or so about the state of Mozilla and Firefox and my concerns for its future. It’s curious to look back and consider my fears about Adobe Air and Silverlight; it’s more curious to think about what Google Chrome might mean now that it’s been confirmed and that those frameworks have little to offer in the way of standards for the open web.

I read announcement as the kid gloves coming off. I just can’t read this any other way than to think that Google’s finally fed up waiting around for Firefox to get their act together, fix their performance issues in serious ways, provide tangible and near-term vision and make good on their ultimate promise and value-proposition.

Sure, Google re-upped their deal with Firefox, but why wouldn’t they? If this really is a battle against Microsoft, Google can continue to use Firefox as its proxy against the entrenched behemoth. Why not? Mozilla’s lack of concern worries me greatly; if they knew about it, what did they do about it? Although Weave has potential, Google has had Google Browser Sync for ages (announced, to wit, by Chrome’s product manager Brian Rakowski). Aza Raskin might be doing very curious and esoteric experiments on Labs, but how does this demonstrate a wider, clearer, focused vision? Or is that the point?

Therein lies the tragedy: Google is a well-oiled, well-heeled machine. Mozilla, in contrast, is not (and probably never will be). The Webkit team, as a rhizomatic offshoot from Apple, has a similar development pedigree and has consistently produced a high quality — now cross-platform — open source project, nary engaging in polemics or politics. They let the results speak for themselves. They keep their eyes on the ball.

Ultimately this has everything to do with people; with leadership, execution and vision.

When Mozilla lost Ben Goodger I think the damage went deeper than was known or understood. Then Blake Ross and Joe Hewitt went over to Facebook, where they’re probably in the bowels of the organization, doing stuff with FBML and the like, bringing Parakeet into existence (they’ve recently been joined by Mike Schroepfer, previously VP of Engineering at Mozilla). Brad Neuberg joined Google to take Dojo Offline forward in the Gears project (along with efforts from Dylan Schiemann and Alex Russell). And the list goes on.

Start poking around the names in the Google Chrome comic book and the names are there. Scott McCloud’s drawings aren’t just a useful pictorial explanation of what to expect in Chrome; it’s practically a declaration of independence from the yesteryear traditions of browser design of the past 10 years, going all the way back to Netscape’s heyday when the notion of the web was a vast collection of interlinked documents. With Chrome, the web starts to look more like a nodal grid of documents, with cloud applications running on momentary instances, being run directly and indirectly by people and their agents. This is the browser caught up.

We get Gears baked in (note the lack of “Google” prefix — it’s now simply “of the web”) and if you’ve read the fine-print closely, you already know that this means that Chrome will be a self-updating, self-healing browser. This means that the web will rev at the speed of the frameworks and the specifications, and will no longer be tied to the monopoly player’s broken rendering engine.

And on top of Gears, we’re starting to see the light of the site-specific browser revolution and the maturing of the web as an application platform, something Todd Ditchendorf, with his Fluid project, knows something about (also based on Webkit — all your base, etc):

Google Chrome + Gears

In spite of its lofty rhetoric in support of a free Internet, Chrome isn’t Mozilla’s pièce de résistance. Turns out that it’s going to be Apple and Google who will usher in the future of browsers, and who will get to determine just what that future of browsers are going to look like:

Google Chrome, starting from scratch

To put it mildly, things just got a whole lot more exciting.