Aqua Theme for Classic?

Generally I'd have a strong opinion on something like this, but it seems clear to me that this is a very complex situation that requires some smart, but subtle, solutions.

The kinds of questions this discussion leads me to ask myself are:

1) Are some of the differences between Classic, Carbon, and Coco (especially the latter two) something that will disapear over time or will these two things continue doing things differently for the forseeable future?

2) We are fairly technical people here, so we can comprehend the technical reasons why one programs windows might behave different than anothers. However, I am failry certain this would not pass the "Mom test".

So the question here is this something that needs to be worked out to make it better for Mom, or is this one of those areas in which Mom will need to do some learning and become more sophisticated? (My Mom is awesome. She has come to understand a great deal more complex stuff than I would have ever expected. This gives me great hope that the lowest common denominator bar will rise over time. :-> )

3) One of the things about Linux's Gnome/KDE, OS 9's Kalidescope, and similar things is that the power to customize the look of our machines is something we like. However I don't think many of us consider the subtle differences between just slapping on new interface widgets and actually having control over the subtle ways these widgets act.

IMHO Apple could lead the pack here. They could combine the best parts of UI customization with the added power to also control the human interface metrics strobe mentioned... And Apple is the one company on earth that could do this well and also make it understandable to people who don't know what all of these UI, HI, and other acronyms mean...

Even more Apple could do all of this in such a way that it is part of the OS and something that classic/carbon/coco/java swing and all other developers get "for free". These are complex things and making this easy for developers is just as important as making the end result easy for Mom to use.



Sometimes simplfying questions is good, but I also like digging in to see just how complex they really are. This helps me get a better sense of the larger issues... Sorry if this rambled too much.
 
Originally posted by TommyWillB
... Sorry if this rambled too much.

No not at all. Infact the "Mom" factor is what I have been sorta dealing with on a daily bases showing people Mac OS X for the first time. When I have shown people Mac OS X on a system set up by Apple, the most striking feature that they seem to notice is that Classic apps look like they are running in almost emulation mode (they sorta are, but the actual performance doesn't take quite the hit). The reaction I get when they see a system that I have set up using the Aqua theme (which really isn't all that different from the "Classic X" theme that came with the DP 3/4 series of releases) for Classic is that the system is able to run everything thing seamlessly... which is actualy what people want. If we didn't want it to be seamless, why all the work to make Classic rootless (we could have just kept using Blue Box if it wasn't Apple's goal).

Strobe is not a "people person", which means he can't see the humans on the other side of the "Human Interface". I work with people, answer their questions, and set systems up so that they can work on their work... not on learning their computer. As techies working on computers for a living, we some times forget that computers are a tool for getting work done. I have always thought of my job as making the workings of computers as invisable as possible. With Mac OS X we have had a big change in the look of the system, seeing Platinum pop up every so often only serves to remind people that there has been a change. They don't need to be thinking about that when they need to be working on their projects. I think that is why I feel so strongly about this. I have watched people fall in love with Mac OS X much faster when they forget that there are different type of apps on their systems. They really like that everything just works (and seeing that in people's faces is the best thing ever :D ).
 
The question about Cocoa/Carbon differences is worrying. A lot of this is due to Cocoa developers who have been out of the HI discussion loop and haven't even bothered reading the guidelines (never mind trying to understand the many implicit mac HI conventions which aren't in the guidelines). However a lot of this is Apple's fault too. Consider some major differences (in order of annoyance):

1) Carbon/Classic apps do not assume a file's path is constant. This means you can open a file with a Carbon app, change its path with another app (rename or move it), and the Carbon app doesn't care. It will continue using the same file. The main advantage of Carbon applications is you do not have to keep track which files are open when using other applications. Cocoa apps however have a tendency to assume a file's path is constant thus changing an open file's path will confuse the application and/or user. I've lost data because of this problem.

In Mac OS X 10.1 NSDocument uses the same method Carbon apps do, however not all Cocoa apps use NSDocument for all file i/o. Cocoa still lacks a file primitive which doesn't change when the path does. It's clearly inferior in this specific case. Toolbox calls using file paths were depreciated a long, long time ago for this reason. Now we're retrogressing.

2) Carbon/Classic apps generally have better text selection behavior. 19 out of 20 times I do not want to select the carriage return (or line feed) and when I do, I add it after pasting. When selecting left to right in a Carbon/Classic app the CR is not selected (with the sole exception of Word98, Word X finally fixes this!). However in Cocoa apps do select the CR with the same motion, and it's frustrating as hell. Trying NOT to select the CR when selecting right, or selecting down is devilishly difficult.

In Mac OS X 10.1 the behavior of NSLayoutManager was slightly changed so the CR isn't selected until the selection moves to the right by a certain threshold, or when it moves to the bottom of the text. The second behavior is potentially useful, but is completely wiped out by the prior behavior! In the end it's no better than before, especially when selecting down.

3) Carbon/Classic apps treat selected text as draggable items. If you want to select a different region you can either select from outside the current selection or click where you want the cursor to be within the selection instead of dragging. Cocoa for some reason has a delay which completely obliterates the usefulness of drag+drop text. So far the only people who like the delay are people who don't use drag+drop text anyway, so the delay makes no sense whatsoever. Either have it on or off.

In Mac OS X the delay was shortened. Why? I have no friggin' idea. It's still just as useless.

4) Command-clicking a background window is somehow supposed to behave like a click-through, but its current implementation is insane. It only half works in Carbon apps for the title bars, half because it doesn't remove the command modifier before it's passed and many apps use command-clicking the title bar to display a list (Finder and Explorer are examples of this). In Cocoa apps you can click where you want, but the modifier isn't removed in this case either! This makes a potentially useful gesture for dragging background items to the foreground or whatnot absolutely useless.

Mac OS X 10.1 didn't change/fix anything here. Ideally a user-selectable gesture (command-click, 4th mouse button, whatever) could be set to click-through any window, anywhere in the window where the modifier (if used) was removed before being passed. However I suspect Apple prefer to drop features instead of fix them.

I could list dozens more problems with Swing, but hopefully Swing isn't going to be considered on par with Cocoa/Carbon so I won't have to.
 
Have you ever actually read anything you post? Your first paragraph makes anyone who has anything to do with Cocoa (be it the team at Apple or third party developers) basically stop reading. I believe you have written about most of these many times before, and you would have something of an argument if anyone was still reading.

Have you ever thought about stating JUST facts, and leaving the colorful commentary (insults) out of your posts? I remember you asking a question at the Omni mailing list that started out as a insult to how Yellow Box did something (I actually think it had to do with text selection), and you seem surprised that you got flamed. All you had to do was edit out a few comments that had NO technical reason for being in the post, and you would have had a ton of people trying to help you.

Also, you seem to have very little idea as to where any of these people are coming from. From 1989 to 1997, these people wrote for a completely different OS from the Mac. And it was very liked by many people (I can say this because there were quite a few users even though the OS cost $800 per user, and $4000 per developer), it almost replace CDE on Sun Solaris (if Apple hadn't bought NeXT first). Apple tried to implement their HI/UI on to OPENSTEP, and many developers where happy to try to keep up with the changes (believing that a client OS was coming in the near future). When Apple dropped plans for a client release and then just released a "server" OS, many of these developer saw tons of work wasted. Then there is Carbon. I personally feel that Carbon was at least as hard a task as the Copland project was, but Apple was able to pull it off (for the most part). And all the while Apple was also developing the new Aqua HI standards (which were not even finished when DP4 was released). Do you realize how many version of this OS Apple has made that Cocoa developers have written apps for before Apple released the first public beta? Most of these people have been developing apps for the last four years for systems that the general public would never see running. Lets take OmniWeb as an example (seeing as you brought it up earlier). What Apple operating systems did it run on before Mac OS X PB? It ran on Rhapsody DR1 (Rhapsody 5.0 for both Intel and PPC), Rhapsody DR2 (Rhapsody 5.1 for both Intel and PPC), Mac OS X Server 1.0 (Rhapsody 5.3), 1.0.1 (Rhapsody 5.4), 1.0.2 (Rhapsody 5.5), 1.2 (Rhapsody 5.6), Mac OS X DP2, DP3, and DP4. You also brought up Internet Explorer. Which of these did it run on? Microsoft didn't expend any effort on early versions, they had no code investment in apps for these operating systems. But Omni did. Do you have any idea of the number of people who work on OmniWeb? If they are a little slow in implementing Apple's HI which came out far after the primary code had been laid out for the current version, I would hope you would understand. Omni has only been in the eye of the general public for about a year, they were making products for an OS that no one could get a hold of for almost four years. There aren't many firms who could go that long without a customer base, so again, I think you could be a little understanding. The former NeXT developers who survived the long period between Apple buying NeXT and Apple releasing a product to the general public don't care to hear you insult Cocoa or the apps they are only now beginning to be able to sell. And people at Apple who are working to develop Cocoa (some who have taken the time to flame you themselves) don't care to hear your insults either.

I don't expect you to realize what a jerk you come off as. I know for a fact that I am not the first (second or third) person to try and tell you this. In most Mac circles were you post, you are thought of as a very intelligent, socially retard individual. And as you already know, in non-mac circles your just another troll (not that I think THAT is a bad thing though). If you want people to read your mail, drop the attitude so they can read what you actually have to say. Otherwise, all of your posts are as much of a waste of key strokes as this one most likely has been.
 
Of course Apple worked on Carbon instead of trying to please former NeXT people. Do you think they bought NeXT to please you?

The Aqua HI Guidelines are not much different than the old mac HI guidelines. The primary differences are 1) a lot of the implicit mac conventions everybody was following except Apple were finally made explicit. For example command-click selecting cells in a table or list. Everybody already implemented this behavior except Apple's Finder which flew in the face of it. 2) the new guidelines put a greater emphasis on legibility, not just grammar and button/icon placement.

Rhapsody DR2 was basically OPENSTEP with a different menu. I didn't have any interest in it. I played with it on a 7600 and it behaved exactly like OPENSTEP.

As for OmniWeb versus Explorer, I've only pointed out specific reasons what implicit mac HI conventions Explorer's interface has implemented, and also blatent problems with OmniWeb. Changing the widgets in OmniWeb shoudln't take this long, it's a simple click in Interface Builder! Regardless, my main complaint (and I know you don't care) is the emphasis developers place on interface design. These rules don't just exist because Apple wants to be noticed, the rules actually do make sense and I can trace most of them to specific problems which arose in the past.

As for my social ineptitude, I'm aware of this. I put my opinions on the table and am incapable of being insulted. I've also been diagnosed with a "syndrome" to describe these symptoms. Until they invent a pill to rectify it, you'll have to deal with my akward behavior (or not).
 
Originally posted by strobe
Of course Apple worked on Carbon instead of trying to please former NeXT people. Do you think they bought NeXT to please you?

Interesting point. One question though... why do you assume I "started" with or use extensively OPENSTEP? I worked with NEXTSTEP for a couple years back in the early 90's at a research institution (which also has Macs, SGIs, and Suns), but Macs have been my platform of choice for 14 years. I hadn't touched a system running a NeXT OS for almost two full years when Apple bought NeXT. I quickly found out who was still working with that software after Apple release their "Prelude to Rhapsody" (aka, OPENSTEP 4.2) to developers, and got to see what had changed (and not changed) over the period in which I hadn't been using the software. Over the last four years I have spent as much time using the verious releases as much as possible (and I have done the same thing for Irix and Solaris I might add) so I would feel as comfortable as possible in the new system as I could. Of the 9 Mac OS systems I have running, 6 are running some version of the Classic OS (if you include A/UX as part of that). I think I'm as far from... what was it you called me? A NeXTer? ... as you could get. But I took to time to get to know quite a few of them personally and they are some of the nices people I've met in the computer industry (though some SGI people have also been very helpful).


Rhapsody DR2 was basically OPENSTEP with a different menu. I didn't have any interest in it. I played with it on a 7600 and it behaved exactly like OPENSTEP.

And you were not alone in that feeling, which was why Apple only released it as a server OS. But I service and set up those servers, so I needed to know that systems as if it was my primary OS. And I also provided technical support for developers of Web Objects who would rather work with the Rhapsody based Server OS than be forced to work on Windows NT (can you blame them?).


...Regardless, my main complaint (and I know you don't care) is the emphasis developers place on interface design. These rules don't just exist because Apple wants to be noticed, the rules actually do make sense and I can trace most of them to specific problems which arose in the past.

The best thing Apple did when they released System 0.97 to developer was to lay down strict rules about the interface of Mac apps. It is the reason that Macs were the easiest OS to work with for many years. The worst apps I've ever seen are ones like Kai PhotoWhatever and Bryce that make their own UI completely different from the system's. Most of the problems with X-Windows comes from developers NOT following any of the guide lines that originaly came out with it. Like I said, it is not your points that are the problem. It is that most people stop reading before you get to them.

As for my social ineptitude, I'm aware of this. I put my opinions on the table and am incapable of being insulted. I've also been diagnosed with a "syndrome" to describe these symptoms. Until they invent a pill to rectify it, you'll have to deal with my akward behavior (or not).

I am truly sorry to hear that (and I'm sorry for the other "counselling" comments also). You may want to try what I do when posting. I type everything out in Simple Text (or World Text if in Mac OS X) and then walk away for a while, come back and let the system read my post back to me. Then you can edit out the non-technical stuff so that people (like developers and Apple) can see all your important points. I know you have raised many of these points as long as a year ago. Many of them may have been heard if the people who needed to hear them weren't so mad at the additional comments.

And see there is at least one non-Cocoa app that I use on a daily basis (I do actually use others besides World Text).:)
 
Back
Top