Lots of Good Design Ideas Bounced Around for CorePlot
The last few days Drew has started a few threads on the CorePlot discussion Google Group and it's brought out a lot better discussion than I really expected to hear so early in the game. There are clearly a lot of folks that have done plotting work - several PhDs in the sigs. Nice. It's a group of guys like myself that have tried and had some success (or not) on different platforms, and certainly more than a little experience on the Mac platform.
All the ideas I had - preferences and strong beliefs, have been covered already so I don't yet feel the need to get into the discussion, but if I hear something that makes me nervous about what they plan, I'll be sure to chime in.
The basics are very nice:
- All ObjC - this is nice as the DataGraph work is a lot of C++, which isn't bad, but it's not as clean as ObjC and it means that a lot of the nice things available in ObjC aren't going to be in DataGraph. Specifically, categories for being able to "front" datasets to the data graphs.
- Protocol/Category for Data Access - like this as it means that I can make a data source object (like the NSTableView) and feed multiple things. Very nice.
- Healthy Debate on Datatypes - lots of discussion on double versus NSDecimal. I can see merits of both, but speed is going to favor the double, and as long as that's an option, that's OK. It seems there may be two ways to do this and one essentially feeding the other. Not bad.
- Signal Processing is Out - good, that should be done by the caller, or they can make a layer between the CorePlot stuff and their stuff. Keep it to graphing.
- Solid 2D Graphing - all the things you'd expect are there for 2D graphs. Everything seems solid and even really nice for a few things like CoreAnimation for plot fading in/out. Nice goodies, but stuff I might not use very often.
There are a lot of things I'm looking forward to use this for: the Potientials code I have - been waiting on some nice graphing for a while. Then there's a series of "monitors" that are accessible via DO or sockets library in CKit - for example. It'd be nice to be able to have a general "strip chart recorder" for data coming out of an app. Like an interesting take on debugging. Hook this up, and bang! you have an independent plotting window that takes your data and plots it nicely. Neat ideas. Can't wait to get started.
This is certainly going to update my ObjC (2.0) skills as well as all the new classes in 10.5... going to be an exciting time.