Ted Leung on the air : Power laws and plugins

Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
2005年3月07日
Power laws and plugins

In the tradition of applying power laws to everything in sight...

Let's say that you want to build an application that has a potentially broad market. How do you decide what features should be included? I bet that the graph of application features versus users of a feature follows something shaped like a power law curve. At the "short head", you have all the "basic features", which all people are likely to use, which makes them uncontroversial and therefore in the product. In the "long tail", you have features that each are of interest to some small constituency. If you can't decide which of these constituencies you will support, you either include no features from the tail, or you try to include all of them.

Now you can see why applications that support some kind of plugin or extension architecture are important. The ability to extend allows you to build a base product with the feature set for the head. The extension mechanism(s) allow you or a third party to develop functionality for some constituency in the tail.

This is highly appealing to people like me, who find themselves perpetually in the tail. It explains why I like extensible applications like Emacs, Firefox, and Eclipse. I can build, or persuade someone else to build, or collaborate with them to build, functionality that is of interest to only a small community of people. I think that this is also one of the distinguishing points between rich client applications and web applications. Most web apps, like GMail, are building the feature set for the head. That's just good business and engineering sense. But since only Google can extend GMail, there's no way for someone like me, in the tail, to get the functionality that I really need in order to be productive. Now in different application domains I'll be in different places in the distribution. For e-mail, I'm in the tail. For mapping and driving directions, I'm in the head. This reflects my normal usage -- I use a mix of rich client-apps and web applications, and the split often falls along these lines.

So, web and non extensible rich-client apps for the "short head" and extensible rich-client apps for the "long tail".

[00:12] | [computers/programming] | # | TB | F | G | 11 Comments | Other blogs commenting on this post
You might want to consider reading this piece about Greasemonkey which talks about ways of empowering extensions to web apps.

Might be a way to get that "long tail" in the browser after all.
Posted by Gareth Simpson at Mon Mar 7 01:49:53 2005

Just saw another mention of plugins supporting long tails: Google toolbar plugins
Posted by Julien Couvreur at Mon Mar 7 17:18:14 2005

I would repeat the GreaseMonkey comment and add the following:

http://libgmail.sourceforge.net/googlemaps.html

http://stuff.rancidbacon.com/gmaps-standalone/

I've also been looking for an excuse to send the following URL your way (since it's at least vaguely geographically relevant), so I'll take this as it: :-)

Google Maps of Recent Seattle 911 Incidents

--Phil.
Posted by Phil at Mon Mar 7 18:53:07 2005

Gareth and Phil,

Thanks for the pointers to GreaseMonkey and the various proxy pointers. I think that in some cases, this will lead to extensions to web apps, and that's good. I'm all for extensibility, and if there's a reasonablle way to get that in web apps, all the better.

GreaseMonkey is a Firefox only plugin at the moment, which limits its reach. Also, running your own proxy server is also beyond the reach of many users who would be able to handle a traditional plugin/extensibility mechanism.

The other point I would make about GreaseMonkey, at least for now, is that the extensions are ad-hoc, and are likely to suffer from the same problems as other screen scraping type apps: fragility in the face of changes the by the web page provider. Someday web sites might actively encourage GreaseMonkey use, and then they might include extension points for use by GreaseMonkey scripts.
Posted by
Ted Leung at Mon Mar 7 21:37:56 2005

Hey Ted,

The first I had heard of greasemonkey was from reading the comments here. I agree that it's not a good long term extension mechanism. Using the HTML meant for your eyeballs as an interface to a web app is just not good.

Having said that, I wanted to try out greasemonkey. I have a Netflix subscription but I like to browse IMDb for movies. I've always wanted a way to get from a movie name in IMDb to a Netflix search results page in one click.

In a couple hours, I managed to create a greasemonkey script that does what I want:
IMDb + Netflix script. I got lucky because IMDb uses a REST like URL for each movie. The script puts a "(Netflix)" link next to each movie link on IMDb.

I don't think Amazon would be all that jazzed about my script helping Netflix subscribers. Also, I'm not sure I would want to support a lot of people using it unless IMDb promises to never change their HTML output. :)
Posted by Ed Hager at Tue Mar 8 12:10:14 2005

nice work Ted. to tie up some more threads you might want to check out a blog i wrote called the Long Tail of Software Development. your notion of niche versus mass market is well spoken to in Clay shirky's situated software work
http://www.redmonk.com/jgovernor/archives/000364.html
Posted by James Governor at Thu Mar 10 02:28:05 2005

I've been thinking about this lately in relation to weblogging tools.

One of the questions, for someone(s) who want to make a software application for a big potential market, is "are you drawing the box in the right place?" What I mean is, there are a huge number of potential features for any given product. So how big do you draw the box, and what are the "right" components to put in it?

Way, way back in the late 80's, business applications came in all kinds of configurations -- but today, most large company "run your business" suites come with three things: an accounting package, a hr/payroll package, and a manufacturing/inventory package. The extras, are, well, extras. But that turned out to be the right "box."

What happens today is that we have no real knowledge on what the right size of the box is, and often, it gets set simply by developer fatigue.

To get back to weblogging tools, is there any good reason why a weblog package shouldn't have decent support for media types other than text?

Seen in this way, Flickr, audioblogging tools like Odeo, and videoblogging/moblogging tools are really failures of imagination or endurance by the developers of weblog tools. And these failures have created market opportunities for others. Interestingly, these "extras" seem to be things that people are willing to pay for, while most makers of weblog tools languish in the free to going out of business spectrum. So maybe they drew the box too small. The box has to be big enough so that it can contain stuff that people are willing to pay for.
Posted by
Lisa Williams at Mon Mar 14 18:14:28 2005

Lisa,

Yes, the line for the box is important. In for profit development, you're right that where you draw the box determines what people will pay for (and further up the line, your price point). In the free / open source world, drawing the box in the right place is important for getting something adopted.
Posted by
Ted Leung at Tue Mar 15 01:06:51 2005

It is not the web-delivery of GMail that makes it difficult to extend via plugins. It is the fact that it is hosted by Google. Zope is a web-based framework that has hundreds of plugins. And look at all of the plugins for Apache, the canonical web application. ;)
Posted by
Paul Prescod at Wed Mar 16 12:45:27 2005

Paul,

In my case, I want plugins that I as an individual user can "install" into the application that I use. No doubt that the frameworks will allow installation on the server. But that's not really the same as an individual user sitting down and selecting or buying a plugin and having it show up. I suppose that the hosting service could have a policy that would allow something like this, but I doubt that many would. You could imagine Google having a list of approved plugins that you could click into your Gmail, but it's hardly going to be the same as say, Thunderbird extensions
Posted by
Ted Leung at Wed Mar 16 23:01:51 2005

[via Dare Obasanjo aka Carnage4Life ]: The fun with Greasemonkey has only begun. Dare reports on changes to Gmail that broke Stephen O'Grady's Greasemonkey scripts. Dare's response is: I find this hilarious. Greasemonkey scripts work by effective
Posted by
Trackback from Ted Leung on the air at Thu Jun 23 10:47:32 2005

You can subscribe to an RSS feed of the comments for this blog: RSS Feed for comments

Add a comment here:

You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are: <a href>, <em>, <i>, <b>, <blockquote>, <br/>, <p>, <code>, <pre>, <cite>, <sub> and <sup>.

You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk

Name:


E-mail:


URL:


Comment:


Remember my info?


twl JPG

About

Ted Leung FOAF Explorer

I work at the Open Source Applications Foundation (OSAF).
The opinions expressed here are entirely my own, not those of my employer.

Creative Commons License
This work is licensed under a Creative Commons License.

Now available!
Professional XML Development with Apache Tools : Xerces, Xalan, FOP, Cocoon, Axis, Xindice
Technorati Profile
PGP Key Fingerprint
My del.icio.us Bookmarks
My Flickr Photos


Syndicate
RSS 2.0 xml GIF
Comments (RSS 2.0) xml GIF
Atom 0.3 feed
Feedburner'ed RSS feed

< March 2005 >
Su Mo Tu We Th Fr Sa
13 14 15 16 17 18 19

Archives
2006
2005
2004
2003

Articles
Macintosh Tips and Tricks

Search
Blogs nearby
geourl PNG

Categories
/ (1567)
books/ (33)
computers/ (62)
hardware/ (15)
internet/ (58)
mail/ (11)
microcontent/ (58)
weblogs/ (174)
pyblosxom/ (36)
www/ (25)
open_source/ (145)
asf/ (53)
osaf/ (32)
chandler/ (35)
cosmo/ (1)
operating_systems/ (16)
linux/ (9)
debian/ (15)
ubuntu/ (2)
macosx/ (101)
tips/ (25)
windows_xp/ (4)
programming/ (156)
clr/ (1)
dotnet/ (13)
java/ (71)
eclipse/ (22)
lisp/ (34)
python/ (86)
smalltalk/ (4)
xml/ (18)
research/ (1)
security/ (4)
wireless/ (1)
culture/ (10)
film/ (8)
music/ (6)
education/ (13)
family/ (17)
gadgets/ (24)
misc/ (47)
people/ (18)
photography/ (25)
pictures/ (12)
places/ (3)
us/ (0)
wa/ (2)
bainbridge_island/ (17)
seattle/ (13)
skating/ (6)
society/ (20)



[Valid RSS]

del.icio.us linkblog

www.flickr.com

Blogroll

java.blogs
Listed on BlogShares


Where are visitors to this page?


pyblosxom GIF

AltStyle によって変換されたページ (->オリジナル) /