Archive for the ‘Editorials’ Category

The Bufferbloat Bandwidth Death March

May 23, 2012

Some puzzle pieces of a picture puzzle.Latency much more than bandwidth governs actual internet “speed”, as best expressed in written form by Stuart Chesire’s It’s the Latency, Stupid rant and more formally in Latency and the Quest for Interactivity.

Speed != bandwidth despite all of what an ISP’s marketing department will tell you. This misconception is reflected up to and including FCC Commissioner Julius Genachowski, and is common even among technologists who should know better, and believed by the general public. You pick an airplane to fly across the ocean, rather than a ship, even though the capacity of the ship may be far higher.


Bufferbloat and congestion collapse – Back to the Future?

December 9, 2010

I hit “publish” accidentally , when I meant to press “save draft” for publication in several weeks..  There is still a bit of the supporting evidence hasn’t been blogged or fully researched yet.  Until I remove this warning, this is a draft.  Sigh. But the conclusions won’t change…

For the last decade at least, we have been frogs in slowly heating water, and have not jumped out, despite at least a few pokes from different directions that all was not well in our Internet pond. Lots of people have noticed individual problems caused by bufferbloat and how to mitigate them. To some extent, we’ve been engineering around this problem without full understanding, by throwing bandwidth at the problem and as gamer routers show. But RAM costs have dropped even faster than network speeds have risen, and rising network speeds encourage yet larger (currently unmanaged) buffers; throwing bandwidth at the problem has been a losing race.

I’ve been losing sleep the last few months. Partially, I’m at an age where for the first time I’ve lost a number of older friends in a short period. And partially, it is very serious worry about the future of the Internet, and that previous attempts to warn of the bufferbloat problem have failed. And partially, I just don’t sleep very well. I’m not quite to the point Bob Metcalfe was in 1995 when he predicted web growth would cause the Internet’s collapse (we came close). But I’m close to such a prediction. That’s seriously bad news.

And no, I’m not going to offer to eat my words, the way Bob did. He looked much too green after consuming his column when I saw him backstage afterwards. I’ve had enough stomach problems  recently and weight problems that is unwise. If I do ever make that prediction, I might eat a small piece of cake if I’m wrong. But so far, it’s still just worry and not prediction. But my worries have grown as I discover more.


Another fork, at last….

September 28, 2010

My thoughts go out to the LibreOffice people at this moment in their efforts; it is a fragile time, and I wish them all the success in the world, and hope that Oracle learns from its recent mistakes. This seems unlikely, however.

Oracle has not yet learned the deep truth evident in Star Wars (or from observing Sun over the last decade):

“Leia: The more you tighten your grip, Tarkin, the more star systems will slip through your fingers.”

The ultimate freedom of free software is not those most commonly observed: it is the freedom to fork the code, project and community in extreme circumstances.  This is the ultimate check on abuse of power of a copyright holder of free software: if the software matters, it will eventually be forked.

The process of doing such a fork is long and arduous.  I have lived the ultimate irony of having to fork the X Window System back to being a community project some years ago, while being one of its original creators.

If Oracle does not learn from history, maybe it’s James Gosling’s turn next, with Java.  Now that would be interesting….

Time to Lead….

November 4, 2008

The free desktop has been in “catchup” mode: catching up to first Windows and now nipping at the heels of the Mac.  Our path has been obvious to date. In some areas, our technology and applications lead; in others we still lag. From here on, progress becomes much less clear, though I’ll bet on the moving herd and natural selection of free software over directed closed commercial development any day.

How now to move from such a reactive strategy to true leadership in all areas? How do you set strategy, when our very culture is that of serendipity, discovery, sharing of ideas, and creation? where a single vision cannot rule?

I recently attended the UIST conference, and discovered there was essentially no overlap between the research community and our own. The conference (in free software terms) was expensive and much was uninteresting to me personally (though most would be interesting to someone in the free desktop community). But a couple of gems at UIST were there that made the trip worth while. For me, it was OctoPocus. For you, it will likely be something else.

For another concrete example, the Facades work built on Metisse is not well known in our community. I highly recommend watching the videos you find at those web sites. Facades, published several years ago, combines at-spi and composite to do things that aren’t possible anywhere else. You too, could edit the gimp in real time to have the UI you want! Peter Korn only became aware of Facades last week, after I had stumbled across it while investigating other work. My jaw dropped.  Peter’s jaw dropped. Please add your jaw to the collection on the floor. We could have deployed this by now! But we did not know it existed!

Dan Olsen notes in “Evaluating User Interface Systems Research“:

“This search for fatal flaws is devastating for systems research. It is virtually impossible for a small team of researchers to recreate all of the capabilities of existing systems or to completely examine all of the eventualities of new concepts. The farther such a team reaches into new territory the more compromises will be required and the more supporting ideas must be left unresolved.  If a new systems approach is attempted, the omissions of some important feature is guaranteed. The existence of a fatal flaw is a given. If the evaluation of the work is focused on “what does it not do” no research system will ever pass. Flaw analysis will frequently be a barrier to new systems research.”

As a result, UI systems research has stagnated due to combined effect of the middleware of the UI stack being closed (or in our case, until the recent flowering of the free desktop undid more than a decade of stagnation) and this effect.  Many good ideas of all kinds have been explored from hardware, to window system UI ideas, to UI ideas for specific classes of applications. But there is much less proof of which ideas actually works in a real system, for the reasons Dan lays out.  The resulting research experiments are usually “toy” systems, and toy applications, built in the limited environment of MacIntosh and Windows where much of the system is off-limits.  The research community has neither the resources nor (if they work on Mac and/or Windows) the ability to make advances “real”.  But we do! We have the resources, the open system, and the ability to and desire to innovate.

Our fundamental advantage we have is the ability to experiment  and modify all areas of the stack; from hardware, to the window system, though toolkits to applications.  Just as compositing has allowed a thousand flowers to bloom (most of which stink, but we’ve picked some that smell pretty sweet) in eye candy, accessibility and in other areas, compositing and other modern free software technologies can be used in new an unexpected ways. We are able to perform experiments, and have a large audience to test the experiments radically faster than commercial software.  Nice as the Web is, there are just some things you can’t do in the web until the underlying technologies have support.  20 years of frustration in the UI research community shows that pushing from research to commercial vendors does not and cannot work at more than a glacial pace. Let us pull people to free software by out innovating and becoming the system with the best user experience, by pulling with the best ideas of free software and research innovation.

How to lead?  I think some of what is going on now (e.g. the work to bring  journals to avoid file management among others) are fundamental.  But there are also almost 20 years of ideas lying fallow since the first flowering of UI work in the 1980’s. By mining research for the best ideas, fostering collaboration with researchers when possible, and combining with your own good ideas and production code now on millions of desktops, we can accelerate our progress.

Thankfully, the ACM is becoming more enlightened: conference proceedings and videos once locked up are now available. (Dan Olsen points out that videos done later found on the researcher’s web sites are often better than those presented at the conference; due to an oversight, the UIST 2008 videos are not yet up). The proceedings of UIST is one good place to start for the free desktop community. There is a list of other ACM conferences on many other topics. Go see which ideas are worth grabbing and running with!

This is a two way street: I had great fun demonstrating Compiz Fusion and some of our eye candy (as well as showing videos of Facades and Metisse) to a number of UIST attendees, who had been unaware that the free desktop had advanced beyond the commercial state of the art, already solving in a real system, problems they could not solve in their “toy” research prototypes on Windows and Mac.  When you have a chance, this is also very worth while: the more bright people working on free software, the better.

But it is up to you to figure out which ideas are good, which are bad (and why), which ideas really work, recombine them with your own great ideas, and get them into people’s hands (both literally, and on the desktop)!