BeOS was demonstrated to me during my senior year of college. The guy giving the talk played upwards of two dozen mp3s, a dozen or so movie trailers, the GL teapot thing, etc. simultanously. None of the apps skipped a beat. Then, he pulled out the showstopper.
He yanked the plug on the box.
Within 20 seconds or so of restarting, the machine was chugging away with all of its media files in the place they were when they were halted, as if nothing had happened.
If you've never played with BeOS on an old Pentium II, it's hard to imagine the kind of performance it was able to squeeze out of that hardware. Here's a rough idea:
it's hard to imagine the kind of performance it was able to squeeze out of that hardware
No no no, you have it backwards. It's hard to imagine what a "modern" OS (Windows, Linux, OSX) is actually doing with all those CPU cycles, that it can't do stuff like this even with >10x the compute power.
I was an occasional user of BeOS 4 and 5. Got the free upgrade to 5 in the mail.
It's anachronistic I know, but I think the biggest issue with the OS was timing. If the FOSS movement had as much commercial maturity as today, I think the story of BeOS would be way different. It was pretty well placed at the time in terms of offering a solid media experience coupled with a POSIX compliant environment. I'm pretty sure it would be used like OS X is today by many devs, but without the hardware lock-in.
It was super fun to use BeOS, I just didn't have a workflow that matched it at the time.
> Linux, for instance, is based around a core—called a kernel—that was originally designed for use in servers and only later modified for desktop systems
As far as I understand the history of Linux, this is just plain not true: Linux was originally a toy project with little focus on either desktop or server systems.
I'm not sure what Linus' personal intentions were when he first started it, but perhaps the article is talking about the fact that Unix was originally developed for mainframes.
"What really sets Haiku apart, though, is its efficiency and speed. On my three-year-old desktop computer, Haiku boots up from a cold start in 10 to 15 seconds, and when running it uses only about 170 megabytes of RAM."
Sounds good to me, but 10-15 seconds running on what specs?
Also, looking at the video, it seems like this OS is stuck in the 1990s. That is fine as long as it runs a standards compliant browser, but it just seems lacking based on this video- has this changed?: http://www.youtube.com/watch?v=ixvppiSB7hc
Haiku has a native browser called WebPositive, using Webkit, but it's probably a year or more out of date. I understand that there are efforts underway to sync the browser with a more recent Webkit and get features like HTML5 audio/video in.
It'd be wonderful if someone more familiar with the issue would comment on the browser's status.
Sounds like you're saying this solely based on what the GUI looks like. Yes, it's extremely dated and doesn't have all the fancy glitz of modern desktop environments, but the underlying system itself is quite modern.
"Where BeOS drove ahead of other operating systems of its time (and where Haiku is still ahead of contemporary operating systems) is that each individual application uses many threads. The core of the application itself has one thread, and each window the application creates has a thread."
I might not have been around when BeOS was first created, but this is certainly not a new concept today. I don't think I can name a major OS today that doesn't support this model. Both Android and iOS are well known for this technique, but they were hardly the first to adopt it.
BeOS was (and arguably still is) the only platform with a UI toolkit and system API that strongly encourages pervasive multithreading. Everywhere else, you have the option of writing asyncronous code, but the libraries are all designed primarily for single-threaded use cases.
BeOS's (intended) competition was MacOS 8 and Windows 95, which probably weren't that thread-savvy. In retrospect, the forced multithreading certainly improved responsiveness but also made porting software painful (since all other GUIs have a single event-loop thread).
iOS doesn't actually spawn a new thread for every window in an application. All of the UIKit calls are still very thread-unsafe and expect to be used only from the main thread. This doesn't really cause much of a problem, since apps are page-based: you don't need to update more than one or two windows at one time, anyway.
I like the idea of Haiku OS, but from what I've heard, for binary-compatibility reasons (kernel drivers? All applications? I'm not sure) it still ships with GCC 2.95.
Requiring a compiler over a decade old for a modern OS doesn't seem like a good long-term strategy.
Haiku can be built with/for GCC 2 or GCC 4 and ship with libraries for the other. Some time after R1, the gcc2-hybrid releases will probably be flipped to gcc4-hybrid, and the gcc2 libs kept around for backwards-compatibility purposes only.
The current setup is really only used to the benefit of applications - the kernel interface is not ABI- or API-compatible, for the most part, with that of BeOS R5.
IIRC one of the reasons Apple passed on BeOS was that the lack of a stable C++ ABI made app dependencies on the OS classes very fragile. For example, API classes had to be padded out with dummy members to make room for later non-breaking additions to apps.
Is this still a problem? Isn't this why just about every other OS exposes it's lowest level APIs as C apis?
I remember trying BeOS back in the days. It had a nifty feature where you could download an executable and install directly from inside windows, and then boot up in BeOS afterwards. I used to hang out at OSNews where OpenBeOS was heavily promoted and discussed when they started the project. Sure is a long time ago.
I LOVED BeOS back in the R3-R5 days. I switched over to it completely for a time and started writing software for it. Work carried me in a different direction, and my hobbyist enthusiasm lost steam as I saw that Be was going nowhere corporate-wise. Once Apple decided to go with NeXT instead of BeOS as the basis for its new OS, that was all she wrote. I was disappointed with the technology decision by Apple, but that was way offset by getting Jobs back into the company... and we all saw how well that turned out.
Anyhow, the C++ API of BeOS was amazing. OSX/Objective-C still don't give you that OO access to the OS feel that BeOS had. My one major gripe with their approach was in the way that they managed run-time binding -- it was very brittle from release to release of the OS. As a developer, you had to ship separate binaries for each OS release you wanted to support. Nasty.
I'd love to see Haiku take off and become a viable platform. If for no other reason, just to have a reference version of how things CAN BE DONE.
That cheerleading aside, I have to say that with a fresh OS install, my OSX Lion 2009 PB performs great. Very snappy, runs cool, starts up quickly. It's only when you start installing all your apps, VMs, widgets, drivers, and misc. junk that it slows down. Would Haiku do any better if it had that rich of a software environment?
"Haiku is probably the best positioned to challenge the mainstream operating systems like Microsoft Windows and Mac OS."
This is an absurd statement. Stop wasting time solving problems that don't exist for 98% of the market. "More choice" is not a better than if the choices suck.
"Within 20 seconds or so of restarting, the machine was chugging away with all of its media files in the place they were when they were halted, as if nothing had happened."
This was really cool in the early days of BeOS. But that was more than a decade ago.
People of earth: there is a talent crisis right now. The world needs great developers to build awesome apps for a whole new class of machines. If you feel an urge to "start from scratch" — help rebuild everything for mobile. It's a big job, there are too many projects and not enough developers, and you'll be contributing to a seismic shift in computing.
Stop solving problems that don't exist for most people. Build apps that people will use. Do big things that address 98% of users. These guys clearly have dev chops that I admire, so don't waste them on a project like this.
>Stop solving problems that don't exist for most people. Build apps that people will use. Do big things that address 98% of users. These guys clearly have dev chops that I admire, so don't waste them on a project like this.
I know this site was originally called start-up news, but going to a site branded "hacker" news and seeing a post like this creates something of a LMFAO experience.
Please read your own post over again, and if you somehow don't see the irony in telling a group of people who at this point almost certainly qualify as hackers to stop working on a project they love on a site called hacker news, I suggest revisiting the published literature laying out what a 'hacker' is. (Starting with Hackers: heroes of the computer revolution if you haven't read it yet.)
> If you feel an urge to "start from scratch" — help rebuild everything for mobile.
Given that mobile hardware is about where desktop hardware was when BeOS was invented, I wonder if some company could use it as a new smartphone OS. There's an unfinished ARM port in progress but would probably need commercial support to complete.
The thing about innovation is, it's not always possible to predict what will be valuable or not. Not many people would have predicted Linux back in Linus's early days, for example.
This is no longer true -- there are a few quality typefaces made by professional designers available for open source projects, for example DejaVu, Droid, Arimo/Tinos, PT Sans, Ubuntu. Even Mac OS X uses an open source font for a part of their interface (Menlo, based on DejaVu Sans Mono).
timc is right, what you see is unattractive font rendering (no subpixel rendering, full hinting). For the state of the art of font rendering in open source projects, look at Ubuntu or Infinality.
I don't think it's so much the font as the font rendering. Not sure because I need to get a Haiku system up and running, but Windows, OSX and now Linux have spent a lot of time getting the rendering working with tricks like clear fix.
Interestingly much higher resolution displays will probably help to offset the need for rendering tricks
"The problem with open-source OS's is that they can't take advantage of things like attractive fonts..." My thoughts while reading this: haha good one, yeah make fun of the non-open source stuff... oh wait, this guy is serious
"Generally, there is one thread for each application and one for the operating system’s user interface as well."
I think the article writer meant "process" -- there are many threads per process, and that is present in most "contemporary operating systems". If this is their (Haiku Inc.'s) attempt at PR... they are not doing it well.
There can be many threads per process, but plenty of applications ("Generally") are still single-threaded or even if they aren't, they only use one for the UI.
Back when I wanted to get involved (I had a lot more free time), I saw it as an opportunity to have a graphically friendly operating system á la OS X, but actually completely open source.
We have machines scattered throughout the office for meetings (mostly Jira or other web applications). One of those has Haiku running and people seem to like it just fine.
I do find, however, the ergonomics of the window manager to be atrocious. The little tabs, while faithful and part of the visual identity of BeOS, are, perhaps, the worst idea since the invention of overlapping windows. I'd suggest focusing on the 80's icon style and 45° perspective as visual identify and ditch the title tabs.
[+] [-] beosrocks|14 years ago|reply
BeOS was demonstrated to me during my senior year of college. The guy giving the talk played upwards of two dozen mp3s, a dozen or so movie trailers, the GL teapot thing, etc. simultanously. None of the apps skipped a beat. Then, he pulled out the showstopper.
He yanked the plug on the box.
Within 20 seconds or so of restarting, the machine was chugging away with all of its media files in the place they were when they were halted, as if nothing had happened.
If you've never played with BeOS on an old Pentium II, it's hard to imagine the kind of performance it was able to squeeze out of that hardware. Here's a rough idea:
http://www.youtube.com/watch?v=BsVydyC8ZGQ#t=17m36s
[+] [-] gaius|14 years ago|reply
No no no, you have it backwards. It's hard to imagine what a "modern" OS (Windows, Linux, OSX) is actually doing with all those CPU cycles, that it can't do stuff like this even with >10x the compute power.
[+] [-] falling|14 years ago|reply
[+] [-] nsomething|14 years ago|reply
It's anachronistic I know, but I think the biggest issue with the OS was timing. If the FOSS movement had as much commercial maturity as today, I think the story of BeOS would be way different. It was pretty well placed at the time in terms of offering a solid media experience coupled with a POSIX compliant environment. I'm pretty sure it would be used like OS X is today by many devs, but without the hardware lock-in.
It was super fun to use BeOS, I just didn't have a workflow that matched it at the time.
[+] [-] dbaupp|14 years ago|reply
As far as I understand the history of Linux, this is just plain not true: Linux was originally a toy project with little focus on either desktop or server systems.
Am I missing something?
[+] [-] mtts|14 years ago|reply
[+] [-] rbanffy|14 years ago|reply
Which is reasonable for a desktop single-user OS, but completely unacceptable for a multi-user server OS.
[+] [-] baddox|14 years ago|reply
[+] [-] appleaintbad|14 years ago|reply
Sounds good to me, but 10-15 seconds running on what specs?
Also, looking at the video, it seems like this OS is stuck in the 1990s. That is fine as long as it runs a standards compliant browser, but it just seems lacking based on this video- has this changed?: http://www.youtube.com/watch?v=ixvppiSB7hc
I do like that it is just the basics though.
[+] [-] agildehaus|14 years ago|reply
It'd be wonderful if someone more familiar with the issue would comment on the browser's status.
[+] [-] GuiA|14 years ago|reply
Sounds like you're saying this solely based on what the GUI looks like. Yes, it's extremely dated and doesn't have all the fancy glitz of modern desktop environments, but the underlying system itself is quite modern.
[+] [-] mtts|14 years ago|reply
[+] [-] eslaught|14 years ago|reply
I might not have been around when BeOS was first created, but this is certainly not a new concept today. I don't think I can name a major OS today that doesn't support this model. Both Android and iOS are well known for this technique, but they were hardly the first to adopt it.
[+] [-] wtracy|14 years ago|reply
[+] [-] wmf|14 years ago|reply
[+] [-] pjmlp|14 years ago|reply
On those days Windows NT was already available with a multithreaded kernel from day one and the ability to make use of them at the UI level as well.
When compared with the 9x family, yes, but not with the NT family.
[+] [-] DHowett|14 years ago|reply
[+] [-] mhd|14 years ago|reply
I can name Modula-3's Trestle and Pike's Newsqueak language/GUI from the top of my head. Didn't Xerox' Mesa use threads for this?
[+] [-] thristian|14 years ago|reply
Requiring a compiler over a decade old for a modern OS doesn't seem like a good long-term strategy.
[+] [-] DHowett|14 years ago|reply
The current setup is really only used to the benefit of applications - the kernel interface is not ABI- or API-compatible, for the most part, with that of BeOS R5.
[+] [-] zred|14 years ago|reply
http://www.haiku-os.org/news/2008-05-18/steady_progress_towa...
[+] [-] cageface|14 years ago|reply
Is this still a problem? Isn't this why just about every other OS exposes it's lowest level APIs as C apis?
[+] [-] timc3|14 years ago|reply
[+] [-] niels|14 years ago|reply
[+] [-] mahmud|14 years ago|reply
http://www.ubuntu.com/download/desktop/windows-installer
[+] [-] crusso|14 years ago|reply
Anyhow, the C++ API of BeOS was amazing. OSX/Objective-C still don't give you that OO access to the OS feel that BeOS had. My one major gripe with their approach was in the way that they managed run-time binding -- it was very brittle from release to release of the OS. As a developer, you had to ship separate binaries for each OS release you wanted to support. Nasty.
I'd love to see Haiku take off and become a viable platform. If for no other reason, just to have a reference version of how things CAN BE DONE.
That cheerleading aside, I have to say that with a fresh OS install, my OSX Lion 2009 PB performs great. Very snappy, runs cool, starts up quickly. It's only when you start installing all your apps, VMs, widgets, drivers, and misc. junk that it slows down. Would Haiku do any better if it had that rich of a software environment?
[+] [-] javert|14 years ago|reply
Wait, there's only one set of system calls into the kernel. What exactly are they talking about here, anyone know?
[+] [-] chmike|14 years ago|reply
[+] [-] grandpoobah|14 years ago|reply
[+] [-] brackishlake|14 years ago|reply
This is an absurd statement. Stop wasting time solving problems that don't exist for 98% of the market. "More choice" is not a better than if the choices suck.
"Within 20 seconds or so of restarting, the machine was chugging away with all of its media files in the place they were when they were halted, as if nothing had happened."
This was really cool in the early days of BeOS. But that was more than a decade ago.
People of earth: there is a talent crisis right now. The world needs great developers to build awesome apps for a whole new class of machines. If you feel an urge to "start from scratch" — help rebuild everything for mobile. It's a big job, there are too many projects and not enough developers, and you'll be contributing to a seismic shift in computing.
Stop solving problems that don't exist for most people. Build apps that people will use. Do big things that address 98% of users. These guys clearly have dev chops that I admire, so don't waste them on a project like this.
[+] [-] unimpressive|14 years ago|reply
I know this site was originally called start-up news, but going to a site branded "hacker" news and seeing a post like this creates something of a LMFAO experience.
Please read your own post over again, and if you somehow don't see the irony in telling a group of people who at this point almost certainly qualify as hackers to stop working on a project they love on a site called hacker news, I suggest revisiting the published literature laying out what a 'hacker' is. (Starting with Hackers: heroes of the computer revolution if you haven't read it yet.)
[+] [-] rbanffy|14 years ago|reply
Developers work on things they find cool, not the things you need done. To get those done, you either do them yourself, or you pay someone to do them.
And let them work on whatever they find fun on their own spare time.
[+] [-] SkyMarshal|14 years ago|reply
Given that mobile hardware is about where desktop hardware was when BeOS was invented, I wonder if some company could use it as a new smartphone OS. There's an unfinished ARM port in progress but would probably need commercial support to complete.
The thing about innovation is, it's not always possible to predict what will be valuable or not. Not many people would have predicted Linux back in Linus's early days, for example.
[+] [-] Avshalom|14 years ago|reply
... for very idiosyncratic definitions of "the world" and "need"
[+] [-] dman|14 years ago|reply
[+] [-] ibisum|14 years ago|reply
[deleted]
[+] [-] neckpunch|14 years ago|reply
[deleted]
[+] [-] pazimzadeh|14 years ago|reply
There has got to be a better open-source font than what Haiku is currently using (http://www.haiku-os.org/docs/userguide/en/deskbar.html).
[+] [-] dchest|14 years ago|reply
timc is right, what you see is unattractive font rendering (no subpixel rendering, full hinting). For the state of the art of font rendering in open source projects, look at Ubuntu or Infinality.
[+] [-] timc3|14 years ago|reply
Interestingly much higher resolution displays will probably help to offset the need for rendering tricks
[+] [-] reinhardt|14 years ago|reply
[+] [-] AlexFromBelgium|14 years ago|reply
[+] [-] ldng|14 years ago|reply
[+] [-] sslemon|14 years ago|reply
I think the article writer meant "process" -- there are many threads per process, and that is present in most "contemporary operating systems". If this is their (Haiku Inc.'s) attempt at PR... they are not doing it well.
[+] [-] Schweigi|14 years ago|reply
[+] [-] icebraining|14 years ago|reply
[+] [-] kisom|14 years ago|reply
[+] [-] nitinmartolia|14 years ago|reply
[+] [-] rbanffy|14 years ago|reply
I do find, however, the ergonomics of the window manager to be atrocious. The little tabs, while faithful and part of the visual identity of BeOS, are, perhaps, the worst idea since the invention of overlapping windows. I'd suggest focusing on the 80's icon style and 45° perspective as visual identify and ditch the title tabs.
[+] [-] rms25|14 years ago|reply