GTween V2: What About TweenLite?

I’m sure many people will be curious what the release of GTween v2 means for my relationship with Jack and TweenLite. The short answer is “nothing”. I am continuing to work with Jack to make TweenLite (and the greensock family) better. In fact, I delayed the release of GTween v2 to ensure TweenLite v11 got all the attention it was due.

Given that, you’re probably wondering why I would release a whole new version of GTween. It all comes down to the core nature of each project.

TweenLite is a stable, well supported library with a dedicated developer and a lot of concern for minimizing painful transitions between versions. This commitment to stability makes it a great choice to use as a developer, but it makes it harder to try out radically new approaches or interfaces.

In stark contrast, GTween is an experimental library built entirely to meet my personal needs and whims at any particular moment. It is completely unsupported, and subject to periods of neglect followed by massive rewrites that involve wide ranging changes to its API. This makes it potentially difficult to work with as a developer, but it means I can use it as a sketch pad to try new ideas out, and gain feedback from the brave souls who use it.

As an example, I never intended to write GTween v2. I had planned one more minor release after beta 5 to address outstanding issues, but certainly not a rewrite. However, I was procrastinating on preparing my code optimization session, and started playing with applying some of those ideas to GTween. This sketch rapidly progressed into a whole new version over the course of a weekend. I don’t believe in letting good code rot (I’ve done enough of that in the past), so after consulting with Jack, I decided I may as well polish it up and release it.

I don’t have any current plans to make further updates to GTween. It’s finally a stable, extensible code base that I feel happy having my name attached to. However, you never know what will happen the next time I find myself procrastinating.

So, moving forwards GTween will remain my occasionally updated experiment tweening library. I invite anyone to use it and extend it, but I won’t be supporting it, and I’m not promising any updates. I will be putting more focused energy into working with Jack to improve TweenLite. Jack and I are both hoping that the things I learn from playing with GTween (and the feedback I get on it) will apply directly to making TweenLite an even better library.

On a related note, I know that Jack’s licensing is a bone of contention for some people, but it’s worth noting that this licensing is the reason he can provide support and continue to churn out awesome updates like v11. Open source projects have a habit of dying from neglect when their original author gets busy or bored (see: most libraries I’ve released over the years). Jack has found what I think is a fair compromise, making his library free for almost everyone, but charging for use when it directly makes money. Yes, this complicates things for some projects, but there are alternatives for when you just can’t make it work.

It’s also worth noting that I do not take any share of the licensing fees Jack receives. I don’t get anything out of helping guide or promote TweenLite, except the satisfaction of contributing to one of the best and most popular tween libraries available, and the enjoyment of working with Jack (who’s an all round good guy).

So please, if you play with GTween, give us some feedback. Are there features or approaches you’d like to see in TweenLite? Things you wouldn’t want? Jack and I are both listening.

Grant Skinner

The "g" in gskinner. Also the "skinner".

@gskinner

16 Comments

  1. wow great … liked the approach of GTween V1 very much and I will definitely look into V2

    keep uo the fantastic work

  2. Thanks for the update!!

    When previous talks were mentioned about merging the libraries I pictured you and Jack holding hands, walking into a perfectly tweened sunset. OR maybe just a name change or more visibility from you on Jack’s site. (I just now saw the Thank You in the release)

    Your point about GTween being an experimental passion project vs. TweenLite’s stable and constant development have helped me decide on my go to-library, but I’m definitely going to give the new GTween a test spin.

    Anyway, Nice work on both libs, and Thank You!

  3. Thanks for discussing the big picture differences between the two tween libraries. Since Zigo Fuse I’ve often wondered why there were new Tween Libraries being developed, instead of other librarie such as menu, batch up/download libraries, and FX. It seemed to me like a lot of people in the Flash world had strange fetishes with tweening = ] I love experimental libraries, so I respect & admire what you’re doing with GTween.

  4. I think that I’ve realized that making use of a tween library is so personal, it’s kind of like picking or customizing an operating system. I mean, look at how many different builds of Unix there are. OS X is a build of Unix if you want to be technical about it.

    Choosing an OS is different than choosing a utility. It affects almost everything you do every day. I think that using a tween library is so fundamental to Flash development nowadays, that the choice in performance, API and features can make or break your workflow.

    I don’t think it’s a weird obsession, and I think that choices are good. I think that it’s cool that you can experiment and play with new ideas and that we don’t have to do always do things the way we used to do them before.

  5. “In stark contrast, GTween is an experimental library built entirely to meet my personal needs and whims at any particular moment. It is completely unsupported, and subject to periods of neglect followed by massive rewrites that involve wide ranging changes to its API. This makes it potentially difficult to work with as a developer, but it means I can use it as a sketch pad to try new ideas out, and gain feedback from the brave souls who use it.”

    then just keep it to ypurself an d dont publish it.

    just my 2 cents.

    p

  6. @peter : If he didn’t publish it he wouldn’t get any feedback.

  7. peter – can’t say I follow your logic at all.

    If I release it, it may benefit some developers – either as a learning aid, or directly. This release seems very stable, and potentially useful, it just comes with the caveats you quoted. It also provides an opportunity to gather feedback which may help enhance the TweenLite library.

    If I don’t release it, nobody benefits.

    Given that, how did it harm you that it was released (other than the time you spent reading and commenting on this post)?

  8. David Bellerive November 6, 2009 at 8:34am

    Unlike Peter, I think it’s great that you share your code with the rest of us. After reading your post and looking at both libraries, I’ve decided to stick with TweeLite/Max as my tweening library of choice for all my projects. However, I always learn new stuff and feel I’ve matured a little more as a Flash developer after analyzing code from others (especially people like you and Colin Moock). Thanks for sharing and keep up the good work!

  9. Personally, I think it’s commendable that you and so many actionscript experts share their code with the community. Not only are they tools we can integrate into our workflow, but many times I find myself delving into how the code works, how it is structured and pick up a few tricks I didn’t think about, so they become a learning experience.

    I abandoned TweenLite/TweenMax a few months ago for GTween and have been exploring other tweening libraries like Eaze and BetweenAS3 as well, both of wich have a different approach towards the same goal, but are very fast. From reading the documentation, you seem to have considered a wide variety of scenerios and not only implemented an easy way of tweening special properties, but also took the time to develop a plug-in model that gives GTween 2 potential to grow.

    Thanks for sharing and please maintain the ideology of not letting good code rot 🙂

  10. I development a product,but I do’t konw that is or not good.

  11. thank you update it, i user this in many project

  12. supports you

  13. I just download GTween_v2_01

    can you teach me how to use ( i mean what to import in the actionscript.

    is

    import GTween is enough and should i have to put all the files with fla which is extracted from the GTween_v2_01)

  14. Era la primera momento que poco de esta manera se hacía en España.

Comments are closed.