The ROX Desktop
Anonymous Coward writes "The ROX desktop aims to provide a RISC OS style GUI on Unix/Linux
machines. Currently the filer is mostly finished and the desktop already
supports drag-and-drop loading and saving, application directories and an
iconbar. The desktop is stable and fully usable - I have been using it as
my only desktop for several months now without problems."
With most major developments in X Windows lately being more directed at the aesthetic aspects, not usability, this comes at a pleasant surprise.
Far too often eye-candy is used to gloss over a terribly underdeveloped interface. Finally someone has acted on the notion that appearance must go hand in hand with functionality to create an effective GUI.
It's not a server, it's a desktop that runs on top of X11. XFree86 is important because it's free and it works good, at least by my standards, and the majority of gui apps available are developed for it.
RISC OS was an OS developed for the Acorn platform. This was a British phenomenon; I believe that these machines were StrongARM-based, which is where the RISC part comes in.
Acorn is no longer in operation, and so a whole lot of RISC OS folk have started looking at Linux/X as their future platform.
This is a pretty good thing; they may have some useful UI ideas, as well as useful code that might be ported.
If you're not part of the solution, you're part of the precipitate.
Read this if you know nothing about this RISC OS thing like finding out about old operating systems...
:-) ) and the OS has been taken over essentially by two enthusiastic hackers and lots of well-wishers trying to extract a salary out of it. Check this page out for the list of new and exciting features that you get for £120. There's also a somewhat suspect conflict of interest created by the fact that the people who have taken it over are those people who want to sell software for it.
:-)
RISC OS is about the only OS to `get' this drag-and-drop thing. It didn't have a clipboard from day one or those ghastly save/open boxes which infest every other OS. You have a Filer (the RISC OS filesystem explorer) and when you want to save a file, you open the application's save dialogue, which is a small window with a filename and a document icon. You then drag the icon onto the Filer to save it, or onto the Printer icon to print it. I'm sure this could be grafted onto GTK somehow, if only someone would write a filer as functional as the RISC OS one.
The other thing RISC OS got really really right was its application encapsulation. That is, you have a directory which contains the main program binary, an initialisation script, any other program-specific resources, plus an icon for the Filer to display. This directory could then be zipped up and copied elsewhere which is why pretty much no RISC OS application ever had, or needed, any mucky or unreliable install wizards. This also meant that for many people the Filer served as your application launcher too-- a concept completely alien to most desktops these days.
Hmm... it sortof went wrong in the shared library department, though. The only `standard' way of doing shared libraries in RISC OS was through kernel modules providing extra system calls. Yup, in the ARM's supervisor mode and everything. So they have to be pretty perfect otherwise bugs crash the machine.
But its fate is pretty much sealed, sadly: last year Acorn cancelled its new hardware project, laid off half its staff and eventually disappeared. By this time nearly all the talent who had once programmed for the machine had left for greener pastures (with some exceptions who continue to amaze me
Bah; I could go on but ultimately I left because the thing was too slow for me to play games on, the SDK increasingly dated and the application support had long since dried up. I hope somebody someday gives it the shot in the arm it needs, but for now ROX is quite a good simulation
Matthew @ Bytemark Hosting
Personally, I'm really pleased to see this project.
The RISC OS desktop was developed by Acorn here in the UK. After their success in the mid-eighties with the BBC/Acorn computer series, they used their own machines to design the next generation, the Archimedes series. At the core of the Archimedes was four ROM chips that contained the RISC OS.
Man, that operating system was the best! Like greased lightning, obviously, because it was on ROM chips. More stable than anything else I've ever seen (Linux included - no flames please). I would love to hear from anyone who ever crashed one.
So coming into the nineties the Acorn Archimedes took the market in educational machines, being used in 9/10 schools here in the UK, with tons of educational software being developed (and still available today), as well as other packages.
Unfortunately somewhere around 1995(ish) they lost their way after targeting the home market with the A3010's - it should have worked, it's what all the kids used at school. They also had a fabulous new line - the RISC PC - which took their line up to using the StrongARM processor (now owned by Intel), and at the time blew away all the Pentiums on the market. It also had a PC card option, allowing you to boot Windows on one of these boxes.
RiscOS itself went up to version ~3.5 or version 4.0 IIRC. It was Drag 'n' Drop HEAVEN! Absolutely everything could be done with a mouse (making an ideal special needs hardware/applications platform), and used three-button mouse operation to the full potential.
Sorry to get all nostalgic, but I passed my A-levels programming on these machines, and I have an old A3010 gathering dust undeservedly.
As with most good computer stories, this one came to a sad end a few years ago, with Acorn downsizing, loosing their education markets and being swallowed up by bigger fish. I'm sure that some of you know the details better than I do, if so, don't worry about correcting what I have said.
insignificant sig
Why is this project being built from scratch? Good gods, someone's actually going back to square one and implimenting drag-and-drop? Why not rip apart GNOME or KDE and re-impliment the desktop GUI there? At least then, you'd have several dozen programs that were already compliant out of the box.
The problem with Linux is that people seem to mistake it for a Windoze clone operating system instead of what it is: a fast, scalable, rapidly maturing kernel.
If you want less 'crap' to wee through, you could start by telling people to stop writing software.
P.S. Please do not do this. Thank you.
Ermac
I know I'm going to get moderated down, but this really drives me insane. "Is this where we want to be going as a community?" Tell me.. who is we, and why do we have to all go in the same direction as you?
Man's unique agony as a species consists in his perpetual conflict between the desire to stand out and the need to blend in.
72656B636148206C72655020726568746F6E41207473754A
All I have to say is - congratulatiosn and well done. Keep workign oon RXO - the more competition, the better - it means i wont have time to get lazy. i'm goign to check this out and have a look.
i wish people would be more positive and offer encouragement not disparagement just because someone has a project they want to work on and it isnt what you're wishing was "the thing". let people have their projects - often they have a good reason they started it.. and sometimes they are so far into it that they aren't just goign to give up because someone else has a similar project...
Well done ROX - keep it up... Glad to see more stuff around.
--------------- Codito, ergo sum - "I code, therefore I am" --------------------
Cuz that's the whole history of most GNU software and the Linux kernel - if it doesn't work for you (either ideologically, technically, or ethically), you either hack on it till it does, or do it yourself.
From my own point of view, I don't blame them - I for one think GNOME is bloated. KDE's not as bad, but it's starting to suffer from code bloat as well. WindowMaker is good, but it still suffers in a few areas, Enlightenment too, and as far as LiteStep goes I simply don't have the need for all that customization and plugging in. Here's my point: it's not about what's right, or who's better at coding, or what's popular, or (and goddamn I HATE this) what's best for the Community. When something works for me, I use it. So, I use a fudged-together unreleased hybrid WM at home, and if it's not available on the go I use FVWM and forget the desktop bit.
Personally, I'm not that much into customization either. I like my desktop pretty and all, but I'll settle for a few window colors and a desktop background, and some icons that start up emacs and gdb and gimp. I don't need, or want, any more. Flame me for being a minimalist, but IMHO the less there is, the less there is to break or run slow. I'm one of the few who like having clock cycles unused on my machine.
-Ryan Myers (borisian@planetquake.com)
This is the combination of an enlightenment theme ( DID anyone read the pages? ) and a few programs to acompany the theme for an overall awesome effect. All of its really simple to use. I cannot beleive people still flame Enlightenment as to much eye candy. And this theme proves E can be used for a lot of stuff other than A purdy WM. I dont like E so much. I prefer Fvwm2 myself. But I am good at its config files and its totally useable and I am good at developing within that enviroenment So its what I use. Anyways. Go read it. It made me go download it and try it! :-) Its pretty nice and I may consider using it.
It seems that most of the comments on this article are saying one of the following:
"ROX sux"
"ROX rox"
"ROX sux rox"
...only more elaborately.
--
Win dain a lotica, en vai tu ri silota
Actually, there's even more history than that.
The *Original* RISC OS was Mips RISC/os - written by Mips Co. to run on, you guessed it, Mips Co. RISC hardware.
My first *nix experience was Mips RISC/os 4.53, in 1993. It was, for the time, a pretty slick *nix implementation, and was capable of making itself feel sysv-like or bsd-like by simply toggling an option in the admin menu.
As everybody knows, SGI eventually bought Mips Co, and subsequently shut down RISC/os development in favor of Irix.
AFAIK, the last release if Mips Co. RISC/os was 5.01a, released in late 1993. I could be wrong on the date.
I actually have no idea what the RISCWindows gui looked like, since i never used anything but the telnet console.
This, of course, has nothing to do with Acorn RISC OS, it's just that every time i see it mentioned, I get all nostalgic for that old account. You know, you never forget your first unix.
Mips RISC/os is currently maintained by Controll Data Corp as their EP/IX operating system. Or at least, if they're no longer maintaining it, they were the last to do so.
Incedentally, if anyone out there has a tape or tarball of MIPS RISC/os, I'd sure love to have a copy to re-load my rc3240. You won't be violating anybodies ip, ownership of the box gives you an implied license. 4.52 or 5.01, I'll take either one.
This is just like television, only you can see much further.
I have found in discussions on this topic that have taken place on /. and Usenet, the inevitable question of "Why do many Window Managers look like Windows when we know the GUI sucks?".
Could it be that *gasp* the GUI doesn't suck all that much? And most of the animosity is rooted in silly Microsoft hatred?
I know this is really unpopular on Slashdot, but the Win/98 GUI is currently the best in the world. Yes, you can cite particular features that you might like in particular GUIs, and cite particular pieces of brain damage in Win/98, but on balance it provides the most functionality and efficiency.
Now, this is not to say that the GUIs under Linux haven't made tremendous strides forward (I would even say remarkable), but it still isn't where Windows is.
I would ask that people developing GUIs (and software in general) not be blind to the fact that occasionally Microsoft produces some pretty damn good stuff. Good ideas are good ideas, regardless of where they come from (ALT-TAB, for example).
---
Thus spaketh the Slashdot crew:
Concentrate more on promoting than on demoting. The real goal here is to find the juicy good stuff and let others read it. Do not promote personal agendas. Do not let your opinions factor in. Try to be impartial about this. Simply disagreeing with a comment is not a valid reason to mark it down. Likewise, agreeing with a comment is not a valid reason to mark it up. The goal here is to share ideas. To sift through the haystack and find needles. And to keep the children who like to spam Slashdot in check.
With this I leave you to consider.
--
It's like Linus saying "Let's start all over" and creating Linux, instead of just enhancing Minix. Or Thomson and Ritchie enchancing an existing OS instead of creating Unix. You think we would be better off if they had not started from scratch?
-- Abigail
I am continually amazed by this thread.
We are trashing a valid open-source project for taking a different approach and focusing on a style of useability that perhaps exceeds that of existing ones.
GNOME/KDE are visual fluff and no easier than windows to code for. Trying to 'take what you like' from an older successfull WM and creating new WM projects diversifies the selections and perhaps will lead those whom 'try' before trashing it, to a conclusion that something light and highly useable is often preferred to bloat-ware eye-candy.
Un*x desktops are loosing thier useability and becoming buggy and inefficient resource consuming slovenly beasts. There is good cause to consider that just because a few people want windows that look like anime frames, doesn't mean that its a good solution for everyone.
Heck, I thought my IRIX Interactive Desktop was way resource intensive, until I started working with GNOME/Enlightenment/KDE etc.
Has anyone tried running a modern workstation with a simple window manager, like WM2 in a while? Its amazing the difference in memory and CPU available after such a change. I have a dual-channel display and often switch to a 'light' WM when I do work requiring many windows and resources. I can run GNOME+Enlightenment up to over 120megs on my SGI Octane! If I run the same apps and same number of windows my desktop under WM2 or AfterStep is just a tiny fraction of that!
My point being, lets lay off trashing people for trying to be user-friendly instead of focusing on the aesthetics. (especially since 1/2 of the posts here are obviously from lil script kiddies whom haven't the foggiest cloo about what they are posting)
So enlightenment crashes all the time. Hmmm... Is Linux more stable than Windows? Linux zealots boast that linux is more stable than windows; however, they never offer any actual proof.
... I believe most people either don't have the intelligence to use a computer OR they have substandard equipment. If a piece of hardware doesn't work on linux, then it probably sucks anyways. Example: Winmodems. If a person was computer literate in the first place, they would have never bought one for windows either.
.iso, irc'ing, listening to .mp3s, browsing, and cracking rc5 keys, on 4 virtual desktops, at once ... try that on windows ...
:)
----
I still do not understand why people like you have this attitude. E on my mandrake 6.1 system runs fine. When I want to work, I load a light theme, when I want to show off, I load up a huge background and theme. I've run linux for about a year, and I never have had a problem with any major projects, with the exception of netscape. I am constantly amazed with the posts on the newsgroups / irc
As far as the "desktop wars" are concerned, everytime there is a new version, etc. we get dozens of posts about how bloated and slow it is. NO ONE IS SHOVING THESE DOWN YOUR THROAT!!! That's the beauty of linux, if you don't like it, don't use it!! There's something for everyone here. If you're a real linux fan, you'll be trying them all just to see what they can do anyway!! Right now I'm ripping/encoding a cd, burning an
I'm glad we have another fun toy to play with..
While you're "ripping apart" GNOME or KDE, how can you make sure that all the previously compliant apps aren't broken?
You check.
The bottom line here is that you have a lot to start from, and any leverage that you can get from that is likely to speed development radically. It also reduces the likelyhood that your project with fade into obscurity by a whole lot.
but please, why must people discuss the moderation of their own comments??
1) There's no rule against it
2) The author is often right: the comment would get moderated down if the author didn't get the attention of the moderator first.
3) In my case, a previous comment with similar content was moderated down in the past.
4) Yes, it is a useful technique for karma whoring. That won't last long though...
5) If you want to get your controversial letter to the editor printed in a newspaper, you'd better start it with "you don't have the courage to print this" or words to that effect
Life's a bitch but somebody's gotta do it.
EXCELLENT. You're hitting on what could be a sticking point for Linux. Similar to the Mac platform.
Over-evangelization.
It's great! It's wonderful! It doesn't do everything like we want it to but we love it anyhow and everything else is just a cheap hack!
WRONG attitude! That's pulling a bag over your head and dooming yourself to obsolescence.
If you don't stay critical, and either blind yourself to, or minimize, shortcomings within Linux (and let's be REAL people. Linux DOES have a lot of shortcomings.
You need to be able to acknowledge that something sucks and that it needs to be changed. This is for both the programmers AND the user-only-base out there.
Programmers, don't get pissed when a user mails you and tells you that your pet project(s) need work, or are buggy. Even if their ideas about what's broken aren't in-line with your conception of the project's goals, keep an open mind about it. Someone might spew for a genuine, bobdamned GOOD IDEA{TM} Remember, a TCP/IP stack wasn't essential to Windows at one time.
Userbase. Don't be afraid of hurting a programmer's feelings by criticising his work! (Note: But try to stay within the bounds of civility for pity's sake!) Even if you couldn't write a Perl script to save your life, even if you just installed Linux for the first time yesterday night, stay critical.
Summary: Don't be afraid to say "This sucks and I want to help change it!"
Chas - The one, the only.
THANK GOD!!!
Chas - The one, the only.
THANK GOD!!!
One of the primary reasons the RiscOS GUI was so fast and responsive is that they got seasoned games writers to code the GUI.
All well and good - they got stuff like solid drags going on a 1 meg machine long before PCs could manage it -- but it sacrificed proper abstraction. I wouldn't like to try porting RiscOS to a new architecture; I'd imagine the whole lot is in ARM assembly language.
Cloning the desktop is a great idea. The only shame is that (like Mac software), the paradigm relies on *all* apps groking the interface. e.g. the RiscOS save dialogue is just a file icon, and a field to type the filename into. To save it to a directory, you drag the icon. That's great if all your apps share that method, but a UI pain in the arse, if they don't. Still, that's always been the blessing and the curse enjoyed by X.
--
The other thing that RISC OS did - well - differently was file typing. Files were typed with (effectively) an unsigned short in the directory structure. This is sort of a kludge; it meant there was a finite number of file types, and by the early nineties they were already in short supply. I remember we asked Acorn for a block of sixteen, and, after intense negotiation, were actually awarded eight.
But it had the advantage that when a file icon was dragged to your application, you got a request which said, effectively, here's one of these files, and it's this size, how do you want to handle it?. This saves an awful lot of messing about... The other nice thingb was that when the user selected a file and didn't drag it to a particular icon, the file was offered to the existing running copy of the application it was registered to, rather than starting a new copy. And if a file registered to your application was dragged to the printer, your application got alerted to decide how to render it on an abstract output stream, which the printer driver then translated to the particular printer actually in use.
People elsewhere in this discussion have criticised RISC OS's collaborative multi-tasking. Yes, if your application failed to make it's next wimp_poll() call in due time for whatever reason the whole desktop locked up - so it was vital that you caught and handled all your own errors. But the upside was responsiveness. Yes, the ARM was faster than any other microprocessor available at the time by a good margin, but that didn't really account for the whole improvement in responsiveness that users percieved. Another big part of that responsiveness was due to the very low system overhead.
However, nostalgia over. What can we learn from this and take forward? Well, one of the things we can learn is that RISC OS died in the marketplace (I know: my company was trying hard to sell it into big industry). Part of the reason it died was that it was different. People didn't take time to look past the difference to see that it was actually better. Part of the reason it died was lack of applications (although by 92 this was ceasing to be a real issue - most of the things people really needed were there, and most of them were very good). Part of the reason was that too few people will pay even a little more for a genuinely superior product. Part of the reason was single-vendor - 'what do we do if they go bust'. A lot of the reason was the old unfair reasons of the computer industry: FUD, whispers, lies, dishonest marketing.
There are a lot of lessons out of RISC OS for the Linux community. And at some stage I think a desktop based on RISC OS-like drag-and-drop will win out over all the different cruddy file dialogs and stuff. But if I was designing a desktop application now would I write for this desktop? Well, I wouldn't, because a desktop needs critical mass. This is a chicken and egg situation... what we really need to be doing in application design is separating out the functionality into layers with well abstracted boundaries between them, so that if I wanted to put a ROX-compliant shell around, say, Mozilla or the GIMP it would be reasonably straightforward to do. Because whether ROX is it or not, some day there really is going to be a really creative new user interface metaphor which comes along and sweeps away the Windows-style GUI we're all currently using. It will come quicker if it's easier to experiment with new metaphors; and when it comes we'll all want to get our favourite applications working on it as soon as possible.
Off topic, this is why I like the Abstract Window Toolkit so much, and think Swing is, in effect, a retrograde step.
I'm old enough to remember when discussions on Slashdot were well informed.
Indeed. This is called "reactance" in soc psy parlance. I wonder if this is related with the moderator having a sense of authority when they get those magic points. I wonder.
Did the first Archimedes actually have RiscOS, or some earlier system? I recall that their architecture was bootstrapped from the BBC Micro and Electron, and attempted to build an Amiga killer on top of it.
(The BBC was a very impressively designed system; from what I could recall, you could execute arbitrary system calls by outputting characters to the console, which beat the pants off ANSI art. And the BASIC interpreter was light years ahead of anything Microsoft had at the time. The Archimedes continued that tradition of impressiveness; apparently it was so fast that the entire UI system was written in interpreted BASIC, as was a 3D game that shipped with it. When I was in my teens, I really wanted an Archimedes.)
Anyway, from what I remember, RiscOS showed up a few years after the Archimedes made its debut (circa 1987), as a second-generation OS for it.
--
Ah yes, I remember... the reference to British heroic myth is quite apt.
Which reminds me: I heard that the Archimedes and RiscPC are massively popular in Wales, mostly because it is the only system that is fully localised into the Welsh language (mostly a matter of national pride).
I'm not a karma whore. IIRC, I even turned off my +2 bonus for this because I *knew* I was posting flamebait. Well, I was being infammatory at any rate. I definitely think my comment is over-rated anyway. This is the first time I've come back to look at my comment so it's been a while but I just want to make it clear I didn't mean to sound like a karma whore.
Man's unique agony as a species consists in his perpetual conflict between the desire to stand out and the need to blend in.
72656B636148206C72655020726568746F6E41207473754A
At the risk of repeating what others have said, here are the three main features of the RISC OS GUI that I think would be worth duplicating:
1. The Filer - a fairly run of the mill file manager that displayed each directory in its own window. As with most RISC OS things, clicking with the right mouse button did almost the same thing as the left, but with a small difference. In this case, right-double-click opened the new directory in the same window. Another cool feature is that selecting items with the right mouse button adds to the existing selection rather than replacing it (like holding down Ctrl in Windows).
The important part is that the Filer wasn't just a file manager but was 'pervasive' (ugh) throughout the UI. There was no separate application launcher - you just open the directory where your application is stored and double-click on it. Like NextStep, each app was its own self-contained directory, containing icons and a file to run when you double-click it. And saving files meant dragging them to a Filer window - no need for a separate File Save dialogue box.
2. The menus. No menu bar, but clicking the middle mouse button almost anywhere brings up a context-sensitive menu. There were some flamewars on Usenet with Mac fans over whether this is quicker and easier than having an explicit 'menu bar' on screen - IMHO it is much quicker. It makes using the mouse a pleasure rather than a chore.
3. Proper use of drag and drop. Mainly this is involved with the Filer again - drag a file to an app to load it (you could also double-click on the file, of course), drag it back to save (subsequently just press Return to save using the same filename), drag onto the printer icon to print. Oddly, there was no Trash - just a delete option.
It would be nice if there were some way to integrate this with David Alan Gilbert's arcem Archimedes emulator. But I don't think there is, unless you want to do some serious patching of RISC OS to let its windows play nicely in your X desktop. (Actually, although RISC OS is a binary-only OS, it was mostly written in assembler anyway, so it's relatively easy to disassemble and patch. The ARM has a clean but powerful instruction set.)
-- Ed Avis ed@membled.com