After several weeks of work, I think I'm finally at a point where I can release my first public Cocoa control! I give you: MBTableGrid

As you can see, it provides a spreadsheet control for Cocoa -- a pretty basic control that's been strangely absent from the Cocoa landscape. My control provides column and row reordering, drag selection, and drag and drop functionality. The only feature that seems glaringly lacking right now is column resizing. I plan to add that in soon, but with classes gearing up for the quarter, I wanted to go ahead and get this out so it doesn't get lost in the dusty corners of my free time. Regardless, this should provide a pretty solid foundation for anybody who's needed to display their data in a selectable, tabular format.
MBTableGrid uses the Data Source+Delegate model, similar to NSTableView, so getting this control set up and ready to go should be a no-brainer for anybody who's worked with NSTableView in the past. Even if you're not too familiar with the model, the extensive documentation should help get you started.
Head on over to my code page to grab it and try it out. And please, let me know what you think! What can I add? What can I improve? Leave a comment!
P.S. I'm trying to get into Twitter, so please follow me!
I just uploaded a new version of DoxyClean. Highlights:
- Added support for protocols
- Fixed spacing on protocol declarations for data types
- Added a "last updated" timestamp at the bottom of object pages
- Added mouse-over tooltips to Tasks links
You can grab it from my code page.
Also, for anyone who's using DoxyClean in any capacity, I'd love to hear from you. What features do you need (other than cross-class linking. I'm working on that!)? Please, leave me a comment with any requests you've got!
I just uploaded a quick update to DoxyClean. The new version fixes a bug where the index page would fail to generate if the project either contained no classes or no categories. Grab it at the code page.
Sorry for the lack of posts! Finals are in full swing right now, but I promise much more content in the next few weeks (as a tease, I'm working on a pretty cool Cocoa control right now. Stay tuned!)
This weekend, I logged into my girlfriend's Netflix account to watch some episodes of Dead Like Me using the instant watch feature. The process was really smooth, and the quality was pretty impressive for streaming video. Oh wait! I forgot a step: I booted Parallels.
Netflix's streaming video is one of many streaming services which only support Windows. Now, this isn't Netflix's fault, but it doesn't change the fact that it's rather unpleasant to use on the Mac. What's to be done, then? How can the Mac become more viable in these contexts? What we really need is standardized DRM.
What we as consumers need is for the major movie studios to get together and outline, concretely, what their requirements are from DRM. They need to say "we, as content owners, are officially alright with the terms of this DRM." This specification needs to be brought to the ISO. Afterwards, independent groups can flesh out the specification into actual software.
Note that I am not saying that the MPAA needs to open up its catalog to anybody who properly implements the DRM spec. They're free to negotiate the terms of licensing its catalog with anyone they want. What I'm saying is that the intricacies of the DRM should not be part of those negotiations. This would keep the financial aspects of catalog access between companies, and it would move the responsibility of playback into the hands of developers.
Want to watch on your PC? I'm sure a player would be out before the spec is even finalized. What about your Mac? Anyone with motivation would be free to create a compatible player (ideally, of course, the DRM code would just be added into Quicktime, as FairPlay has). Linux? iPod? Super-awesome wristwatch? It's all just a matter of somebody caring enough to write a player which conforms to the specifications.
As a user, I don't care about the technical details of this mythical spec. Make it phone home, check my fingerprints, and analyze my dog's stool, if that's what it takes! I don't care! Just make it work. Hell, even as a developer, I still don't care. While a nice, easy-to-understand specification would be ideal, I'll cope with a ridiculously-complex, unintuitive spec if that's what it takes. Again, just make it work.
Is this an overly-idealistic vision of the world? Yes. Is it ever going to happen? No. Is that alright? No. However, the MPAA could restore a lot of consumer goodwill by simply working a little bit harder to make its content available to those of us who want it. We'll pay for it. Really.
I just uploaded a quick update to DoxyClean. Here's the changes:
- Fixed prototype formatting (multiple parameter no longer run together)
- DoxyClean now only generates documentation for classes/categories which have been documented
- Fixed issue with printing XHTML output
Head on over to the code page to grab it!