Thought Experiment: The Ultimate Creative Content OS
Dave Girard has written a lengthy description of how to design the best possible operating system for creative pursuits (video editing, photo manipulation, and sound editing, in particular) — at least the the best possible one he can imagine by selecting from the best tools and behaviors that he finds in Mac OS X, Windows, and (mostly Ubuntu) Linux. He makes a compelling case for the OS (or at least a GUI on top of it) having baked-in support for a wide range of image formats and codecs, and makes some pointed jabs along the way at what each of these three big players do wrong.
is paper-and-pencil-OS, or PPOS.
Aside from a couple of things (not sure how 30 bit monitor support would work here), it sounds like he's describing KDE.
Of course, in the real world, KDE is awesome for more advanced tasks like creative designs, but the limited support for the most used quality creative software keeps it down a lot...
Most of what he proposes could be done with a Blinds theme (a GUI tweaking utility for Windows made by StarDock).
It hacks the Windows GUI though the WPF and Win32 APIs and changes pretty much whatever you like.
Stuff like inserting an OS-wide search field in file dialogues or using an alternate image preview library is within the capabilities of a Blinds Theme.
StarDock even has a tweak called "Modern Mix" which forces single-screen Metro apps to work in a regular (and realizable) desktop window.
There are a lot of ugly things to say about Windows, but the architecture allows what the author is proposing. Virtually every OS component in Windows is available for tweaking or replacement.
- Jesper
My security clearance is so high I have to kill myself if I remember I have it...
http://en.wikipedia.org/wiki/BeOS
"BeOS was optimized for digital media work and was written to take advantage of modern hardware facilities such as symmetric multiprocessing by utilizing modular I/O bandwidth, pervasive multithreading, preemptive multitasking and a 64-bit journaling file system known as BFS. The BeOS GUI was developed on the principles of clarity and a clean, uncluttered design.
The API was written in C++ for ease of programming. It has partial POSIX compatibility and access to a command-line interface through Bash, although internally it is not a Unix-derived operating system."
There's a reimplementation, Haiku
https://www.haiku-os.org/
This is not a signature.
Thought experiment, what if we completed the pro feature list of the main linux multimedia apps and optionally ported them to a BeOS derivative (haiku)?
You see, thinking is easy.
---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
Since when does creative = audio & visual pursuits only.
Why isn't the title simply something like "ultimate audio-visual os"
say what you mean. mean what you say.
Sorry art folks, you shouldn't ask for a new OS for every different use case. What you want can and should be achieved with UI tweaks.
Sounds so provocative and original.
If I copy huge files, while doing video processing, running a VM, and switching from one tab to another in the web browser, the system become quite unusable...
He could still be responsive with dynamic I/O priority handled by GUI and kernel.
What we lack most is some intention-aware GUI and OS kernel, working together so that the right process get the right priority and that I/O bottlenecks are handled gracefully.
Content creation activities are often I/O and CPU demanding, and even on creativity praised OS such as Mac OS we have this big problem of I/O channel unawareness.
Example:
One need to be able to start a huge file copy with a background intent so it will be throttled when the user starts a video effect preview which writes temporary files on one of the same disks of the copy.
The GUI gives the video preview higher priority, even on I/O, and the kernel detects the bottleneck on one of the disks and decide to almost freeze the file copy.
But then the user start the full video rendering in background, the GUI assigns the lower priority and the file copy resume to full I/O speed.
A true OS aimed at "creative" in my opinion needs much more than this. To name a few things:
- OS level handling of color information and an OS API/CMM which every application accesses and uses (no app-specific color management and no app-specific algorithms and "rules". Same for printer drivers
- specialized file system which offers the possibility to actually have "asset" folders. Not the possibility to create a folder and name it assets, but an actual logic to files stored in it's parent folder which different applications again can understand and access. Same goes for projects. The OS has to understand what we are working on, and not give us the possibility to think up our own project folder structure, which is different from company to company to freelancer
- integrated, transparent versioning of projects, their main files and assets. as simple right click => "create versioned directory/project", with an OS API which the applications hook into. the file manager needs to have the possibility to easily roll back the whole folder including assets to version 06, for example, without losing other version. easy ability to branch from one version to another and develop them simultanously. this needs to have a very good UI so I can QUICKLY find what I am searching for
- these functions need to work on network shares, with multiple users, and need an easy export/import feature, so I can export/pack the project, send it to an external, and get the new one back, and I can quickly and easily import it back in.
- fonts are assets! not something you hide somewhere in the OS folder. also, and I mean it: some kind of DRM fonts, so I can send out copyrighted fonts to an external which will only work inside the project folder I just exported and sent him. - integrated time logging. set up OS wide rules which applications to log, and when to stop logging (after x minutes without mouse movement etc.). easy export of "how long did I work in project XYZ, on file XYZ, in application XYZ". Again, has to work with multiple users over the network
For most of these functions, there is a solution, sometimes even a close on in some OS (Timemachine, Shadow files) etc., but you have to piece the stuff together, and most of the times, one component or another breaks the concept due to an update, or it simply is to cumbersome for some people to handle and again the whole thing breaks down. or it is damn expensive. Many time loggers come to mind, which scan window titles to try to find out which file you are working on, and often break with new versions of applications or foreign versions.
Such an OS would be a killer app/OS, but it will never exist. If market share is low, the big apps won't be ported. And if the big apps are not available, market share stays low.
And I don't think it is possible to create such a thing as a framework layout on top of an OS...it would not feel intuitive enough, and would not hook deeply enough into the inner workings of the OS.
The only company who could pull this off is Apple, but if they would have wanted to, they would have done it already as the last three major OS versions where quite lackluster IMHO when it comes to innovation.
regards
tuo
My Cube was the most productive machine I've ever owned/used.
Sadly, Mac OS X loses much of that synergy (limited Services, no DPS, Pantone per application, no global Webster.app, no systemic Digital Librarian, &c.)
It kills me that I can't find a vector drawing environment as productive as Altsys Virtuoso --- Freehand is close, but it's been EOL'd, and I dread when I won't be able to install it on a new machine.
Sphinx of black quartz, judge my vow.
If you want a good kernel and good file management, then you want Linux.
It's titled as being about operating system features, but it's almost entirely about application level stuff such as codecs and user interface.
And, in his world, the OS could run any piece of software that all other OSes (extinct, existing, or to be) could run and faster as well.
Last time I checked, reading a scratched DVD put the cdrom driver into deadlock and thus the whole OS into a halt because of its integration with the filesystem, I couldn't even start any other process since it involved reading from disk. Top quality! Was able to recover a machine with a reboot.
I wonder if this monolithic thing has something to do with a driver fucking up the whole system...
"I once preached peaceful coexistence with Windows. You may laugh at my expense - I deserve it."
-- Jean-Louis Gassee, CEO Be, Inc.
Shutting down free speech with violence isn't fighting fascism. It IS fascism!
Wouldn't an OS work instead of a government? Faster decision making, maintained/organised, less room for corruption etc etc
All that exists in Linux. Both processes (nice) and I/O (ionice) have priority levels you can manipulate -- a normal user can decrease the priority of any task they own.
Experience shows that we don't know enough about usage patterns to make it automatic. The process scheduler prior to the current default in Linux tried to do that for "interactive" processes, and failed miserably.
The missing bit, is only the user interface to easily manipulate the priority of a given task. It wouldn't be too difficult to add to for example the window manager (say next to the window control buttons) so it'd affect the process owning that window -- maybe a drop-down menu with two sliders, one for CPU priority and another for I/O priority? --, it's just that nobody needs that enough to actually support a developer to add them.
I've solved the issues I've encountered by overriding the applications I don't want hogging my resources by scripts that execute the application niced. Works fine. Having a two-disk RAID-0/1 also helps a lot, although a four-disk RAID-10f2 would be even better.
And you expect a "creative" type or anyone for that matter to deal with all that when they're working?
The process scheduler prior to the current default in Linux tried to do that for "interactive" processes, and failed miserably.
"failed miserably"? In what way? Maybe it wasn't implemented right.
The Linux kernel is not responsible for lousy device drivers.
Oh, sorry. When you read this, somewhere in the first part of my post I actually mean that "Pickle Juice" means that I am talking about not expressing yourself accurately and you need to read an article just to see how some prat has redifined a word or phrase that most people would assume means something else.
"Slashdot at it's worst" indeed!
Either the OP wants Adobe Creative suite or is complaining that something like this isn't freely available in a modified Ubutntu install out-of-the box.
Who else would redefine "creative" in this way?
Right now is Windows. Final Cut Pro was bastardized into Imovie pro. and Linux has absolutely nothing that is useable.
Windows has a lock on it as the only platform that runs AVID and Sony Vegas for the only two professional platforms for video editing and After Effects as the ONLY EFX software platform that is useable.
And this makes me sad. All the Linux options are utter garbage or for making videos of your cat, none are usable for a feature length film or even a professional looking TV show.
The only good option is to use Blender, a 3D graphics program to do some video editing by using one of it's side functions, but it is unusable for anyone doing professional work or needs to collaborate with others OR work with large projects, Blender chokes hard on anything large. And the problem is that 99% of all the developers out there are far more interested in ooooh shiny features and not basics that need to be 100% reliable.
Do not look at laser with remaining good eye.
You don't need an OS for that. What would be needed would be an application suite that handles everything on his wish list seamlessly. It could run on any OS.
Mod parent up. I came here to say this. BE is still used today to mix audio since its a real-time OS and very capable of doing things other OSes of the its day just plain were not up to.
The interface is ultra minimalistic and it follows a lot of what an awesome OS should be.
Since it's a thought experiment, and it's slashdot... I think all this, running on a Raspberry Pi. ;-)
The writer seems to live in a dream world with strange priorities. 30bit monitor support? Really? That's high on your todo list? If you had a HP Dreamcolour monitor you wouldn't be complaining about the lack of 30bit colour support... not while you're so busy swearing at your computer because a basic app on the screen can't even display the correct colour to begin with due to lack of colour management support.
Seriously for someone wanting a Creative OS how is this not on the list? Linux's colour management would be a load of crap if it could be said to exist at all. Windows colour management is a haphazard approach that works well if you code for the specific API the OS provides. No experience with Mac but apparently it's better still. Right now to get the correct colour to display on my screen my choices are Firefox trawling through the about:config dialogue, or Firefox with a plugin that identifies the correct monitor profile. Not even Internet Explorer, or the Windows bloody desktop correctly manages colour.
With a dual-boot setup, this machine was also my first foray into Linux outside of a virtual machine.
He also just kind of lumps all Linux distros into one, it's not until the last page that you get to this:
Things that are coming in Ubuntu are meaningless to me because all the programs I use that have Linux versions require RHEL-based distros.
First, some specific examples would be nice. I've never had this problem and unlike most Linux users, I deal with the world of making "creative content" more than maintaining servers or hacking out code. Most Linux programs don't seem to care about what distro you're using. Ubuntu Studio is my OS of choice for the creative stuff. I used to use Mac OS X but it's just pointless now because there's a free alternative for everything I do on Linux.
I use Mint for the standard OS stuff. The Red Hat distros I always viewed as more server-oriented, which is why I found this statement to be so bizarre. Ubuntu Studio is tailored to the creative types so he should have reviewed that distro specifically. He mentions Ubuntu here and there throughout the article, but from his statements it's very apparent that he's using the standard distro with the Unity interface. The applications that Studio comes preinstalled with can be manually installed on Ubuntu, and the XFCE interface it uses can also be installed on Ubuntu, but what makes studio unique is its low-latency kernel.
That's not to say that Ubuntu Studio is the uber-creative OS this guy seeks. I'm an amateur musician and when I need to do image manipulation professionally it consists of little things (I'm not creating 3D models, animations, etc.). Maybe the professional creator who "works efficiently at an almost pathological level" needs some of the advantages of Mac OS X and the propriety software available on it, but it would have been nice if he had at least singled out the Linux distro that's attempting to compete and only used that one as a comparison.
As an amateur, Ubuntu Studio fits my needs perfectly and allows me to avoid the high costs of buying OS X software. The OS X software does look nicer but that's not worth anything to me as it doesn't alter the end result. Comparing Ubuntu Studio to OS X for me is like comparing my made in Mexico Fender Jaguar to a custom shop American Jaguar. Sure, I had to change the pickups to get an optimal sound, I had to adjust the neck a little to get the action just where I wanted it, but it was still a way better deal than forking over several times as much cash for the custom shop guitar. The custom shop guitar would have all sorts of little cosmetic details that would really impress people who see it, but when people listen to the final recording they can't tell the difference.
"From the depths of my skeptical and rationalist soul, I ask the Lord to protect me from California touchie-feeliedom."
I was going to say BeOS as well. One interesting thing was their codec API. All you needed to do was drop a codec binary in a directory and any program could now open that file. So if you wanted to play mp4 files through your favorite video player, you simply dropped an mp4 codec in there and any video player could now open those files. The idea was to move all media processing into the OS API so building applications was more modular.
Another interesting thing was that audio CD's were mounted as a directory full of wav files with CDDB data that you could simply encode or play directly or drag and drop into another folder.
It also used a microkernel (Though JBQ once told me directly that it was marketing BS and wasn't much of a microkernel) and ran most of the OS in user space including drivers. You never had to worry about trying to run new beta drivers, just copy them over and restart the corresponding server. If the driver crashed you were informed via a message box with a humorous Damn button instead of an Ok button. Though, it was also a drawback as the networking server in user space was notoriously slow. So slow that 100mbit cards couldn't push more than 10Mbps. Though its strong point was multithreading and parallel processing built into the API. It scaled nicely with multiple CPU's (I ran mine on an Abit P6 with dual 333MHz celerons OC'd to 450MHz) and there were reports posted of it running on quad and octal Xeon systems playing two dozen videos and all the demo apps without the machine breaking a sweat. You also had the pretty sweet Pulse application which was a CPU monitor which also allowed you to switch CPU's on and off. Before R3 you could actually turn off all of the CPU's and crash the system :-).
Some of this might sound trivial by todays standards but they were doing this in 1998. Before Microsoft got its shit together with 2000 (NT 5) and before MacOS X. In fact, Be was founded by ex Apple employees and BeOS was supposed to be an alternative to MacOS on the old PowerPC Macs. It was very efficient and made old Pentium 133MHz systems with 32MB RAM feel fast. But its closed source nature coupled with user space networking made it slow to adopt new technology. It was a nice OS with a pretty cool community. Too bad its pretty much dead.
This will be the next big thing ... after HURD
your post made me download the virtual machine image to try it out right now!
and your parent says
The API was written in C++ for ease of programming.
which would also deserve a laugh, no?
Of course, KDE isn't an operating system.
That depends on how you define "operating system". I'm aware that some define OS as kernel, but I was under the impression that KDE on Linux felt like KDE on FreeBSD. I read the article, and only a few items related to video drivers or multitasking performance would need direct support from a kernel.
or assuming that your OS vendor will be always accurate and always timely for every little subcommunity's oddball file format of choice.
That's why MPEG documents its file formats thoroughly, even if MPEG-LA ends up paywalling the right to actually use them.
If the driver crashed you were informed via a message box with a humorous Damn button instead of an Ok button.
Sounds like XV. Not officially updated since 1994 and still one of the best image viewers out there. It had "Bummer!" and "That sucks!" buttons for write errors such as disk full or permission denied.
And they were right. It's not OK.
SJW n. One who posts facts.
It should also be able to output all media to a 3D printer and do so in a private spacecraft (that only reaches the upper atmosphere ballistically).
Headlines have a maximum length. For example, I've often had to abbreviate Microsoft as M$, recalling its origin as a BASIC interpreter publisher, to fit it in the 50-character headline of a Slashdot post. How would you have rewritten the headline to be no longer than the original headline?
An OS's primary goal should be to manage the hardware
The screen is hardware. A window manager application divides it into areas for applications. The disk drive is hardware. A file system divides it into areas for documents, and a file manager application allows arranging and locating these documents. The "OS" of the article refers not to the kernel as much as to window manager and file manager applications and system-wide libraries that support audiovisual creative use cases.
And no OS I know of implements the needed algorithms for serious color management.
How much of that is because "the needed algorithms for serious color management" were invented less than 20 years ago, and the patent holders price a license too high for an operating system intended to cover both home users and professional graphic artists?
I was going to say BeOS as well. One interesting thing was their codec API. All you needed to do was drop a codec binary in a directory and any program could now open that file. So if you wanted to play mp4 files through your favorite video player, you simply dropped an mp4 codec in there and any video player could now open those files. The idea was to move all media processing into the OS API so building applications was more modular.
So if I had a hierarchical structure of video files, I'd have to drag the codec file into every single subdirectory!? What a stupid design. Even I can think of several methods superior to that, with no downsides (e.g. drag the codec file onto the application icon, or copy it to the same directory as the application, to enable support globally).
Another interesting thing was that audio CD's were mounted as a directory full of wav files with CDDB data that you could simply encode or play directly or drag and drop into another folder.
I seem to recall Mac OS from around the same time doing this. I fail to see what's so special about that.
So tell me again how an application suite solves the issue of kernel level multi-tasking support?
That and video hardware support issues were the only kernel-level issues I found when I summarized the article. The vast majority of mentioned points could fit into a new desktop environment targeted at creative professionals.
What I noticed is that the so-called 'creative types' who use OS/X tend to produce the same work. They use the same software with the same methodology that produces roughly the same results. Instead of thinking about the result and trying to get to it, s/he wonders how the proprietary software X, that everyone uses, can get to that result. Heck, maybe the best way to get at the answer does not even require software. We have centuries of design and there are some wonderful concepts that people developed without proprietary software crap or pricey, boring crapbook pro. Maybe what we need is to get creative. There are ARTISTS who made great work WITHOUT a computer. When I flip through contemporary design books, much of the stuff tends to bore me out of my skull. I love Anime for instance, but notice that the designs now tend to be the same. When it was free cel, hand drawn, you tended to have more variation in style. Same with music, as a electronic music enthusiast, new albums sound same-ish because the same damn software and plugins are deployed. The great masters of sound produced with analog limitations, but somehow had richer, more varied textures than what I hear today. Look at King Tubby and Lee Scratch Perry who had to build their own equipment, and now how many "dub" electronic artists try to reverse engineer that sound through computers. I am not anti-computer, but really, stop making it the default approach every damn time.
"SO we bide our time, waiting for a purer kick to bloom and the future is still bleak, uncertain and beautiful" -GSYBE
A-miiiiii-ga! A-miiiii-ga! A-miiii-ga! A-miiiii-ga!
Why is it that people think creativity applies exclusively to art? "Creative types"? I've seen scientists who are way more creative when doing science than most "creative types".
I seem to recall Mac OS from around the same time doing this. I fail to see what's so special about that.
I'm going from memory here, but I'm fairly sure that audio CD tracks could not be dragged from an audio CD. Mac OS presented the files as AIFF, but they couldn't be copied over. You'd either play with Apple CD Audio Player (if that's the name of the application?) or would need something like SoundJam to rip them.
On the codec thing, Mac OS and QuickTime had this capability for a long time. Any application using QuickTime APIs could use codecs installed in to QuickTime. I'm pretty sure that's been the case since at least QuickTime 2.5 (97/98).
-- Using the preview button since 2005
I was going to write something snarky along the lines of, "it's not the tools that matter, but the artist." But after seeing his background which is similar to mine (3D w/ traditional art), I agree with the article wholeheartedly. Sometimes I have to use 3 OSes to get anything done which bogs down my workflow. Creating 3D assets is a complicated assembly line requiring several software, plugins, patches, scripts, and talent (depending on your team). If anything, it taught me to be extremely organized at home.
Anyways, this "creative" OS is not the ultimate solution, but it's just another tool in the arsenal which would help speed up the workflow. It's not something which will make someone "more" creative. It's like buying a bottle of paint, instead of driving around the city buying glue, pigment, a stirring stick, and a glass container.
So if I had a hierarchical structure of video files, I'd have to drag the codec file into every single subdirectory!? What a stupid design.
Yes, that would be a spectacularly stupid design, which is why BeOS didn't use it. There was a single codecs directory which contained the codec files.
Protip: If you read something and it doesn't make sense, chances are you read it wrong.
I don't care if it's 90,000 hectares. That lake was not my doing.
I always thought dynebolic was pretty good. But lets be real here: you're going to expand creativity by creating a restriction? The OS itself should be a snap-together of the users preferences. No two people are alike and different folks are going to want different combinations of tools. Debian and Ubuntu are already doing the right thing by just putting it all out there and letting you take what you want as-needed.
I've used all three, and Mac OS X definitely has the best color management of those. If you have multiple screens, they each get their own color profile. You can manually tweak the color profile, but OS X has all of the setup screens needed to calibrate from with gamma for each channel.
Of course, the new corporate-owned Slashdot would post this, but not a submission about Studio 13.37. And of course you have the Ubuntu Studio boosters, talking about its "low latency" kernel, when Studio 13.37 has a realtime kernel by default, which is far superior.
Coverage of cool new distros is lacking in a big way, both here and on DistroWatch. It's sad, really, what has happened.
Sounds like the Windows experience with optical drive operations locking the system until timeout. We, the PC users, have 2 to fucking 32 core machines for a regular single user's disposal today and the low speed IO is still handled in a retarded fashion.
In BeOS R5 you could drag 'n' drop audio tracks from a CD (and with a decent drive you could do it quite quickly), but I don't remember CDDB integration. Still pretty handy for huge batch LAME encoding jobs, though.
Is "creativity" strictly limited to video editing? Otherwise any OS with LAME, an image editor, and LaTeX will do fine for me.
I mostly used BeOS in grad school because I liked alternative operating systems, but several times I'd try to port my work to Windows or Windows NT and find myself astonished at how impossible my this stuff was to do on other computers at the time (late 1990s.) NT's architecture and event processing often prohibited the sort of real-time audio and video apps I was writing, and the API standing between me and the data was much more restrictive.
In retrospect, I think a number of my research successes were accidentally due to using an OS that would let me implement some really nutty ideas.
But why must the Linux kernel be vulnerable to lousy device drivers?
Great post! If I recall correctly back in 98 or 99 I had BeOS installed on some of the lab machines. It also had a boot image file you could run off of without installing the OS, so to try it out - early version of a Live CD - they were doing so many things way ahead of their time. I was working at Compaq at that time and I spoke with some of the higher level mangers trying to get some traction to see if this was a direction we could go.
Unfortunately Microsoft's "Loyalty rebate program" ( a rebate check back to manufacturers for every pc case that went out the door with Windows preinstalled) kept all the pc manufactures in line so it locked out any competing OS's. Because of this and the no one gets fired buying Microsoft mentality that pretty much kept BeOS in the labs vs a production environment for us.
BeOS going with media enabled devices was also ahead of it's time, later when I saw Microsoft media center I would wonder how things might have been different had BeOS still been around.
If anything, the live and active ideas BeOS demonstrated acts as a great spring board in showing what can Be accomplished. : )
I'm pretty sure you could simply copy *.wav files from CDs on old Macs running OS 6 to OS 7, not sure about later versions.
Hm, never checked on my Mac Book Pro what OS X is doping with them.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
It wasn't the closed-source nature of it.
It was stupidly bad business decisions, because they were counting on Apple to buy them out.
Back when Apple was shopping around for something to replace Classic MacOS, they strongly considered buying out Be. But Jean-Louis Gassee (the CEO, and former Apple lead) decided he's get greedy and demanded that Be was worth $300M. After all, who needed what Be had? Apple.
Unfortunately, Apple called their bluff and decided that Be wasn't quite worth that much, and since Gassee and Amelio couldn't agree on the price, they left the bargaining table. In the end, a Steve Jobs made a very compelling argument to purchase NeXT and its technologies outright, for a whopping $450M (and Jobs would help see the transition through and all that stuff).
Of course, this spurning by Apple hurt Be quite badly - they were hurting for systems and all that, and the dot-com crash pretty much did them in.
Things would be different today had Apple and Be actually managed to come to an agreement....
"Early version of a Live CD". The Live CD was invented years before, by the early Linux distros. The whole point of Be was to do things that had been done before while keep saying "Look how innovative we are, look how far ahead of the curve this is" and anyone who believed them was a sucker and could be persuaded to part with some money. Like the Nigerian scams. The bad spelling and grammar and ridiculous factual discrepancies aren't a mistake, they're on purpose to identify suckers.
It's a great shakedown, but it didn't bring in enough money to keep the doors open. The OS business, even for an also-ran, is an expensive business.
You could do this in Linux, and in Windows, but the trouble is that it kinda sucks because CDDA wasn't invented with this in mind. CDDA isn't properly seekable, since a music enthusiast doesn't care if the "seek" isn't accurate to a fraction of a second on their CD player. Random access obviously is untenable, so if you make the mistake of trying to listen to one track while copying another everything falls apart.
I had the module for this enabled in Linux back in the 1990s for about a week before I gave up on it, for the above reasons it's just better to have a "ripper" program turn CDs into files once and then put the CD back in the case and forget about it.
Note that Pulse didn't really turn the CPUs off. A modern Linux (or Windows server) can turn CPUs off where applicable, so that you can hot replace CPUs in big systems or alter the composition of a VM if you run a big virtual environment. But BeOS couldn't do that.
What Pulse did was just label the CPU not to be used. The scheduler would refuse to run any programs on that CPU. So it was still spun up and running full speed, but no work was ever scheduled on it. In the inevitable car analogy, the pedal was still firmly on the floor but the gear lever was in neutral so you don't go anywhere. Of course if you did that on all CPUs then none of the software runs and the machine appears to freeze up.
"There was a single codecs directory which contained the codec files."
Well then, I must be reading this wrong, because it makes no sense how this was special in any way. It's exactly how QuickTime has *always* worked. I'm not even sure I could come up with a different way to do this... put some codec extensions in the Desktop directory and others in the Trash... that will fool them!!!
If it use microkernel it is server-client architecture operating system. If it is not server-client it is monolithic what means whole operating system is in kernel space as and works as single binary.
That if you move some of the servers between user space kernel space does not make the operating system suddenly server-client monolithic. You can make server-client operating system where every server exist in kernel space with microkernel but it is not still monolithic at all.
and your parent says
The API was written in C++ for ease of programming.
which would also deserve a laugh, no?
No.
My comment was modded as "Troll"???
Really? Seriously??
Well, I guess that is what meta-moderation is for ... :-S
My security clearance is so high I have to kill myself if I remember I have it...
So if I had a hierarchical structure of video files, I'd have to drag the codec file into every single subdirectory!? What a stupid design. Even I can think of several methods superior to that, with no downsides (e.g. drag the codec file onto the application icon, or copy it to the same directory as the application, to enable support globally).
I should have been more specific and said a single specific directory for codecs. I forget the correct path but as an example it would have been something like /usr/local/codecs. As long as the proper codec was in there, the app could play it. So no, it does work the way you thought it did.
There was a neat OpenGL demo (soft rendering) which rendered a video file on different geometric shapes. The cube demo was impressive for its day, you could drag a different video file onto each of the six sides and pan it around in real time while the video played without skipping any frames, on old pentium 2/3 hardware. I even think you were able to drag a webcam or live video feed onto the cube as well. Each video file could be in any format as long as you had the proper codec in the directory. I even remember it not needing any method to register the codec. The OS searched the directory for a codec that matched the format and played it. If the codec was missing you got an error message or the file was ignored (depends on the applications error handling). Very neat little OS and API. Media processing was given top priority by the scheduler for both I/O and CPU. You had to severely load the system down before a video would stutter.
There was one manufacturer who was selling BeOS preinstalled, Hitachi. But I believe it was only in Japan.
It is partially responsible for the damage they cause though.
Also, Linux scheduling is exactly the opposite as what was described in general. It is all about over-all throughput, with little regard for interactivity (this is better now, but a lot of nasty things were said, and people pushed out who wanted to address these issues nearly a decade ago).
See:
https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/131094 (issues between Ubuntu 7.04 and 7.10, things still don't feel as good as kernel 2.6.15 did in 7.04, kernel issue primarily, this is probably partially because Linus doesn't believe in using spinning disks).
The BFQ people are not welcome, I can't even remember the name of the scheduler from years ago where a nasty kernel inner circle drove a guy to quit, after demonstrating better responsiveness without impacting throughput.
The issues with EXT4 and unordered writing are another example where things most be done enterprisy or fail (saying you can lose 10 minutes of changes anyway, so deleting entire files is A OK, you should simply sync before and after a file write, because fuck caching).
The Linux Kernel people are very anti Desktop Linux, and it shows in design choices and attitude.
Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
The main scheduler is for servers. Want a more desktop-centric scheduler? Just change the scheduler setting.
BeOS lifted the codec idea from [AmigaOS](http://en.wikipedia.org/wiki/AmigaOS) [DataTypes](http://wiki.amigaos.net/index.php/Datatypes_Library#Introduction_to_the_Datatypes_Library) (nothing wrong with that, it's just if BeOS was doing it in 1998, AmigaOS was doing it years before that...) (BeOS was like a cleaned-up C++ AmigaOS-alike in a lot of ways. Even the name may be a sly allusion: A-OS, B-OS...)
Basically, any datatype-using program can open any relevant format that there's a datatype for. And there are a lot written, even the program was written long before the format even existed. It's ...neat.
Kolivas found that the Kernel development environment was actively hostile to desktop, the fact that shortly after his departure we see dramatic collapse of interactive performance (as evidenced by the bug I linked to, that persisted for years), I tend to think that is indeed the case.
Yes there' are different schedulers, but they all sucked for desktop for a very long time (if not still, my main linux system is not tuned to desktop at all right now). Read the bug report, use an oldish system, use a default Ubuntu 7.04. then upgrade the kernel (or any distro with 2.6.15, then upgrade), it was dramatic. Ubuntu 7.04 remains for me the high-water mark for desktop Linux, it's not terrible now, and there's a lot of nice new features, but that was the one that just worked, and was nice, without any little complaints.
Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
The codec directory was an idea that I think they got from AmigaOS' "Datatypes" mechanism.
I remember that Amiga was the first platform where all* web browsers would support PNG, because someone had written a PNG datatype and released it as free software.
*: Yeah, yeah, Lynx did not technically view images, but it could download an image and launch an external image viewer ... which would usually support datatypes.
"We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
I read it the same as him, so it's carried 2-1 that you can't write.
There's no such thing as a universal all-efficient work flow. If the OS begins to dictate work flow (or encourage so strongly as to make departure a non-starter) then the creative world will balkanize into work flow camps. Within each camp the efficiency is great. But now you're not actually hiring the best freelancer for your project: you're merely hiring the best guy who has bought into your particular dictatorial OS. This is a loss of efficiency you can't directly measure.
A large pool of talented people offering services to an industry with many different work flow needs is necessarily going to have some friction where work styles clash. This is not an avoidable friction, without sacrificing as much or more than you gain in the larger efficiency of the skill marketplace.
Second, the very same system the creatives want to protect their own work (intellectual property law) has wreaked havoc on happy integration to no-one's great surprise. For portions of property law, we've figured out that the cure is far worse than the disease. But this is legal reform, not software design.
And even without that, the GPU vendors work hard to keep their secret sauce close to the vest, resulting in many of these GPU performance challenges because now the available drivers are determined by the ROI of the market served, and that almost always leads to favouring bland ubiquity.
So yeah, sell up the river everyone's compensation models but your own, and the world becomes a peachy place.
so this guy is a designer, 3d modeller, programmer, system tester, hardware geek, seasoned basher and whatnot. and a writer.
no wonder TFA didn't make any sense whatsoever.
For one thing, on classic Mac OS, this sort of functionality was generally done with extensions which required rebooting the machine to take advantage of. You couldn't just drop an extension into the Macintosh HD:System:Extensions folder and start using the functionality without interruption. Support for IBP frame ("Long GOP") style codecs with out of order frame references was also extremely difficult to shoehorn into the design of the early QuickTime API. For a very long time, there wasn't anywhere you could put a file that would add robust support to it. And, if you can't conceive of any other way to do it, try to add a codec to VLC or FFMPEG. Yeah, "Put a codec in a directory" is really obvious when somebody says it out loud, but actually making it work really well was extremely rare when BeOS was doing it.
Or even try to add a codec to a Windows box today without an installer, for a Windows native application. Where do DirectShow filters go? Or was it a Video For Windows thing? Or... And then you have to make registry changes because just having a codec in a directory isn't enough to make it fully work. A codec like Cineform also wants to register a control panel applet to control decode behavior. They've had plenty of time to refine it and make it work easily as you describe being blazingly obvious...
And they were right. It's not OK.
I would at least want "Oh" instead of "OK."
Oh, I have many a fond memory of using xv. That was a fun media viewer.
How about:
What would be the best OS for Media?
It's very short, and it's a complete sentence.
How hard was that?
This makes "codec" sound like just a file. But it isn't, it is an executable. Why treat it differently from all other executables and libraries? The trick is how to find a particular library for your particular application. And a codec that works with one application set isn't necessarily going to work with some other type of application. Vendors are going to try to force lock in, so the first thing you need would be an ABI standard and a way to enforce it so that everyone uses it (not just quicktime and not excluding quicktime and not with Apple controlled ABIs).
Arguably, OK means "zero killed", so should be acceptable, or .. should be OK.
Bingo Dictionary - Pragmatist, n. A myopic idealist.
Linux has had ionice (to go with CFQ) for a long time now - starting 2.6.13 . Come out from under the rock and smell some fresh air.
Bingo Dictionary - Pragmatist, n. A myopic idealist.
Kolivas found that the Kernel development environment was actively hostile to desktop, the fact that shortly after his departure we see dramatic collapse of interactive performance (as evidenced by the bug I linked to, that persisted for years), I tend to think that is indeed the case.
I read through a lot of kernel mailing list threads at the time. Kolivas had a major ego problem. His response to criticism was to treat critics as enemies and accuse them of "active hostility", sabotage, and so forth. IIRC he was also very hostile to suggestions that he should attempt to objectively measure improvements (and then compare to competing scheduler patches). He seemed to prefer flaming about how only his code could save the kernel from the evil server oriented crowd.
There certainly was hostility, but blaming it all on the "kernel development environment" doesn't even come close to the full truth. The fact that you even think "actively hostile to the desktop" is a thing says a lot about your own biases.