On 1/6/07, Thilo Goetz <[EMAIL PROTECTED]> wrote:
As I see it, we're not going to reach consensus on this issue.  I guess
this is at least in part due to the fact that we disagree on the basic
premises underlying this redesign.  I am -1 to the current proposal, and
I'll give my reasons below.  However, I think we've mostly discussed
most of what I have to say, and if everybody else thinks the current
proposal is a good idea, I will not stand in its way.

Yes, we have no consensus... And I don't think it's just you, Thilo.
Marshall is still proposing changes and asking questions, and Eddie
and Michael haven't had enough bandwith to devote much time to
understanding and considering all the implications.

And I must admit, I myself am having second thoughts about the
problems with getting JCas to work, and about all the deprecation
warnings we'd be causing in users' code.

I suppose then we ought not to rush these changes in.  I still think
we missed an opportunity here, but it's not going to help anybody to
rush in some changes that haven't been fully thought out.

You're probably right that single-Sofa users will be happier if we
*don't* do this change, and multi-sofa users are I think still a
relatively small population and it may not be worth doing such a risky
change to try to make them happier.  They are generally sophisticated
enough to adapt to whatever confusing API we present to them anyway.
:)


I question the need for backward compatibility for Sofa-unaware
annotators.  Those days are over.  This basic tenet robs us of the
ability to clean up the CAS APIs.

I think we're as far apart as ever on this point.  In fact I'm so
concerned with backward compatibility for Sofa-unaware annotators that
I started to have cold feet about even *deprecating* the methods they
use!  Ironically, our diametrically opposed positions lead us to both
question the current proposal... however, it does not bode well for
agreeing on doing anything in UIMA 3.0 either. :(


The CommonCas interface adds to the confusion, because it isn't (a
common CAS API).  It follows the methodology that everything that can be
abstracted, is abstracted.  However, that's not how people think.  We
like to think in API groups and what things logically belong together,
not what can and can not be grouped because of method return types.  So
all it does is add to the confusion because you always have to look in
two places for APIs.


I think I agree with this... but see the other thread.

So here's what I would do:

- Start discussing UIMA 3 now.  Take a clean slate approach, consider
how we want to handle indexing in the future.  Have a couple of beta
releases to get feedback from users.

- Support both UIMA 2 and 3 in parallel, for as long as necessary.
Consider interoperability, possibly in the same JVM.


I think interoperability in the same JVM is a requirement.  Maybe
before doing a clean slate design we ought to have a strategy for
interoperability.  I don't really see how we do this other than
keeping the current CAS interface and adding a completely new one
that's named something different (but what?).  Or does anyone have a
better idea how to accomplish interoperability?

As for the actual clean slate design, I think maybe we ought to give
the OASIS TC a few months to see what transpires, and try to figure
out how this whole "implementation should conform to the
specification" thing is supposed to work.

In the mean time there should be plenty of work in getting UIMA 2.1
out and trying to cultivate a user community and attract some
developers.  Having a user community may also help in any future
redesign.  Thilo keeps saying he wants to hear the users'
complaints/suggestions for himself on uima-user, rather than filtered
through our personal interactions with the users.  That's a good idea,
but it will take some community-building work to get there.

-Adam

Reply via email to