Re: make that dataSource (was Re: an interesting delegate design issue raised by IB...)
Re: make that dataSource (was Re: an interesting delegate design issue raised by IB...)
- Subject: Re: make that dataSource (was Re: an interesting delegate design issue raised by IB...)
- From: "Michael B. Johnson" <email@hidden>
- Date: Wed, 12 Sep 2001 11:27:05 -0700
- Organization: Pixar Animation Studios
Enrique Zamudio wrote:
>
>
Well, don't forget that in this case you are developing something that will
>
be used by developers. So it shouldn't be a big deal to make a developer
>
handle the data source of an object. Actually it might be better because that
>
way the developer will understand better the way your object works.
>
>
You might want to consider letting your object's data source handle the
>
images even from IB. It's better in the sense that your users will know where
>
the images are getting stored... if I drag images to your object and later I
>
see that they're really in a data source, wouldn't that be a little
>
confusing? I mean, come on, I'm a developer, I can understand if you make me
>
drag the images into another object that is the data source of your image
>
view...
>
Like I said in my original post, I realize this is a case of wanting my cake and eating it too. I
would like one class where to start using it, a user/developer could just drag one off the palette
onto a window, and then drag images on to it, using it just like a NSImageView, but being able to
leverage the additional power of my class (zooming, fullscreen, compositing, etc.).
After they've become comfortable with it and use it in many places, and they come up with a more
sophisticated use for it that involves sharing image data among other views, I'd like them to just
be able to use that class and wire it up to a data source, and voila - have it "just work".
I'd rather they didn't have to actually understand notifications, delegation, data sources, etc.
just to get started.
<mild rant>
Trying to introduce people to Cocoa, this is a big problem I see: NEXTSTEP/Openstep/Cocoa was/is the
best GUI application framework I've ever seen; arguably it's the best one ever written. The major
impediment to an explosion of amazing apps is that you have to be very smart, and have access to
other smart people and ask them the right questions in the right order to get up the hill such that
you're able to really leverage just how powerful and well designed Cocoa is. I was there with
NEXTSTEP, I sat out the Openstep stuff, but I'd like to get back in there for Cocoa, and am
interested in figuring out how to get more people to come along with me.
One of the points of putting classes on IB palettes is so that people can use them with a minimum of
understanding - they should be able to drag an instance off a palette and immediately use it - not
have to read header files, not have to read README files, not have to be a terribly sophisticated IB
user. Ideally, though, once they do become more sophisticated, and read the README (or eventually
the header file :-)) they shouldn't have to switch over to a whole new set of objects to utilize
these ideas - they should ramp smoothly up to the next level.
</mild rant>
- wave