Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Hacking Quartz

michael posted more than 10 years ago | from the seven-on-mohs-hardness-scale dept.

Programming 298

Exposed writes "Meaty interview with Rich Wareham who is known to Linux users for his libdvdnav library which is used by Xine and other linux players. On OS X he created Desktop Manager, the GPL solution for VirtualDesktops on the Mac. Highlights are secret APIs in OS X for VirtualDesktops, who steals GPL source and why beginner programmers are at a disadvantage now."

Sorry! There are no comments related to the filter you selected.

hallelooya (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#9624783)

praise the lord for the first post

OMFG Y IS LISA LOEB TRYNG 2 SELL ME TEH RACKSPACE? (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#9624870)

AWESOME! (-1)

Anonymous Coward | more than 10 years ago | (#9624806)

MORE stories on HAXORING THE APPLET!

Hack the planet!

Why it wasn't put in already (3, Insightful)

emo boy (586277) | more than 10 years ago | (#9624811)

I am just curious why OS X didnt' support this out of the box with at least Panther. Is it just me or was this a no-brainer?

Re:Why it wasn't put in already (5, Insightful)

Ianoo (711633) | more than 10 years ago | (#9624906)

Perhaps Apple's HCI team didn't consider it to be "intuitive" or comprehensible/necessary for the average user. After all, the majority of Macs are shipped with high(ish) resolution screens these days, and the Dock and Exposé take care of managing your screen real estate fairly well.

Re:Why it wasn't put in already (1)

manabadman (589984) | more than 10 years ago | (#9624940)

I guess they were trying to innovate with Expose [apple.com] . Both these features address the same problem. They both allow users to manage multiple open application quickly and easily.

Many people feel Expose serves well enough (5, Interesting)

SuperKendall (25149) | more than 10 years ago | (#9624945)

For me Expose works well enough as a virtual desktop - I have a lot of windows opened, but when I used to use a virtual desktop on UNIX most of the rooms would be pretty much one thing anyway - like a room for browsing. Now I can just hit F10 on a browser and see all the current browser Windows.

I think Apple has just not focused any energy on an "Apple Way" to manipulate virtual desktops. It's a tricky UI problem and probably the work needed to keep programs in different rooms is too "virtual" for many people. Note that he did state Apple made changes that were seemingly very favorable to the writing of DesktopManager, so it would seem the folks at Apple are at least nuturing the concept - and if they ever do include such a program I don't think you'll see any sour grapes from this guy as he is already giving it away.

I did like his idea for "Window Wells" (even though I think that was the interviewers term) a lot, so instead of virtual desktops being really virtual you have "clumps" of windows on screen (which are your virtual desktops) that you can click on like small expose'ed windows to expand the desktop. I'm still not sure of the best way to get windows in or out of these desktops.

Re:Why it wasn't put in already (0)

Jeremy Erwin (2054) | more than 10 years ago | (#9624966)

Apple believes that Expose is a better solution.

Re:Why it wasn't put in already (2)

needacoolnickname (716083) | more than 10 years ago | (#9625395)

Compared to Desktop Manager. So do I.

WHO THE FUCK CARES!!!! (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#9624812)

I'm FirSt POST baaaayyyyyy beeEEEEe!

WHO THE FUCK FAILS IT???? (-1, Troll)

Anonymous Coward | more than 10 years ago | (#9624877)

YOU!

that's right, retard.

YOU FAIL IT!

Re:WHO THE FUCK FAILS IT???? (-1, Troll)

Anonymous Coward | more than 10 years ago | (#9624973)

Christ...what a troll! I took a dump in his mouth like I did in Lisa Loeb's golden tiolet, that shit muncher.

Good (not bad) article (interview) (3, Interesting)

Nick of NSTime (597712) | more than 10 years ago | (#9624819)

I was very interested by this interview, but the guys overabundance of parentheticals was very distracting. Sometimes I wondered if the editor was adding his own remarks to the interview, since the parentheticals were italicized.

Regardless, I found the content to be very interesting, particularly the fact that Desktop Manager is the guy's first Mac application.

Re:Good (not bad) article (interview) (1)

kfg (145172) | more than 10 years ago | (#9625155)

It doesn't read to me like the outside editor/author added remarks, but he may have insterted some here and there that were spoken in another context for conciseness.

Obviously the parenthesis and italics were purely the work of the editing process since the article explicitly states this interview was done as a "chat," not a written response.

It, isn't, however, clear just who did the editing, as it reads as if Mr. Wareham himself may have edited in those comments after the article was written.

KFG

Re:Good (not bad) article (interview) (5, Funny)

Long-EZ (755920) | more than 10 years ago | (#9625422)


...the guy's overabundance of parentheticals was very distracting

Programmers THINK parenthetically. If you see parentheses nested three or more layers deep, you can be sure the text was authored by a code jockey. And the parentheses always match, ensuring the article will compile properly.

If you see programmer text that occasionally uses a semicolon to mark the end of a sentence instead of a period, you can make some educated guesses about the programmer's favorite language.

You may occasionally see crayon scribbled text with line numbers, as penned by a larva geek.

Huh??? (-1, Troll)

pymerej (770535) | more than 10 years ago | (#9624825)

Is apple stealing source now or something? Maybe I should read the article

first thing .... (1)

charlos (775798) | more than 10 years ago | (#9624826)

first post suckers!!!!!

oh boy (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#9624905)

YOU SO FAIL IT, sucker!

go die now...please.

Confused? (1)

arieswind (789699) | more than 10 years ago | (#9624833)

I read the interview, but I couldn't find where he mentions about it becoming harder for beginner programmers.. maybe I'm just blind, but if someone could point it out for me

Somewhere in the middle (4, Informative)

SuperKendall (25149) | more than 10 years ago | (#9624857)

It was a short section in the middle - to summarize:

"The level of effort is much harder now for a kid to get into programming - PC's used to ship with Basic manuals and you could write code to draw a spaceship in ten lines of code, but now you have to learn the Win32 API + Directx to get a black triangle on the screen."

Or not... (2, Insightful)

endoboy (560088) | more than 10 years ago | (#9624995)

ever heard of visual basic?

Re:Or not... (0)

Anonymous Coward | more than 10 years ago | (#9625013)

Yeah, really. Or Javascript even.

Re:Or not... (2, Insightful)

Anonymous Coward | more than 10 years ago | (#9625053)

Except that Visual Basic costs more than the entire home computer back in the 80's. It is also not included on the PC when you buy it as was customary back then (in ROM no less). Add that to the fact that VB is far more complicated than the old fashioned BASIC of yesterday (Shitloads of menu options versus what? LIST and RUN?)...

Re:Or not... (2, Informative)

endoboy (560088) | more than 10 years ago | (#9625265)

VB.net standard edition-- $90

even neglecting inflation, I don't think that that comes to "more than the entire home computer back in the 80's"

Re:Or not... (2, Interesting)

Short Circuit (52384) | more than 10 years ago | (#9625136)

Maybe I'm just not good at VB, but I got less flicker making my own animated screensavers on my old 286+QBASIC than I get with VB. (VB does make some of the job easier, though.)

Unfortunately, VB so spoiled me in elementary and middle school that I still can't sit down long enough to learn to combine C and GTK, or C++ and QT, or Perl and Tk. I have managed to do some stuff with C and SDL, though.

Visual Basic is not bundled and manualed (5, Interesting)

SuperKendall (25149) | more than 10 years ago | (#9625124)

But how many computers ship with VB, and a manual which shows you how to write cool little programs in VB? I really can't think of ANY!!

Even OS X, which does at least ship with developer tools in every box really makes no mention of them.

The thing about computers before was that it was super easy to just write ten lines of code and have something happen. Now you have to hunt down an IDE or an editor, and chances are you're writing a lot more than ten lines even for Hello World! The computers now have (as he said) a much higher barrier to entry of manipulation, though of course you can do a million times more if you do break that barrier - so I'd say the only hope is that the rewards of crossing that barrier are enough to lure people over.

I agree with him that this is a real problem, far fewer people are exposed to the manipulation of computers at a young age and instead computers are treated as black boxes, not to be touched. Cars are headed the same way to some extent but there already was a much more powerful and widespread culture built up around people and engines, so it's a lot harder for that to vanish. I wish that more people would be able to think of computers as more like cars and less like toasters.

Re:Visual Basic is not bundled and manualed (0)

Anonymous Coward | more than 10 years ago | (#9625386)

Hello world? in 10 lines? I though it was just....

#include
#include

int main(void)
{
printf("Hello, world\n");
return EXIT_SUCCESS;
}

Or...

#include

int main()
{
std::cout "Hello, World." std::endl;
}

Or if we must make it at least 10 lines...

class Greeting {
void greet(Named target) {
System.out.println("Hello, " + target.getName() + "!");
}
}
interface Named {
String getName();
}

class World implements Named {
String getName() {
return "World";
}
}

class Main {
public static void main( String[] args ) {
Greeting greeting = new Greeting();
greeting.greet(new World());
}
}

Clarification - not graphical... (1)

SuperKendall (25149) | more than 10 years ago | (#9625566)

Sure you can still write command line apps in very little code. But you want things with graphics, winodws, etc. (which is the norm to have a "real program" now) and it all quickly grows beyond that.

And as he said, anything with graphics is even generally trickier. And on Windows how could they have compiled ANY of your code Christmas day without a network connection?

Re:Visual Basic is not bundled and manualed (0)

Anonymous Coward | more than 10 years ago | (#9625606)

Maybe they were confused, since most old BASIC programs were line numbered, starting at 10. Here's your 10 line program in BASIC:

10 PRINT "Hello World!"

Re:Somewhere in the middle (5, Informative)

cjwl (776049) | more than 10 years ago | (#9625175)

Perhaps he should sit down and try Cocoa out while he's using OS X. ProjectBuilder/Xcode can generate a skeletel application that runs w/ no code. Interface Builder will generate code for your view, you fill in the drawing code. It's pretty damn easy and there are a lot of tutorials.

I think it is far easier for young people to get started these days and they have access to far more powerful tools and OS than the beginners of the past. I didn't get a Unix machine (NeXT) until I was 20, we have 5 year olds using it on a Mac now. The barrier to entry is far lower now than it ever was and it will continue to be.

The real problem is that there are far more people who know programming that you have to compete against for jobs...

Re:Somewhere in the middle (0)

Anonymous Coward | more than 10 years ago | (#9625492)

Quite right, you can build a web browser, with an address field and back and forward buttons with zero lines of code.

Of course its the glue code that makes it useful.

Re:Somewhere in the middle (4, Insightful)

bfields (66644) | more than 10 years ago | (#9625543)

The real problem is that there are far more people who know programming that you have to compete against for jobs...

I don't know, it may be that the market for "programmers" is poor, but that doesn't mean there isn't a need for a higher level of computer literacy in the general population. If you're someone in another specialty (e.g., you're mainly a biologist) and have some programming skills, then there's probably a lot of people that will be very happy to have you around.

think it is far easier for young people to get started these days and they have access to far more powerful tools and OS than the beginners of the past. I didn't get a Unix machine (NeXT) until I was 20, we have 5 year olds using it on a Mac now. The barrier to entry is far lower now than it ever was and it will continue to be.

That's all true, it's amazing that these days you can get such high-powered hardware so cheaply, and run entire operating systems entirely from code that you can tinker with.

On the other hand, even the lowest-end machine has so many other distractions on it now--games, email, etc. The basic interpreter was sometimes the only fun thing that came with the cheap home computers of the 80's--the only way to get a game might be to spend money on a cartridge or type one in from a magazine--whereas now you have to dig a little and look up documentation elsewhere to find a programming environment for your new PC.

--Bruce Fields

I'd like to rephrase that as... (4, Insightful)

Kjella (173770) | more than 10 years ago | (#9625224)

...the distance between a beginning programmer and what you see commercially available is eons apart, compared with before.

I programmed my C64 with "state-of-the-art" GFX (320x240x16 color, woot), SFX/music (think PC squeaker-like), most else was limited by memory/CPU constraints. In retrospect maybe my AI and gameplay wasn't quite up to par, but I was very close at least.

One thing is to get a person started - which is hard enough, true, but it's also takes a lot more before you feel you're doing something that feels "cool". Something you could compare to everything that's out there and in some small, limited way be better than. Because once you've done that, you begin to believe you can do it in every other way as well.

Kjella

Re:Somewhere in the middle (3, Interesting)

larkost (79011) | more than 10 years ago | (#9625235)

While it has become harder to draw a black triangle on the screen programatically, it has become fire simpler to use an IDE to make a window that has a black triangle on it, and then draws "hello world" and asks you for your name, all well within ten lines of code (and 3 minutes of work).

With XCode and InterfaceBuilder (the IDE tools that ship with MacOS X) I can whip up a text editor with support for rich text (fonts, formatting, colors, embedded images, etc) in under 20 lines of code (half of which are written for me), and a few minutes.

I would say that it has become far easier to get complex things done in programming, and for a lot of tasks the entry level has gone down, but of course our expectations have increased enormously.

Re:Confused? (0)

Anonymous Coward | more than 10 years ago | (#9624872)

Maybe this will help...

Could you elaborate on why you don't think someone coming up could learn to code in the same way, as some would say that the amount of information and code out there has never been greater as a whole?

Because there isn't the encouragement there once was. Nowadays software makers have tried as hard as possible to hide the workings away from you and discourage fiddling. Although you can learn television maintenance by reading books on how television works generally and learning electronics, its no substitute for the amount of learning gained by getting the back off and almost killing yourself by grabbing hold of the high-tension wire :).

This is, of course, the natural progression as computers have become more appliance-like and less machines of wonder. When cars first came out, the owners had to learn how they worked sufficiently to prime pumps, turn cranks, oil, turns, strip and otherwise maintain their machines. Now they are more reliable but you can't learn how a car works by taking it to bits any more.>

Also, although there is a lot of material, modern computers are too sophisticated when it comes to getting you hooked. With the old home computers one could get instant gratification by writing a program which drew a space-ship on the screen in 10 lines of BASIC. Nowadays you'd have to learn COM + Win32 + DirectX just to get a black rectangle. The 'activation energy' required for kids to get exciting things on the screen has increased exponentially over the past decade. The lack of home-programming magazines is also a problem although some the the Linux magazines here in the UK are starting to carry beginner's programming articles again.

Finally no machines come with BASIC + a programming manual in the box any more. When I was a kid programming was Just What You Did(TM) with a computer since commercial software was thin on the ground. I guess what I mean to say is that today's computer landscape doesn't encourage hackers like it once did.

Re:Confused? (0)

Anonymous Coward | more than 10 years ago | (#9624890)

Because there isn't the encouragement there once was. Nowadays software makers have tried as hard as possible to hide the workings away from you and discourage fiddling. Although you can learn television maintenance by reading books on how television works generally and learning electronics, its no substitute for the amount of learning gained by getting the back off and almost killing yourself by grabbing hold of the high-tension wire :).

This is, of course, the natural progression as computers have become more appliance-like and less machines of wonder. When cars first came out, the owners had to learn how they worked sufficiently to prime pumps, turn cranks, oil, turns, strip and otherwise maintain their machines. Now they are more reliable but you can't learn how a car works by taking it to bits any more.

Also, although there is a lot of material, modern computers are too sophisticated when it comes to getting you hooked. With the old home computers one could get instant gratification by writing a program which drew a space-ship on the screen in 10 lines of BASIC. Nowadays you'd have to learn COM + Win32 + DirectX just to get a black rectangle. The 'activation energy' required for kids to get exciting things on the screen has increased exponentially over the past decade. The lack of home-programming magazines is also a problem although some the the Linux magazines here in the UK are starting to carry beginner's programming articles again.

Finally no machines come with BASIC + a programming manual in the box any more. When I was a kid programming was Just What You Did(TM) with a computer since commercial software was thin on the ground. I guess what I mean to say is that today's computer landscape doesn't encourage hackers like it once did.

Re:Confused? (0)

Anonymous Coward | more than 10 years ago | (#9624920)

Copycat...

For a second (no pun intended) there... (5, Funny)

Anonymous Coward | more than 10 years ago | (#9624842)

I thought this was going to be an article about overclocking your wristwatch.

Re:For a second (no pun intended) there... (1)

happyfrogcow (708359) | more than 10 years ago | (#9625356)

I thought this was going to be an article about overclocking your wristwatch.

but if you did, how would you know how much faster it is? at best, you'll end up with a broken watch because then it means you have to do something different next time to succeed, ie, you'v elearned something. At worst, you've tried and been unable to conclude that your watch is faster (thus wasting time!), since measuring your watches speed with your overclocked watch would show it's as fast as before but no faster.

in summation, overclocking watches should be left as a theoretical study of hamsters in spacesuits.

Virtual desktops (2, Insightful)

mst76 (629405) | more than 10 years ago | (#9624885)

I don't really understand why Apple doesn't offer them. I've hears several reasons: the dock, expose, tranparent windows, or whatever makes them unnecessary, they're confusing for new users, etc, etc. But none of these addres the fact that Aqua WITH optionally selectable virtual windows (selectable for the "advanced user") is BETTER than WITHOUT. You can make all the same arguments for the presence of Terminal: it's unnecessary and confusing for the majority of users, but I bet few Mac users would want Apple to leave it out.

That's just standard Apple mentality for you (0, Troll)

jbellis (142590) | more than 10 years ago | (#9624935)

Apple isn't about choice. Apple is about the One True Way, which is whatever way Jobs likes at the moment.

In this case the Apple solution is Expose; diluting that with other solutions (even though they may work better for some workflows) just isn't in the cards.

Hardly insightful, more like casual dismissial (4, Interesting)

SuperKendall (25149) | more than 10 years ago | (#9625064)

Apple is not really about "One Way". They are about a "Crafted Way". That is, anything that Apple includes in the OS they like to have honed to a fine sheen before users can touch it.

If Apple were about "One Way", you would not have the nice integration between the finder and Terminal. You can stick to the Finder to find documents or manipulate files - or you can just use the Terminal, or you can use a hybrid of the two and drag files into the Termainl from the finder and get a full path expanded for you in the middle of some command.

Note in the article that he mentions Apple made some API changes which were very favorible to Desktop Manager. They could have switched stuff around to crush him like a bug. But they instead made changes that helped - does that sound like a company bent on the "One Way" to do everything?

As I've said before I really think Apple and virtual desktops is not so much an issue that they do not want it, as they have not invested the mental energy to solve the UI problem of the user maintenience of virtusl desktops - moving windows between, making sure the right windows wind up in the right desktops, etc. If anything I think virtual desktops will arise in OS X through an evolution of Expose, though in the end it may not be quite virtual desktops as we know them today.

Re:Hardly insightful, more like casual dismissial (1, Interesting)

Anonymous Coward | more than 10 years ago | (#9625245)

Note in the article that he mentions Apple made some API changes which were very favorible to Desktop Manager. They could have switched stuff around to crush him like a bug. But they instead made changes that helped - does that sound like a company bent on the "One Way" to do everything?
Note also that he had to reverse engineer all this stuff. Apple does not seem as helpful as you suggest.

Butthey did improve on the features (1)

SuperKendall (25149) | more than 10 years ago | (#9625472)

Yes he had to reverse engineer said features, but as I said that also meant Apple could have changged them on a whim - instead improving on them to give DesktopManager better support. The fact they were closed only bolsters the point I was making.

It's as close to support as you are going to see, until Apple feels the APIs are ready for prime time. There's nothing to say these will not be official API's sometime in the future.

Re:Butthey did improve on the features (1, Insightful)

Anonymous Coward | more than 10 years ago | (#9625607)

> instead improving on them to give DesktopManager better support.

What Rich said was that the Set/GetWorkspace functions were upgraded to work with Expose. Supporting DM might be just a side effect.

Re:Hardly insightful, more like casual dismissial (0)

Anonymous Coward | more than 10 years ago | (#9625441)

> That is, anything that Apple includes in the OS they like to have honed to a fine sheen before users can touch it.

Yeah, right. MacOS X 10.0 anyone?

Re:That's just standard Apple mentality for you (2, Interesting)

Jeremy Erwin (2054) | more than 10 years ago | (#9625071)

If an operating system supports two different methods of organizing the desktop, then some inexperienced programmer will find some method of supporting only one.

"Yeah, our App tends to crash Expose. Use Virtual Desktops instead."

Re:Virtual desktops (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#9624986)

Speaking of the dock (I know this is off topic, mod it down as long as I get a reply), are there any docks for linux? That is really the only thing I like more about the OSX than gentoo...

Re:Virtual desktops (2, Insightful)

Anonymous Coward | more than 10 years ago | (#9624992)

But none of these addres the fact that [APPLE TECHNOLOGY] optionally selectable [FEATURE] (selectable for the "advanced user") is BETTER than WITHOUT

If you are going to be an Apple customer you will have to let go of this idea. Apple simply does not add a lot of doo-dad features because a few nerds would like them.

Try this attitude instead:

[FEATURE] is bad, even if it's optional, because most people don't need it. It's just a kludge because Windows/Linux/DOS/Amigas is inferior to Macs. [APPLE TECHNOLOGY] was wholey perfectly designed from the beginning

Re:Virtual desktops (1)

foidulus (743482) | more than 10 years ago | (#9625532)

The amazing thing is you managed to contradict your own point. If I am using apple technology that means that I,*gasp* chose apple technology to begin with. IE I liked what Apple puts out. Nobody forced me to do it, just like nobody is forcing you to use Apple, Windows, Linux, BeOS etc. If you don't like the lack of choice on Apple's platform, then DON'T USE APPLE'S PLATFORM!! The people that do made the *choice* to do so, so please stop bitching about a lack of choices on Apple. Those of us that use it already had a choice, and we made it on our own.

Re:Virtual desktops (3, Insightful)

Kenja (541830) | more than 10 years ago | (#9624998)

Apple is of the opinion that two buttons on a mouse is overwhelming. Do you realy expect them to think that we the consuming masses can handle more then one desktop?

Re:Virtual desktops (0)

Anonymous Coward | more than 10 years ago | (#9625180)

The situation is quite different. It's pretty hard to make a two or three button mouse that looks like a one button mouse. Software options can be tucked away in a "advanced" control panel, with a good written explanation.

Re:Virtual desktops (1)

bhorling (42813) | more than 10 years ago | (#9625059)

Clearly they haven't made such a utility because it would cut into their display sales. Why would you need a 30" LCD screen when you could get a zillion virtual displays for free?

/joke

Re:Virtual desktops (5, Insightful)

nine-times (778537) | more than 10 years ago | (#9625489)

' I don't really understand why Apple doesn't offer them. I've hears several reasons: the dock, expose, tranparent windows, or whatever makes them unnecessary, they're confusing for new users, etc, etc. But none of these addres the fact that Aqua WITH optionally selectable virtual windows (selectable for the "advanced user") is BETTER than WITHOUT. You can make all the same arguments for the presence of Terminal: it's unnecessary and confusing for the majority of users, but I bet few Mac users would want Apple to leave it out.'

There's a weird Apple mentality at work here. I'm not Apple bashing, it's just that the reasons are ones that most on /. won't really identify with.

Apple likes to control their product; they don't want the interface very customizable. They'll allow little tweaks, and they'll allow people to make 3rd party products that can do... whatever. But this is the issue from the point of view of Apple: look around at linux desktops. Heck, just find some screenshots online somewhere- they all look different. Both KDE and Gnome are very customizable. Great. But a lot of users are going to find it confusing. Here's an example:

If I tell you I'm running Linux with a gui, and I want to reboot, can you tell me, without looking over my shoulder, where, spacially, on my interface, I need to go? Even if I tell you "I'm using Gnome" or "I'm using KDE", can you then tell me where the 'Log-out' or 'Reboot' button is? No- because it's very customizable, any button could be anywhere.

This means that the user's understanding of where things are and how the interface operates is not necessarily portable from one installation of Linux to another, even if you're using the same window manager on the same distribution. So what you need to understand about Apple's design philosophy is this: they don't like that. They want it so, if you're using their software, with no complicated tweaks or 3rd party hacks, everything will look pretty much the same, act pretty much the same, and be in pretty much the same place.

Virtual desktops would be fine with Apple, if they liked virtual desktops enough to use it with the standard interface, but they don't. It's not that they mind virtual desktops, but Apple doesn't want to add in extra options that will change the interface and confuse many users, unless it's necessary. They'd rather, instead, come up with another interface design feature that, they believe, will be as powerful as virtual desktops, but less confusing to users (like Expose). And if you want virtual desktops, their are 3rd party implimentations available.

So, there's your difference between the Terminal and Virtual desktops. One is an application (of sorts) than can be run within the current standard Apple interface (Terminal), and the other actually changes the behavior of and the user interaction with the interface.

Desktop Manager is Amazing (5, Informative)

pyite (140350) | more than 10 years ago | (#9624927)

I really have to say that Desktop Manager is amazing. It even has eye candy transforms between desktops (such as the sides of a cube representation of things). And to boot, Rich emailed me back some time ago when I had a question.

Re:Desktop Manager is Amazing (4, Insightful)

rjstanford (69735) | more than 10 years ago | (#9625106)

I really have to say that Desktop Manager is amazing. It even has eye candy transforms between desktops (such as the sides of a cube representation of things).

Good ... but not exactly amazing ... from TFA:

Q:[Y]our app feels faster than any of the competing apps out there by an order of magnitude, even though you arguably throw a hell of a lot more eye candy in there and you've recently made it even faster. Where is this speed coming from?

A:Apple :). The actual 'switching' is performed by calling the secret API functions above. This is actually implemented in the Window Manager and hence is as fast as if I could delve in there myself and manipulate them 'by hand'. The transitions eye-candy in later releases is actually using Apple's own code.
Does that mean that it's good code? Absolutely. But not startlingly good code, since most of the heavy lifting was done by the OS itself (Apple uses similar transitions for switching between multiple users, for example - which would lead me to belive that had Apple done this they would have used something visually distinctive for the desktop switch, come to think of it).

Re:Desktop Manager is Amazing (1)

pyite (140350) | more than 10 years ago | (#9625268)

I had no doubt that he was using Apple's API to carry out the eye candy even before I read the article. The point is that Desktop Manager really goes beyond being utilitarian and does the job probably just how Apple would do it if they so chose.

Re:Desktop Manager is Amazing (3, Interesting)

hunterx11 (778171) | more than 10 years ago | (#9625275)

I would be more concerned about the fact that "secret" code is subject to change without notice. Objective-C doesn't support private methods, but leaving prototypes out of the header file makes it "pseudo-private." Aqua does have a few other unimplemented capabilities, like theoretical support for tear-off menus. Then again, we might see things like this in the future--it used to be that changing key bindings for menu items at runtime was partially coded but unsupported, but it was added as a feature to Panther.

Wrong quartz... (3, Funny)

Tassach (137772) | more than 10 years ago | (#9624958)

I got all excited thinking there was going to be an article about DIY piezoelectric devices

Okay. (2, Funny)

numbski (515011) | more than 10 years ago | (#9624968)

Note: THIS IS ON TOPIC. RTFA. KTHX. :)

The man doesn't like spirits, but he likes beer.

I've noted, most everyone either likes liquor, liqueur, or beer.

Why is there such a lack of interest in cider? I have my own batch finishing up it's first rack right now, and I'll be moving it to second racking adding honey tomorrow. :P

The more I've read the history of this country, it seems like the germans moved in and totally obliterated the cider makers and moved in with the beer. :( I love my cider dangit. :P

Oh, and love the app, use it all the time. ;)

Re:Okay. (1)

castlec (546341) | more than 10 years ago | (#9625049)

I love cider too........ how about some cooking instructions??? I used to always drink woodchucks but you can't get those in the czech republic :o)

Re:Okay. (1)

numbski (515011) | more than 10 years ago | (#9625194)

On the simplest level, go to the supermarket (you have those, right?), get the freshest apple juice or cider you can get your handles on. A gallon (2-3 litres?) should be plenty to start. Make sure it has no preservatives in it. If it's pasteurized, you'll need to add one more step.

Take it home, airlock it somehow. Airlocks here are cheap, less than $2. If not, duct tape, plastic tubing, and a glass of water will work nicely.

If it was pasteurized, add some yeast. Googling for cider yeast will do fine.

Add the yeast, airlock it, wait a week to 10 days for fermentation to settle. This is your fist 'racking'. Siphon off the top 90%, leave all sedementation behind, into a new, disinfected container. Add something to sweeten it if you like, airlock it again. This is your second racking.

Leave this for a month to 6 months, rack again at some point if you wish. Drink, bottle, keg, whatever. Enjoy. :)

Re:Okay. (1)

castlec (546341) | more than 10 years ago | (#9625411)

i'm not sure where i can get non pasturized cider. this is an apple country though, it must be somewhere. i haven't done the googling yet, but i assume that the cider yeast is different than bakers correct? also, what are the instructions if i find a place that has it before pasturization. thanks a lot man :o)

Re:Okay. (1)

numbski (515011) | more than 10 years ago | (#9625608)

Just don't add any more yeast. Let the natural yeast do the work. It takes longer, but it tastes MUCH better, and you don't get a bread-like smell during fermentation.

After you get the process down, you'll probably want to mix-and-match juices. You'll want to add some sour along with sweet, as all the sugar will get eaten by the yeast unless you add a chemical to stop fermentation early. You have to look beyond the sugar to the flavor of the apple/juice that you add to see what it will do. Adding honey makes it partially a cider, partially meade.

Re:Okay. (1)

hunterx11 (778171) | more than 10 years ago | (#9625361)

If it's clear and yellow, you've got juice there, fellow.
If it's thick and brown, you're in cider town.
Now there are two exceptions...

Re:Okay. (1)

TractorBarry (788340) | more than 10 years ago | (#9625576)

Well I like cider, beer and spirits (usually in that order throughout the day. No matter what them namby pamby do gooders tell you, you simply can't beat a good breakfast scrumpy)

In fact I like cider so much I once adapted the (old cartoon) Spiderman theme song to be more to my liking....

All together now a 1, a 2, a 1, 2, 3, 4:

Ciderman, Ciderman,
Drinks whatever cider he can,
Is he pissed ? 'course he is,
To stay awake he necks some whizz,
Look out!
Here comes the Ciderman

Is he wrecked ?
Listen bud,
He's got Diamond White 'stead of blood,
Can he swig from a can ?
He'd drink from a frying pan,
Hey there,
There goes the Ciderman.

In the chill of night,
At the scene of a club,
Bouncers throw him out,
12 pints was enough.

Ciderman, Ciderman,
Drunken woebegone Ciderman,
Wealth and fame
He's ignored,
Special K's his reward.

Hey there, life is a one big piss up,
Wherever there's a piss up,
You'll find the Cider man.

o.k. I'll get mi coat (the pubs open and it's happy hour all week)

P.S. For all you non UK residents "Diamond White" and "Special K" are military grade ciders much loved by teenagers, dropouts and the unemployed.

Not such a good app (3, Informative)

Jeedo (624414) | more than 10 years ago | (#9624969)

I've used this application and it was highly unstable, crashed constantly and was generally nothing like the virtual desktop one has gotten accustomed to on UNIX desktops.

Re:Not such a good app (3, Interesting)

numbski (515011) | more than 10 years ago | (#9625009)

Eh, I think you just have bad luck.

Granted, no, this is 'not your dad's desktop manager' in the sense that you're used to in X, but it's still a far cry improvement from not having it at all, and if you look at the sources, his readme's, and heck, just this interview, he has some interesting improvements coming down the pipe.

But if you want to cry instability, let's hear it:

What's your hardware specs?
What OS?
What version of Desktop Manager?

Re:Not such a good app (0)

Anonymous Coward | more than 10 years ago | (#9625133)

Geez. That's awful. If the software was alpha quality and highly unstable, he should at least put a warning on the front page of the app's site. Kind of like the warning that's on the front page of the app's site.

Uh. Right...never mind.

narf? (2, Funny)

happyfrogcow (708359) | more than 10 years ago | (#9625008)

nicking my, now ex, girlfriend :)

someone define "nicking" for the, um... curiously imaginative.

Re:narf? (0)

Anonymous Coward | more than 10 years ago | (#9625021)

to nick (berg) - to behead, decapitate

Re:narf? (1)

KillaKen187 (794540) | more than 10 years ago | (#9625147)

the last thing i was nicking was my evil co-workers car.

Re:narf? (1)

guet (525509) | more than 10 years ago | (#9625150)

nicking == stealing, nabbing

British slang.

Translation: (0, Troll)

LordPixie (780943) | more than 10 years ago | (#9625165)

To steal [reference.com] . It's slang, and I don't think it carries any real crime connotatiom.

Silly Brits, and their made up English words.


--LordPixie

Re:narf? (2, Insightful)

FyreFiend (81607) | more than 10 years ago | (#9625188)

It's UK english for stealing.

Desktop Manager... (1)

antdude (79039) | more than 10 years ago | (#9625041)

The last time I tried to use Rich Wareham's desktop manager on my PowerBook G4 (1 Ghz; 15"), it crashed in Jaguar/MacOS X 10.2.8 since it wasn't compatible with it. Only Panther.

Are there any good free virtual desktops? Codetek's nice but it is not free and a bit bloated (too many features).

I use GoScreen [goscreen.info] in Windows, and it rocks!

Undocumented API calls (4, Insightful)

mst76 (629405) | more than 10 years ago | (#9625074)

I found this slightly disturbing:
Sure. OS X has a couple of undocumented API calls 'CGSSetWorkspace' and 'CGSGetWorkspace' which allow you to split the window trees into different desktops and move between them.

[...]
Believe me there is a lot in OS X that is undocumented and suggests interesting things.
While not many people blame Apple for keeping Quartz closed source, many would argue that at least the APIs should be exposed. This gives independent app writers a level playing field when writing apps that might compete with Apple's own offerings.

Re:Undocumented API calls (5, Insightful)

Otter (3800) | more than 10 years ago | (#9625186)

I don't think this is so much a way to stifle competition (competition with what Apple product?) as either 1) those calls are not stable yet or 2) they don't want to encourage use of certain things at the application level.

This is only worrying (5, Interesting)

Anonymous Coward | more than 10 years ago | (#9625213)

If apple's apps then call these APIs. It is possible that these APIs are incomplete, experimental, or internal to the OS. If Apple documents these APIs, that means they're obligated to support them and keep them relatively stable between OS releases, etc...

This isn't quite like the Windows situation for two reasons.

One, the problem in Windows is mostly that MS's hidden APIs are for (1) very important and basic things and (2) used extensively by MS's in-house apps.

Two, Apple's been very good not just about keeping competitors on a level API playing field with Apple's apps, they've been very good about actually moving functionality OUT of Apple's inhouse apps and into public APIs. Witness searchlight services, or CoreGraphics. These were functionalities in Apple inhouse apps that Apple decided would be useful to other people, so they sucked it into the OS and made a public API for it...

Re:This is only worrying (0)

Anonymous Coward | more than 10 years ago | (#9625346)

> Apple's been very good not just about keeping competitors on a level API playing field with Apple's apps,

How do you know this? The majority of Apple's apps are closed source. Apple fans will believe Apple wouldn't use secret APIs, Apple bashers will believe the opposite. Neutral spectators will just observe that we don't know since we can't look at the source.

You don't need the source (0)

Anonymous Coward | more than 10 years ago | (#9625383)

to tell what API calls are being used by an application. Just look at what symbols the binary references.

You don't seem to know Cocoa programming (1)

SuperKendall (25149) | more than 10 years ago | (#9625524)

One side effect of a heavy message-passing style API like Cocoa is that it's super easy to see what apps are calling what libraries and methods. Indeed there are Cocoa utilies mentioned in the article that let you "sniff" such traffic and inject things into messages sent for probing.

Re:This is only worrying (1)

Graymalkin (13732) | more than 10 years ago | (#9625555)

otool -L someapplication

Prerelease? (was: Re:Undocumented API calls) (2, Insightful)

beavis88 (25983) | more than 10 years ago | (#9625269)

I've heard that, generally speaking, some API calls are inserted into production libraries before they're truly meant to be used. Seems like this could potentially be such a case. But I do agree that in almost all cases, APIs should be as open as possible -- plenty of good ideas have come out of independent shops as a result of having good tools (APIs) available and well documented.

Re:Undocumented API calls (4, Informative)

Archibald Buttle (536586) | more than 10 years ago | (#9625434)

Apple does indeed have a number of undocumented API calls in Mac OS X. Now whilst it would be nice for all of the API calls to be documented they simply aren't right now.

Quartz actually can do a whole load of other things using undocumented APIs besides this virtual desktop stuff. It's also possible to rotate windows, shrink them, and zoom them up - I have an application that does this. However those that have investigated the APIs that allow these wild things to happen have found that they're not exactly complete.

Apple has of course been challenged about these APIs, and they remain consistent: you shouldn't use these APIs. They are undocumented because they are likely to change in the future. When the API is complete they will be documented, but not before then.

It's quite possible that all of these APIs (handling virtual desktops, rotation, and scaling) will be documented for 10.4 (Tiger).

One example of this is the shadow effect that Mac OS X supports on windows and other graphics. It's been there since 10.0, but it wasn't publically documented (although some people discovered its API). Apple only used this API for shadowing windows and menus. An official API for shadows was introduced in 10.3 which is more fully featured and easier to use than the old unofficial API. Indeed there's two official APIs now for shadows - one for low level Quartz calls, and a high-level API for AppKit.

Of course what Apple really should do is make sure that these new experimental APIs simply aren't present in the shipping OS. Apple themselves don't use them, so why leave them around?

Question and comment (1)

Otter (3800) | more than 10 years ago | (#9625117)

Is Desktop Manager likely to work at least modestly on Jaguar? The download site refers to Panther, but it's not clear what to expect on older versions.

Anyway, while I agree with his point about programming being a lot less attractive to new users than it was 20 years ago, I don't know if that's true when comparing to 10 years ago. GUI programming with new tools (VB, Cocoa and Interface Builder, Qt and Designer) is a much more attractive proposition for people with a little C/C++ than it was a decade ago.

Big Brick Walls (4, Insightful)

ObsessiveMathsFreak (773371) | more than 10 years ago | (#9625122)

With the old home computers one could get instant gratification by writing a program which drew a space-ship on the screen in 10 lines of BASIC. Nowadays you'd have to learn COM + Win32 + DirectX just to get a black rectangle.

Amen.

It required at least 300+ lines of Visual C++ to get a black screen and almost 150 lines of C++ to get SDL to throw up a black screen.

What the hell is going on here?!?! I know a lot of things need to be set up, resolution, sound, etc. But most people were happy with the default options they were given on those old computers. They made Elitle out of it for christs sake.

So how come I can't start a gaming project with a simple

Setup_SDL(SDL_STANDARD_OPTIONS);

Is it too much to ask?

Re:Big Brick Walls (0)

Anonymous Coward | more than 10 years ago | (#9625207)

Once you implement Setup_SDL(), you can.

Re:Big Brick Walls (1)

Milton Waddams (739213) | more than 10 years ago | (#9625338)

What about Java? It's pretty easy to GUI program. The tutorial on java.sun.com is pretty easy too

Re:Big Brick Walls (1)

Greyfox (87712) | more than 10 years ago | (#9625602)

I've run across a few scheme tutorials that cover implemeting a basic turtlegraphics-like drawing system. It wouldn't be too hard to expand upon that to provide a simple programming environment for a beginning programmer...

Difficulties for beginning programmers (2, Interesting)

SandSpider (60727) | more than 10 years ago | (#9625174)

He mentions that it's more difficult for beginning programmers to get a start, as compared to the old days. Partially because software companies have tried to hide everything, and partially because it's so much more difficult to write a small amount of code that will do something exciting.

I disagree. Those points were more true a few years ago, but, at least with OS X, you have plenty of potential. First of all, there's Applescript and Applescript Studio. It's really easy to get a program started that does far more than in the old days, since most of your basic user interface work is done for you, and you can draw on the power of every installed application on your computer. Mind you, learning how to program Applescript is not like learning to program most languages, but it's a really good test of your problem-solving skills.

The other part is web programming. Nowadays, if you can get a computer that's visible to the internet, or an account on a web server that allows custom CGIs, you can make custom programs that will not only be cool to you, but potentially cool to the entire world. That's a lot more incentive than you had in the old days, or at least a different kind of incentive. It might even make for more solid coders in the future, since hobbyist and learning programmers nowadays get to see people trashing their programs repeatedly, so there's good reason to make them work properly.

No, it's not the same, and it's may not be particularly easy to get started in the windows world, but for the rest of us, there are plenty of good opportunities for the beginning programmers.

=Brian

More power but how many know it's there? (2, Insightful)

SuperKendall (25149) | more than 10 years ago | (#9625430)

Sure the programming tools we have now are way more powerful than before, and you can as you say reach a much larger audience.

But, there are two problems:

1) How to know that anything is there, and
2) The widespread display of programming is not really there for the masses.

For (1), consider than before programming was like an old scooter left on the sidewalk. Anyone could see it was there, pick it up, and mess around. They might not get very far but it gave a feeling for driving.

Now the scooter is gone, and you have a sleek black porche out in the back alley with the keys in the ignition. Unless you go looking you aren't even going to know the porche is there or that you can use it - there's very little material today that tells kids how cool and easy it is to get into programming. Then of course even if people find the porche many will be too daunted by all the array of features and power to even go forward with driving it - even though the keys are right there! Open up an IDE and just imagine it's the first thing like ti you've ever seen. Even the tutorials can be overwhelming to a kid!

Now you also brought up the ability to code things that are more widley viewed and used. That is true and is a great appeal, but let's say a kid does learn some kind of server side programming (the only way to do anything really cool - you can only go so far with Javascript). Well how is he going to host it? Where are the super cheap kids hosting servers that come bundled with computers? Do schools do this nowadays (I have not heard of any supporting student CGI space [perhaps that's just as well, it would no doubt be only ASP servers]) Even though potentially a kid COULD write something that would be used far and wide, the actual ability to do so is not there for most people.

Once people break through the initial hurdles it is much easier to produce stuff now. But the hurdles are far greater than they used to be when I was a kid. Not to mention I doubt I EVER would have got into programming if I were just able to buy the plethora of games they have now instead of writing some of my own from time to time!

Re:Difficulties for beginning programmers (3, Insightful)

Tim Browse (9263) | more than 10 years ago | (#9625513)

I don't buy this "it's much harder these days to start programming" bullshit. It's purely a perceived problem because apps are more complex these days, and there are lots of them. But don't expect to write complex stuff when you start.

Hell, the first program I 'wrote' on my Commodore PET was something that made a rocket fly up the screen over and over. It was very simple. You could accomplish the same these days on any machine by downloading gcc and writing a C program of frankly a very similar length and nature.

I don't actually remember my PET or my BBC Micro running ICQ or browsing the web, or doing any of these things that people seem to think they can just pick up a compiler and throw together in a few days.

Stuff has got more complicated, and people expect more features and UI. But to complain that it's hard to get started is just not true.

Hell, with the GUI toolkits around now, it's actually way easier to do some of these cool things. Think back to the early days of GUI programming. From my own experience, programming RISC OS GUI apps was horribly complex and difficult to get going with. On the other hand, I remember how cool I thought it was when I realised that the OS did stuff like those handy edit boxes for you - you didn't have to do anything! :)

One word... (-1, Flamebait)

Anonymous Coward | more than 10 years ago | (#9625176)

asshats ;)

Hacking Quartz and Mach directly? (3, Insightful)

tyrione (134248) | more than 10 years ago | (#9625392)

How is this giving Apple's consumer applications an advantage? What this shows is where Apple has optimized security and performance within the WindowServer and its functionality of Expose in conjunction with the Dock.

This has nothing to do with Apple utilizing a secret API for all its consumer applications like Final Cut Pro, etc to put it one leg up on the competition.

This has everything to do with strictly improving the performance of the Operating System and core functionality that all applications may benefit from by the fact they are written for OS X. There isn't a Core Graphics for third parties and a Core Graphics for in-house. Get real folks.

I had some helpful tips on this... (3, Funny)

Chuck Bucket (142633) | more than 10 years ago | (#9625455)

but it was in my book titled "OS X: The Missing Manual" and I can't find it.

PCB$5%

mo0d up (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#9625551)

Steals GPL source??? (5, Interesting)

nacturation (646836) | more than 10 years ago | (#9625556)

Highlights are secret APIs in OS X for VirtualDesktops, who steals GPL source...

Where is this in the article? I read the whole thing, then went back and searched for every occurrence of "steal" (zero results) and "GPL". The only part that mentions Virtual Desktops is that CodeTek can't use the Desktop Manager source in their closed source app because it's GPLed. The relevant section is:

"I still get some emails accusing me of being petty and small minded for GPL-ing Desktop Manager since CodeTek can't easily use my code. That is silly since they are quite capable of re-implementing Desktop Manager in a far better way using my techniques. I haven't tried (nor could I probably) claim control over how people use the APIs I discovered."

Nowhere does this claim that Virtual Desktops is using, let alone stealing, anything from his source. Unless I missed something here, I fail to see how such a statement is anything more than libel.

No virtual desktops as there are multiple desktops (2, Interesting)

Anonymous Coward | more than 10 years ago | (#9625586)

Why doesn't Apple support multiple virtual desktops?

Because that would be confusing as there are real multiple desktops. You can have multiple desktops active at the same time. Say one for surfing and loading trojans by accident and another for online banking and you know that they are safely separated from each other.

It's called Fast User Switching, but realise that they are all active at the same time. Adding virtual desktops which are not separate would confuse the user and water down simple secure separation of tasks functionality.

Oops, I thought I did my finacnes on another desktop but I guess I've accidentally shared it with this guy who send me a funny application via mail or chat, because the separation was virtual/visual only.

You can have separate desktops on Mac OS X and they are really separate, that is a major plus!

Sure I would like multiple desktops within one user account but they should be separate and only have user permitted information exchange, nothing automatically allowed. Yes, that would be called sandboxing and I advocated sandboxes [quicknet.nl] for Mac OS 10.3. I hope they will be in 10.4 as a 2005 surprise because it would stop trojan applications and even protect against a bug in the webbrowser or email applications if those would run inside their own sandbox.

Yes, you can still ask Apple for Sandboxes as they have introduced the basic technology in 10.3 and still have many months before 10.4 is ready.

Dennis SCP

CodeTek versus Desktop Manager (1)

geordieboy (515166) | more than 10 years ago | (#9625636)

I haven't tried Desktop Manager, but I use CodeTek Virtual Desktop Pro on my Powerbook. I have to say, looking at the screenshots on the DM website, I don't particularly want to switch. The CodeTek pager is much much nicer, and I certainly don't want a big volume control style white icon in my face every time I switch a desktop. But maybe DM is a bit faster - CVD can take a second or two to switch desktops. I also need perfect integration with X11, which CodeTek has.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?