[Biococoa-dev] BCSequence class cluster

Alexander Griekspoor mek at mekentosj.com
Sat Jan 8 08:36:40 EST 2005

>> Given that, I think we should proceed with caution,
>> and perhaps ask Apple's Cocoa Dev list for their opinions on when to 
>> use a
>> class cluster.
> I totally agree that such a big design decision should be carefully 
> questioned and then carefully planned, be it class clusters or not. It 
> seems to me that with the core of BCSequence in place, the arrival of 
> annotations and of BCTools, some design decisions have to be taken 
> anyway.
Yes, we obviously have hit this point a few times now, and I start to 
believe in Charles' class cluster approach, it seems to have some basic 
properties that will make especially annotations and tools in a 
direction that I have more faith in than the public subclassing 
approach. And these are even the only things we've thought about now. 
In the end the real question is what approach is the most flexible and 
provides us with the strongest foundation to build upon.

> I did raise an additional sets of questions and pointed to some 
> issues, coming after many of the discussions you had before. It seems 
> you already had to take some decisions in the past, and more are 
> coming! All these discussions are useful (!), even though right now, 
> it seems to be all theoretical and no decision has been taken. In 
> fact, one could get the feeeling that such discussions could go 
> forever, and stall the project.
Yes, and result in longer and longer emails LOL, luckily there's the 
40Kb limit of the biococoa list server after which Peter will have the 
final word ;-)

> I agree with you that the current design decisions could be critical 
> for the future, so one or two weeks of discussions are no big deal. 
> This way, we can see where the questions are, and get a sense of the 
> priorities before coming up with a roadmap, and also a set of yes/no 
> design questions to take a decision on. And then all vote, and then 
> Peter makes the decision.. I am just guessing at the current process 
> for decision taking ;-)
Like I said ;-)
> What the other BioX efforts can show us, is what kind of tools can 
> exist, what type of sequence can exist, what kind of annotations, and 
> how they all play together. I personnaly don't have much knowledge of 
> the other BioX efforts. How about you guys?
Koen seems to have the most, he can often tell us how things are done 
in BioPerl and BioJava, which is really informative.
> Regarding class cluster.
> To quote Apple, 'The grouping of classes in this way simplifies the 
> publicly visible architecture of an object-oriented framework without 
> reducing its functional richness'.

And that's exactly what we're looking for as well IMHO.

> Asking the cocoadev mailing list (or a discussion on cocoadev.com) is 
> a very good idea. I thought about it at some point. Ultimately, 
> because WE are the biologists, only us can decide wether dna and 
> protein sequences are as close to each other as, eg int and float (cf 
> NSNumber).

Yes, and I'm afraid that although it would be informative to have 
others mix in the situation, I'm afraid it will lead to more discussion 
but less decisions. I think we should be careful with dropping the ball 
somewhere else with a simple "what do you think?" I would propose to 
invite people to have a look that we already know and ideally are both 
in Biology and Cocoa/BioX projects. We all know a few people like that 
I guess.
Look at the impact that the involvement of Charles has!
For example, I could invite Serge Cohen (Serge if you're reading this, 
I'll let you know why I send you this email ;-) to share his opinion 
(he's somewhat more from the informatics than from the bio side in 
contrast to most of us), or I could ask a guy from Apple I met at the 
WWDC if he has suggestions. If we all do that, I think it would result 
in more constructive discussions than simply asking on cocoa-dev.
> To go further, let 's go very far (or not so far) in the future. What 
> could BioCocoa be? For me, it seems it could do to sequences what the 
> WebView does with web pages.
Yep, my idea as well.

> Thanks to the simplicity and power of WebView, with two lines of code 
> (or even just a few links in a nib), you get a web browser. Imagine 
> the same with BioCocoa. A nib with a BCSequenceView in a window, and a 
> few menu items like 'complement', 'reverse', etc... Then a few lines 
> of code in a controller would allow the user to load a sequence from 
> file, choose complement in the menu and get a new window with the 
> complement. The developer of that app (I can't call him the user 
> anymore, sorry!) would not have to know which type of sequence the 
> view is dealing with. So it would just forward the 'complement' calls 
> to the sequence in the view and pop up a new view with the returned 
> sequence, no question asked. What if the user of the app opens a 
> protein sequence, and chooses complement in the menu. What should the 
> user of the app expect? Well, the user should not be surprised to get 
> the same sequence back, or some empty window, or nothing. The 
> developer of BioCocoa are not to blame, the developer of the app is 
> not to blame, the user of the app can only blame himself for that and 
> if he does not understand what is happening, he should probably not 
> use that app!! In the meantime, BioCocoa has made the life of the 
> developer of the app very easy; it took less than an hour to build a 
> good-looking app; and should more types of sequence be added in the 
> framework, no need for any change in the code. I love that story :-)

                     ** Alexander Griekspoor **
               The Netherlands Cancer Institute
               Department of Tumorbiology (H4)
          Plesmanlaan 121, 1066 CX, Amsterdam
                    Tel:  + 31 20 - 512 2023
                   Fax:  + 31 20 - 512 2029
                   AIM: mekentosj at mac.com
                  E-mail: a.griekspoor at nki.nl
               Web: http://www.mekentosj.com

               4Peaks - For Peaks, Four Peaks.
        2004 Winner of the Apple Design Awards
                Best Mac OS X Student Product


More information about the Biococoa-dev mailing list