Linked by Thom Holwerda on Sun 30th Sep 2007 13:48 UTC, submitted by Rahul
Fedora Core "The world is changing and online applications are becoming more and more popular, whether for e-mail or word processing. The developers behind Bigboard and Gnome's 'online desktop' initiative think it's time our desktops started catching up. Read on to find an interview with Colin Walters, more information about Bigboard, the online desktop and the obligatory screencast showing it off!"
Thread beginning with comment 275386
To read all comments associated with this story, please click here.
Oh, how much we need Plan9
by diegocg on Sun 30th Sep 2007 18:07 UTC
diegocg
Member since:
2005-07-08

In Plan 9, all this discussion would be uninteresting, because the only difference between reading the photos on your hard disk to reading the photos from a online service....would be to mount the remote filesystem in your namespace, or implement a small userspace daemon that takes your photos from flickr and provides a filesystem that you mount in your namespace.

The photo application itself does not need to be "online", it just reads a directory.

And the interesting thing is that Linux could do that: it has FUSE, it even has Plan9-protocol support, it will have a complete implementation of per-process namespaces some day. So: why are we wasting our time modifying apps to support online services instead of doing "the right thing" and provide an abstraction that takes care of all that without needing to rewrite the apps?

Reply Score: 9

RE: Oh, how much we need Plan9
by mjorkerina on Sun 30th Sep 2007 18:23 in reply to "Oh, how much we need Plan9"
mjorkerina Member since:
2007-09-18

What you said is sooooo true. Plus the fact that doing backups is so easy with rsync and NFS.

I don't understand why there is a need for APIs to upload to websites like Picasa Web Album. You should just have to copy a local folder to a mounted networked folder and the software of the web album should just read the standard metadata embedded inside the jpg.

What we need is a more flexible kind of web services, integrating with things like FUSE or NFS, not more local software integrating web APIs. Web APIs are evil and moving targets.

Reply Parent Score: 4

daedliusswartz Member since:
2007-05-28

Seems almost anything IT related is a moving target these days. I suppose with API if it's abstract then the underlying comms method can be whatever.

Reply Parent Score: 2

korpenkraxar Member since:
2005-09-10

So: why are we wasting our time modifying apps to support online services instead of doing "the right thing" and provide an abstraction that takes care of all that without needing to rewrite the apps?

Because online services are not only about remote storage?

Reply Parent Score: 3

diegocg Member since:
2005-07-08

Because online services are not only about remote storage?

The idea behing Plan 9 is to represent pretty much everything under a filesystem-structure, including things that are not "remote storage", but that could very well represented as storage. Because in Plan9, a filesystem is not just a "storage device", that's a idea inherited from unixes and windows, in plan9 a filesystem can also be, and many times it is, a userspace daemon that exposes a filesystem.

For example, the plan9 window system is implemented as a userspace server that exposes a filesystem - apps just write to a file in order to get their window draw. Aand because the VFS is fully network-transparent, the Plan 9 window system is also fully network-transparent without having a single line of network related code. That is certainly not "remote storage".

In plan9 the filesystems are sort of "common i/o subsystem", all the apps do their I/O through filesystems that are added to the per-process namespaces, be it I/O done to a storage device or to a online service. The online services can be "hidden" under a file where the app writes to, and the "online service" receives the data. So, under plan9 the apps do not need to be designed to be "online", the same code is used to to read local and remote files, the apps just read & write files using open()/write(), it's the filesystem and the VFS and the daemons who take care of providing the data channel.



So IMO, doing the "right thing" in the online gnome desktop should mean to implement those userspace daemons to provide filesystem structures (it'd be easier if the online services would hid their funcionality under a 9P filesystem, but that's not going to happen), the apps only need to be modified to offer a UI whose actions start those daemons. It'd make the "online desktop" easily available for KDE and any other desktops aswell.

Edited 2007-09-30 19:01

Reply Parent Score: 9

RE: Oh, how much we need Plan9
by butters on Sun 30th Sep 2007 22:05 in reply to "Oh, how much we need Plan9"
butters Member since:
2005-07-08

Linux has FUSE, and GNOME will soon have GVFS, which is a userspace VFS that works on top of FUSE to provide per-user namespaces where unprivileged users can mount all sorts of volumes, like their GMail. The KDE equivalent would of course be KIOSlaves, although I'm not sure if FUSE integration is planned. FUSE allows applications that don't use the GVFS and GIO libraries to access these volumes using plain Linux file I/O.

I'm not sure that thinking about web services as Plan9-style network volumes is necessarily a good approach. It simply moves the application part of the service from the web server to the desktop. Therefore, you need a client application that understands the service to access the data, send/receive commands, and whatnot. The proliferation of clients might cause interoperability problems or even break the service.

I agree that something has to be done to decouple user data from web services. However, I think that this problem is harder than it may seem. The more sophisticated the service, the more challenging it is to separate the application from the data. For some services, simply exposing a volume and using the default MIME handlers would be sufficient. But I imagine that MySpace would be difficult to translate through a network volume.

I think that if Bell Labs were still around today (well, I guess Google is the new Bell) and wanted to reinvent UNIX, they'd probably explore in the opposite direction from where they went with Plan9. Files are nice, but the object is a much more powerful abstraction. The class definition is all you need to interact with an object, so if a web service published its class library and exported the data as objects, developing client applications would be relatively simple.

Oh, well. The computer industry is a place where the penalty for being ahead of your time is that your ideas won't be realized until many years after their time. Network computing is certainly one of those tragedies. We'll have to trudge through this Web-2.0 era before we realize that the Web is a distribution medium, not an application environment, and we'll eventually end up thinking about networks in much the same way that Bell Labs did in the mid-nineties.

Reply Parent Score: 5

aseigo Member since:
2005-07-06

> We'll have to trudge through this Web-2.0 era
> before we realize that the Web is a distribution
> medium, not an application environment, and we'll
> eventually end up thinking about networks in much
> the same way that Bell Labs did in the
> mid-nineties.

i couldn't agree more. =)

the value is not the web browser (seriously, uck!) but the dislocation of where you and your machine are (locality) and data access/delivery (information). particularly so when you can "mash" it up with local data at the same time.

oh well .. we'll get there eventually.

Reply Parent Score: 8

de_wizze Member since:
2005-10-31

"But I imagine that MySpace would be difficult to translate through a network volume."
Not if the approach taken is one of the plumber mechanism, whereby universally similar sources of information are subscribed to. For example my "Pictures folder" can derive images from the Photos of MySpace, messages show up as special emails, etc..

"Files are nice, but the object is a much more powerful abstraction."
Im not sure if you have seen Microsofts PowerShell and what it attempts to achieve. It sounds quite similar to that concept. instead of piping iostreams they pipe objects.

Reply Parent Score: 1

superstoned Member since:
2005-07-07

KIO-FUSE has existed for years already, mounting any KIOslave as a fuse mountpoint. But it was/is never used outside KDE, as far as I can tell.

Edit: and have a look at some less know KIOslaves to see what Plan9 like stuff could do. I mean, the Audiocd:// KIOslave is seriously cool, showing the content of an audiocd as mp3files, flac and ogg files, ready to be dragged and dropped anywhere, encoded on the fly. Or the settings:/ kioslave, or applications:/, or man:/ (yes, unix manuals throuhg KIO, from within any app). Some apps like strigi are even configurable through KIOslaves, though KIOslaves also support html-like interfaces.

In other words, KDE is way ahead of you ;-)

Edited 2007-10-01 11:15

Reply Parent Score: 4