Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > A Call to OS X Developers

A Call to OS X Developers
Thread Tools
Senior User
Join Date: May 2001
Location: Massachusetts, USA
Status: Offline
Reply With Quote
Aug 15, 2001, 03:18 PM
 
We all remember the infancy of Mac OS X, when users first got a glimpse of the Mac OS X user experience and instantly cried out to third-party developers to release programs to ease the transition... give us an Apple menu, they said, and pop-up windows, and a control strip, and all of the other things we miss from Mac OS 9. Then the users discovered defaults and plist hacking, and not much was ever heard about these kinds of programs again. Any time they were brought up, the typical response was "Apple will implement all this stuff in the OS eventually, so don't worry about it".

Well, here we are, at 10.0.4, with a pretty good idea of what is (and is not) going to be in 10.1. I don't currently know Cocoa OR Carbon toolbox programming, so I'm not entirely sure what is and is not possible, but based on tidbits I have picked up I have a general understanding of how deeply you can poke into different areas. There currently exist a few areas that Apple has more or less outright stated it's not going to touch with a ten foot pole, all of which I think would benefit from the loving touch of a developer or two:
  • Sound sets.
    Maury McCown over at RAILhead Design, among many other people I've talked to, sorely misses the Mac OS 8/9 ability to have audio feedback from the OS when performing certain tasks like clicking buttons, menus, etc. While this doesn't provide any particular productivity increase, it very much increases the level of apparent interaction with the system, which actually makes things feel more responsive. From what I understand of Carbon events, it's possible for a faceless background app to "watch" events going on in other apps, systemwide, and respond to certain events with, oh, say, a sound. Anyone interested in cooking this up? Ideally it should support a plug-in architecture like Mac OS 8 and 9 did, and I suspect you'd get extra kudos for making it able to read Mac OS 8 and 9 sound set files (since there are literally hundreds already floating around on the Internet), though for the sake of compatibility I would code in the ability to read the sounds from either the resource OR the data fork.
  • Random Desktop Pictures.
    Again, no great functionality increase, but it's another feature that still doesn't exist in Mac OS X. This is a really simple concept; choose a folder, and desktop pictures from that folder will be loaded randomly at each startup (read: login). I suppose this could be accomplished with an AppleScript, as well... but if such a thing doesn't yet exist, it really should.
  • A "Favorites" Menu Extra.
    Apple did a pretty good job in replacing the function of the old Apple menu with the Dock, but there's still one rather annoying thing left - Dock folders take up valuable real estate, and unless you control-click them you'll have to wait for them to decide to actually pop up. This should get less annoying when CoreGraphics' icon plotting routines no longer so much resemble molasses in January in Maine, but even then I can see many many good reasons for making a Menu Extra to store favorite items, with alias resolution and all that nice stuff.
  • Program Switcher.
    No, I'm not talking about the Application Switcher palette -- may it rest in peace, and stay there. I'm talking about the Program Switcher control panel by Michael Kamprath. The Command-Tab functionality built into the Dock is horrible, for me at least, since it's hard-coded to cycle through the applications in the order they happen to take in the Dock. I want to be able to switch back and forth between my two most recent applications with a single command-tab, like Program Switcher does, and the ability to Option-Tab and switch between windows of an application (with some sort of visual feedback, like a window list) would be very welcome as well. I've emailed Michael about the possibility of updating Program Switcher to Mac OS X, but never got a reply, so I suspect a similar product for OS X might be necessary.
These are only a couple of the many features I think should be added or re-added to Mac OS X... and it's not counting a lot of the more obvious ones like an Open With CMM (when the CMM API finally gets exposed, that is)... any takers? Technical issues with anything I've suggested? Grumbled demands to just use the command line and get it over with?

I appreciate any discussion.
     
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status: Offline
Reply With Quote
Aug 15, 2001, 06:38 PM
 
Originally posted by Phoenix1701:
<STRONG>Sound sets.
Maury McCown over at RAILhead Design, among many other people I've talked to, sorely misses the Mac OS 8/9 ability to have audio feedback from the OS when performing certain tasks like clicking buttons, menus, etc. While this doesn't provide any particular productivity increase, it very much increases the level of apparent interaction with the system, which actually makes things feel more responsive. From what I understand of Carbon events, it's possible for a faceless background app to "watch" events going on in other apps, systemwide, and respond to certain events with, oh, say, a sound. Anyone interested in cooking this up? Ideally it should support a plug-in architecture like Mac OS 8 and 9 did, and I suspect you'd get extra kudos for making it able to read Mac OS 8 and 9 sound set files (since there are literally hundreds already floating around on the Internet), though for the sake of compatibility I would code in the ability to read the sounds from either the resource OR the data fork.</STRONG>
I very much doubt this is possible, and getting it implemented in Carbon AND Cocoa would be a bitch. Hmm... I guess it's possible though, but the problem is that very VERY few people care about soundsets.

<STRONG>Random Desktop Pictures.
Again, no great functionality increase, but it's another feature that still doesn't exist in Mac OS X. This is a really simple concept; choose a folder, and desktop pictures from that folder will be loaded randomly at each startup (read: login). I suppose this could be accomplished with an AppleScript, as well... but if such a thing doesn't yet exist, it really should. </STRONG>
No, this cannot be accomplished with an AppleScript, or anything else at this time. There is no way to do this. This has been discussed before. There may be a way to do this in Puma, I'm not sure. But the only current way of doing this involves killing the finder and editing its preferences directly. In Puma, this functionality is taken out of the Finder's hands, and is now in a preferences pane, I think.

<STRONG>A "Favorites" Menu Extra.
Apple did a pretty good job in replacing the function of the old Apple menu with the Dock, but there's still one rather annoying thing left - Dock folders take up valuable real estate, and unless you control-click them you'll have to wait for them to decide to actually pop up. This should get less annoying when CoreGraphics' icon plotting routines no longer so much resemble molasses in January in Maine, but even then I can see many many good reasons for making a Menu Extra to store favorite items, with alias resolution and all that nice stuff.</STRONG>
What is this "menu extra" you speak of? If you mean adding this to the Apple menu, then this is not possible (without reverse engineering loginwindow and various other bits of the system at least). If you mean something like ASM, then that's possible.

<STRONG>Program Switcher.
No, I'm not talking about the Application Switcher palette -- may it rest in peace, and stay there. I'm talking about the Program Switcher control panel by Michael Kamprath. The Command-Tab functionality built into the Dock is horrible, for me at least, since it's hard-coded to cycle through the applications in the order they happen to take in the Dock. I want to be able to switch back and forth between my two most recent applications with a single command-tab, like Program Switcher does, and the ability to Option-Tab and switch between windows of an application (with some sort of visual feedback, like a window list) would be very welcome as well. I've emailed Michael about the possibility of updating Program Switcher to Mac OS X, but never got a reply, so I suspect a similar product for OS X might be necessary.</STRONG>
You can change the order of things in the dock, I don't know what you're talking about. "Show next window" is implemented as cmd-1 in OmniWeb, but not other Cocoa apps it doesn't seem (the programmer could easily add this, though). I suspect this *MIGHT* be possible via some serious haquery of AppKit as described at http://www.cocoadev.com/index.pl?GlobalModifications but I'm not willing to try it

<STRONG>These are only a couple of the many features I think should be added or re-added to Mac OS X... and it's not counting a lot of the more obvious ones like an Open With CMM (when the CMM API finally gets exposed, that is)... any takers? Technical issues with anything I've suggested? Grumbled demands to just use the command line and get it over with? </STRONG>
I'm implementing system-wide windowshade, if you care, but only for Cocoa apps. It's still fun, though
     
Senior User
Join Date: May 2001
Location: Massachusetts, USA
Status: Offline
Reply With Quote
Aug 16, 2001, 06:38 PM
 
I very much doubt this [global sound sets] is possible, and getting it implemented in Carbon AND Cocoa would be a bitch. Hmm... I guess it's possible though, but the problem is that very VERY few people care about soundsets.

Hmm... so are you saying it's not possible, or that it is possible but not worth the energy?

No, this [random desktop pictures] cannot be accomplished with an AppleScript, or anything else at this time. There is no way to do this. This has been discussed before. There may be a way to do this in Puma, I'm not sure. But the only current way of doing this involves killing the finder and editing its preferences directly. In Puma, this functionality is taken out of the Finder's hands, and is now in a preferences pane, I think.

That fairly sucks. I hope you're right about it being possible in Puma...

What is this "menu extra" you speak of? If you mean adding this to the Apple menu, then this is not possible (without reverse engineering loginwindow and various other bits of the system at least). If you mean something like ASM, then that's possible.

Menu Extras are a 10.1 thing, designed to replace Dock Extras. They're just menu bar icons, a la ASM, but they have an official API. Apple will include a few of 'em with the default 10.1 install.

You can change the order of things in the dock, I don't know what you're talking about. "Show next window" is implemented as cmd-1 in OmniWeb, but not other Cocoa apps it doesn't seem (the programmer could easily add this, though). I suspect this *MIGHT* be possible via some serious haquery of AppKit as described at http://www.cocoadev.com/index.pl?GlobalModifications but I'm not willing to try it

Ew. Yeah, you can reorder icons in the Dock, but that makes them STAY in the Dock, which you don't always want... the idea is that if I have ten applications open, and want to switch back and forth between only two of them, currently I'm forced to tab through the other eight each time I switch. I might tab through five when I switch from program A to program B, and then the other three when I switch back to program A, but all told I will have hit the tab key eight times more than I'd have to if Command-Tab (or some other utility that supports switching apps) ordered applications by how recently they'd been used instead of their position in the Dock. Similarly, as a developer you should know all about the concept of consistency; the Command-1 trick in OmniWeb ONLY works in OmniWeb, and therefore users can't develop muscle memory to significantly speed window switches. Most of them will either go up to the Window menu anyway, or just minimize all the windows until they get to the one they want, move it out of the way, maximize all the windows again, and then click on the one they want, which is an even worse solution (but the only one that currently works globally, since not all applications support a Window menu either). Option-Tab (for example) implemented system-wide to switch between windows would solve the problem once and for all, in all applications, all the time.

I'm implementing system-wide windowshade, if you care, but only for Cocoa apps. It's still fun, though
I care. Will you be releasing this? Is there a URL I can go to to check out the development? I followed AquaShade when I heard about its development at MacHack, but I've never gotten a copy of it, and I hear it's deathly slow anyway...
     
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status: Offline
Reply With Quote
Aug 17, 2001, 12:52 PM
 
Originally posted by Phoenix1701:
<STRONG>Hmm... so are you saying it's not possible, or that it is possible but not worth the energy? </STRONG>
Anything is possible, it just depends on whether it requires reading disassembled binaries and changing them from there

I think that possibly you could, in Cocoa at least, create a hack that subclassed EVERY SINGLE widget and then executed sounds according to actions applied to them, but this would be
1) A very big hack
2) A very big hack
3) Slow
4) Yucky.

<STRONG>Menu Extras are a 10.1 thing, designed to replace Dock Extras. They're just menu bar icons, a la ASM, but they have an official API. Apple will include a few of 'em with the default 10.1 install.</STRONG>
I know what Menu Extras are, I was just wondering what you were referring to. But here's Apple's word on them:

Please note that the system menus area of the main menu bar is not being
made available to 3rd party developers and is reserved by Apple. The Dock is
intended to be the point of entry for 3rd party developers providing this
type of global access functionality.
That's not to say that it won't be possible, though... Just because Apple doesn't publish APIs doesn't mean that they're not there

<STRONG>Ew. Yeah, you can reorder icons in the Dock, but that makes them STAY in the Dock, which you don't always want... </STRONG>
True. Don't know if this would be possible though... (see note above regarding general possibility )

<STRONG>I care. Will you be releasing this? Is there a URL I can go to to check out the development? I followed AquaShade when I heard about its development at MacHack, but I've never gotten a copy of it, and I hear it's deathly slow anyway...</STRONG>
I will probably release it just for fun. It will be very evil though, and require some extreme hackish steps (replacing the AppKit framework, modifying the binary to make it link against another framework, etc). But fun nonetheless

See http://www.cocoadev.com/index.pl?GlobalModifications -- I'm FinlayDobbie.
     
Senior User
Join Date: May 2001
Location: Massachusetts, USA
Status: Offline
Reply With Quote
Aug 17, 2001, 09:01 PM
 
Originally posted by Angus_D:
<STRONG>I think that possibly you could, in Cocoa at least, create a hack that subclassed EVERY SINGLE widget and then executed sounds according to actions applied to them, but...</STRONG>
Whoa! Okay, you can stop right there, nevermind... forget I asked! *shudders at the very thought of implementing a hack that ugly* I was hoping that each widget would already send out an event when it was clicked, that could be intercepted en route and then spirited back off to wherever it was originally intended to go... but I guess that's not how it works, huh?

Originally posted by some Apple flunkie somewhere:
<STRONG>Please note that the system menus area of the main menu bar is not being made available to 3rd party developers and is reserved by Apple. The Dock is intended to be the point of entry for 3rd party developers providing this type of global access functionality.</STRONG>
Hm. I am having two simultaneous and conflicting reactions to this statement. Neither are very favorable toward Apple. The first, which occured slightly before the second, is outrage and the overwhelming urge to knock some corporate heads together. The second is a desire to quote the above in an email to Apple, the entire body of which would consist of the words, "F*ck you.", and then go hack apart and document the API.
This is ridiculous! Apple realizes that Dock Extras are ugly and wasteful, so they move on to a better solution, but then refuse to allow third-party developers to do the same? That is utterly unbelievable. Let the hacking begin.
     
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status: Offline
Reply With Quote
Aug 18, 2001, 06:27 AM
 
Originally posted by Phoenix1701:
<STRONG>Apple realizes that Dock Extras are ugly and wasteful, so they move on to a better solution, but then refuse to allow third-party developers to do the same? That is utterly unbelievable. Let the hacking begin.</STRONG>
That's not quite how it is. The mentioned "dock menu API" is in relation to the modification of YOUR APPLICATION's dock menu (ctrl-click on the icon in the dock), which at the moment just displays a window list and some pre-defined actions. This is definitely very good (means things like the ugly iTunes dockling will be a thing of the past, with the other commands rolled into the iTunes Dock menu).

I personally think that menu extras are NOT the right place for system configuration things like monitor settings -- the control strip was much better because it could be collapsed out of the way when not in use. There are some other things that might make sense to put in the menubar globally, though.

I don't think that the APIs are formalised yet, so we might have some surprises by the time 10.1.0 rolls around

I can see the argument for keeping the Menu Extra API closed, but considering Apple's use for it, I don't think that any 3rd party additions could possibly be any worse!
     
Mac Elite
Join Date: Oct 2000
Status: Offline
Reply With Quote
Aug 18, 2001, 07:29 AM
 
Reserved shmaserved. Please note that ASM and QuicKeys have already done things like this for OS X
     
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status: Offline
Reply With Quote
Aug 18, 2001, 07:41 AM
 
Originally posted by Synotic:
<STRONG>Reserved shmaserved. Please note that ASM and QuicKeys have already done things like this for OS X </STRONG>
Using a different API (NSStatusItem and NSStatusBar). They're not real menus, either, AFAIK. But this API is still there in 10.1, according do Apple Employees.
     
Mac Elite
Join Date: Jul 2000
Location: Washington, DC
Status: Offline
Reply With Quote
Aug 19, 2001, 03:01 AM
 
Apparently someone has already figured out the menu extra problem. Check out this menu extra if you're running a dev build of 10.1: http://www.massinova.com/dockling/menu.sit

It works and has a quality icon that mimics Apple's b/w theme with the other menu extras. Shouldn't be too long before we get more menu extras (besides those that Apple provides)...

I, too, was quite angry to hear that Apple intends for the Menu extras to be officially reserved for them alone. I wonder if there is much truth to this, as it seems like it has spread through the forums more as a rumor, and not fact.

How did it come to this? Goodbye PowerPC. | sensory output
     
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status: Offline
Reply With Quote
Aug 19, 2001, 03:13 PM
 
Originally posted by krove:
<STRONG>I, too, was quite angry to hear that Apple intends for the Menu extras to be officially reserved for them alone. I wonder if there is much truth to this, as it seems like it has spread through the forums more as a rumor, and not fact.</STRONG>
http://forums.macnn.com/cgi-bin/ulti...4&amp;t=001338
     
Fresh-Faced Recruit
Join Date: Sep 2001
Status: Offline
Reply With Quote
Sep 2, 2001, 07:00 AM
 
Random Desktop Pictures.
Again, no great functionality increase, but it's another feature that still doesn't exist in Mac OS X. This is a really simple concept; choose a folder, and desktop pictures from that folder will be loaded randomly at each startup (read: login). I suppose this could be accomplished with an AppleScript, as well... but if such a thing doesn't yet exist, it really should.
tindin...here it is, under GPL. http://homepage.mac.com/steg/randombackground/
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 11:25 PM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2