Results tagged “software”

I like blogging software.

April 29, 2013

I lament the end of the personal CMS market; I was happy to back Ghost on Kickstarter today for the same reason that I back pretty much any effort at making blogging software — I think these tools matter. I find it interesting, and telling, that there are still so many static publishing tools that geeks care about, and though I think WordPress is an awesome tool, I lament the virtual monoculture that's resulted from its success in the run-your-own blogging software market.

This is a particularly acute pain for me not just because I used to help make these kinds of tools, but because my own needs are sort of prosumer-grade concerns. We have the Garage Bands and iMovies of blogging, but we really don't have Logic or Final Cut for individual bloggers who aren't trying to run some giant professional blogging network.

So, my contribution is to collect some of the notes I've been gathering for the last few years about what I'd like to see in a blogging tool. I know there are apps with many, perhaps even all, of these features, but I'd like to see one emerge as a leading platform for doing innovative work. My blogging features wishlist:

  • I enter markdown in plain text files; these are stored on Dropbox/Google Drive/Skydrive and/or S3 and/or GitHub.
  • The system renders those plain files into JSON assets in a documented format.
  • A Bootstrap-themed reading client app lives at my site, on my domain, and reads a single simple config file to learn how to display and navigate between those JSON assets. This client app would also have to handle URL routing and persisting states, while ideally also keeping preferences and reading history for readers.
  • The default theme offers a YouTube-style browsing view of all my content, where people can make playlists of posts (this is equivalent to navigating my archives by tag), embed my posts on their own sites, and easily explore by traditional groupings like category or date.
  • There might be an optional administration interface separate for me, just for editing the markdown files through a plain text in-browser editor; In this case, it should be a responsive app that works in all my browsers.
  • Ideally comments are handled as small messages in a documented json format, sent between instances of this blogging application. Of course in the short term I would just embed Disqus/Facebook/Google-style comments until that infrastructure was further along.
  • Having a documented format for the json objects which represent posts and comments would permit transclusion and sending of posts between sites, in a manner analogous to how Fargo does this for outliners, and in a way that would bring back some of the positives of TrackBack in the early blogosphere.
  • "Themes" would largely be implemented as Bootstrap CSS stylesheets, with some affordance for separate content modules. By default, themes are public so I would just be able to tell an admin app to import a theme from your site so I could remix it.
  • The API endpoint for discovering the json representations of content would double as the API for others to access my data to build around it; Eventually a posting app which saved POSTs of that json format as fiels in dropbox would allow a write API.

I think that's it for now. Let me know if somebody's got all these boxes checked on their platform today, but I suspect the hardest part is the client app for readers, which works in a way analogous to an RSS reader or email client, but would have to support a new format and would be optimized for clean reading and subsequent discovery, rather than the three-pane model which has dominated those apps for the last decade or two.

Rebuilding the Web We Lost

December 18, 2012

We have the obligation to never speak of our concerns without suggesting our solutions. I've been truly gratified to watch the response to The Web We Lost over the last few days; It's become one of the most popular things I've ever written and has inspired great responses.

But the most important question we can ask is: How do we rebuild the positive aspects of the web we lost? There are a few starting points, building on conversations we've been having for years. Let's look at the responsibilities we must accept if we're going to return the web to the values that a generation of creators cared about.

  • Take responsibility and accept blame. The biggest reason the social web drifted from many of the core values of that early era was the insularity and arrogance of many of us who created the tools of the time. I was certainly guilty of this, and many of my peers were as well. We took it as a self-evident and obvious goal that people would even want to participate in this medium, instead of doing the hard work necessary to make it a welcoming and rewarding place for the rest of the world. We favored obscure internecine battles about technical minutia over the hard, humbling work of engaging a billion people in connecting online, and setting the stage for the billions to come. To surpass the current generation of dominant social networks and apps, which have unsurprisingly become arrogant and inflexible during their own era of success, we'll have to return to being as hungry and as humble as we were when the web was young. Because last time, we were both naive and self-absorbed enough that we deserved to fail.
  • Don't just meet the UX standards, raise the bar. Obviously, the single biggest reason that the new era of social apps and sites have succeeded where the early efforts did not is because of their massively superior user experience, from the front-end user interfaces to the back-end performance. The expected thing to do would be to hope that a new generation of user-respecting apps came along and matched the best that Facebook and Twitter and Pinterest to have to offer. But actually, due to the profound entrenchment that these platforms already have across culture, the new apps have to be an order of magnitude better in user experience. The good news is, as the rest of the web transitions from making pages to making streams, they'll all be revisiting the tools and technologies they use to connect, and that'll form a big opportunity for new players to participate.
  • Rethink funding fundamentals. As we've seen over and over, the giant social networks seem to inevitably piss off their user bases by changing product features and terms of service in ways that catalyze huge waves of user-generated discontent. But the fundamental reason these sites refused to accommodate so many user demands is because of economics. Those sites make their revenues on models dictated by the terms of funding from the firms that backed them. But as we've discussed before, it's possible to fund contemporary startups either without venture capital, or with a level of efficiency that allows mom and pop startups to reach web scale. To be clear, venture funding powered much of the first wave of social startups and were a big reason they were able to achieve many of their successes, so VC will be part of the ecosystem in the next wave as well. But the terms and dynamics can be profoundly different, supporting startups that are intentionally less efficient, perhaps even making use of the skills of blue collar coders to provide a lot of people will good, solid middle-class jobs instead of optimizing, as current companies do, for making a small number of people enormously wealthy.
  • Explore architectural changes. One of the fundamental reasons that the economics of doing a startup at web scale are different is because of the proliferation of cloud computing and very, very high-performance, reliable open-source components that provide advanced functionality which was prohibitively expensive a decade ago. Instead of backing up a truckload of Dell servers to a data center and then installing a few hundred thousand dollars worth of Oracle software, we can pick and choose a few components off the shelf to get started. More importantly, consumers will start to be able to use the cloud themselves, which removes the current constraint around having to build single, centralized services to provide a great consumer experience. Today, big social apps have to spend millions of dollars handling DMCA takedown requests and FBI investigations into illegal content and in general fighting the web's fundamental desire to be centralized. New apps don't need to obey those constraints.
  • Outflank by pursuing talent outside the obvious. The current wave of the social web doesn't just demonstrate its arrogance through its product decisions. The people involved in creating these platforms are hired from a narrow band of privileged graduates from a small number of top-tier schools, overwhelmingly male and focused narrowly on the traditional Silicon Valley geography. By constrast, the next wave of apps can harken back to many of the best of the early social startups, which often featured mixed-gender founding teams, attracted talent from geographically diverse regions (Flickr was born in Canada!) and were often created by people with liberal arts degrees or even no degree at all. Aside from being the responsible thing to do, having a diverse team generates a variety of unexpected product features and innovations that don't come from the groupthink of homogenous cultures.
  • Exploit their weakness: Insularity. Another way of looking at the exclusionary tendencies of typical Silicon Valley startups is by considering the extraordinary privilege of most tech tycoons as a weakness to be exploited. Whether it's Mark Zuckerberg's unique level of privilege limiting his ability to understand why a single, universal public identity might ruin people's lives, or the tendency to launch apps first to a small, clubby circle of insiders, new startups don't have to repeat these mistakes. And by broadening their appeal from the start, new apps and networks can outflank the big players, paying attention to audiences that hadn't been properly respected last time. That insularity even extends to the tech industry typically ignoring the world of policy and regulations and government until it's too late. While the big tech players have formed their own RIAA, the best case is that they'll focus on overall issues like spectrum policy and net neutrality, ignoring the coming reality of policy changes that will try to protect regular users.
  • Dont' trust the trade press. Another essential step for breaking out of the current tech industry's predictable patterns will be for entrepreneurs and creators to educate themselves about the true history of the tech industry and its products. Our business tends to follow a few simple, repeating cycles, like moving from centralization to decentralization and back, or from interoperable communications to silos and back. But as we've discussed, you can't trust the tech press to teach you about the tech industry, so you'll have to know your shit. Fortunately, a lot of us old-timers are still around, and still answer our emails sometimes, so it's possible to just ask. Imagine if Instagram had simply asked the folks who used to work at Flickr, "Did you ever change your terms of service? What freaked people out?" And even better, we can blog our own progress, because if you didn't blog it, it didn't happen. In that way, we form our own community of practice, our own new peer review process for what we learn about making the web work the right way.
  • Create public spaces. Right now, all of the places we can assemble on the web in any kind of numbers are privately owned. And privately-owned public spaces aren't real public spaces. They don't allow for the play and the chaos and the creativity and brilliance that only arise in spaces that don't exist purely to generate profit. And they're susceptible to being gradually gaslighted by the companies that own them.

Overall, there are lots of ways that the current generation of social sites are vulnerable. There are users that the current tech industry considers undesirable, and technology choices that are considered taboo, and traditions around hiring and product strategy that force them to concede huge opportunities right out of the gate.

As is obvious from the responses I've gotten, many, many people care about a social web that honors certain human and creative values. As I've spent years thinking about the right way to write for this blog, and to build ThinkUp, and to sit on the board at Stack Exchange, and to advise clients at Activate, and to work on all the other stuff I do, I just keep running into the fact that there's a huge opportunity to make a great new generation of human-friendly apps with positive social values.

These new companies will be recognizable in that they'll impact culture and media and government and society, and that they'll invent great new technologies. They'll still make a bunch of money for the people who found them. But they'll look different, both in terms of the people who make them, and the people they serve. And they'll be more durable, not optimized based on current fashions in financing, but because they're built on the accurate belief that there are people who care deeply about the web they use, the works they create, the connections they make, and the humans on the other side of those connections.

ThinkUp 1.0 and Software With Purpose

November 15, 2011

Today, ThinkUp is out of beta and available for free. If you have a presence on Twitter, Facebook or Google+ and know how to run a PHP/MySQL app on a web server (or on EC2), you should install it and get it started now. ThinkUp will collect all of your activity across these networks and give you great analytics, search and archiving for them.

I'm incredibly excited about the launch of this app, of course. Gina Trapani has been shepherding ThinkUp's evolution through 25 releases, three names and five dozen contributors over the past two years, ably assisted by a phenomenal community that I'm proud to be part of. ThinkUp is also the flagship platform for our efforts at Expert Labs, enabling some incredibly powerful new ways of connecting citizens and their government, which we'll be talking about soon.

But today, ThinkUp's launch matters to me because of what it represents: The web we were promised we would have. The web that I fell in love with, and that has given me so much. A web that we can hack, and tweak, and own.

Where We Stand Today

  1. Picture everything you've ever written on Twitter
  2. Now add in every photo or status update you've ever posted on Facebook
  3. Add to that every message you've ever sent on Google+
  4. And then include every response you've ever gotten from anyone to any of those messages

Now understand: The companies behind these networks can, and someday will, destroy all of those moments. Delete them from the record. Forever. With no advance notice. I want you to understand, and really truly believe that. Read the terms of service yourself if you don't think they can do that.

Sand Castles

Why would I ascribe such awful behavior to the nice people who run these social networks? Because history shows us that it happens. Over and over and over. The clips uploaded to Google Videos, the sites published to Geocities, the entire relationships that began and ended on Friendster: They're all gone. Some kind-hearted folks are trying to archive those things for the record, and that's wonderful. But what about the record for your life, a private version that's not for sharing with the world, but that preserves the information or ideas or moments that you care about?

I'm not saying this destruction is always deliberate or malicious. I'm friends with a lot of nice folks at the companies that run our big social networks. I think they mean well, and when they can, they do the right thing. And most people wouldn't be that upset if their online presence were destroyed.

Beyond the Numbers

But whether everyone cares about the risks of today's social networks isn't the point: Vast and important parts of our culture are bring destroyed in the digital domain. ThinkUp can't help everybody, yet. But it should help anyone with more than 1000 connections on their network, or anybody who cares about what they're creating online.

Right now the only way we have to show that we care about our networks is to quantify them, and assign metrics that aren't as meaningful as the conversations they're meant to represent.

Of course ThinkUp has great analytics — but it does not, and will never display some arbitrary score to your profile. We want you to better understand who you're talking to on your networks, and to better share what you discover by letting you publish a pretty, embeddable version of your Twitter or Facebook conversations.

And while those features are unique and valuable, simply being able to look back and search for the things my friends and I have shared on our networks is the driving force for enabling all of the amazing things that are built, or will be built, on top of ThinkUp.

In ThinkUp, I can find the message where I announced my son's birth. On Twitter or Facebook, I can't.

I'm Old-Fashioned

ThinkUp Timeline thumbnail

Caring about these issues on the web isn't, frankly, very fashionable in the tech world right now. Building apps that are open source, decentralized, and require the pain in the ass of installing a PHP app on your own web server is certainly not in vogue. But, being built by a non-profit and a community of volunteers, we have the luxury of creating something valuable even if it's not what's currently in favor amongst the Techmeme set. Plus, we've got great hackers adding all kinds of cool features every day.

This isn't just some nostalgia trip for me, though. I take a long view of the tech industry and of the web as a medium. I know we swing from centralized to decentralized and back again. If everyone's headed to one giant centralized network, then somebody oughtta be looking the other way, too.

But we're not making some shiny, loud app that's designed to get TechCrunch coverage. What Gina started two years ago, what Expert Labs has been proud to support, what an incredibly enthusiastic (and, importantly, extremely diverse) community has been moved by is that ThinkUp is software with a purpose. It is technology with a set of values.

ThinkUp's values are simple:

  • Meaningful conversations are important
  • People's self-expression is valuable and worth preserving
  • Technology meets its highest use when in service of people's desires instead of big institutions
  • Well-built networks can empower people in a way that counters social imbalances
  • Good tools can impact culture in a positive way

Get Going

I know there's still some of us out there that believe in these ideas. If you do, block out some time during your lunch hour or this weekend, and install the app. Don't have time? Run it on your EC2 account; It'll only take about 5 minutes — as easy as when you first set up WordPress. You'll find some bugs and some rough spots, and we'll be eager to see both your bug reports and your code over at Github.

  • If you'd like to see a ton of screenshots in an app walkthrough, Gina Trapani's post has you covered.
  • For the official announcement of ThinkUp 1.0, hit the Expert Labs blog where there are complete details and a changelog.
  • And do take a look at ReadWriteWeb's review, one of the best of the early looks at the app, which opens by calling ThinkUp "the social media management tool that matters most".

All The App Stores

October 20, 2010

Apple's App Store for iOS dominates people's perceptions whenever you mention the phrase "App Store". But it's actually just one member of a much larger set of "app stores", most of which don't use that description, but all of which are used to distribute applications to specific audiences.This is particularly important to keep in mind as it's likely that new versions of major operating systems like Mac OS and Windows will incorporate desktop app stores for the first time.

But wait — how could there be many, maybe even dozens, of app stores? Because they often take forms that we don't expect, or piggyback on other platform pieces that weren't originally conceived as an app store. To help make the concept clearer, I've outlined a few of the categories of app store that exist today, and collected some initial data about the size of these different app stores. Keep in mind: Many of these app stores serve more than one category, and those lines will only get blurrier in the future. I've deliberately erred on the side of stretching the definition of "app store" because I think it's very likely that new contenders will rise in areas that weren't previously considered competitive in this space.

  • Mobile: These are the most familiar model of app stores, catalogs of mobile applications for phones and, more recently, tablets. As the most mature type of modern app store, they include really simple and robust payment services, easy ways for developers to submit apps, and widespread use amongst end users who have appropriate devices. iTunes leads the way here, of course, with Android being the other major player.
  • Consoles: Gaming consoles and video set-top boxes have pretty mature app stores as well. Whether it's Xbox Live, Nintendo's virtual console, the coming Google TV and presumable Apple TV stores, or even the mini-applets that show up on Tivos, Rokus, Boxees, and some smart TVs, these are a relatively familiar form of app store for tech consumers as well.
  • Desktop: The most obvious, and most glaringly under-developed category of app store. Interestingly, Microsoft launched a catalog of "Designed for Windows" applications as long as a decade ago when Windows XP came out, but today that's largely farmed out to CNET's and can't be considered a true app store. Windows 8 is pretty clearly going to integrate something more formal along these lines, and I'd be surprised if Mac OS X doesn't as well, perhaps as soon as in version 10.7. Meanwhile, Steam is extremely successful in being an app store for games on the desktop, and Linux users have long taken for granted a seamless app store experience from their preferred distribution's package manager tools. Some new platforms like Mozilla's open web apps will likely run across the desktop and mobile platforms like tablets.
  • Servers: On the server, it's a strikingly different story than the desktop. While there are certainly popular package managers as on Linux desktops, it's increasingly common that server applications are delivered as complete virtual machines, or appliances. Amazon EC2 AMIs, Google App Engine apps, JumpBox images, and of course VMWare appliances are all extremely popular methods of deployment. The payment infrastructure for these app stores is also robust, not surprising given the significant amounts of money spent on server applications and the attractiveness of enterprises as customers. Some server app store deployments don't follow this appliance model, as in the common CPanel tools on shared web hosts, or Microsoft's excellent, but under-recognized, /web tools.
  • Libraries: This is the geekiest category, mostly the domain of developers. From Pear for PHP or CPAN for Perl, from code distribution systems like Freshmeat or Macports, or even including old standbys like RPM or synaptic, tools that have long been thought of as mere developer infrastructure for installing library dependencies in the open source world seem poised to mature into relatively full-featured app stores, perhaps at the behest of commercial firms interested in introducing a business model and a more polished experience in front of these workhorses of the Internet. It's easy to picture a Sourceforge or Github creating a simple experience for the subset of the projects they host that can actually be used by end-users. One could argue that plugin installations systems such as the WordPress plugin directory are starting to become this sort of app store already.

Who's Winning

So, let's grant that all of these previously-disparate categories of software distribution are becoming simpler for end users, providing a more seamless and integrated experience on all their target platforms, and are introducing more accessible ways to pay for the products they contain. This lets us start to form a picture of the "app store" space as a whole, and a good starting point for creating a strategy to target across all of these app stores is to count the number of apps they claim to contain.

Note: These numbers are rough estimates, and admittedly inaccurate, due to much of the source data being self-reported by the owners of the various app stores. I wanted to post this data here as a starting point for a conversation, so that anyone with more reliable data, or any suggestions for additional app stores to be included, could submit them here in the comments.

That being said, here's a quick overview of what some big app stores list in terms of individuals apps they make available.

Sincere thanks to Morris Laniado on our team at Activate for compiling much of the research in the spreadsheet above, as a great starting point for adding more data to come.

Forking is a Feature

September 10, 2010

While Linus Torvalds is best known as the creator of Linux, it's one of his more geeky creations, and the social implications of its design, that may well end up being his greatest legacy. Because Linus has, in just a few short years, changed the social dynamic around forking, turning the idea of multiple versions of a work from a cultural weakness into a cultural strength. Perhaps the technologies that let us easily collaborate together online have finally matured enough to let our work reflect the reality that some problems are better solved with lots of different efforts instead of one committee-built compromise.

GitHub's map of code forks

The idea of "open source" in the technology world is really a set of cultural beliefs, despite usually masquerading as technical or legal choices made by a community. All cultures have norms, and standards of behavior, and most importantly, they have behaviors they consider antisocial or destructive.

For most of the first three decades of open source's ascendance, the most destructive action that one could threaten to do, the nuclear option, was to fork.


There are several related technical concepts that can answer to the name "fork", but the one I reference here is the dramatic moment when a software project undergoes a schism on ideological or technical grounds. Instead of merely taking their ball and going home, those who forked were taking a copy of your ball and going to a new playground. And while splitting a community could obviously cause an open source community's momentum to grind to a halt, even the mere threat of a fork could cause significant problems, by revealing conflicting goals or desires or motivations within a previously-united community.

Still, forks have had important consequences. Firefox (earlier Firebird and Phoenix) was originally a fork of Mozilla, the open source browser that had been mired in indecision for half a decade. WordPress was born as a fork of B2, a neglected early blogging tool.

Outside of tech, forks have an even bigger meaning. You could make a pretty strong argument that the Reformation was a fork, or that Christianity itself is a fork. So clearly, forking a community can have a significant, even profound impact. But in tech, it had largely been seen solely as a violent, schismatic action.

Part of the predicate for forks being so disruptive was the idea that there is One True Version — a creation, like a piece of software, a written work, or anything else, that can only be accurately represented by a single ideal expression. Even some of the most disruptive technological innovations like Wikipedia are still built around the idea of achieving consensus on a definitive work, and striving mightily to avoid forks arising within the community.

Until a git named Linus changed that.

In The Road

You know Linus Torvalds, he's the guy who created (and nearly eponymized) Linux. But perhaps his most impressive act of creating technological culture is in fathering Git, the enormously popular distributed revision control system. That mouthful of a description basically means "system that lets a decentralized group of creators efficiently collaborate on a complicated bit of software". Other systems had enabled distributed revision control before, making it easier to rapidly evolve software, and to appropriately assign blame to whomever had introduced a bug into the program, but few had found any notable degree of popularity.

Forking on GitHub

But Linus' pedigree, influence and outstanding implementation immediately put Git at the forefront of choices to solve this class of problem. Even better, his credibility with the new generation of social software creators inspired the rapid launch and brilliant evolution of GitHub, a social network for developers that relies on the technology of Git as its underpinnings, but has also embraced the philosophy of Git as its fundamental interaction model.

Often, the very first thing a coder does when she sees an interesting new project on GitHub is to make a fork of it and start tinkering. That's only one of the reasons that GitHub so important, though; The GitHub principle of "see it, make your own version, and then get to work" has started to filter into other disciplines, as exemplified by design sites like Dribbble, and upcoming new sites for creatives such as Forrst.

These new sites are admittedly still in their formative stages — Dribbble just had its breakout moment with the recent popularity of redesigning the iTunes icon — but it's easy to imagine a more mature version where, instead of merely focusing on the pretty pixels on the screen, the designers who frequent the site were encouraged to describe their rationale, and to use the site's replying abilities (called "rebounds"on Dribbble) to do something more akin to forking, where raw Photoshop and Illustrator files were shared.

The One True Version

Most importantly, the new culture of ubiquitous forking can have profound impacts on lots of other categories of software. There have been recent rumblings that participation in Wikipedia editing has plateaued, or even begun to decline. Aside from the (frankly, absurd) idea that "everything's already been documented!" one of the best ways for Wikipedia to reinvigorate itself, and to break away from the stultifying and arcane editing discussions that are its worst feature, could be to embrace the idea that there's not One True Version of every Wikipedia article.

A new-generation Wikipedia based on Git-style technologies could allow there to be not just one Ocelot article per language, but an infinite number of them, each of which could be easily mixed and merged into your own preferred version. Wikipedia already technically has similar abilities on the back end, of course, but the software's cultural bias is still towards producing a definitive consensus version instead of seeing multiple variations as beneficial.

There are plenty of other cultural predecessors for the idea of forking, all demonstrating that moving away from the need for a forced consensus can be great for innovation, while also reducing social tensions. Our work on ThinkUp at Expert Labs has seen a tremendous increase in programmers participating, without any of the usual flame wars or antagonism that frequently pop up on open source mailing lists. Some part of that is attributable to the cultural infrastructure GitHub provides for participation.

Moving forward, there are a lot more lessons we can learn if we build our social tools with the assumption that no one version of any document, app, or narrative needs to be the definitive one. We might even make our software, and our communities, more inclusive if we embrace the forking ourselves.

Spreadsheet Art Revisited

December 26, 2008

One of my recurring fascinations is people creating works of art using common productivity software. Office Tools of Expression as a review of this medium that I wrote last year, and Excel Pile offered an overview back in 2004.

Today, the idea of using office software as a means of expression is popping up more and more frequently. Danielle Aubert released 16 Months Worth of Drawing Exercises in Microsoft Excel about two years ago, as a fifty-dollar coffee table book offering exactly what the title suggests. Writer Response Theory presented a terrific overview of the work at the time, as well as an interview with Aubert:

I started making Excel drawings, never spending more than 30-40 minutes on each one, and I tried not to get hung up on whether I was making non-representational versus representational versus abstract versus systems versus typographic drawings. I just made drawings about anything that I thought might be pleasing in some general way. After a while I started to copy one day’s drawing into a spreadsheet for the next day’s drawing because I found that that way the drawings could build on themselves and maybe become a bit more complex. But really my main objective when I began making them was to experiment with making ’small art’ - or the equivalent of my friend’s small poems - in Excel.

And then, for the holidays this year, the Google Docs team has gotten into the game. They've released "Collaborative Spreadsheet Art", a winter-themed piece created by four artists working simultaneously in the web-based spreadsheet app. The introductory movie is only a minute long.

The Google Docs holiday site offers more insights into the creation of the work, including a look behind the scenes. Now I'm just waiting for the various web-based art programs to make performance videos of people using their tools to do calculations and analyze data.

If you're really taken with this stuff, my earlier post gathers up a list of interesting links about office app art.

A Different Software License

November 9, 2007

WordWeb, a dictionary and thesaurus program for Windows, has a startling and interesting clause in its licensing terms:

You may use the program free of charge indefinitely only if
* You take at most 4 flights (2 return flights) in any 12 month period
* AND you do not own or regularly drive an SUV (sports utility vehicle).

There was some tradition with shareware authors years ago of asking for things like postcards, and a lot of web software asks for links back, especially since the rise of PageRank. And I definitely recall little applications created by independent developers that were charity-ware, asking for donations to a cause. But this is the first time I've seen a software license specifically addressing climate change.

Smug Ugly

October 28, 2007

Although I've been accused sometimes of reflexive contrariness, the truth is I'm just pretty consistent in my assessments of technology, with little regard for the perceptions of the companies or people who provide those technologies.

The best case in point I can use to illustrate this is an example of the worst thing about Apple. There is simply nothing less attractive than a person who is both flawed and smug, and apparently one of the few plausible justifications for treating corporations as legal persons is the fact that this holds true for companies as well. And Apple is a smug company.

The new version 10.5 of Mac OS X [1] rather famously features the following display when you're browsing machines that appear to be running Microsoft Windows:


Now, I'm all for a little sense of humor in the world of technology. But the image here deliberately uses an aged-looking monitor and a crashed computer as the illustration of your other computers. The disdain here isn't for the unfortunate unwashed who have to suffer through Windows because they're so clueless -- it's a snide shot at the other computers you own, or of your family's other machines around the house, or of the computers of the peers you work with. In short, the derision is likely aimed at people who care a hell of a lot more about you and your boundless Mac-enhanced creativity than, say, the OS X team does.

And all that is assuming the image is even accurate. Plenty of Linux and other Unix machines show up as Samba file shares, meaning they'll be presented as unstable blue-screening machines, despite the fact that they're likely more stable than OS X. That's the heart of the issue -- it's not like the Mac is completely stable; It's got its share of crashes just like every other operating system.

Arrogance is ugly. If you claim to care about aesthetics and design, it's in your interest to keep from being completely tacky and lacking in taste.

To be honest, there's really only room for mocking everybody else if you're absolutely flawless. And even then, it's pretty bad taste. I've seen exactly what it looks like firsthand to see people take cheap shots and make snide comments about their nominal competitors, and it invariably makes the complainer look worse than the ostensible target. When the company you're taking a shot at is Microsoft, that's saying a lot.

Perhaps most disturbingly, it's not at all implausible that this little easter egg was, at least implicitly, approved by Steve Jobs himself. It's a whole 'nother post to explain why that level of meddling megalomania is kind of pathological for a multi-billion-dollar global corporation, but let's not digress too much. Suffice to say, the presence of this image means that there's permission to be this passive-aggressive and, well, lame at all levels of Apple's organization.

So, to Apple: Your company's value, as measured by market capitalization, is way up. You're dominating the markets you care about. The quality of your products is generally very good -- my main laptop runs OS X and we've got the requisite geek household pile of various-generation iPods around. Apple's got my money, to the tune of thousands of dollars. But this level of sneering arrogance, at a time when a little humble appreciation of success is well in order, would go a long way. You're succeeding. Act like it.

(Thanks to Joerg for the image.)

[1] Referring to versions of OS X by cat names, when those names appear nowhere in the operating system itself, seems astoundingly user-hostile. I have no idea what the cat name is for the operating system I'm running, and yet when I try to evaluate shareware, the authors are often asking me if I'm a panther or a tiger or something. Hasn't anybody noticed how stupid that is over at Apple?

But Is It *Safe*?

September 24, 2007

I try not to ramble on too much about my work, except for a little “I love the people I work with!” post every few months, but I did want to point out one satisfying bit that I was enjoying today. You see, when you work with a team that makes great applications, you get to actually do some of the things that you wish all of your software would do.

Case in point? Well, we’ve had a ton of people who are really excited about Movable Type 4 since its release, and as is usual with a huge .0 release of any application, we had to make some little performance and bug fixes, and those just came out as MT 4.01. Pretty standard stuff, and after the release went out last week, I wrote a little blog post about it.

But what I got to do, which was absolutely delightful to me, was answer all the questions that drive me nuts every time I upgrade my other applications. It seems like each of my computers, every time I turn it on, either wants me to upgrade Office or iTunes or OS X or Windows. And the questions I have with each of those updates are always basically in the same few categories:

  • Do I really need to do this?
  • Is this going to break shit?
  • Are you going to take away features?
  • How much is this going to cost me?
  • Am I going to have to redo all my work?
  • Will this slow everything down?
  • And when I finally do get all this crap installed, are you just going to put out another update tomorrow?

Basically, what I want to know when I get a software update is is this safe?

In our case, I was lucky: All our answers are exactly what you’d hope for. So, thanks to the fact that the MT team kicks ass and makes good products and does a good job of really thinking through the customer side of stuff, I was able to pretty much answer all of those questions when writing about this little minor version upgrade. And I even got to put little green checkmarks next to all the good news.

Now I want this for all my other applications. I’m looking at you, Firefox. (Update: I inadvertently made a playful jab seem like a much more pointed criticism than I’d intended. Check out the comments for some thoughtful feedback and my apology.)

Office Tools of Expression

August 29, 2007

One of my favorite posts that I've ever written was Excel Pile, about people's propensity for using Office tools like Microsoft Excel to track mundane parts of their lives, or even as tools of artistic expression. From that post three years ago:

[A]lmost every one of my friends has, at one point or another, made at least one Excel spreadsheet to document some arcane aspect of their lives. The number of consecutive sunny days, the types and prices of the cups of coffee they drink, or just straightforward charts about their boss's mood. There's no end to the ways one can misuse desktop applications in one's personal life.

Art of Office - Excel Pixelfreak.png

The team behind Microsoft Office for the Mac has built a site called Art of Office around exactly this concept. I had intended, with that original Excel Pile post, to make a site (called Office Pile, actually) which would let people share and collaborate around these kinds of expressive documents, and it's exciting to see that someone has done exactly that. At Microsoft, no less! They describe the site well:

Art of Office is for Mac users pushing the boundaries of what can be done in Mac Office. Explore. Contribute. Reuse. Remix. Add your best work. Take what you like (giving credit where it's due) and make it yours.

Mark Mothersbaugh of Devo created some postcards in MacWord, Phil Torrone made a 361-slide PowerPoint deck of illegal primes, and Pixelfreak made (what else?) pixel art in Excel. I dig it.

Blog readers who liked this post also enjoyed:

David Byrne - EEEI Arrows

End of slide show, click to exit.

Groupware Still Sucks

August 21, 2007

Rule #1 in nerd blogging: jwz said it first. If you enjoyed The Enterprise, Apple, and Insufficient Ambition last week, you'll want to read Jamie Zawinski's essay that was so burned into my subconscious that I forgot it influenced me.

If you want to do something that's going to change the world, build software that people want to use instead of software that managers want to buy.

When words like "groupware" and "enterprise" start getting tossed around, you're doing the latter. You start adding features to satisfy line-items on some checklist that was constructed by interminable committee meetings among bureaucrats, and you're coding toward an externally-dictated product specification that maybe some company will want to buy a hundred "seats" of, but that nobody will ever love. With that kind of motivation, nobody will ever find it sexy. It won't make anyone happy....

So I said, narrow the focus. Your "use case" should be, there's a 22 year old college student living in the dorms. How will this software get him laid?

That got me a look like I had just sprouted a third head, but bear with me, because I think that it's not only crude but insightful. "How will this software get my users laid" should be on the minds of anyone writing social software (and these days, almost all software is social software).

"Social software" is about making it easy for people to do other things that make them happy: meeting, communicating, and hooking up.

Any more quoting than that, and it's just wholesale plagiarism. Go read the original, including the definition of "workflow".

Behold, Movable Type 4.0

August 15, 2007

MT4-bug.png Before I crash for the night, I'd be remiss if I didn't congratulate my incredibly talented and passionate coworkers and thank our unbelievable community. Movable Type 4 is out the door. I think it's the best product launch I've ever been involved in during my career, and I can't wait to see the impressions of it six or twelve months down the road.

People who read this site probably know all about what a blogging platform does; You might be more interested in Why we made MT4 in the first place. (I should get bonus points for the old-school screenshot in that post.)

Is Pidgin the Firefox of IM?

April 26, 2007

Pidgin, formerly GAIM, is the best instant messaging client available; It works with all common IM networks, supports extensions and customizations through plugins, has smart and simple default settings, runs on all common desktop platforms, and is a free open source application. Being so similar to Firefox in so many ways, this leaves the application poised to become the "Firefox of IM".

Pidgin Pidgin has a somewhat complex history. Originally named "GTK+ AOL Instant Messenger" after the network it was designed to connect to and the window UI toolkit (!) that it used to display itself, the name of the application has been in flux for years due to legal posturing from AOL. In the intermediate years, the name became somewhat anachronistic anyway, as the application added support for MSN, Yahoo, ICQ, Jabber, and other chat services in addition to AOL's AIM service.

Now, the last time an essential open source internet client shed its geeky name in favor of one that was more approachable, Phoenix became Firebird and later Firefox. The evolution of the naming of these clients doesn't just reflect the incessant legal sniping over IP and branding that a lot of small projects face, but is also a measure of a focus on the image of the projects. This is somewhat atypical for a lot of open source projects, as some contributors can see a focus on branding as irrelevant to, or even contradictory to, making a good product. But while the Pidgin site lacks some of the slickness and polish of the Firefox site, it's still miles better than the standard "choose a SourceForge mirror for your tarball"-style experience that a lot of comparable projects present to the world.

The renaming to Pidgin also reflects the 2.0 release of the program, a significant milestone that reflects a modularization of the application's underlying architecture, as well as support for additional communications networks. But of course, there are other applications which support each of Pidgin's features, including the clients created by the IM services themselves. Even other third-party clients, like Trillian, support a range of networks as well as many more features than Pidgin includes out of the box.

But where Pidgin's UI is spare, even underdesigned, Trillian commits errors such as the worst default preference setting in the history of modern computer software, a misfeature which automatically links some terms in your conversation to Wikipedia articles. With competition that's trying to pass regular expression stunts off as user benefits, it's no wonder that Pidgin's simplicity seems like a breath of fresh air.

And if you want that sort of complexity, there's a very healthy ecosystem of third-party plugins and extensions to customize Pidgin. Many of them are oriented around practical needs like deeper integration with Windows than is possible with a generic cross-platform client.

In short, the parallels between Firefox and the new Pidgin are undeniable. In a field crowded with proprietary, confusing clients that are tied to individual networks, Pidgin reflects the reality that all of us are connected to more than one network. And despite the rush to try to convert all desktop applications into Ajax-powered web equivalents, there is still ample proof from Firefox's example that powerful, smart, extensible desktop applications are an essential part of the Internet's evolution as well.

All that remains to be seen is if Pidgin will succeed in capturing attention and inspiring innovation in the same manner as its open source sibling.

Revisiting the Software Monoculture

September 21, 2006

Three years ago, Dan Geer led a team of security experts in authoring a paper about the threat of a software monoculture. The paper, entitled "CyberInsecurity: The Cost of Monopoly" received a tremendous amount of attention, praise, and criticism for its detailed description of the threat posed by the ubiquity of Microsoft's Windows operating system.

In addition to garnering all this attention, the paper resulted in Geer being fired from his position. Wired News covered the story well:

"No matter where I look I seem to be stumbling over the phrase `monoculture' or some analog of it," Geer, 53, said in a recent interview in his Cambridge home.

In biology, species with little genetic variation -- or "monocultures" -- are the most vulnerable to catastrophic epidemics. Species that share a single fatal flaw could be wiped out by a virus that can exploit that flaw. Genetic diversity increases the chances that at least some of the species will survive every attack.

"When in doubt, I think of, `how does nature work?'" said Geer, a talkative man with mutton chop sideburns and a doctorate in biostatistics from Harvard University.

"Which leads you -- when you think about shared risk -- to think about monoculture, which leads you to think about epidemic," he said. "Because the idea of an epidemic is not radically different from what we're talking about with the Internet."

Because the paper was so provocative, influential, and insightful, I was glad to see Geer's ideas, and the threat of technological monoculture revisited with great effect recently by eWeek's Ryan Naraine, in "Microsoft Monoculture Myopia". (The piece is also pleasing because it has a sort of b-movie horror flick title to it.)

I found this article to be among the more exceptional bits of journalism that eWeek has done, so I emailed Ryan to ask him some questions about how the article came to be. I was also curious what inspired the magazine to revisit a topic that was initially raised three years ago but has been, to some degree, forgotten by a lot of the trade press.

Q: What inspired you to revisit the Geer report now? Was this an editorial assignment delivered to you, or something you wanted to follow up on yourself?

RN: I covered the fallout from the original report three years ago and have always been very interested in this topic. Late last year, in an essay published at Login, Geer did his own follow-up and I got the idea to wait for September and do an anniversary-type piece. I pitched it to my editors and they liked it enough to put on the eWEEK cover.

Q: This is a pretty controversial topic -- partisans on both sides of the debate can get pretty strident about the conversation. Is that a positive or a negative trait for a story?

RN: Even in the research stage, I'm hoping to find people to disagree and get into a debate so I can fully understand all sides. From that standpoint, it's a positive trait. Most times, it becomes a bitter "he-said, she-said" and people get entrenched and stops listening to each other. That can be aggravating and can sometimes leak into the reporting. My favorite interview for this piece was the Continental Airlines guy (Andre Gold) who was able to explain the risks of both sides without being a 'fence sitter'.

Q: Both Geer's paper and your article make explicit comparisons to biological monocultures, and the parallels between a software virus and a literal virus. Have you thought about the parallels to a sociological monoculture?

RN: One of the guys I interviewed (report co-author John S. Quarterman) raised this fleetingly but it wasn't something we spent much time discussing. John talked about the societal downsides of everyone listening/wearing/watching/doing the exact same thing. He also pointed me to the devastating effects of the Boll Weevil in the early 20th century that was caused entirely by monoculture.

Q: Are there any other similar monocultures in technology that you'd want to write about in the future?

RN: Yeah, the blog echo-chamber. :) Not really, I haven't given much thought to it. I write entirely about security so my focus these days is very narrow.

Thanks to Ryan for taking the time to comment on the article. I found the entire discussion to be a very useful way of re-engaging in the topics raised by the original Cyberinsecurity paper. The one line that lingers with me is Geer's comment from the Wired News story: "Genetic diversity increases the chances that at least some of the species will survive every attack."

Q & A About Being A Nerd

September 15, 2006

A few weeks ago, I'd noted a Globe and Mail story that described Excel expertise as if it were a new fashion trend. That tickled my fancy, and I think the article turned out great.

However, there were a bunch of questions that Tralee Pearce, the story's author, asked me which didn't make the cut for the newspaper. Since I'd taken the time to write out answers, I thought I'd share them with you. Tralee graciously gave me permission to reprint the questions on my own blog.

Q: Okay, first off, what's it really like to be an Excel Ninja?

A: I am not sure I'm a ninja, but... Mostly, it's fun being able to make a tool do whatever you want. Anybody who's been a computer programmer or even who's done a do-it-yourself project at home knows that feeling of satisfaction that comes from finally making something just work. Of course, it's a little less fun if you're the person everyone is asking to help troubleshoot their problem with a spreadsheet.

Q: What do you do with Excel - work and/or play?

A: These days it's a mix of both. Work is the usual analysis, comparisons, reporting, or list management stuff that people tend to do with spreadsheets. A lot more fun is the crazy ways that both my wife and I, as well as a lot of our friends, find for using these "serious" tools.

Q: When did you get hooked on the possibilities?

A: I think I was very young, maybe 7 or 8, when I was first helping my father with some spreadsheets he was working on. This was on a Commodore 64, and I was just so excited about the fact that I could take the simple math skills that I had and turn them into something so limitless. That's probably still the reason it's fun to me.

Then, when I got a little older, I read about the people who'd invented the first spreadsheet programs, and how they'd also invented a lot of the ideas behind the computer software industry as a whole. Without them as pioneers, I couldn't have the job I have today, and I'm extremely fortunate to get to have met a lot of these people, who are still alive, still working actively in creating new software, and still mentoring geeks like me who grew up using their work. (Dan Bricklin, who invented the spreadsheet, has been active in blogging and podcasting from the beginning. And Ray Ozzie, who helped popularize spreadsheets with Lotus 1-2-3 just replaced Bill Gates as Chief Software Architect of Microsoft.)

Q: The web link you sent [referring to Excel Pile] is two years old. Of course I'm late in reporting on all this - but do you sense a mainstreaming of Excel lifestyle uses outside the computer programmer/engineer crowd? I have friends who plot wardrobes, wedding and rsvp lists all the time. I feel like I haven't heard that so much....

A: I think there are lots of people who use these tools to plan their important events, or even for recreation. They're so powerful and so adaptable, and people are familiar with them from their day jobs; It's only natural they'd take them home to use them there as well.

Q: Why Excel? Why is it such a lovable program?

A: I think there's a lot of reasons people use Excel in unexpected ways. The first is that we're wrongly taught that software is "serious" and should only be used for practical purposes. Technology is just as creative a medium as any other, and people have an inherent desire to express themselves. My sister's made art with Excel by coloring in the cells. She's self-conscious about it because it seems kind of silly, but I think you could definitely take it seriously. So there's a subversive element to using a business tool that way.

There's also the immense degree of personalization and customization that this kind of office software lets you do. You can really make it your own space, just like you do with your physical space in an office. Nothing says potential like a blank white sheet, and that's why Excel is compelling. Nobody thinks it's strange that graph paper makes you want to doodle; This is a digital representation of the same urge.

Q: You're down on Power Point? Why?

A: I wouldn't say I'm down on PowerPoint. I'd say that historically, it's made it very easy for people to make their communications worse. The tool focused on making all kinds of presentational tricks possible, without focusing on whether those effects were meaningful. And the fact that most people aren't designers meant that you ended up with slide shows that were worse than just hearing someone tell their own story in their own voice without needless adornment.

Tools influence content. Blogs encourage people to share with others in a way that gets a conversation going. Spreadsheets encourage people to create an organized, structured space that can make complicated information seem more approachable. PowerPoint has, until very recently, been designed to help people communicate like cave men: in short, grunting sentences accompanied by crude illustrations.

I'm also just picky because I spend a lot of time doing presentations and public speaking and I think it's like any other craft; You get much better at it the more you do it, and most people just don't do it often enough to justify using a tool as fraught with potential failures as PowerPoint. On the other hand, the upcoming version of PowerPoint is so dramatically improved that I think it will actually make meetings less painful all over the world, once people start to upgrade.

Q: What's a beginner to do? I stare at the Excel on my desktop and I don't know where to start.

A: It's a very forgiving medium! There's an undo button that lets you back out of any mistake, and you can save at any point. So first, be fearless. Second, think of all the times that people insisted that you'd never use the math you learned in school -- this is your chance to prove them wrong! And then don't think so much about formulas and mathematical expressions, because that's not what most people use spreadsheets for anyway. Think about lists and tables.

Once you've got a body of information that you want to organize, you can start to think about formatting and automation. You color the borders and cells and other pieces to look like you want, and then you add little bits of logic to make some magic happen. Whether that's creating a chart or dropping in a few simple formulas, it's pretty easy to use the built-in help and turn a simple to-do list into a color-coded, progress-charting life improvement system.

Q: That said, how do you know when to stop?

A: The new version of Excel supports a million rows. That seems like a decent limit. :)

Making Something Meaningful

July 5, 2006

I've been told that sometimes I seem frustrated or cynical lately about new web things or Web 2.0 hype, and that's probably because I have been. I grew up with technology and with loving software, and part of the reason why I loved it was because it felt like the people who were creating this stuff when I was a child were convinced that technology was going to change the world, permanently and for the better.

My early experience with blogging was exactly as they pictured it. It had a lasting positive impact on everything for me, from building a career to getting married to starting a whole new life for myself. Almost all of my closest friends are people I met through sharing my ideas or thoughts on my blog, and letting people respond with their own thoughts and ideas.

Five or six or seven years ago, my experiences in blogging were meaningful more often than not. Reading new posts from friends or discovering people who shared my interests felt a lot like the most profound experiences in any media. Being part of blogging felt like seeing one of those few great movies that I can watch over and over without getting tired of, or like a book that I can re-read and always find something new in, or like any of the songs that I can listen to that take me back to the first time that I heard them.

The good old days

But a lot of bloggers who've been doing it for years start to lose that connection. That's why you see people burn out or flame out. And for the most part, I understand how it happens. Despite the fact that my blog is still fun and rewarding, I've had to develop a thicker skin, and that means it's harder to let new people in. After you've been blogging for a number of years, and been through the blog cycle, you might belong to a community, but you've probably stopped being really open to at least some of those meaningful experiences. I think it's somewhat similar to how most people's musical tastes are defined by their early 20s, and seldom change after that point.

So, even though I spend all my time online, I don't have many websites that I care about in the same way I care about the great films, books, and songs that move me. There are some web communitities that I participate in where there's a real emotional connection, but it's almost always in a smaller, private setting. Honestly, I was reticent to share the story of my marriage on my public blog because I was afraid of the reaction from people who didn't care. I'm not surprised that total strangers wouldn't care about my wedding, mind you, but rather I was unwilling to have something so important to me be dismissed by people who were (understandably) uninterested.

Experiencing something important helped me realize that I wanted to share the most important thing in my life with people who had enough connection to me to find it meaningful.

And connecting, communicating, creating, and sharing the things that matter should be a meaningful experience whether it's in old or new media. We seem to have lost a lot of our bigger ambitions for the web, instead settling for doing things simply because we can. I spend all my time being an advocate for blogging and the medium in the best way I know how to make those connections. But it's not my vocation (and avocation) because I think everybody needs more software. It's what I do because it's made my life better and I think this medium can do that for other people too, and I want it to. I want us all to still be that ambitious.

The great parts of blogging still happen every day, but if you've been doing this for a while, it almost seems like it's despite the technology, not because of it. People who are familiar with blogging really seem to think that, from a technology standpoint at least, it's a solved problem. Blogging is not a solved problem.

But when I have met people in person at conferences or events over the last half year, the one post they most often mention that they remember reading on my blog is the one I wrote on the day of my wedding. And on some of the private community sites where I feel like I know everyone who's participating, someone can do something as simple as posting a photo of a loved one along with a story and it can be profound and beautiful expression. It's especially true because in these environments, most people are respectful. The sad truth is, though, that it's hard to elicit that kind of response when I'm not seeing someone face-to-face, because on this site, I've got a different kind of forum. It's one I'm very happy and privileged to have, and I will always try to do justice to that, but sometimes I just want to hang out with my friends. Or even make new friends. But either way, it's about having a real connection.

Making Something Meaningful

If you believe that tools influence content, and I absolutely do, then the most important thing we can do with all this technology is to try to build tools that encourage meaningful expression. In fact, I'd say it's even stronger than that; One of our obligations is to build tools that help people connect with their friends and family in a meaningful way.

That's not to say there isn't room for all the other more practical and prosaic uses for these tools, but rather that it's important to articulate that this is a goal. In thinking about this, I realize it's always kind of been in the back of my mind. It's something that has been with me since I started trying to make this the thing that i do with my life.

The vocabulary I'm using for the idea, describing this as being "meaningful", comes from Linda Stone. She's long had the ability to articulate trends or concepts that we are all living with but don't necessarily have names for. One of the signs of true genius is people who can identify something so profound that it seems obvious in retrospect.

I saw her most recently at Mark Hurst's Gel Conference, but the topic of her talk was very similar to the ETech talk transcribed here. The key point to me is towards the end of Linda's presentation:

Does this product, service, feature, or message enhance and improve our quality of life? Does it help us protect, filter, create a meaningful connection?

It's a simple statement, but it's important. Is this damn thing making my life better? That question's been bouncing around in my head, in one form or another, for a while. I stopped reading feeds. I stopped having my IM client log on automatically when I start my computer in the morning. I've tried to eliminate many of the parts of my day that Lane would describe as making things un-bold.

That's a pretty low bar, though, just getting rid of the stressful things. What about the stuff that I can't wait to do? What are the sites that I'd like to curl up with like they're a good book? There are some things that just feel good to use, like I'm spending my time in a worthwhile way instead of just killing time by clicking.

So, I'm talking about Vox, of course, to some degree. It's the biggest new thing that's being built where I work, so it naturally commands my attention. But as that's still a work in progress, I'm more interested in what we can do with these ideas in general.

The sense of fun, of discovery, or even of explicitly being "meaningful" in the way that Linda has described was referenced implicitly or explicitly by the first posts about Vox from Andre, Mike, Nat, Matt, Heather and others.

But more important than the testaments from the technologically savvy is what I felt in just the first week that people began testing Vox. I found out that the friend that introduced me to my wife went to high school with one of my co-workers I see everyday. I discovered something as simple as a friend whom I don't get to talk to enough likes the same remix of a song (and the same bit) as I do. Later on, I found out that some of the last people I'd ever expect to talk about books with have great recommendations about what I should be reading.

Well, So What?

The (valid) criticism of these kinds of discoveries is that they're trivial, the kind of boring or banal memes that "serious" bloggers like to mock as being the domain of teenagers or stupid people. But the most important things are the things that we arrogantly want to dismiss as trivia. In every aspect of life, the most profound things are so common that if they don't affect someone you love or care about, they can seem meaningless.

What I'd like to see is technology being used in service of helping me share and record those moments. And I'd like to see technology be used to help create those moments. Perhaps even more, though, I'd like to see that measure of being "meaningful" as a metric that's used when evaluating new technologies, instead of just better/faster/cheaper or whatever else we fall back on.

Of course we aren't there yet. This is a starting point for Vox, and it's a nascent idea for most people who work with technology. It's tough to try to articulate a goal that I can't even do justice to. But I do like the idea of aspiring to make people's lives better, and of promoting that goal explicitly instead of just assuming everyone's on the same page. There have been tremendous advances in usability ever since people started articulating the need for addressing user experience explicitly, and this is really just an obvious extension of that work.

Instead of being exhausted spending our days unbodling things, what if there we made places online that we could be excited about? Sites that we'd make the time to remember to go and visit, instead of having to check them off of a list of things to do?

The new checklist

I guess the bottom line is that my own solution for Web 2.0 malaise or New Bubble Backlash is to try to remind myself to evaluate all the novel new sites and gizmos that I see based on a simple measure. It's been less than a year since the Web 2.0 checklist was created. Now, mercifully, the list has gotten much shorter:

Is this meaningful?

Office 2007 is the Bravest Upgrade Ever

June 19, 2006

Office 2007 Short and sweet, the Ribbon and new UI in Microsoft Office 2007 is the ballsiest new feature in the history of computer software. I've been using Office 12 for about six months, and not only has it made me more productive, I'm struck by the sheer ambition of the changes in this version.

To clarify the point: Microsoft Office is a bigger business than most of us probably realize. Office generated $11.5 billion in revenue for fiscal year 2005, and it'll exceed that in the current calendar year. But conservatively, you're talking about a billion dollars a month.

Now, most of us who like to prognosticate and pontificate about software like to say things like "It'd be easy to just..." or "It's trivial to add..." but the thing is, most of us aren't betting our entire careers on the little tweaks and changes we'd like to make to our productivity applications. Try making a mistake that jeopardizes a business that makes $250 million a week. I'd figure a 2% error, on the order of $5 million, gets you very, very fired. Maybe they're forgiving and you can make a 10% error, costing $25 million a week. I doubt it. Most of us would lose our nerve about suggesting radical changes if betting wrong meant betting lots of jobs on making the right call. (Nobody ever got fired for making incremental improvements to Office.)

Now, that being said, there have been really gutsy software improvements before. The leap to OS X from the classic Mac OS was huge, but revenues were much lower for Apple then, and the risk was mitigated by Apple's tight control over hardware and software integration. So, the change was radical but less gutsy. Windows 95 was a huge change, but it was before most consumers recognized that Microsoft had them by the short hairs, so it didn't feel quite so overbearing, and there was pretty great backwards compatibility. Honestly, Windows 95 was more of a Microsoft necessity than it was a risk -- Windows 3.1 had serious competition for people's future upgrade path.

Microsoft Word 6 (yep, on Windows, not on the Mac) was another software milestone; Getting out of the features war, declaring victory in the desktop applications battle, and starting to focus on usability, discoverability and user tasks marked a huge leap forward for productivity applications. Plus we got that little wavy red underline. But this, again, wasn't that risky. Back then, some number of people were going to upgrade their word processor just to see what was new. Netscape 4 was seen as pretty risky at the time, but um... yeah.

So there have been very few bet-the-company style risks, and certainly none from companies as large as Microsoft. What's more, the market for third-party applications on top of Office (er, the 2007 Microsoft Office system application platform) is bigger than most standalone software companies. There's a real risk of jeopardizing those line-of-business customizations that most large organizations use alongside Office. And of course, the 500 stodgy Fortune 500 CIOs who make the purchasing decisions about upgrading Office aren't going to be happy they lost their "File" menu.

Word 2007 has the wacky ribbon But Microsoft did it anyway. They killed the File menu, along with all the other menus. They added a giant, weird circular target up in the corner. They actually use part of the title bar as a menu sometimes. They even changed the default font in all the apps. What's amazing is not just that it works, but that it works so well.

My experience has been the same as most of those who I know that are using the new version: Word went from being frustrating and confusing to fairly straightforward to use. PowerPoint went, in a single upgrade, from being the worst widely-available presentation software to being the best. Excel is a fundamentally different kind of spreadsheet application, focused on presenting information usefully instead of optimizing for the creation of complex formulas.

I used to make a big part of my living doing customizations on top of Office, so I still know it pretty well. It also means I can be a harsh critic of their decisions around the platform. But this time I've got to give it up: By radically changing the user interface in Office 2007, Microsoft made the riskiest bet in the history of commercial software. And I think they're going to win the bet.

Some related links:

The Best Microsoft Blog

June 14, 2006

Congrats to Robert Scoble on his new gig, and no disrespect intended to great MS bloggers like Dare Obasanjo and Niall Kennedy, but for my blogging dollar, the best blog ever published by a Microsoftie is Jensen Harris' Office UI blog. I'm not the first to note it, but I wanted to chime in with my vote there. Honorable mention goes to Ray Ozzie, who's infrequent, but then some of the very best bloggers are.

It helps that Jensen's working on Office 2007. (If they paid me, I might call it The 2007 Microsoft Office System, but they don't. Speaking of branding nazis, there's only one "e" in "Movable".) Office 2007 is the single most impressive and ballsy effort that Microsoft's put into anything since Word 6, which I think was the best desktop software application ever created.

I'll hopefully expand on these thoughts more when I've got a few minutes, but I wanted to throw that out there while I'm thinking of it. Commence flames... now!

(More evidence of Jensen's greatness: The phrase "Install the Send a Smile tool" appears in a post. Really, shouldn't we all install the "Send a Smile tool"?)

Copy and Paste? Live Clipboard.

March 7, 2006

I guess I'm not the only one thinking about copy and paste. Ray Ozzie is way, way ahead of me. In a development that's clearly been brewing for some time, Ray responds to the demand for better data interoperability:

And what was the most fundamental technology enabling “mash-ups” of desktop applications?

The clipboard. And a set of common clipboard data formats.

Before the clipboard, individual applications (such as Lotus 1-2-3 with its Copy and Move operations) enabled intra-application data transfer – in a world largely designed around a single running application. But the advent of the multi-application user environment, combined with the simplicity of the Select/Cut/Copy/Paste/Clear model, suddenly empowered the user in ways they hadn’t previously experienced.

More on this later, but for now it seems like the only official Microsoft resource on Live Clipboard is this mailing list. I'm sure there will be more discussion on MSDN later.

Reinventing Copy and Paste

March 5, 2006

There's been a lot of conversation lately about reinventing desktop office applications on the web. The first (and sometimes second) versions of all the stalwarts are out there: Word processors, spreadsheets, databases. I can think of Writely and Writeboard and NumSum and JotSpot and of course there's dozens of others if you go out and do some research. (Good roundups and good analyses abound.)

But I spent a lot of time watching, learning about, and customizing office applications the first time they were rapidly evolving and picking up steam. I even made a living for a few years building on top of them. And there's some mistakes being made by this generation of web apps that I hope get corrected.

We can all learn a lot of lessons from the history of DDE/OLE/ OLE3/COM /ActiveX/DCOM /COM+ (you can start reading up on Wikipedia to get some background) and how we went from everyone using best-of-breed standalone apps to one integrated, nearly monolithic Office.

The Holy Grail It basically all started with copy and paste. People who never spent a lot of time in singletasking, character-mode operating environments like the DOS command line don't recall that simply copying-and-pasting information between apps was difficult at the time. And part of the revelation of Windows for mainstream users (or Mac, for leading-edge tech fans), was being able to easily share data in that way. This was different than what Unix users were used to with the command-line pipe, or from what most applications do with feeds today, in allowing structured information flows between applications.

There's a desire to combine data from different sources in an arbitrary way, and to have the user interface display the appropriate tools for whatever context you're in. The dominant model here, probably because of the influence of the early PARC demos, is to have toolbars or UI widgets change depending on what kind of content you're manipulating. Microsoft was really into this in the early 90s with OLE2, where your Word toolbars would morph into Excel toolbars if you double-clicked on an embedded spreadsheet. It was ungainly and ugly and slow, especially if you had less than an exorbitant 8MB of RAM, but the idea was pretty cool.

And it still is. People are so focused on data formats and feeds that they're ignoring consensus around UI interoperability. The Atom API and Metaweblog API give me a good-enough interface if I want to treat a discrete chunk of information (like a blog post) as an undifferentiated blob. But all the erstwhile spec work around microformats and structured blogging (I forget which one is for XML and which one's for XHTML) doesn't seem to have addressed user experience or editing behaviors.

All of this is a long winded way of saying, we don't have much beyond copy and paste right now. If I want to put a NumSum or JotSpot spreadsheet into a Writeboard document, I basically can't do it. Maybe I can do it if all the apps are made by the same vendor and are made available as part of a suite, but we had that with Halfbrain seven years ago.

Now, nobody really adopted the interop specs for embedding rich objects between apps when there was the chance to do this on the desktop fifteen years ago. And this was part of the reason Microsoft Office was able to so completely dominate on the Windows platform by the mid-90s. Nobody else would interoperate in a way that let you easily swap in, say, Quattro Pro for Excel, and nobody else had a consistent way of scripting actions between apps. Of course, the point is moot, because Microsoft used bundling, some brutal and possibly unfair pricing, and an almost pathological underdocumentation of the specs to solidify their lead anyway. And that gave them the time to standardize around VBA as a cross-app scripting language, which took years longer than they had planned.

I can't even imagine trying to debug cross-app scripting on Ajax apps. If it's possible, it sure can't be pretty.

But the battle for office app supremacy on the desktop may have actually been a fight instead of a rout if all the also-rans had added up to something more than the sum of their parts. What was needed was not just mixing and matching at the monolithic suite level, but more granular control over which components would edit particular types of information. It took Microsoft until Windows 2000 for apps to stop just grabbing each other's file formats indiscriminately, and most regular computer users still probably aren't sure what the hell application is going to start up if they click on an MP3. And if you want to automate the simple act of copying and pasting from Lotus 1-2-3 to WordPerfect today, more than 20 years after those applications launched? It's basically just as difficult as it was when Windows 3.1 came out.

So, I'd love to see, as a user, a way for real rich data exchange to happen between the new wave of online applications. I'd like to see some efforts by (at least!) this group of vendors to make it possible to make compound documents between their applications, and then to choose from one or more tools for editing the discrete objects that make up those documents. And I'd like to be able to automate actions between these multiple tools without resorting to Greasemonkey hackery or convoluted browser tricks.

What can I offer in exchange for these features? Well, I'd pay to use the apps that are useful, of course, and I'd help promote the apps by sharing those documents with people. But I can also offer some tiny bit of defense over being completely obviated by the inferior, less open web office applications of the future that have better distribution due to the bundling that will inevitably come to this space. And scriptability means you can get features for free that you haven't even thought of, which is a nice way to combat the bundled single-vendor suites that sacrifice flexibility for consistency and integration.

My theory is that the current wave of web office application developers, like the last one during the dot com bubble, has ignored the lessons of the desktop office suite battles. I'm hoping to be proven wrong.

Other links: Some pieces on this and related topics from the past couple years include my own stories and tools, an overview of web-app tech so naive it makes me wistful for my more innocent days. It's remarkable how similar it is to Dave Winer's What is a Web Application?, which predates it by two years. I found Dave's piece as a link from his review of the state of the art in web office apps six years ago. It reads an awful lot like Richard's review, only now we have feeds on everything and there actually seem to be some users.