Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [e4-dev] Re: Trident (was: animations)

Hi Boris

I have developed most of the code (under BSD) and some of the classes were developed by Sun people (also under BSD). Let me know if you have any questions for me about the IP.

About splitting the trident.jar into pieces. First, technical details:

* Support for each UI toolkit is less than 10KB in the final jar. So the size shouldn't be a problem.
* Trident gracefully degrades when the specific UI classes are not in the path (specifically relevant for SWT and Android). So you shouldn't be getting any runtime exception on missing classes.

If given that you still want to strip away these classes, i can tweak the build.xml to produce:

* The full runtime jar
* The core jar without any UI specific classes
* "Plugin" jars - one for each UI toolkit

About Timeline / SWTTimeline. I wouldn't necessarily want to see an over abundance of UI-specific extensions of Timeline classes. If you want to remove the declarative mechanism for some reason, you can call TridentConfig.getInstance().addUIToolkitHandler somewhere in e4 / app code. Trident will figure out if the specific timeline needs special UI support based on the main object of that timeline.

About OSGi support - let me know what entries are required in manifest and i will add them in 1.2dev branch.

Thanks
Kirill


From: Boris Bokowski <Boris_Bokowski@xxxxxxxxxx>
To: E4 Project developer mailing list <e4-dev@xxxxxxxxxxx>
Sent: Thu, December 3, 2009 12:44:35 PM
Subject: [e4-dev] Re: Trident (was: animations)

Hi Kirill,

Kirill Grouchnikov wrote on 11/29/2009 07:51:40 PM:
> In any case, it is quite unlikely that Trident will be contributed
> to e4. It is a general purpose animation library that does not
> target SWT specifically. It has special built in support for UI
> toolkits, with out of the box support for Swing, SWT and most
> recently Android. If there's anything missing to support SWT, i'm
> happy to add it, but the way i see it Trident is a third-party
> dependency jar in e4. Otherwise it's just maintaining two separate
> versions of the same library in two separate places.

I finally had a chance to look at Trident. I think it looks promising and could be the way for us to get animation support in e4. If moving the project to eclipse.org is not an option, then as you say, we'll have to consume it as a third-party library. This does mean that we'll have to go through the Eclipse IP review for any new version of Trident, but that's just how it is.

Would you be willing to make Trident easier to consume for us? Ideally, this would mean packaging it as an OSGi bundle (this really just means adding a bunch of headers in the manifest file), but also splitting it into parts so that we could use just the core and the SWT part, but not the Swing or Android support. Also, I am wondering if your current architecture for configuring which toolkits are supported could be changed to make it more explicit? What would be wrong with removing the declarative configuration mechanism (trident-plugin.properties) and instead requiring clients to instantiate the kind of timeline they want? E.g. write "Timeline rolloverTimeline = new SWTTimeline(button);" instead of "Timeline rolloverTimeline = new Timeline(button);"?

Finally, this is just providing us with a mechanism for implementing animations. The next question is if there is anybody who can sign up for starting to use this in one of our demos, collecting use cases, and working on the problem of how best to expose this to clients. For example, would it make sense to put animation support into the CSS styling engine, analog to how you can declare animations in HTML 5?

To summarize, I am looking for:
- Feedback from others re: can we go ahead and use Trident as the animation library in e4?
- A response from Kirill how much he would be willing to help us consume Trident in e4?
- Someone who can drive this whole topic forward on the e4 side, because here at IBM Ottawa, we have enough on our plates already. I'm ready to start a new committer election... ;-)

Boris



Back to the top