Jim Gettys On Itsy/GNOME/KDE And Small Devices
MichaelH writes: "AllLinuxDevices has intervie wed seminal X developer Jim Gettys of handhelds.org. He discusses the fate of the Itsy (and Itsy 2), the GNOME/KDE environments on a palmtop, and some of the challenges of porting X to a compact environment. Handhelds.org is currently driving development for the Compaq iPAQ 3600 series as part of the 'Open Handhelds' initiative."
On my RH6.2 distribution, the SVGA server is about 1.7Mbytes. That's code that's optimized for speed, not space, and includes a lot of extensions and features. The full libX11.a is 1.1Mbytes; most of that stuff isn't needed to write applications for a handheld and would never get linked, and could probably even be stripped out. And toolkits like FLTK show that even a reasonably nice toolkit under X doesn't need to take up a lot of space.
I've run X11 just fine on a 4M 80386 machine, less powerful than the handhelds in use today (in fact, less powerful than a Motorola pager). X11 was designed to run on those kinds of environments. It has a number of provisions for dealing with restrictions on simple devices (e.g., backing store is not guaranteed). And it has acquired surprisingly little extra stuff in its core since those days (although there are lots of useful, loadable, optional modules).
No offense, but I think that an environment for PDAs is best designed specifically for them rather than ported to the desktop, or at least redesigned, an interpretation, something based on another. There are certain limitations on palmtops including speed and screen size. Even if we stuff the fastest processor in there, a screen the size of your pocket still isn't inviting to certain styles of pager displays, and menus. It is best to realize what you are working with. I would love to see either GNOME or KDE ported to handhelds, but for the sake of usability, at least a few things should be modified. It might be usable, but certainly they are not the MOST suitable alternatives, in the form that they are seen on the desktop.
Eh...
Wouldn't it make sense to solve this problem with hardware? Why can't we put high-density LCD's (1-inch square at 800x600 pixels or higher) in an eyepeice to create a nice resolution display that appears to be a 21" monitor to the eye? Is it that the LCD's haven't reached that density?
Please don't responds with a thousand headgear links, I know they're out there. I'm just wondering why major vendors aren't perfecting this into a super-small lightwieght single-eye peice and shipping it with handhelds as the main display (which would make the handheld smaller, too.)
11*43+456^2
Why are we moving the X Window System to laptops, palmtops, PDAs, etc.? It's not meant for that - it's designed to window across networks. The core APIs are 15-20 years old, and it's humongous overkill to try to implement it for a simple display (IMHO, of course).
Is anyone out there even thinking of an alternative to X for those of us who want a GUI, but don't want to drag along 15 years' of backward compatibility, inherent networking assumptions, and layered APIs?
I love vegetarians - some of my favorite foods are vegetarians.
I do a lot of embedded programming (settop boxes, so they're got a little bit more power than the devices here, but...) and one of the things that's a problem is finding a good, fast way to communicate between applications and processes that doesn't result in a mess. CORBA is one good solution for this, and gnome makes heavy use of these principles in it's design.
What would be really useful is a transportable environment that makes use of these design principles, and since there's a lot of work done and lessons learned with Gnome, and the code is open - go GPL - there's a great opportunity for linux to become more widespread. The linux kernel itself is stable, it's not the smallest, but that's not as big an issue as you might think.
JG: Gnome and/or KDE are more than just a particular application set: they are really application frameworks. These frameworks are applicable to handhelds, even if some of the particular applications need significant change for handheld use. For example, I believe we need a hand-held specific window manager, but some parts of the panels these systems provide may be useful, as well as the toolkits. Many/most applications will need some or extensive rework for the 1/4 VGA screens we're seeing on the new crop of handhelds.
I think what's being poked at is the idea of taking Gnome, making a Gnome-Lite(tm), maybe trimming down GTK or something for a widget set, and then using that as a base to develop more applications on. Obviously, as is, nobody is talking about running full-fledged gnome apps or environments!
He doesn't make much mention of PalmOS, which is a bigger problem for these kinds of initiatives than he might think. PalmOS has TREMENDOUS third-party developer support. This is what's beating back the WindowsCE devices - the sheer volume of nifty applications you can get for the Palm. A new device will have to contend with this, and the sheer utility of that third party software library combined with the Palm is a MAJOR force to be reckoned with.
The other potential benefits include being able to develop code once and deploy both on handhelds and desktops with little or no trouble, and interoperate well with other network devices and a developer's desktop. This isn't true for either WindowsCE or PalmOS..
WindowsCE does, I believe, make it easier because they're still using some subset of MFC (correct me if I'm wrong). This is what he's talking about doing with Gnome (or KDE), but basing the handheld device on a much more fundamental level with the desktop OS. A noble goal, but I don't think that it's going to affect this generation of devices. I don't want to run desktop stuff on a handheld. I want to run handheld stuff on a handheld, that makes me more productive! That's the point, right? I think the third-party software support on the palm is evidence of this.. I don't know that there's that much overlap. Maybe in the future if the handheld device plays a much more fundamental role with the desktop, perhaps as a "mobile virtual desktop", where you plug your device in and start working right where you left off, on whatever machine happens to be nearby. Until then :)
..don't panic