Today there are many operating systems available. Every vendor or community round it tries to make it as good as possible. Having different goals, different legacy and different cultures, they succeed in it more or less. We (end users) end up with big selection of operating systems, but for us the operating systems are usually compromise of the features that we would like to have. So is there an operating system that would fit all the needs of the end user? Is is the BeOS clone Haiku?
As you might have guessed, I will present my point of view on the topic of perfect operating system. I will limit myself to desktop operating system as requirements of desktop operating system are in some aspect totally different than those of other types of operating systems.
First I will name few criteria for evaluating operating system. Then I will look, which operating system that is currently available fulfills the criteria best. At the end I will try to merge the operating system, and define the prefect one.
Let’s start with criteria. They are:
- user experience (GUI, ease of use, …),
- availability of software,
- availability of hardware,
- installation and updating of operating system / software,
- security,
- license.
What we have today
User experience
User experience is about how user interacts with operating system and programs running on them. This is a “soft” science. What one user likes, may other dislike. I would define it as responsiveness, ease of use and attractiveness of design.
Responsiveness is how quickly program starts and how quickly responds to users’ commands. Ease of use is a logical structure of programs: would average users understand when they see the interface the first time or not? And the third, which I named attractiveness of design is how well does the functional organization of GUI elements come together and form a pleasant user interface. As this is hard to explain, I’ll name an example here: CDE offers an unpleasant user experience whereas new versions of operating systems and desktop environments provide more pleasant user experience (Windows Vista, Windows 7, OS X, KDE, …). You might call it chrome, but this is what average users sees as operating system.
Although defining an operating system with best user experience might be arguable, I have a personal winner in this category: OS X. It has one of the most worked-through user interfaces, which is (pardon my nontechnical word) just beautiful, and a joy to work with.
Availability of software
What is an operating system without software? A toy for programmers to tinker with and nobody else. A perfect operating system must have a lot of software available (open source and/or commercial). The user must be able to run software for every need (browsing web, writing memos, doing inventory in small firm or running financial payments software for a big firm).
In this category, there is a clear winner: MS Windows. With market share at about 90%, almost any type of (commercial) software that is made is made for MS Windows (and much of it only for MS Windows). Other operating system like Linux might have a lot of software available, but not as much as MS Windows.
Availability of hardware
Users must be able to run the operating system on any hardware they buy. And they must be able to use their peripherals with that operating system.
There are two winners in this category: MS Windows and Linux. Every (end consumer) piece of hardware gets drivers written for MS Windows – it must, as its market share is far too big to neglect it. But the winner is also Linux: it also supports almost all hardware (out of the box). But Linux supports also other architectures, which are used for desktop computing (such as ARM) which MS Windows does not support.
Installation and updating of operating system / software
Adding, removing and most importantly updating the software is something that should be done in an easily understandable way. All “major” operating system do it in a different way, but basically, it is a mater of taste. I will not state a winner here because every approach has its benefits and drawbacks, but they all do basically a good job.
Security
Security comes from the design up and it must be incorporated into every aspect of the operating system. This means well-written code, following security guidelines, code reviews, testing …
Although this category is not listed the first in line, it is a must. A good (desktop) operating system must be secure. Period.
Enough of words here: I think everybody would agree that in this category the winner is OpenBSD. The development of the OpenBSD has clear goal: to make it a secure operating system, and they do it the right way.
License
Perfect operating system should not be controlled by one entity, and everyone should be able to see how it works and change it, if they want to. So the only logical license is some sort of open source license. Which open source license is better than other is beyond the scope of this writing.
Dividing between operating systems on this criteria is straightforward: Linux, all the BSDs, and other open source operating system win and MS Windows and OS X lose.
Creating a perfect operating system
You might expect, that I would add few points to every category discussed above, see which operating system got most points and pronounce it a winner. But that’s not the right way to do it. We would make a compromise, what many of the operating systems are: we are not secure, but we have most of the software or we are not [place a category here] but we are [place a category here]. This is a situation that we have today, and if you need an operating system now, you have no choice, but to make a compromise.
Let us imagine, we have a magic wand, which can merge different operating system together, how would it look like: it would be (at least) as secure as OpenBSD, it would run on all hardware that Linux runs, it would have all the software available that MS Windows has and its user interface would be at least that good as the one of OS X. Of course it would be licensed under an open source license.
But as such magic wand does not exist, let’s look how this could be achieved in a (near) future. This is of course just one of theoretical alternatives.
Let’s take an operating system, that was not mentioned yet: Haiku. The Haiku operating system is designed to be binary compatible replacement for BeOS, which was designed from scratch, and was designed to be a desktop operating system. Haiku builds on the same foundations. This is its main advantage: it does not rely on any legacy architecture, as other operating systems do. E.g. desktop operating system based on Unix have at least three layers: core operating system, X-Windows and DE (e.g. KDE, GNOME, …). A lot of the same functions in those layers duplicate, leaving system slower, harder to manage and less secure. Haiku does not have this problems, as it was designed from ground up to be desktop operating system. This is why I’ve chosen Haiku – it has by my opinion the best architectural base of all other operating system.
There are also downsides to Haiku and they are not minor ones. The major one is, that it is still in development phase and it is not suitable for everyday use. Well, this might change in a (near) future. But this is not about pro and contra about Haiku. This is a theoretical writing how Haiku meets the criteria for the perfect operating system from the beginning of this writing.
User experience
Haiku’s GUI was designed in the mid 90s. And one can see its age. It feels like mix of CDE and first version of KDE. But this is a sensitive area, as avid OS fans are usually “in love” with how their operating system looks and behaves, and this might also be the case with the community behind Haiku.
Haiku needs some major GUI changes to be attractive to non-technical, non-BeOS-loving people. It’s true that Haiku’s GUI provides some features that other operating systems don’t, but those do not outweigh the outdated GUI design.
Question is: Is the Haiku community willing to change the GUI and if the answer is yes: how much work is it willing to put in?
Availability of software
There is software for some very basic needs available and there are also software repositories for Haiku and BeOS, and some commercial software that runs on BeOS (and on Haiku). But the current availability of software is far smaller than the availability of software for Windows or Linux.
Haiku might get “instant software boost” if it would possible to recompile Linux’s software to run on Haiku’s OS. I’ve noticed that QT is already in process of being ported. But how much work remains to port all QT based applications to Haiku is another question. Same goes for GTK, etc.
Speaking of GTK and QT – will they look like native applications on Haiku or will they look like they come from different operating system?
Availability of hardware
Haiku currently supports only i386 architecture with limited set of hardware. Port on the ARM architecture is on the way. Most probably port to x86_64 architecture will be done in the future, and this is quite enough what a desktop operating system needs. Support for the peripheral devices will be added or ported from other operating systems with licenses that allow it (as was already done).
Installation and updating of operating system / software
Haiku currently supports some sort of manual installation of packaged software, but no automatic updates. The Haiku community is currently working on this “problem” and I assume the automatic updates will follow soon.
Security
Haiku was build from scratch with no legacy. This is a good starting point for well written code with good security record. But as a wise man said: “Assumption is the mother of all f***ups”. I haven’t seen the code and I can not comment it. It might be a spaghetti code, or it might be well-written, well-documented and well-tested code. There are some security threads on Haiku’s forums, but I couldn’t form an opinion based on those.
I wonder what Theo de Raadt would say about Haiku’s code.
License
Haiku is licensed under a MIT License, which is an open source license. This fully matches the “perfect operating system criteria”.
Conclusion
I assume that in the future all the above mentioned criteria will be met by Haiku, except for two, which might or might not: security and GUI. I can not foresee, if Haiku is/will be so strict about the security as OpenBSD is, and I do not know, how much of the Haiku’s GUI is the Haiku community willing to change. Amount of software will match the Linux’s repository and not the one of Windows.
At the end, I would like to ask members of Haiku community to comment on my views, Theo de Raadt to comment on Haiku’s code and all other readers to provide their views on the “perfect desktop operating system”.
About the author
Bob Cavally currently works as Java developer. Before that, he’s been working as system administrator and also teaching practical computer skills at local university. He’s been fan of Linux and open source since the Red Hat Linux 5 (not the RHEL 5, RHL 5).
“It might be a spaghetti code, or it might be well-written, well-documented and well-tested code.”
Haiku always strives to have a clean code base, this is why its been in the works for so many years. Watch the mailing list and you will find heated discussions on comment locations, variable names, and class design.
Haiku’s largest task is currently is fine tuning the OS. Given the HUGE array of x86 hardware out there, and the infinite number of northbridge/southbridge/chipset/processor combinations it needs lots of testers and lots of tuning. It is closer then ever to meeting R1.. but it will be some time before it passes R1 and prepares for the common-man’s desktop. By then who knows where the “popular” os market will be.
Haiku needs more developers! If you can test/code please give haiku-os.org a whirl!
Unfortunately, this does not say much about security. So what, you have less buffer overflows than average code? Just use a sensible programming language! So your code is much easier to manage? Well, lets wait until it becomes mainstream and 5 years old..
*Good* OS security means powerful mechanisms at lower levels(mikrokernel, capabilities, …), state of the art architecture/paradigms on system level(Bitfrost uses some known but little investigated ideas) and good application design(usability, one tool one task, least priviledge, isolation of critical subsystems, …)
The result of this could be more secure. (For average personal use, the low-level stuff is probably least important. Targeted, skilled attacks against low-level subsystems are the least of our concerns today, even though Linux has a notable amount of bugs per month. But once everything else is fixed, it would be useful if the bluetooth driver can not compromise the firewall subsystem..)
Actually, I would argue for the exact opposite. Due to the large amount of so-called pro-active security measures (ASLR, NX, SSP, MAC/SELinux, and so on) in the userspace, the low kernel-level is currently the weak spot in all *nix systems.
Availability of Software was always an issue with BeOS, and will be for Haiku also. Yeah, the basics are there such as simple games, e-mail, internet browsing, and even an office suite (assuming it’s still available from Purplus).
But when it comes to advanced or commercial-grade software (GIS/GPS/mapping, CAD/CAM, 3D games, photo and video editing, etc.), BeOS/Haiku is so far behind that playing catch-up at this point will be a significant hurdle.
Sure it may be possible to port open source software titles from Linux and Windows, but creating original Haiku-exclusive software would be a true victory.
Port open source software is a piece of cake in Haiku. All available POSIX functions are there (and much more to come). Have a nice compiler (GCC4.3), and a good multimedia capabilities.
For now, 3D games are on the way, because a major bug in SDL implementation (show the stuff on the screen), but compiles.
The big wall between Haiku and Linuxes and BSDs are sofwares that requires X, which will be pushed away as possible (the app_server implementations is light years away in feel snappy).
I don’t trust Linux on netbooks for non-technical users unless the system is locked down and updates are turned off. This is of course less than ideal for security reasons.
Google Chrome will help in this area but a non-Linux competitor would makes things more interesting.
The easiest, non-technical OSs for netbooks are Linux distros.
the problem is the potential for broken hardware from an update.
Correction: a problem, among many problems.
And this isn’t a problem in windows? I’ve had broken hardware numerous times from their shoddy automated updates.
No it isn’t.
Windows doesn’t routinely break working video and wireless drivers with minor updates. That’s because they provide a stable abi for hardware companies to work with. The same goes for OSX.
I’m a bit irritated that the author writes, Haiku’s GUI was designed in the nineties. That’s because I just redesigned it this year, and I’ve tried to be tasteful and modern. Of course, Haiku’s UI is an evolution from the BeOS GUI. But a BMW designed in 2009 is also an evolution from previous models… Of course the BeOS heritage is something important for most Haiku fans, so it was important in the redesign I did.
Ok, the windows don’t have soft shadows. And the GUI has almost no animated transitions, but that is of course not visible when looking at a screen shot. Only the missing window shadows are. Is that the sole reason why I keep hearing Haiku looks like from the nineties? Or is that just a rumor that doesn’t want to die, because Haiku used the exact BeOS look for so long?
Just interested.
Let me just say: I love your work. And i think its ESSENTIAL that it stays “feelin’ BeOS” bacause that is one of its awsome features. Ive yet to see any other modern UI where you dont have a horizontal or vertical bar that takes up screen estate. In BeOS its done correctly with the deskbar up in the corner and tabbed windows so its very easy to get to the deskbar without minimizing anything whilst still having all apps in full screen mode. I guess the shadows and 3d bling is what makes for modern theese days… not the ability to be productive and use all the screen estate that you have payed for. (the zsnake on the desktop also makes it possible to do file browsing without ever having to minimize a window. almost forgot about that one.)
Let me just say: That’s a big avatar you got there..
My mistake. It should be written: “BeOS’s GUI was designed in the mid 90s, and Haiku’s GUI is based on it. And for average user it looks like not much has changed since the nineties.”
And yes, by modern, I mean rounded edges, soft shadows, “thin borders round the windows”, etc. As I said: in some aspects it reminds me on CDE. Just compare Haiku’s LaunchBox with OS X’s Dock. But this is my personal opinion, I am not a professional designer and this can be very sensitive topic for Haiku users.
BTW: I am looking at Haiku alpha 1.
IMO it’s just a slightly more-sophisticated version of “I may not know art, but I know what I don’t like.”
Many people perceive “modern” and “current” as if they were interchangeable concepts. And most of the people who pontificate about that stuff have no formal design training or experience, so they evaluate the BeOS/Haiku GUI solely by the presence or absence of current flavour-of-the-month UI trends (rather than evaluating it based on valid design principles).
In other words, the reasoning goes something like this:
– (insert latest release of popular, mainstream OS) is a recent operating system, therefore it must be modern
– therefore, its GUI must be “modern” too
– therefore, that’s what a modern GUI looks like
– therefore any GUIs that look different are, by definition, not modern
And IMO, I think that’s due to the larger cultural attitudes towards design – particularly the perception that design is an artistic (rather than scientific) discipline. So because it’s a field that’s (perceived as) largely subjective, many people assume that any opinion on design is automatically unassailable – no matter how ill-informed or poorly-qualified it might be.
Or to put that in a more humourous way:
http://theoatmeal.com/comics/design_hell
To me, even though I have never been a BeOS user, Haiku has the look of fast and no nonsense. The 2D feel sits very well with me.
To Joe Sixpack however, whom I have subjected to Haiku many times, Haiku does seem to look like Windows 95. I suppose it’s the absence of rounded corners, transparency, glossy buttons and what not.
Not everyone’s dream is a bleached silicone blonde in a new Corvette on a sunny beach, many would prefer a drive by their lonesome in a vintage Lotus in the Scottish hills. In a drizzle. I’ll take the Lotus, thank you.
I like that analogy – Haiku: the Lotus 7 of OSes (when an MGB just seems too over-engineered).
OK, first up, I’ve never used Haiku (or BeOS), so I’m basing my opinions purely off your screenshots. You can correct me anywhere the real-life experience differs from what I mention here.
It looks dated because:
1. The icons look cartoon-like. This is not allowed these days. Compare the windows7 trash icon with the Haiku equivalent. You want realism, and you want hi-res.
2. It’s all a bit grey. Title-bars, buttons, scrollbars, menus etc, are all Soviet Russia. These days you want some colour here and there.
3. Soften it up. Every window, button and control appears to have sharp corners. 90 degree corners == 90’s styling.
4. Integrated 3D effects are not an option. Must have.
I’d just like to add that although these things make the OS look dated, I actually prefer it.
The first thing I do to either Linux or Windows is turn off all the 3D crap, and set the colour scheme to military grey.
Ok, thanks for the specific replies.
* I applied the round corners for the tab control, and I am not opposed to using it more in the UI, but to my own taste, I don’t associate “modern” with the round corners. I find the sharp edges just as stylish. To me, the soft gradients are much more important for a stylish look and I also applied a faint glossy look to some controls, but I really hate the over-obvious glossy look. Also note that the round corners take considerably more computing resources. Since they are not important to me personally to define a stylish look, I just left them out.
* The missing 3D acceleration is just something we have to live with for the time being. It is being worked on, but it’s not there yet and obviously the developer could need more help. Without that, shadows are a no-go. I do think they improve clarity on the desktop, although it is totally overdone in Mac OSX for example.
* The grey UI is actually on purpose. I have produced some content creation apps for BeOS/Haiku and I work in this field for a living. You cannot have your entire Screen tainted from a neutral grey like in the default Ubuntu setup as that will offset your eyes and you cannot procude visual content that way. It’s like your entire monitor has a badly shifted white-point. That being said, the Haiku GUI has exactly as much color spots in it as for example the Windows 7 UI (checkmarks, radio buttons and a color for the focus control). Only the window decor has a little more color by default in Windows 7… and when you hover/click controls.
So.. where is the code for download? and screenshots?
And for translucid Windows?
You do realize that it’s already part of even the alpha, do you? The code is in SVN of course.
Yes, translucid Windows need 3D acceleration as well. But I find them very, very useless.
I think he mistook “tab control” with “title tab” – the title bar tabs don’t have rounded corners, only the tab control tabs.
Just from a subjective taste point of view, I’ve always liked the BeOS icons. To me, the cartoonish-but-clean/minimalist quality makes them look like updated MacOS Classic icons (similar style, but not as “flat”). And I like that BeOS/Haiku icons typically use a consistent visual perspective. While I wouldn’t consider it a deal breaker/maker, looking at a Windows desktop always irritates my aesthetic sensibilities (some icons use a straight-on perspective, some are isometric viewed from the left, some from the right, etc).
That’s your opinion.
For me, it’s degeneration.
Hehe, I picked the example badly. The BMWs really were a degeneration, though they seem to recover slowly with the most recent models, at least the 3xx line.
Well, I still don’t agree fully but all I wanted to say is that a “newer” design doesn’t have to be a “better” one.
I prefer the 90s GUI looks, that’s why I use GNOME with a rather plain look. I don’t want the GUI to get into my way, so I prefer it edgy, grey, opaque, and without animations. For me, it’s more important that everything lies plain in front of me and that every dialog looks and behaves the same. Windows 7 is a complete catastrophe for me, everything is shiny, translucent, rounded, shadowed, animated, and so on, but if you want to get some work done, it’s not good in my opinion. Even Office 2007 has a completely pointless shiny shine effect behind the pages! If I want to create documents, the least thing I want is a frame and background around it that is even more “designed” than the document itself.
I agree that a GUI shouldn’t look “bad” or “ugly”, but for me, a GUI like e.g. the one in Windows 95 is not ugly, it’s just plain because it’s nothing more or less than a GUI, so it doesn’t really “look” at all. It would need more pointless design elements to be able to look “good” or “ugly”, and those are always a matter of taste. But the more “plain” a GUI is, the less it can “look” at all.
Example of an old GUI that looks ugly in my opinion: http://www.guidebookgallery.org/pics/gui/desktop/full/riscos37.png
Example of Win95 GUI which is so plain that there’s no room for matter of taste: http://www.guidebookgallery.org/pics/gui/settings/accessibility/win…
One of the reason I like Haiku is its design. So please do not change it too much.
I agree… i love the current design!
There’s nothing wrong with Haiku’s UI from a nostalgic BeOS point of view (and I used to write software for BeOS).
It needs to evolve further though, and I’m not just talking about “how a combobox is drawn” or whatever. Really, the available UI controls are quite limited. Standard draggable toolbars and docking logic, draggable splitters, maybe an analogue to Apple’s modal sheets… Even GTK+ offers a much richer and more capable selection of widgets.
Good points. From the list you gave, we implemented the draggable splitters, but the rest should be taken from some apps in our SVN and improved into public API.
I pay a lot of attention to how my software and OSes look and what kinds of animations there are, if any. And I just have to say that I really hate how Haiku looks. It might be an awesome OS in lots of various aspects, it might perform exceptionally well and all that, but I just haven’t been able to even try it out because of the looks of it.
I know there’s a whole lot more important things still to concentrate on than looks, and for many developers the original BeOS-like looks are really the thing they prefer, but I still wish they’ll someday get around to upgrade the looks of it all for us who aren’t as nostalgic about BeOS. Perhaps include both the nostalgic look and an improved one and let the user switch between those, or just ditch the nostalgia and go for a completely revised look. I dunno, I am still gonna keep my eyes on Haiku and try it out if it ever starts looking like anything which doesn’t make my eyes bleed
*adds a bunch of gloss, bubbles, gradients, fades, opacity, bouncing alerts, huge ass widgets, 1024×1024 icons*
Better? Don’t hit me
I adore the simplistic nature of the UI. It stays out of the way, mitigates the amount of screen realestate it uses up and lets you focus on the apps at hand. Like it should.
The amount of wasted screen on most mainstreams OS/UIs is amazing to me.
…I still love NeXTs interface
*edit* C’mon, guys. There was NO reason to mod her post into oblivion.
Edited 2009-12-21 21:13 UTC
*adds a bunch of gloss, bubbles, gradients, fades, opacity, bouncing alerts, huge ass widgets, 1024×1024 icons*
Better? Don’t hit me
Bouncing alerts is more of an OS/application (mis?)feature, not related to UI looks. And I don’t use desktop widgets in either Linux or Windows, I actually like to keep my desktop very clean and undistracting. 1024×1024 pixels icons aren’t really all that useful either. Scalable ones would be more useful all around.
Don’t assume too much of me
The amount of wasted screen on most mainstreams OS/UIs is amazing to me
Having something look good and modern doesn’t mean it has to waste screen real estate. I personally also like clean, uncluttered interfaces and that is indeed one of the strong points of Haiku’s UI. Yet, the color selection, widgets et al, it all just seems so awfully plain and outdated in my eye.
I didn’t think you were for all that gibberish I did get you to further explain your dislikes of the UI, tho
Worth mentioning, there is a happy medium…
http://www.haiku-os.org/community/forum/haiku_ui_mockup
http://www.haiku-os.org/community/forum/ui_and_uig_related_discussi…
Also, the freetype patents have expired (where it counts) – there is no excuse to release alpha2 with horrible looking fonts (like a1)… turn on the hinting please, for the sake of humanity!
I actually like the way that looks. I have no problem with rounded edges, light shadowing, etc… I just hate how overdone it is on most ‘modern’ systems.
It’s like an om-age to the Copland styling add-on for MacOS 7/8. I can’t find a screenshot, but I remember the skin well. “Aaron” … Great article on lessons on skinnable interfaces regarding this..
http://freshmeat.net/articles/learning-from-kaleidoscope
I think the mockup I referenced is a very tasteful potential update to Haiku update, that keeps the spirit of BeOS and adds a modern touch.
Hopefully it can find its way into R1!
edit: grammar, link
Edited 2009-12-22 00:30 UTC
I would say that the “availability” of software for Windows is no doubt the biggest BUT also (with Mac) the most expensive. So the sheer number of applications for Windows is only half the story, I have many more applications on my linux machine – because they are free.
PS: I am not expecting/advocating that all softwares should be free, just stating facts.
I’ve noticed the opposite, that many interesting and good quality many free / open source Windows applications have no Linux substitutes available. I see this especially with games, educational and science applications, software to interact with appliances (cell phone, GPS, calculators), and vintage machine emulators (although this may be improving).
Of course you can spend a fortune on Windows software if you choose. But there’s no reason you have to given the availability of free / open source Windows applications, bargain-bin titles, low-cost commercial alternatives, and the fact that software from the previous 10+ years continues to run on brand new computers often with no compatibility issues.
So what are some excellent, in your opinion, free / open source Linux applications that do not have Windows ports or Windows freeware equivalents?
First thing coming to mind would be media library (music and/or video) for example. I like Exaile, QuodLibet and Banshee style of applications on Linux. Most windows applications I know have either bloated interface (mediamonkey), don’t read natively ogg files (WMP, iTunes, real) or are just overly design to manage music from one store (iTunes).
Even with ogg codec installed most are designed to force you to use their own format and do not work correctly with other formats.
The centralized codecs of BeOS and Linux is for that matter a huge advantage over Mac and Windows.
Which free software are you finding in Windows that do not exist in Linux ??
Edited 2009-12-21 22:20 UTC
Media players could very well be an example, but I’m skeptical. You’re sure there isn’t a Windows media player like those three? There must be hundreds of media players out there.
Banshee is being ported to Windows “soon” according to their website.
I’ve used WinAmp and several other players in the past, but now tend to simply use WMP or Creative (it came with the sound card).
All that linux examples needs GTK+, and never will see the light of day in Haiku
Like Sonata, maybe? mplayer compiles, but not run anything
The best player for me is AIMP2. Light years away from Winamp (since that became bloated)
Both OS X and Windows do support centralized codecs (DirectShow in Windows, QuickTime in OS X I believe). What you’re describing is one of those odd situations where users of a “minority” OS have a better experience, precisely *because* they’re too small to warrant “special treatment” from Apple, Microsoft, Real, etc.
The lack of a QuickTime directshow filter for Windows (or the lack of a WM codec for OS X) has more to do with business/politics than any technical factors.
Not sure what applications the original poster was referring to, but CDex and VirtualDub are two open source apps that are (so far as I know) Windows-only. Not that there’s any lack of alternatives, of course.
I can agree with games and to a lesser agree educational software not being as available on Linux, but science software?
In my experience scientific software is the one category where essentially almost all commercial software is also available for Linux. I’m thinking Matlab, Mathematica, Comsol, Labview … plus a number of free alternatives. So I would be interested in what scientific software you are missing on Linux.
About the software to interact with appliances, I agree that getting a device to interact with Linux usually requires quite a bit of work, however I’m constantly annoyed by how things are on Windows, where every device comes with its substandard connection software which all insist to run constantly to detect when you might connect the device. So on windows you often end up running several different pieces of vendor software all UI nightmares. On Linux at least if you get it working you use standards like opensync …
IMO you are probably correct, a lot of the good free/open source software is available on Windows as well. The main thing for me is probably the ability to install a window manager which suits my work flow. Also I would also need to install Cygwin + Unix utilities and soon software installation and maintenance become a nightmare. Why would I try to recreate a Unix-like environment on Windows instead of using Linux, which has all I need (for free). That’s my personal reasons though.
Here are a couple of educational science programs that I use from time-to-time. Could be Linux alternatives, but I haven’t found them.
Seismic Waves, demonstrates how seismic waves travel through the earth.
Erupt, a volcano simulation program released by Las Alamos National Lab.
Two programs, Halo Sim and Iris, for recreating atmospheric visual effects.
Seismic Eruptions, displays patterns of earthquake activity either using a database of past earthquakes or in near real-time over the internet.
Home Planet, a view of earth showing satellite locations, day-night shading, location of moon… very cool stuff.
Orbiter 3D space flight simulation – beautiful graphics.
How ’bout a GIS/map making program that interacts directly with common consumer GPS units? Some of the Garmin software is available for Mac, but nothing for Linux. The National Geographic software is Windows-only. DeLorme software is Windows only.
Some free / open source programs can interact with GPS units also – Terrain, MicroDem, and 3Dem for examples. Each of these is Windows-only.
GeoCaching software for Linux? Two popular applications I’ve used, GSAK ($25 registration) and EasyGPS are Windows-only.
But that’s all ‘fun’ stuff. At work we use the following science and productivity software: Grapher and Surfer by Golden Software, Office 2000, AutoCad, and SolidWorks. Office 2000 is easy to replace with OpenOffice, but not so much the others. If there are open source alternatives to Grapher and Surfer, I’d be very interested for my own use. Ditto Matlab.
At past jobs I’ve been around ArcView / ArcGIS, MControl (by Mudlogging Systems Inc), Strip.Log (Wellsight Systems Inc), and All Topo Maps (interactive USGS maps on CD). AFAIK, these are all Windows-only software titles with no decent open source or Linux alternatives.
I don’t disagree with your Windows comments.
The real hurdle for alternative operating systems is to convince the appliance makers to include software for those OSes with the product. Considering the discs included with each of the following:
Kyocera cell phone, software is Windows only.
Dell PDA, software is Windows only.
TI calculator, software is Windows or Mac.
Garmin GPS, software is Windows only.
Razor PDA, software is Windows only.
OK I believe we were classifying scientific software differently. You were more thinking about scientific educational software, I was more thinking about scientific software as tools of scientists (due to my perspective of being a scientist). In physics almost all commercial tools are also available for Linux/Unix.
BTW looking at Orbiter, you might want to have a look at Celestia and Stellarium. Both are OSS and available for Linux/Windows and OSX I believe.
I remember looking around FreeGIS.org for a friend but had the impression that all the software there was overkill for her requirements. However I’m not really familiar with GIS software so you might want to look there, there’s definitely a lot of software for Linux as well.
Well I don’t think there’s any open source software like AutoCad.
About Grapher, I personally dislike these “Origin/Maple” type programs, I find that my plotting is much better and easier done within scripts, that’s why I use matplotlib with python. I’ve also switched over from using matlab to fully using python/numpy/scipy. It is much more pleasant to program, especially if you have to implement a bit of a GUI (looking at the GUI code written in matlab makes my eyes and brain bleed). However there’s a number of programs which offer similar functionality (labplot, scilab (although maybe overkill), qtiplot (the website seems to indicate it’s closed source but it is not go to the berlios site) and others (there’s a free plotting software page on wikipedia).
About Surfer, maybe MayVi would be an alternative, although again maybe a bit overkill, it can be customised quite a bit though I think.
Matlab, well there’s octave which is pretty much a matlab clone. I’m using python with numpy/scipy/matplotlib and some other packages. Yes it means learning a new language, but once you’ve done so it is so much more pleasant to use.
Now I don’t know if these programs would fit your requirements. If you depend on the software for work you should obviously first investigate if it really fits you needs and also if the migration is worth it.
As I said before not much experience with GIS software.
IMO what would be really desirable would be if the appliance makers would start to agree on some common interfaces and use these instead of including their own crappy software with the devices. BTW Dells PDA supposedly sync with linux, there’s some software to get the data of GPS devices and there’s a program to communicate with TI calculators (tilp2).
Another thing, why was my previous post modded down?! Just because I said in my experience almost all scientific software is available for linux??
There is software that supports most mobile phone sync already. It should be included with the major distributions and I’m told Ubuntu has a pretty detailed wiki page on it.
Phone sync is something I’ve not looked into for a while so I don’t have more details to offer. I think it’s done with multisync and Evolution. I’m also looking at Opensync.
Thanks for the well thought-out post. I’ll be looking for some of those Linux titles you mentioned, as I’m building a computer next week that will be dual-booting GoboLinux as one option.
I’ve worked in a couple of different science fields, and still do. Strip.Log is a program for creating geological logs of drilled wells. MControl is software for interacting with drill monitoring equipment. The archeological firms I’ve worked at used ArcView and other GPS-interactive software for mapping and spacial analysis of arch sites, as well as more basic GPS/mapping software for more ‘everyday’ tasks such as simply locating the survey areas.
Yes, I use both of those programs, Celestia and Stellarium, in Windows regularly. Orbiter is rather different from those and from typical astronomy / stargazing software, and it’s a suitable example of high-quality free software available exclusively to Windows users (threw that in to stay On Topic):
http://orbit.medphys.ucl.ac.uk/
Advanced GIS users might be able to make use of GRASS (often compared to ArcGIS), but you’re correct about overkill. Most casual and recreational map users simply wish to view, edit, and print topo maps; and transfer data sets between the software maps and their GPS unit. Those are basic functions for geocachers, recreational hikers, land owners, archaeologists, and other field scientists.
problem is, windows software includes both commercial AND free applications (with the latter actually being many -if not all- of the same free programs that linux can run, by virtue of them being developed with multiplatform libraries), while linux only has his free applications, plus some non-free ones (“fruition” only like opera or flash, but not “production”, design, or content creation ones along the lines of photoshop or autocad)
OTOH, an end user usually needs applications to be productive, and it’s more important he has a good tool (ideally, one that matches mental model, workflow, and functional requirements precisely) at his disposal, than to be able to choose among different, but equally suboptimal, applications
thus, an end user won’t care how many are available, if most of them they exhibit the same usability, coherence, UI analysis and design (better, lack thereof), if half of them are text editors/web browsers/media players, and if none of them happens to cover the user’s professional working domain (say, content production or design)
Research lab here using Linux only software… MySQL, Matlab, OpenOffice, Apache, Eclipse, etc… it all depends what you need obviously.
There are 1 operating systems with Open BSD type security. Its called Open BSD. Haiku, doesn’t have the same level of intense focus on security. Its difficult, painstaking, largely unrewarding work. Making it a gold standard, makes sense, but assuming it will meet (or exceed!!!) that standard isn’t very smart.
This is just plain wrong question. Is Haiku a perfect operating system currently in it’s today’s state. Frak no. Not even close.
But just look at the completely fresh architecture of it! Zero unix crap in the major subsystems (except maybe the networking stack, which is sort of from BSD and stuff, not worse than in Windows 7 btw). That means cleanest desktop OS experience ever. You’re not happy with the “poor” Haiku API? No problemo, help developers to make R1 and you can build revolutionary new crazy awesome new API for all good people.
The right question is: How To Make Haiku A Perfect Desktop Operating System?
And forget about current Haiku UI. Read the tech specs of the graphic engine, it’s the frakking “Anti Grain Geometry (AGG)” anti-aliased alpha-channeled awesomeness. It means shadows, gradients, transparent stuff and all the goods. If Haiku ever gets completely 2D accelerated video drivers – man, it will fly as the wild wind even on the fraking netbooks and such things. I’m not talking about 3D acceleration even, man… If it ever will be available on Haiku side – BOOM it’s will be right there: Your wettest, deepest and dirtiest Compiz/Beryl fantasies may come true in very simple not fraking all the settings up way (hello CompizConfig)! Just imagine how great it might be with the hardware 3D! OpenCL/VDPAU acceleration and good old opensource OpenGL videogames.
What I want to say, is that Haiku today already is unbelievably fantastic OS for a base platform to develop the any kind of true non-unix non-windows quality open-source desktop awesome stuff on top of it. And it’s in MIT license!
So which sign from Gods we are waiting for? Grab the best and drop the worst of all relevant technological achievements from the Big Trio* and go go go.
—
Big Trio = Windows, Mac OS X and Linux.
Yep, frak all that 90’s or even 60’s legacy crap. I’m really sick of all the layers of dirty hacks that is “modern” OS’s. It’s one of modern economies largest disadvantages that basic science, which breaks paradigms and brings truly new technology, seldom gets funding because the lack of immediate economic return.
So say we all
I think the article takes an abstract stab at defining each of the categories listed, in some cases with what I believe are incorrect premise.
“User experience” is vaguely referenced as GUI (which is also a vague term), and “ease of use”, but then it doesn’t really explain why this is lacking in Haiku. We all know Haiku doesn’t have the shiny/flashy/transparent/animated UI that some other OSes have, but if this is what you need in order to get your work done, perhaps you’re focusing on the wrong trait. I always believe usability should come first in these discussions, followed by “pleasant looking”.
You can have a fancy wallpaper along with round, shiny widgets, complete with transparency and animations, but if it doesn’t make you more productive, then why bother? I’m a firm believer that form follows function, and while the Haiku team has improved the look of the UI somewhat since the beginning of the project, it has also been trying to focus on functionality and usability even more.
The discussion about Security was a bit disappointing here. The suggestion that OpenBSD is the perfect model of security for a desktop OS seems slightly off. OpenBSD security is great, but does it make sense for a desktop system where there is likely going to be a single user utilizing it at any give time?
I think Haiku does need to work on security, yes, but I think the premise that “proper coding” and “legacy-free” makes a system secure is a bit of a stretch. In most cases I’ve seen where an OS has been labeled insecure, it has usually been a situation where the software run by the user was given way too many privileges on the system in the first place. This is not necessarily a problem with the OS, as it’s a problem with the software they’re running, and the user not understanding what it is doing. Windows for example has been designed since Windows NT to provide process separation and rich ACL support. Often it is software writers (including Microsoft themselves in many cases) that tend to expect full admin access to the system when the software is used, which is absurd.
There are still security holes in the OS which allow exploits without elevated permissions, and those are indeed probably caused by sloppy work, or unanticipated usage, but by far, the majority of security-related issues that users of Windows face are due to the 3rd party software they are running, or incorrect setting of default user permissions on the system. Running all software with administrative permissions by default was not a smart move by Microsoft, and I suspect they’re kicking themselves now for that decision so many years ago.
Those are the two areas I felt the author really wasn’t putting enough thought into.
As for software availability – I think we’re already seeing a relatively large switch to web-based software in the market, which Haiku could certainly take advantage of with a strong modern browser offering in the future.
Sure some features won’t make sense for Haiku, but trying to prevent exploits and privilege escalation in buggy apps is a must for any OS. You can do better than OpenBSD but you have to try.
To the author, I don’t know what de Raadt would think of the code, but my guess is “!#$%* C++” or something to the effect
…which is quality and quantity of software. Be and NeXT both offered superior user experiences in the 90s, but software choices were limited. OS X fixed this problem on the NeXT side, and software abounds there.
Amiga and Haiku are in similar boats. Lightning speed and good user experience are offset by limited software choices. I would definitely run Haiku on my laptop vs linux, but I would really like to see mature wifi support, Flash support and a decent WebKit browser first.
Drivers are added every day, and about Flash (usable), you can get here: http://www.haikuware.com/directory/view-details/multimedia/video/pl…
And for browsing Arora with QtWebKit does fine the job
http://qt-haiku.ru/index.php?option=com_rokdownloads&view=file&Item…
I think that the presence of Qt has the potential to go a long way towards solving the software availability problem for Haiku. At least in the sense of providing acceptable stopgap solutions, until a truly-native equivalent is available.
Not a big fan of porting X apps to other platforms via gtk and qt. Yes, it would be better than nothing, but nowhere near as good as decent native apps.
I think it’s only Qt apps that have been ported, rather than KDE apps. My understanding is that Qt is designed to be cross-platform and has no real dependence on X.
Have you tried Qt on Haiku yet? I believe the port is still just an Alpha, but the Qt apps I’ve tried already integrate quite well in terms of look-and-feel. I’d be hard-pressed to distinguish between a native Haiku app and a Qt app running on Haiku.
I *TOTTALY AGREED* here
No, I suppose I should take a look to see if the ported wireless drivers include my chip and try it on the laptop. Only tried it in Virtualbox so far.
If you have spare thumbdrive kicking around, “Haiku on a Stick” is a good way to try Haiku on real hardware (even though the name makes it sound like a Jimmy Dean product):
http://www.modeen.se/HaikuOnAstick.htm
Installation: no option to use the MBR. Grrr.
Use of double-click: DIE, DIE, DIE. No, wait, begin with years straight of torture, then die.
Shutdown: oh, wait, you can’t, because <random ported app> won’t close, and that stops it.
Hardware porting (just leave behind binary apps and drivers) would be cool, too.
I can’t really comment on video hardware support, as I could not get any kinds of videos but MPEG2 to play, much less smoothly. Sound worked great, though
The FUSE implementation’s behavior isn’t like good ol’ HAL (FI, it asks if I want to mount my NTFS partition ro or rw–what a concept!), which is awesome.
Haiku is definitely getting there, and I am hopeful. However, it still has way too much alpha-ness for me to use regularly.
It behaves like BeOS R5
Network card drivers from FreeBSD are being ported right now
Do you even tried VLC Player?
It’s because is in ALPHA state, so unknow (or well know) data corruption could occours
You can see that is a good alpha-ness quality, very close to beta state
Double-click: I know, but it’s been awhile since I’ve had to rely on double clicking (I try to avoid GTK stuff), and it’s one thing I do not miss.
Porting: I mean to a different ISA. The only drivers lacking for anything I use right now are wireless (secure network support), and they are in the pipe.
“Do you even tried VLC Player?”
Yes (8.6). It would not play anything more than the included media player, and it also would not quit. I could not find a VLC 1.x for Haiku.
“It’s because is in ALPHA state, so unknow (or well know) data corruption could occours”
You mean you’ve never tried using an aged NTFS partition with NTFS-3g, and had it either refuse to mount rw (with no easy-to-get-to ro option), or get corrupted? Not to mention annoying issues after writing when you actualy use NTFS’ user-based file security. Asking how to mount is the right way for any alien FS that supports alien features, IMO.
I think what Michael was getting at is that Haiku currently asks the “Write/Read Only” question when you mount ANY filesystem other than the boot volume. That includes other BFS volumes, since Haiku is an Alpha OS and might contain bugs that could cause data corruption.
That’s an interesting point, though. I hope they keep the option in for alien filesystems.
What the hell is wrong with “double clicking”? Your fingers can’t handle tapping twice?
Having everything a single click is just asking for headaches. It is far too easy to accidentally do something.
Double clicking makes accidental dragging easy to do, and does not always work perfectly with a mouse. Everyone but Gnome gets by just fine w/o double-click, and getting rid of it as a necessity would be a good UI move.
Most of the UI has no more than three actions, and I always have at least three mouse buttons.
Mate, get a grip – the IT world has been rocking along on double click until some dickhead at Microsoft created Internet Explorer 4, integrated the bloody thing into Windows to the point that EVERYTHING was treated like a webpage and thus for the last 10 damn years it has been a downward slide in usability ever since!
Quick frankly, the single clickers of the world can take their single clicking, treating the whole UI like a webpage and cram it up their jaxy! I really am sick and tired of seeing UI concept that actually worked 10 years ago being thrown out then later discovered 10 years later by clueless Windows centric programmers who couldn’t work out that we had the knowledge 10 years ago but it being rebranded as a ‘innovation’ and ‘step forward’.
Dear god, Microsoft went and developed a ribbon interface when the whole issue could have been avoid had they a universal menu at the top and thus allowed a combination of ribbon and menu to co-exist! 10-15 years worth of UI study, design and research thrown out the window by Microsoft in favour of a broken UI paradigm that was designed not on any fundamentals but merely as a knee jerk reaction to what others were doing in the industry.
Mark my post down to oblivion because you know I am correct – anyone older than 25 will tell you what computing was like; what a monumental joke Windows 3.11 (and still is to this day) was like when compared to what Amiga, Mac OS and Atari had on offer.
Edited 2009-12-22 04:20 UTC
Single-click is still horribly broken on Windows. I gave up on it in Win7 and set it back, because it’s still just as bad as in Win98.
Adding a click to select something is really a wasted action. My mouse is there, so selecting should be implied, if I want to do something.
Single-click works fine, if the interface was not made for double-clicking, then had it removed. The key thing that makes it broken is when hovering, without action, selects an item that you can apply some other action to (IE, select A, move to B, hit del–oops! Rather, what should happen is B should not become selected unless you click on it–problem solved).
Not on laptops: touchpad usually have only two mouse buttons which is a pity really..
Tip: use the 3rd party application UniversalScroller to have single clicks act as double clicks.
While I agree, the solution is fairly simple:
http://bebits.com/app/1359
I’ve used that for the better part of a decade now, along with a 3-button mouse – which is configured so that a single-click of the middle button emulates a double-click of the left button.
Noted. Trying Haiku recently has been the only Be-like experience I’ve had since maybe 1998 or so.
Edited 2009-12-22 00:20 UTC
I’ve two somewhat related points I take issue with:
I hear that argument quite often, Unix/Linux is based on an architecture which was designed ~40 years ago, therefore system x which was designed from scratch is more modern (which somewhat == better). What people tend to forget is that the people who actually invented and designed the Unix architecture were probably some of the smartest computer engineers of all times. Now if some “random” guys sit down and make a new operating system “from scratch” why would it be necessarily be better?
Secondly Unix is one of the few OS which was actually designed after some laid out principles most other systems seem more like they are implemented after some random ideas. This is not to say that there aren’t better designs around (Plan9 anyone?).
Third, you write that there is lots of duplication between the three layers in Unix (base,X,WM) which causes slowness, security issues etc. do you have any evidence to back up?
The second point is:
Again I fail to see how the second follows from the first. If the legacy is very well designed from a security point of view, it will actually be better for a secure system. Also, security is actually very hard to do, people spend their research careers about this. So creating a secure design is actually not easy.
Just to point out, I’m not saying that Haiku lacks in any of these points. I simply take issue with the premises.
Yes. I have a good one! my Ubuntu Linux 9.10 and FreeBSD 8.0 that uses X
Window responsiviness with Haiku app_server is amazing! (except by firefox maybe. In time: Megan Fox >>>>>>>> Firefox )
Well, for default, Haiku keeps all ports closed. I’m not an expert in security, but seems very safe for me
I wish people would stop bashing X. The architecture and design of X is almost never the cause of performance bottlenecks. Sure under Xfree86 the code rotted, but since the split off Xorg has been making great strides. X runs and runs fast on hardware ranging from servers to phones or PDAs, it really isn’t the problem.
E.g. in your comparison you’re saying yourself that firefox is as slow on Haiku, so I’d say you’re looking at performance of the apps not X. Also are you comparing the performance of something like KDE or Gnome with all the wizbang enabled to Haiku?, hardly a fair comparison.
Well I pointed out that I was not talking about Haiku, but there is a lot more to make a system secure than simply keeping all ports closed by default.
won’t happen.
X is an overly complex piece of code resulting from anachronistic concepts and superseded assumptions,no more holding true for the majority of the 21st century desktops – which aren’t dumb text terminals connected to a mainframe updating the screen for timesharing users, any more
users expect rich, visually appealing AND responsive local UI’s and the ability to leverage their teraflop-capable GPU to offload graphic computations (which is only logical), and rarely (if ever) use desktop remoting (which can be supported anyway by an add on optional service – instead of basing the local GUI stack’s design on network transparency, which is a wrong choice to do in this day and age)
besides, when applications and toolkits actually check whether they are runing locally or over the network, (and use different code paths for either case), network transparency becomes somewhat of a chimera and a GUI stack based on it a suboptimal compromise design;
but there’s much more to X apart from network transparency… core fonts and their outmoded non -standard format (kept around since the X server is intended to render text in place and on behalf of applications, that could do so equally well on their own – besides, the presence of application belonging text strings in a central place actually constitutes a security and privacy liability), badly thought drag and drop / clipboard protocols (when initiating a DnD operation, just a pointer to the “data provider” is set – which leaves the operation pending, if the pointed client application is then terminated or crashes in the meantime – moreover, why the GUI server should take are of DnD or clipboards is beyond reason), the authentication protocol (X being a server listening on sockets, in the unfortunate event it crashes, all connections are dropped – and as of now client application hang too), and an inconsistent coordinate system (best explained in http://www.std.org/~msm/common/WhyX.pdf ), holding on multiple communicating processes to separate “mechanism from policy” (isn’t the above x server based drag and drop protocol a “policy”, btw ?), instead of more modern interface based plugins (not that the system is still very usable if compiz crashes, anyway)
of course not, since an architecture requiring Window Manager/Application ->(Kernel) -> X server (and back) round trips, is always more efficient than one where no round trip or complex interaction is required – and a system doing marshaling over sockets isn’t three times slower than on being able of lightweight procedure calls or the like (*) – oh wait…
(*): http://www.cs.washington.edu/homes/tom/pubs/lrpc.pdf , http://plan99.net/~mike/dissertation.pdf, http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.7045 – for comparison, the NT kernel being originally born as a desktop microkernel, supports a similar mechanism, QuickLPC
other GUI’s had solved the window visibility and redraw problem, or supported application side rendering, or multihead, long before the XFixes, RENDER, or Xinerama (respectively) extensions got deployed, 3d based compositing with redirected direct (NOT accelerated indirect) rendering came to linux after Vista was released ( http://hoegsberg.blogspot.com/2007/08/redirected-direct-rendering.h… ) and several years after OS X quartz extreme
progress in catching up with what others already had for years is still progress, i suppose…
Edited 2009-12-22 20:31 UTC
It’s not so much that they weren’t smart, but that there is 40 years of baggage to bog it down, with confusing layered complexity. That makes certain kinds of features take more man-hours than they otherwise could, and as such, often requires large groups to get along, which they may not do.
Can you give examples? What you write is so generic that I really don’t understand what you’re talking about. What are the confusing layers of complexity?
Also you could make the same argument about the C programming language, but it is arguably less complex than most e.g. C++ or C# or others. And it is still the language of choice if performance is important so 40 years can’t have bogged it down too much.
X for example is a piece of crap:
http://www.art.net/~hopkins/Don/unix-haters/x-windows/disaster.html
All the Unix-like OSes just need to drop X like a hot potato. It is dragging them down and the flaws are so ingrained as to be unfixable. Even the X.org developers think it is a piece of crap. The hoops they have to go through to make it modern are pretty crazy.
Every other OS has a much better and more modern GUI system design (from Windows to Mac OS X to Haiku.)
Unfortunately the day when Linux and friends drop X probably won’t ever come. Which is one reason of many I try to work on Haiku.
Why do people always dig out the unix-haters book when it comes to criticising Linux/Unix/X. That book was written in 1994! Some of the criticism might have applied then but a lot is simply not valid any more.
Sure X has had problems, as have many other systems, here’s an article from LWN.net which recaps the history of X and does address some of the problems.
http://lwn.net/Articles/354408/
You’re right about many of the problems having already been solved; libX11 has been replaced with libxcb – but how many projects have fully moved to libxcb? gtk+ is still hobbling along using a weird Frankenstein mess of X11 and gdk, so you never are able to clearly migrate away from X11 without having to do major surgery underneath it.
Then there is performance issues, integration issues, issues relating to memory and battery performance etc. It is a disaster and unfortunately none of the major vendors who do use it are willing to put the necessary dollars and man power into Xorg to address the short comings.
The current state in the *NIX world is abysmal – and any attempt to fix the problems are met with abuse as I experienced at the hands of the GIMP developers.
Yea I ran into this too. I was given a hostile reaction even when I could show that most users were not happy with the status quo.
There’s too much blind defense of the status quo in the nix world. I was hoping that OSX would shake things up a bitby showing that Unix could be reformed for the desktop but that didn’t happen. Criticism is still taken as if it was forwarded from bgates. There’s also clear lack of desire on the part of open source developers to make Linux more appealing to the mainstream.
I tried out KDE 4.3 a while back and it just got on my nerves to the point where I wanted to put on openbox and set my system up from the command line. That’s how I felt about KDE in 2002. OSX is what Linux should have been by now. I don’t see much changing anytime soon especially now that it is clear that Google is not going to fund a major overhaul.
What annoyed me the most was that if the complaints weren’t followed up with contributions I could understand why the developers would be unhappy. The reality that I not only complained but I wrote a 70+ page PDF outlining how GIMP could be improved with UI mock ups and so forth. I was booted out of the GIMP IRC development channel then banned – really shows the pathetic immaturity of the GIMP developers.
I pretty much gave up on the *NIX world when in 8/9 years since Mac OS X release there has been but only moderate improvements have occured in the *NIX world. Still riddled with Xorg, still riddled with two desktops that does a lot things but very poorly, and the applications are no further ahead when it comes to ease of use and general visual appeal.
I actually have more hope in Haiku-OS turning into the operating system people want – the only thing holding it back is hardware support. Once the basis of Haiku-OS is laid then it is easy to move it to a multi-user system and update the underlying display engine, couple that with drivers – I can see software vendors more willing to support a niche operating system that isn’t a mish-mash of different competing technologies, a single desktop with a single widget kit.
Edited 2009-12-23 01:21 UTC
Honestly… I think the problem there might have been trying to submit a 70-page PDF full of ideas/suggestions/complaints rather than patches.
The problems caused by X, KDE and Gnome, while real, are also highly exagerated. I’ll repeat it again, X has improved dramatically recently, even if it still isn’t perfect yet. X is not inherantly flawed, it just needs to grow the facilities that a good Desktop graphical environment needs. And that’s happening! (If slowly.)
You know, you’re likely right, but I think that’d be more the success of the FOSS model in general than the failure of Linux in particular.
Which is why GIMP keeps limping along like it is – any improvements have to be developed in a formal, logical and coherent manner rather than the current situation of today where ideas are thrown against the wall in a hope that they would stick.
Formal development process includes creating a working document with specifications, getting feedback, making modifications, submitting the paper back to the community, get further feedback – parts which are mature are gradually pulled out into development during that period of peer review.
Simply throwing stuff against a wall results in a incoherent mess with no attention paid to how one change in an area impacts the over all functionality and usability; the change in the UI in one part and how it impacts on the over all usability.
Given the reception I was given – I hope that those programmers don’t work in a large institution because I fear what their software looks like.
X is here, there are solutions but how many vendors rely on Xorg and how many of them contribute back given the importance it plays within a usable *NIX desktop and server operating system. Xorg can be corrected without throwing out major parts of it but the number who contribute aren’t sufficient to do the heavy lifting. Take the move away from HAL – why is there still debate on the issue? why hasn’t the libudev code been merged? why is OpenSolaris still struggling along on HAL instead of using the hotplug functionality built into OpenSolaris instead?
I’d say it is actually more a success of FOSS when the development is based off a fixed set of specifications than aimlessly wondering along bumping into things as with the case of GIMP. When you have a set of specifications, you know what you’re aiming towards. Wine has the win32 specifications and documentation provided by Microsoft, Haiku-OS has the BeOS specifications via the numerous pieces of documentation.
The problem is when you have ground up products like GIMP and developers who don’t want to do the formal documentation required; the writing of specifications, the submission, the collating of feedback, the critiquing of design – the fact that such a process might take up to 6 months before even a line of code is written. It is like watching a person jumping straight into painting their house and failing to prepare the surface before hand. The result is a job that only lasts 5 years instead of the usual 8-10 years.
Spend some time preparing as to avoid making decisions that come back to haunt you in the future.
Edited 2009-12-24 01:36 UTC
X11 as the core protocol, dates back to 1987 and hasn’t changed ever since (with all subsequently added, allegedly “innovative” functionality, being in the form of a plethora of individual server “extensions”, mostly not altering the core protocol, rather layering on it), more or less the same is to be said of the POSIX / SUS specification as a whole (API and structure wise, not much has happened since SVR5) so it’s still valid – as is this http://www.linux.org.uk/~dan/rumor/rumor.shrink (written in 1981, yet looking as if i could have written it yesterday, as far as CLI command and their (in)consistency is concerned)
Xorg (and related cross-platform goodies), anything trying to be truly POSIX compliant, GNU C and CPP libraries, off the top of my head. Those then have libraries of their own, making great little webs of code in the shadows. There comes a point where you’d be more productive starting anew (note that I’m not saying better off, except where ALSA is concerned). In many cases, like any *n*x, that needs to be balanced against ease of portability, a large portable software base, and a history of reliable operation.
Likewise, with C as an example, just having old roots does not make something complex. C has grown with the times, and in a highly disciplined manner.
About GNU C and CPP libraries being confusing layers of complexity. Every system which is programmed in C needs a C library. AFAIK pretty much any OS today will include a C library, so this does not make Unix any more complex than any other system. POSIX compliance: well you have to implement some sort of standard so programs no what they can rely on for filesystem operations etc.. You can use POSIX, W32 or implement a new one which will probably look very similar, still does not make one system more complex than the other. Same thing with Xorg, you need some sort of display server no matter what. You can tightly integrate it with the rest of the system (which I think is what Windows does), or make it more modular (e.g. X).
BTW Haiku atm uses both Gnu libc and tries to be POSIX compliant AFAIK.
What about uClibc? Hey, code even I can figure out, most of the time! But, practically every piece of FOSS software is compatible with GNU’s entire build chain and library system. You don’t throw that away for a little added responsiveness and space saving, usually.
As I said, there are reasons for choosing to have various complications added to the system. There are always trade-offs involved.
As far as Xorg/Xfree, there have many failed attempts to replace it, several of which would be far superior (Wayland, FI), but politics get in the way. I don’t care if it’s modular. I care if it applies vsync properly, and is not prone to allowing applications to crash everything that uses it. Xorg does neither. Attempts to work around the issues get sidelined. projects to replace it don’t get the support needed to grow.
It’s not like extra features (including backwards-compatibility) are going to destroy the world. Just that they may sometimes inhibit a smaller number of programmers from effectively pulling off a task when trying to use a system ingrained with them, because there is always one extra little thing you might not have thought about getting in your way. In many cases, all that legacy kruft can make things easier, such as porting software between OSes, and building custom derivatives of OSes (DD-WRT and the like come to mind, for Linux).
Edited 2009-12-22 06:57 UTC
What people tend to forget is that the people who actually invented and designed the Unix architecture were probably some of the smartest computer engineers of all times.
What people like you forget is that those very smart computer engineers were making decisions based on completely different computing needs and hardware.
For example I really doubt they would build an OS today with a shared library system when 1TB drives can be had for $100.
Unix has a solid underlying foundation but let’s not act like it was created on Mount Sinai.
Right. OSX and Windows don’t use ANY shared libraries.
Linux/Unix uses shared libraries… or it DOESN’T, depending on how the distro/project was setup or on how YOU set it up.
With Windows and OSX you get only what the OS/app developers dictate.
So, the core of OSX wasn’t created on Mount Sinai?
They aren’t built around sharing as much as possible. There are of course shared system libraries in Windows and OSX but they don’t expect user installed software to share libraries between each other.
Yes there are a few obscure distros that don’t use the shared library system. Yawn.
Anyways OSX is Unix based but the system engineers ditched the traditional shared library system while Linux distros use the old system which results in dependency issues. The typical user would much rather have the Windows or OSX system instead of the repository system which causes problems when the user wants to install software outside the repository. It’s also a major annoyance for proprietary developers who for the most part ignore Linux like the plague in case you hadn’t noticed.
The shared library system results in unneeded clusterf–ks and was designed in an era when most programs were small utilities that were used with the command line. A sane system designed around modern needs of both developers and users puts apps in their own directories with their own files and libraries.
If the size of code on disk were the only issue, that may be valid. However, the reality is more nuanced. Unix was not born with shared libraries – they actually arrived there later (mid 90s), and arrived largely to reduce RAM footprint, since multiple processes can now share the same code pages.
Today shared libraries (or DLLs or frameworks) largely exist to minimize servicing problems. If a security bug is found in one component, a shared library enables it to be patched once. Static linking results in the same patch being issued multiplicatively.
Although shared libraries aren’t distributed as part of applications as much as they used to be, this is really a reflection of operating systems/distributions incorporating more functionality themselves, so that applications distribute less. The basic architecture of shared libraries + smallish program specific code hasn’t changed in a long time.
Yes it has. Like already mentioned, the use of shared libraries is at its best when too much is not shared. But today your typical GUI application can easily depend on at least twenty libraries. For laughs, run ldd for say Firefox.
Edited 2009-12-22 09:47 UTC
Unix has had shared libraries before the mid 90s, but I’m guessing you mean the repository systems that offer a greater level of management. RAM is also no longer an issue when the typical notebook comes with 2 gigs.
They require far more maintenence than software distribution systems that rely on developers to provide a self-installing executable. They also aren’t as reliable for application stability.
The corollary is that if a security bug isn’t found it can be exploited in multiple applications. However a security breach from an exploit in a common library is rare. It’s far more likely to exist in the main executable. Furthermore the repository system presents a security risk since a security update can be delayed until dependency issues are resolved. Allowing multiple versions of a program is also a problem.
The main benefit of the repository system is that software is provided to the user from a trusted source but the shared library aspect isn’t needed to achieve this.
You would describe Firefox and OpenOffice as having smallish program specific code?
I’m not sure why people still defend the shared library system when its benefits are so limited on modern machines. It’s a mediocre system at best and a nightmare for users at worst. Users should not have to get on a forum to ask for help in fixing Firefox after it has been broken from an upgrade.
http://forums.opensuse.org/network-internet/422267-firefox-broken-a…
Linux distros should look to GoboLinux as an example of how to move away from the shared library system:
http://www.glenscott.co.uk/2008/10/22/gobolinux-proves-that-amigaos…
An argument of authority isn’t very convincing..
BeOS was much more responsive than any other OS.
That’s a fact not something as vague as ‘designer X was more intelligent as design Y’.
I agree with you that the ‘layer duplication’ of the original article doesn’t seem very convincing.
…This article is a joke, right?
OSAlert.com can’t have let their standards fall so much to the point that I’m actually having to write a comment on an article asking in all seriousness if an ALPHA release of a new Operating System is “perfect” or not–can it?
For the love of Pete, Haiku doesn’t even have a working WiFi stack yet! How can anyone seriously expect to evaluate the perfection of an OS that has yet to modernize? Whose own standards for perfection are in whether or not they can reach parity with a release last updated in 2000*?
I repeat, what is this a joke?
–bornagainpenguin
*I know that the Haiku team have been quietly updating what they could in their clean room reimplementation of the BeOS, but they’ve made it clear over and over there will be very little modernization of Haiku until Release One manages to reach 100% compatibility with BeOS R5.
You’ve totally missed the point of the article. Have you even read it? It is not about current version of Haiku, it is what Haiku might become in the future.
At the end, I even address readers to state their opinion which operating system by their opinion has the potential to become “the perfect desktop operating system” in the future.
bcavally posted…
No you miss the point. Haiku as an operating system in its own right is years away. None of us have any idea what Haiku will look like once it gets beyond the shadow of the BeOS it has been living under its whole life. Speculation is pointless, until at least two or three releases after release one.
bcavally posted…
Oh that’s easy! All of them. The perfect desktop operating system means different things to different people.
–bornagainpenguin
That complaint is about 7 months out of date:
http://www.osnews.com/story/21562/Haiku_WiFi_Stack_TV_Card_Progress…
While I don’t necessarily agree with the article, your criticism don’t really paint the full picture. While it’s true that BeOS was last updated in 2,000, you also need to keep in mind that BeOS was significantly ahead of its time in 2,000 (and in some ways, in 2009 too) – thanks to Be’s developers intentionally designing the OS to be as future-proof/forward-looking as possible.
StephenBeDoper chimed in with…
Yeah, about that? Not so much…
See: http://dev.osdrawer.net/projects/haiku-wifi/news
Oh there’s still activity and there will be a WiFi stack eventually once they manage to port over enough *BSD drivers to make it practical to create an interface for managing WiFi, but the fact remains WiFi has yet to be a priority for Haiku. I would imagine that would be one of those things that will be a priority in R2, but not R1 which recall is all about BeOS R5 compatibility. Then again, they are trying to modernize where ever they can without breaking that compatibility so we could all be very pleasantly surprised by Alpha 2.
StephenBeDoper chimed in with…
That wasn’t the point I was making, what I was saying is that none of us know what the true Haiku operating system will look like once the team meets their personal goal of compatibility with BeOS R5, and then begin to take the code to the future, where they really want to go! I wasn’t insulting Haiku, I’m just making the point that once Haiku hits R1 and are no longer constrained by the necessity for compatibility is when I expect great things to happen. Things that none of us can imagine now, because we’re still thinking about BeOS and the guys writing Haiku are thinking about the next generation…
–bornagainpenguin
Actually, the reason you’re not seeing any more progress in the osdrawer page for Haiku Wifi is because Colin has ported all of into the main Haiku repo now, where he’s added many more drivers and infrastructure already.
http://dev.haiku-os.org/browser/haiku/trunk/src/add-ons/kernel/driv…
But anyway, he is also busy with school now, and only working on it a little bit each day. Several people have been testing the various drivers out though. Note: Still no proper WPA, etc. yet until that part of the software stack is ported/written.
umccullough pointed out…
Well that is a pleasant surprise! Maybe what I said about WiFi being in an Alpha2 is more right than I knew?
Still I stand by my point, which is none of us know what Haiku will be like and none of us can know what it will be like until the Haiku team begins work on R2, which freed of the need for backwards-compatibility will show us what their view of a next generation OS is really like!
–bornagainpenguin
IRIX is the perfect OS: IRIX! IRIX! IRIX! IRIX!
SEGA!
IRIX!
I’d say Haiku is no more or less than a good start.
A lot of work. The GUI and “user experience” should be the least of worries. And yes, I’ve looked at the code.
And like others above, I am also a little skeptical about the assumption that the so-called “legacy” is solely a bad thing.
This kind of pompous advocacy leads to nowhere.
Be humble.
What is good about an OS?
Is it not indeed human nature, that is good?
So what would be good, would be to have an OS, that complements our nature.
Imagine a society at peace, and the computer used for tasks that naturally falls for it.
This would be a “good” OS.
And it would probably mean the reduction of commercial activity, products made purely to make money, and the buzz that comes with that, and drives the world insane, becoming an evil circle, of people buying products, they do not need, and not finding the real products, because they are not visible in the commercial noise.
And the question that comes with that, is ofcourse, is our society already built for this, or must we accomodate society, to fit information technology.
Networks might be better off, owned by the state, with facebook like profiles, and bankaccounts accessible. Grades and jobs should be intergrated into the system, and distribution of social welfare, likewise.
By this, we are talking about moving computing into a state of optimality. Away from commercial forces, and into our own hands, serving Us.
It is ofcourse not unlikely, that a commercial market, may be based below this, in the future.
Peace be with you!
Is it not indeed human nature, that is good?
No. Humans are by nature selfish, greedy, self-preserving bastards, often willing to sacrifice others in order to satisfy one or another need, including plain curiosity, and the whole world would actually be better off without us.
Agreed. I often think of this when I read science fiction novels which imply some moral imperative for us to colonize the solar system… or worse yet, the galaxy. And also when I’m visiting our national forests and parks.
Edited 2009-12-22 15:08 UTC
If you ever want to really depress yourself, pick up a copy of Sea of Slaughter by Farley Mowatt – it’s a catalogue of the (mainly) marine animals that have wiped out since European colonization of North America began.
Why should I find that any more depressing than reading about dinosaurs that have been wiped out?
Mother nature kills off species all the time. It’s a natural part of evolution. I don’t see why when humans take out a few they become moral dregs of the world.
Well, for starters, the extinction of the dinosaurs wasn’t something that we could have easily-prevented, as it wasn’t caused almost entirely by our greed and ignorance. And it almost certainly didn’t happen over only four hundred years.
A few examples of details I hadn’t known before reading Mowat’s book: polar bears were once found as far south as Maine, walruses were once found as far south as Nova Scotia, lobsters were once so numerous that they were only used for pig feed (eating them was considered inexcusably “lower-class”), millions of sea birds were killed solely as practice for shooting clay pigeons, etc etc etc. And those are just the animals that are well-known and still around today – ever heard of the Great Auk? Or Steller’s Sea Cow?
If you can read a book like that and not feel the least bit disheartened, then I freely admit that you’ve done a better job of desensitizing yourself than I have. And I’m a pretty cynical bastard, so that’s saying a lot.
I don’t see it being a moral issue at all, we’ve acted the exact same way that any other animal would if it was free of most natural limiting factors (food supply, predation, etc). But in spite of that, we usually manage to convince ourselves that we have some sort of moral or evolutionary high-ground beyond “might makes right.”
Edited 2009-12-23 04:15 UTC
Are you sure about that? “Better off” is a concept invented by humans. The Earth certainly doesn’t care what we do to it. That’s not to say we shouldn’t conserve it, but that is mainly for our own good.
What a typically anthropocentric human answer. Countless other species would be better off without us. Starting with the mountain gorillas… and dolphins. The latter having larger brains than humans, a greater brain mass to body mass ratio than humans, and more convoluted brain surface than humans. (Those being empirically good general indicators of intelligence.) And of course, countless extinct species would be better off without us, including, but certainly not limited to homo sapiens neanderthalensis.
In large numbers, we humans are very, very ugly. And very, very destructive. And very, very unmindful of those facts.
Edited 2009-12-23 01:14 UTC
Well go kill yourself then or at least take your Western self-loathing somewhere else.
Not all of us subscribe to the dopey collectivist outlook that believes Westerners should go through life filled with guilt and angst.
Some people care about what the human race does. I suspect that it might do a bit more good to kill you.
Edited 2009-12-23 03:39 UTC
Indeed, that sounds like christian “original sin” influence. (Which is a distortion of Abrahamic faith).
The spirit of a person may be good or bad, believer or associator, however it is a created being. Divine nature is good.
This is what I^A'd like to see change in Haiku in the future. Some might already be changed though.
Monitor the tracker settings and save on change instead of save them in the destructor.
Fix the terrible desktop grid. Stippi I saw that you complaind on OS X desktop, well atleast it works in OS X. (Switch between the mini-icon mode and icon mode to see my point, can you even sort by “filetype”, “name” etc in Haiku?). While we are at the desktop, can you have a larger font for the desktop?
Tracker navigation (Back, Forward, Up) just look ugly in my eyes. I love Haiku Tracker otherwise (How you navigate).
I would also love to see filtering and “Bread crums” support for the navigation “url”-string.
I guess semi-transperency, freeform windows etc will come when you got 3D Acceleration?
Is there a Expos~A(c) like function in Haiku? (Except show desktop).
Another thing that would be nice is to mark files with different colors (For tracker to use). Like compressed, code, settings file etc.
BeOS was a ‘Copland’-esque Mac OS that technically did work, but UI-wise I’d be just as happy with Mac OS 8 or 9 when it comes to completeness and consistency in look and feel.
At the same time, this is somewhat what Haiku offers – and as such I’ll be looking forward tobeing able to take it for a spin
That said, I’s still trade Gnome or KDE in favour of Mac OS 9 GUI on top of *ANY* modern *nix OS any day!
MS Windows do support ARM architecture. Windows Mobile runs mostly on ARM processors. Windows Embedded CE run on ARM processors as well.
But you can count them as different OS than Desktop ones.
They are a completely different OS. That’s not really up for debate.
They share: A common binary format (PE EXE files), and some API calls (the common Win32 API subset). Despite this, they are neither binary nor source compatible, and aside from some aspects of the API being similar, everything beneath that level (the kernel) or above that level (the entire userland) is entirely different.
It’s as much of a different OS as the Xbox 360’s, basically.
From a practical point of view, that means that Windows itself doesn’t exist on ARM.
I’ve installed this and the default install runs well. So, I decided to test run this for use of normal everyday work.
Now, I read that any packages are just downloaded and expanded to /boot/apps
Doing that, nothing works. I’ve tried pixel, besol, and BeRDP, and nothing seems to work. Just crashes, and debugging messages.
What am I doing wrong?