Thursday, June 28, 2007

The iPhone hype

I have always been a closet luddite. Yet, as pogue puts it, I could not have not heard about the iPhone. And, since I've started working with the very cool n800 that John Ankcorn@Nokia Research gave me, I paid some attention to the ads. I have to admit, the iPhone looks very cool. In particular: the landscape-portrait orientation sensing, browsing songs by scrolling thru cd album-art, and the image zooming facilities. I couldn't put a finger on what it was that made it cool. Pogue puts it brilliantly:
"things on the screen have a physics all their own"

There. that's what I like about the iPhone. This from someone who does not even own an iPod, and can never understand the appeal of a dumb circular wheel to navigate your albums.

Tuesday, June 26, 2007

Ubuntu as a windows file?

Wubi, when installed, is seen as a HUGE file on windows. It also modifies the windows boot menu to offer to load up this huge file. The file, it turns out, when loaded, turns out to be ubuntu. So it is not just the linux kernel which is loaded up. The file is essentially a partition that windows is not aware of - it can (I am guessing) have empty space where you can put new ext3 files as well as install new programs!

Wireless facts on google video

Last week, on video.google.com, I saw a video on testing google's metro wifi network in MountainView when it was first set up (search for testing metro wifi if the URL turns out not to be stable). Among the things that I gleaned from there are the following facts:
  • wifi is good for 300 ft + goes thru 1 wall well
  • The testing looked for
    • coverage (using Torius, a commercial company whose antennae were deployed in the injection layer of the network - which is an intermediate WiMax layer)
    • capacity (choices were ttcp/iperf nuttcp). iperf was chosen for simplicity + #options
  • LiveHttpHeader utility for firefox was also useful

And yesterday I watched a video of Van Jacobson talking about a new networking paradigm he wants to push. As with many of his papers, he has a quite unique way of looking at things. Definitely worth a watch!

Google video is proving surprisingly useful - lots of other "software engineer" type of videos are also out there; including a 2 hour introduction to python by an author of python in a nutshell and python cookbook.

Monday, June 25, 2007

On technology adoption

My officemate Chintan likes to think about how technology gets adopted - the classical model is that initially enthusiasts pick it up despite the cost; and over time, becomes economically worthwhile for everyone.

There can be surprising niches where it makes economical sense even for non-enthusiasts to invest in some things. Here is an example:

Riga Development, a wireless-technology firm in Toronto, has worked with hotels in Canada and the United States to replace ageing analogue thermostats with digital ones that are around 35% more energy-efficient. It wirelessly links the new temperature-control panels with heating and air-conditioning units, at a cost of around $350 per room. Each room can also be controlled from the front desk. And thanks to the wireless mesh network, the panel in each room also acts as a relay for the data traffic from other rooms back to a central control point.

At a medium-sized office park in Las Vegas, wireless temperature controls were installed in a few buildings containing around 200 offices, says the media-shy maintenance manager (who did not want his or the company's name to be used). Temperatures in the Nevada desert tend to extremes and landlords are responsible for energy bills, so managing a building's climate makes a difference to the bottom line. The new wireless thermostats allow rooms to be controlled centrally on a PC or over the web. The adjustments that tenants themselves are able to make can be controlled too, so that heating or air-conditioning is not used to excess. The system was cheap to put in, mainly because it required very little installation, the manager explains. Tenants are happier and the savings on the energy bills have been considerable, he says; “conservatively 25%”.



25% of a normal energy bill would not make a 350$ per room installation viable, especially when in just a few years, it might drop to something like 50-60$, when mesh networking is all figured out.

Wednesday, June 20, 2007

The not-carbon economy

Economist, May 31, 2007 has a special report on business and climate change. One article offers an interesting perspective on carbon energy credits - as not-carbon economy:

The carbon market is truly innovative. Although it works like any commodity market, what is being bought and sold does not exist. The trade is not actually in carbon, but in not-carbon: in certificates establishing that so many tonnes of carbon dioxide (or the equivalent in other greenhouse gases) have not been emitted by the seller and may therefore be emitted by the buyer.

The purpose of setting up the market was, first, to establish a price for carbon and, second, to encourage efficient emissions reductions by allowing companies which would find it expensive to cut emissions to buy credits more cheaply. It has had some success on both counts—some would argue too much on the second.

When the carbon price becomes high enough, companies will actually cut their own emissions instead of buying carbon credits on the Emissions Trading Scheme (ETS). And cheap sources of credit, such as eliminating HFC-23 emissions in China (these are the CFCs from old fridges) might be aplenty now, but they will all dry up.

The interesting thing here is that becoming a source of energy credit is an incentive for some people to reduce their emissions. It is also cheaper for established dirty air producers (say an old coal-based electricity plant) to subsidise the HFC-23 source in china. And eventually, by the time the cheap carbon credits become scarce, the coal-based plant could construct a new cleaner plant!

The not-carbon economy works because reducing pollution is important only in the long run, so we can let the current big polluters to continue on for a little longer - and although regulators can enforce extremely strict standards in Western Europe, it is much more important to catch the long tail of polluters in developing countries.

Networks have a long history of making use of ideas in economics - can we come up with an application similar to this? A not-congestion economy perhaps? Or how about a not-IPv6 certificate - this way, we could let established networks stick to old IPv4 addresses and incentivise newer ones to move to IPv6.

Tuesday, June 19, 2007

Seamful design

An engaging CHI paper illustrates how to realize Mark Weiser's goal of seamful design with a game called Feeding Yoshi. The idea is to "deliberately exploit the inherent limitations of technology, rather than being hidden away". The game involves getting points by finding Yoshis and different kinds of fruits to feed them. Secured and unsecured wireless access points are used as yoshis and fruits. The fact that there is no uniform network access now becomes a location based game of hunting for yoshis and fruits, yielding a very engaging user experience.

Thursday, June 14, 2007

How power hungry is communication support?

Anecdotally, most people know that their laptop batteries drain much sooner if wireless is enabled. But how power hungry is radio communication? I got a sense from an aside made by the CEO of Potenco who spoke at the I2V workshop (I attended this after the IDEAS competition).

Potenco has invented a portable power generator - you pull on a string and generate electricity. 1 minute of pulling is good for:
  • 25 minutes of talk time on a cell phone
  • 230 minutes of playing on an iPod
  • 45 minutes of Nintendo gaming
Obviously, this is not totally scientific - what kind of cell phone is it; how strongly was the string pulled etc make a big difference. And of course, cell phone connectivity and WiFi are different things.

But at a gross level, a cell phone could be thought of as ipod playing + connecting to the cell tower. Just this connection decreases battery life by nearly 90%! Even intensive graphics engines last twice as long as pure communications equipment!

Thoughtfulness makes for success: ubuntu vs maemo

So I am now dealing with two versions of linux. ubuntu on my laptop & maemo on nokia 770. As I said before, I have my grudges with ubuntu but, they are minor.

On the other hand, most things with maemo have turned out to be painful. There is support for a development environment called scratchbox that lets you develop on the linux desktop but cross compile or retarget the applications for the 770. Installing that proved to be a pain - the installer failed at almost the last step; scratchbox seems to also mount the file system with circular dependencies, so if you try to delete the directory without stopping a service (bear in mind that you dont even know that such a service gets started; and the installation instructions tell you to blow away the directory to reinstall/upgrade from a previous version!), you end up corrupting the file system - the script to stop the service gets deleted, but the /scratchbox directory is not because of the circular dependencies.

Then, I tried developing on the tiny 770 itself. Installing python failed - there were complaints about version incompatibilities in apt-get. There is no standard set of apt repositories, so one does not know where to fetch the software from. This, despite python being the "most supported" development language for the 770.

Perhaps the biggest indictment is this: the 770 is purported to be targeted at hackers. But it does not come with an xterm installed! The input via keyboard or handwriting support on the tiny device is difficult, not surprisingly. And ssh is not installed by default; installing that takes a few steps.

Contrast that with ubuntu which has a comprehensive /etc/apt/sources.list, that I almost never had to modify. Perhaps the biggest difference in the maemo-ubuntu approaches is the thoughtfulness put into ubuntu - Each application is carefully selected to be good enough for most people; so people wont spend tons of time downloading the basic application. There is a comprehensive, well maintained repository for people who want to explore further. With google, there is community support for virtually every problem I have encountered. The discussion forum of ubuntu are more readable than the IRC archives of maemo questions - perhaps because people have to think and respond to a discussion post, rather than shoot an off-the-cuff response on an IRC channel (plus, the conversation can be threaded by replies, and you wont have some clown posting something totally irrelevant between the time the question and the reply).

I just saw the ads for iPhone. The thoughtfulness that has been gone into it is amazing - two things strike my mind: when you flip the phone from landscape to portrait mode, the display adjusts itself. And you can flip through your album list using the cd covers - the spines are displayed in a row from left to right and front of the current album is displayed in the centre. Look at how natural it is to do the intended applications of the iPhone, vs. the same for 770.

Tuesday, June 12, 2007

oo-boon-too

So ubuntu seems to be the newest linux distro that is making waves. I switched to it mainly because I wanted some linux for my work and some free tool that would resize my XP partition rather than overwrite it (mainly so I could keep my personal documents which I have not backed up). When I searched online, gparted on a Linux Live CD came up as an option, and of the ones I checked out, ubuntu's website looked the most inviting.

It was a breeze to install; it seems extremely usable, thus far. They have graphical tools for updating packages; debian's apt-get/aptitude has really saved Linux from frustrated users.

A really thoughtful (or at least, well thought out) feature is the consistent use of sudo instead of the traditional root account.

I also like this neat feedback at the command line - it makes the default *nix "command not found" response sound positively neanderthal and redundant:

ns@wag-a-bond:~$ eclipse
The program 'eclipse' is currently not installed. You can install it by typing:
sudo apt-get install eclipse
Make sure you have the 'universe' component enabled
bash: eclipse: command not found

It is getting there, but there are still a few (not-so-major) rough edges in this distro as well.
  1. Why not have media support (flash;audio&video codecs;dvd support) installed by default? If it is only because of licensing issues, rather than some underhand trick to save space on their live cd, they could prompt the user to install this on first start up (with all the legal warnings about how it is illegal in some countries to actually watch dvds on non-windows platforms).
  2. Instead of using their graphical update tool, I did an aptitude update; aptitude upgrade. There were tons of updates, and a few did not get installed properly. After that, the whole OS crashed! Blue Screens in a linux avatar!
  3. When I download ppt files from the net, it opens up in Open Office Impress. When I close the Impress window, Open Office crashes, apologizes, and opens up Open Office Writer! This is the sort of bug that should never have shipped in any release of any stable product - it happens on casual use, and so consistently; it should have been noticed and fixed.
  4. When I install eclipse, it gets set up to use gcj instead of sun's java, even though I had already installed sun's java. On top of this, gcj is supposed to be inferior (very slow & incomplete support in some cases). The "FSF is best" attitude has been the bane of linux - what works best is best, despite Stallman's rants
    I believe this can be fixed by merely declaring the eclipse package depends on gcj OR sun-java. apt tools are powerful enough to handle precisely this kind of dependencies.
  5. Support for things like sound is not complete - or at least it does not play well with XP dual boot - when I start up XP and play sound, and do a soft reboot, I can't hear audio in ubuntu and vice versa. I recall this problem existed (I think it is an alsa issue) even back in the 90s when I first started playing around with *nix distros. 10 years to fix an issue like this!?

Tuesday, June 05, 2007

Grand Challenges can be useful

Fields are to some extent driven by trends. For instance, in networking nowadays there are lots of "clean slate" proposals floating around. A few years back, the trend was to figure out how to innovate without disrupting the already successful network (eg TCP friendly congestion control, network tomography etc). Other trends include things like p2p, overlay nets etc.

Fields like networking, which are more synthetic (let us invent a DHT so we can do cool things with it) than analytic (eg let us discover how gravity works) are especially vulnerable to the herd mentality because we have to create novel things from thin air (rather than picking up something that already exists, e.g. a cancer cell, and studying how it works). I say this although my friends in analytical fields would say that certain "sexy" problems attract a lot of people who ride the trend winds.

So, how to motivate new work, so that it does not create too many people working on a single field? Applications can be great forcing functions (the term is from DC himself, though from a very different conversation). Grand Challenges that target some pie in the sky application are one way to force focus, without having everyone work on the same piece. This year's IDEAS competition is a great example. The challenge was TB Drug Adherence.

There are several noteworthy things to note about the design of this challenge:
  1. It is big enough of a problem that it cannot be solved just by the IDEAS entrants
  2. It is not just a sexy thing: ie the topic is not HIV-AIDS but TB drug adherence. This helps concrete work & to demotivate people who simply join for fashion
  3. It is endorsed by someone big or charismatic enough
  4. There is a big enough prize to create motivation for people who really want to work
  5. The problem spec is generic enough for people from different fields to contribute in their own ways.
2 & 5 are probably the most important parts in designing challenges. 5 - because you dont want 100 different p2p implementations all of which work better than each other in slightly different applications. 2. because hype is usually why challenges turn out to be empty wastes of effort.

Other successful challenges: putting man on the moon (well, the real challenge was, can democracy do it faster than communism). The Ansari X Prize - this one is too specific, but it achieves its aim by offering a high-enough prize money.

Homework for the month: What would be good challenge applications in networking?