An ambitious initiative to eventually run RISC OS desktop software on Linux-powered PCs took a step closer to reality this month. Issues with the user interface code have been addressed, and a bootable CD is being prepared to demonstrate the system’s abilities. The aim of the RISC OS Look and Feel project is to enable native RISC OS applications and Linux programs to run within a familiar looking desktop on modern hardware – allowing users’ favourite software to run on systems that can also play DVDs, browse the latest web content, play games and use the latest gadgets. Developer Simon Willcocks said he is ready to produce a ‘live CD’ that includes basic components, including an iconbar, a filer, a terminal emulator, an image viewer, an MP3 player, NetSurf, Inkscape, and so on.
I think that ROX Desktop has done a good job of bringing RISC OS’s designs to X11, but I think that the AppDir thing was never really pushed as far as it could’ve, especially in this heyday of Desktop Linux. Sure, you have 0install and klik, but package managers are still seen as the one true way for application usage on Linux systems.
Hopefully, they’ll succeed with bringing RISC OS to Linux.
Edited 2007-09-10 01:00
AppDirs are, indeed, a good idea, but RISC OS had in 1989 many other things that have only slowly gotten into other OSs (and some not at all):
– OS-level font management shared among all applications. Including sub-pixel anti-aliasing and caching of recently-used rendered characters.
– Ditto printer management (this is fairly common now, but it wasn’t at the time).
– File types that are not tied to the name of the file.
– Virtual file systems.
– Tying actions to file types through setting OS variables.
– Context-sensitive pop-up menus.
– A common help system for all applications.
– Drag and drop.
– Plug-and-play hardware installation. Moreso than on Windows and Linux, as the device would contain its own driver and send it to the OS on power-up. So no need to supply drivers on CDs if they were not shipped with the OS.
Sadly, development of RISC OS hardware and software has been slow in the last decade, so it is now lacking in other things that are taken for granted on other OSs.
It’s surprising that AppDirs haven’t caught on more in Desktop Linux, given how much influence NeXTSTEP/Mac OS X seems to have nowadays (NeXTSTEP/Mac OS X bundles and RISC OS appdirs are identical in concept).
Mac OS X does it with a couple of minor dynamic loader tricks: if a shared library path begins with @executable_path/, the loader will replace it with the absolute path of the executable), which allows for shared libraries bundled with an application to contained within the directory; it also has a separate understanding of “Frameworks” (i.e., bundles of shared libraries and headers, which can also contain other frameworks, as well as utility programs used by the frameworks), and when loading an executable will search a separate framework search path (DYLD_FRAMEWORK_PATH) when loading the application, although in the real world few applications out there take any real advantage of DYLD_FRAMEWORK_PATH. Many do make use of @executable_path/ though, so that applications can be entirely self-contained. Things also tend to be written so that applications search for resources (images, sounds, data files, etc.) within their own bundle.
Personally, I don’t think Mac OS X actually takes it far enough (it would be nice if things like Apache and Postfix were “service bundles” that contained everything they needed, along with the appropriate metadata for them to be controllable via a GUI).
So yeah, I think Linux (and the BSDs, for that matter) could take on a lot from the concept. Packages for GUI apps really shouldn’t be viewed as the ideal.