Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CreateJS Consortium #1040

Open
danzen opened this issue Feb 19, 2020 · 36 comments
Open

CreateJS Consortium #1040

danzen opened this issue Feb 19, 2020 · 36 comments

Comments

@danzen
Copy link
Contributor

danzen commented Feb 19, 2020

Might we propose a CreateJS Consortium that helps with CreateJS updates? I suppose that is what GitHub and Open Source are all about. Perhaps if we recognize the need and the commitment it will help organize things.

I am committed to using CreateJS - if you have not seen ZIM yet, please have a look - it extends CreateJS with many conveniences, components and controls. Personally, I treat CreateJS as complete otherwise, growth would go in the direction of ZIM ;-) As a complete project, the focus would be on maintenance for example adjusting for various Browser and device changes - bug fixes, etc. A secondary focus might be improvements to existing elements - but in general, I think what we have is working great! There may be different visions?

@owendwyer @willkara @jedateach @djipco @dijitaletkinlikler and I am sure a bunch of others might be interested? Of course it would be nice to know @gskinner and team are on board. Not even sure exactly what we would be doing differently... but it would be good if we could get to know one another a little better and help each other out with issues, etc.

@djipco
Copy link
Contributor

djipco commented Feb 19, 2020

@danzen That is a great idea. Unfortunately, in my case, it might come a bit too late. I have been using CreateJS in class for a few years. However, seeing that development basically halted, it was becoming increasingly hard to sell its usage to my students (and fellow teachers).

That's too bad because I really liked the fact that it wasn't a gaming engine per se but more of an all-purpose engine. I also liked that it was based on the scene-graph approach which made it simpler to use (in various use cases) than other projects such as p5.js. Having said that, when we look at it objectively, many things now found in other engines never made it inside CreateJS.

Grant Skinner and his team have done great work with CreateJS but they seemed to have moved on... An example of that is the fact that the CDN version has been stuck on v1.0 even if many important fixes have been available in the NEXT version for a long time.

In any case, I really hope that you can find a group of talented people to move this project forward. Good luck!

Cheers!

@danzen
Copy link
Contributor Author

danzen commented Feb 19, 2020

Hi @djipco Jean-Philippe - thanks for your input. I feel the same way about CreateJS because it is not a gaming engine like PhaserJS and not as set in its ways as P5js and is more commercial facing. What we did when we wanted something extra is we built a library of extra code that extends CreateJS. Over five years, this became ZIM. We now have a CodePen Topic page which nicely demonstrates perhaps what you are looking for https://codepen.io/topic/zim please have a close look and hopefully, you might be able to stay in the family!

Yes... I have been seeing the gSkinner team working on Flutter. At first glance, I was concerned as it seems very hot and well supported, etc. Then I got looking into it... there is a lot of structure and perhaps more for power-coders. Certainly less free-form creation. So I concluded it was more for the Web Development community to make information apps which was never particularly what the canvas is for. I think we still need a general Interactive Media framework and as far as I can tell... that would be ZIM powered by CreateJS much like Phaser is powered by PixiJS. We just need to grow community and user-base.

Of course, Flash was a general Interactive Media platform... and Animate and CreateJS still work together for many. ZIM works with that too see https://zimjs.com/animate/ but personally... I prefer just coding without Animate. However, the tie between Animate and CreateJS is certainly helpful. Showing some action here might help that connection.

It is tricky when libraries/frameworks/platforms reach maturity. People see the lack of change as stagnation - it is really unfair. That is one of the things in my mind that caused the "death" of Flash. It was mature. The changes announced at conferences were minimal and beyond the immediate need of the audience, etc. I think the same to some degree has happened with CreateJS - it was built so well... that there was less of a need for new things. If you want new... that's what we did with ZIM... and now... we are reaching maturity... dum dum dum. We will probably stay at ZIM TEN.

I don't mean to go on about ZIM... it just might put things in perspective about the direction of CreateJS as to where it might have gone or help identify what CreateJS is and is not. At the moment, CreateJS minified is 240K and ZIM minified is 600K. ZIM has distill that lets you tree-shake to often somewhere around 100k. These numbers are probably pretty similar to Pixi and Phaser.

Anyway - blah blah - sorry for the essay.

@djipco
Copy link
Contributor

djipco commented Feb 20, 2020

It is tricky when libraries/frameworks/platforms reach maturity. People see the lack of change as stagnation - it is really unfair.

I'm not sure that's the case here. Maturity and stability are good things. However, with CreateJS many issues have been left unfixed in the "official", CDN-released version. Here's an example (among others). There are many outstanding (and verified) bugs still listed on GitHub, some of which are many years old.

If maturity was the goal, many little changes would also have been made over the years. For instance, why is it still necessary to cache shapes and texts displayed on StageGL? I don't really see why the engine forces us to do that manually instead of automatically caching these elements with sensible defaults. This is not in the bells and whistles department. Another example is the fact that addEventListener() does not work like the current living standard (no support for the options parameter). These are examples of small things that should have been ironed out in a mature version.

Just to be clear, I am not throwing blame here. I'm thankful @gskinner et al. brought this project to the open source community. But, obviously, they have moved on. To me, CreateJS is not currently in a "mature" state, it is in a "sunset" state.

Hopefully, if your consortium idea takes off, this could change and I would be happy to somehow participate!

P.S. Are you going to FITC Toronto this year? Maybe we can grab a beer and chat about all this! Cheers.

@owendwyer
Copy link
Contributor

I'm happy to commit to this. I have content built with CreateJS that I'll need to maintain for at least 5 years. For me, the focus should be on maintenance and organization with the aim to keep the library working on all devices and browsers. It would be good to have a current version that is checked and tested by a range of people.

@danzen
Copy link
Contributor Author

danzen commented Feb 20, 2020

@djipco an FITC meet sounds nice. I may not officially attend, but would love to meet for lunch. We can work out details - give me a message at door@danzen.com - anyone else, I am sure would be welcome - the dates are April 19-21https://fitc.ca/event/to20/

@danzen
Copy link
Contributor Author

danzen commented Feb 20, 2020

A list of issues that folks have on their minds might be good to compile with links to the issues here if on GitHub. I mean, that's GitHub issues in general... but as Jean-Philippe says, there are many. Unfortunately, I suck at pull requests... but I guess I can learn. Then we need some idea from @gskinner and team as to what to expect on their side or how we might deal with things. I have had a promising e-mail about a month ago - I will see if I can rekindle this. In the mean time - initial thoughts from some others would be great.

@danzen
Copy link
Contributor Author

danzen commented Feb 20, 2020

BTW - I mentioned Grant and team working on Flutter... I saw a tweet of theirs pointing to https://blog.gskinner.com/archives/2020/02/flutter-creating-a-flippable-card-with-tweenanimationbuilder.html - so rebuilt something like it in CreateJS and ZIM at https://codepen.io/danzen/pen/gOpwWbY - the Flutter code is commented at the bottom of the Pen and aside from it being TWICE as much code... I really do get the sense of complex structure (and some complex words). Probably it is easier to just use out of the box things... but even the ones I was looking at can quickly get complex - I went through about 60 short tutorial videos.

With respect to the Flippable Card example, it will be nice when the Canvas adds a row and col to the matrix to get perspective... will that happen? That actually brings up another point here... where is the "marketing" from the HTML world for the canvas? It was all buzz buzz buzz for a year and then almost total silence from Browsers companies, etc. Am I wrong?

@dijitaletkinlikler
Copy link

hello, because files published with adobe animate use version 1. pressmove will not work on windows touch screens. it is very interesting not to notice this. Either users do not use windows touch screen or do not care about adobe. Someone with little knowledge of javascript like me is trying to find solutions to createjs problems. as if there is trouble. If I can see the problems, it is impossible for Grant and his team to not see the problems. But with the decision I see, Dan works. Great things can be done with Zim.

@jedateach
Copy link

My use case is building a web-based designer tool: text + shapes + images. I'm investing a bit of time in txtjs, which another abandoned createjs based project to try and ensure cross-browser font rendering consistency. I've also been working on a free transform tool. I need node (server rendering) support.

I've put all my efforts under a new org, thinking along the lines of a consortium: https://github.com/ReCreateJS
I'm trying to configure the projects with good tests, and CI/CD via Travis.

I'm for bringing new life to CreateJs and related projects, as long as it is governed with quality standards, and could be brought back in line with gskinner, should they re-emerge.

I'm moving off Raphael.js, which is based on svg. I have assessed fabric.js, and pixi.js as options. Fabric is reasonably featured, but stuck on a non-esmodules class system. Pixi seems too geared to games.

The lack of maintenance/ownership of createjs does concern me. I'm prepared to move to a better tool, if I am convinced something is more suitable, but I need to start settling down.

@danzen
Copy link
Contributor Author

danzen commented Feb 22, 2020

So - here we are after a few days... perhaps we are a Fellowship? While we wait for some others to comment... let me try contacting Grant and see if he has any suggestions for us. Will let you know how it goes.

@varyndev
Copy link

CreateJS was considered an open source project, but it was completely under the stewardship of gskinner and PRs were only accepted if they chose so. Any form of a roadmap was completely managed and controlled by them. Moving this project to community development would require some considerable changes to strategy and stewardship. Before considering this Fellowship idea any further we really need to hear from someone who currently maintains the control over this repo over what they see the future is or should be. Maybe gskinner has plans and scrubbed them or postponed them or just all together moved on. We need to understand that first before we can determine where this is going.

@lannymcnie @gskinner - any comments?

@gskinner
Copy link
Member

Hi everyone

Apologies for not chiming in sooner.

I am very interested in supporting this movement. I have absolutely loved building CreateJS, and really want it to have a long and healthy life. Unfortunately, with the lack of any (direct or indirect) monetization model, and little to no support from Adobe, we've never found a way to justify it from a business perspective.

That means updates happen only when appropriate members of our team are sitting idle. In the past year, we've been keeping super busy - good for gskinner, but bad for CreateJS.

We are all too aware of this. It has been super frustrating to be sit on a bunch of updates that have yet to make it into a released build. As a result, I reached out to Dan in December to get him thinking about how the community could become full participants in the library's future, and was thrilled to see him start this thread.

It probably goes without saying that I have never managed a transition like this, so I'd appreciate any thoughts or idea on how this might go.

Me, and our team would continue to contribute as possible - we would likely be a lot more active, without being weighed down by the sense that the "next big release" seems like too large of a mountain to climb given our fragmented availability. If we can get some community momentum, I'll work to free up our dev time to be more active where possible as well.

Let me know whatever I can do to help, encourage, and support. I'd be proud to be a member of a thriving CreateJS community, instead of a founding dictator. :)

Best,
Grant.

@paulmignard
Copy link

@gskinner - Thanks so much for the update, we use createJS in some capacity and it's so nice to hear something other than silence! 👏

@ROBERT-MCDOWELL
Copy link

@gskinner
The best moments of the web was when you were creating wonderful Actionscript 2/3 classes and I'm the one who discovered your nice work, then google inc. demons with unlimited money and steve jobs killed everything.... Well, not everything since webassembly is coming and a lot of rebirth will happen (check ruffle) and javascrap will be the worst language to develop for the web.

@danzen
Copy link
Contributor Author

danzen commented Feb 25, 2020

Thanks Grant - that response brought tears to my eyes... the eyes that see code 80% of my waking life. I would propose that we start a Slack channel to help organize this. I have been running ZIM community on Slack as well as our Sheridan Interactive Media... and am a member of CodeCamp Hamilton and 100DaysOfCode - it is really easy to set up and use. If this post gets a few thumbs up, I will create the workspace and provide an invite link here.

@carlschooff
Copy link

Thanks for popping in @gskinner. Great to hear something official. I've have had very high hopes for CreateJS / EaselJS since Pirates Love Daisies. Really enjoyed playing that too.

It's a real shame that Adobe (the company, not the Animate dev team) hasn't taken CreateJS, Animate, or its users seriously in a very long time. With Flash Player finally being phased out in all the browsers this could have been a HUGE opportunity to flaunt the powers of Animate + CreateJS.

Regardless of the current state of CreateJS and Adobe's lack of concern, I still believe the Animate + CreateJS + GSAP combo gives people an amazing toolset for generative art, scripted animation and interactive gizmos. There's nothing else like it.

It's absolutely amazing what @danzen has been able to do with ZIM. Adobe should be stumbling over itself to throw money at that project, especially with its focus on kids / education / creativity. ZIM really makes CreateJS shine and I'm glad to see it being taken to the next level.

I totally understand that it isn't practical to maintain CreateJS without time or funding. Hopefully the community can find a solution that allows it to be enhanced, documented and supported. Thanks for doing all you did to give us old Flash guys hope for a second life.

@jedateach
Copy link

A slack sounds useful, and worth setting up. I'd be less able to contribute in real time, but rather in stops and starts, given my timezone and available time.

An RFC process will help for making clear, collective decisions. Here's Emberjs' one https://emberjs.github.io/rfcs

@jedateach
Copy link

jedateach commented Feb 26, 2020

Has anyone here got experience setting up governance of an open source project? I read https://producingoss.com a while back, which may have some good guidance.

@danzen
Copy link
Contributor Author

danzen commented Feb 26, 2020

Hi folks, here is an invite to a CreateJS Slack Workspace. Please join here: http://shorturl.at/lISY9 and make an avatar for yourself ;-). I have added a few channels and a couple posts under planning. For the most part, discussion should happen there rather than here. Any new folks to the issue, are welcome to post here to say hi... or just come on in to Slack. At this point, the more the merrier.

@jedateach
Copy link

That short url doesn't appear to work?

@owendwyer
Copy link
Contributor

I had a read through the book recommended by jedateach and made some notes on things that would be good to think about. Note, I'm not looking for answers to these questions here now; rather, just stating that they would be good to consider.

How will this consortium be organized? The word consortium implies more of a 'consensus based' approach than 'benevolent dictator model'. But then, will voting be necessary as a last resort? And how would that work? Would it be best to have someone from GrantSkinner have a final say? Then also, who gets commit access and who decides who gets commit access?

How would a future release be managed/owned? How would release candidates be tested? Would it be good to have an overall project lead? Would someone from Grant Skinner take responsibility for formal releases?

In terms of a distribution mechanism, how would a future release be made available? What about maintaining and updating https://createjs.com/ ? Same question for the tutorials and documentation.

I think a development status page would be useful too. It could show the current status of the project, releases, how to participate, bug fixes, etc.

The book also talks about setting the tone early and how it is important to get good social norms at the start, so that you set precedents and expectations for the future. 'Foster a collaborative mood' was a key takeaway for me.

@danzen
Copy link
Contributor Author

danzen commented Feb 26, 2020

Okay - worked in FireFox and not in Chrome - weird! I tried again: https://shorturl.at/frxEU and this seems to work in Chrome. Or here is a long URL https://join.slack.com/t/createjs/shared_invite/enQtOTY5NDM1Mzk5OTM2LWE1NzZhMzA3Yjk3YWQxMmY2MDI1MjA5YTU2Y2EwMThhNTVjMWU2NmE1ZGQ5MTMzMDU1OWY0OGZmMTUxYzg3Mjg If this does not work, I can send out invites to e-mail addresses.

@danzen
Copy link
Contributor Author

danzen commented Feb 26, 2020

@owendwyer - let's move those excellent thoughts in to the Slack assuming we can get in! Is my dictator tone good for collaborative mood ;-).

@joao-cesar
Copy link

Hi!

Thanks, danzen, gskinner, and everybody else for providing all this useful information.

I was worried about the future of this suite but now I'm glad to know that CreateJS will keep moving forward.

And I want to contribute in some way.

Going now to Slack!

Thanks!

@nicolasgoudard
Copy link

nicolasgoudard commented Jul 8, 2020

UP ! So ??? What about CreateJS ? I am a developper who uses Create JS for all my projects. I have chosen this Library because it was recommended by Adobe and Microsoft, and because I translate old AWT Java projects and some CreateJS functionality are similar to select shapes in the canvas. But there is not update now ??? What about the future ??? I am worried too much !!!! Why the developers don't want work anymore on the project ? I see another alternatives as FabricJS or Konva but there is not a big team... What about another alternative ?

@owendwyer
Copy link
Contributor

Hi Nicholas,

I'm in a similar position to you - lots of CreateJS projects that need to be maintained.

Unless I'm mistaken, support from Adobe has been non-existent for a long time now, and that is the main reason for the lack of work/updates. However, CreateJS is still useful and generally a solid library to use.

My plan for the future is to monitor the Github and stay engaged with maintenance and fixes, so that my stuff keeps working on all browsers. This is not something I'm all that worried or concerned about. From time to time, issues will arise, but they will get fixed because the need for them to be fixed exists. My guess/expectation is that CreateJS content will continue to work well for at least the foreseeable future (5+ years).

For future projects, I'm working with Pixi.js and want to try out Konva too.

@nicolasgoudard
Copy link

Hi Nicholas,

I'm in a similar position to you - lots of CreateJS projects that need to be maintained.

Unless I'm mistaken, support from Adobe has been non-existent for a long time now, and that is the main reason for the lack of work/updates. However, CreateJS is still useful and generally a solid library to use.

My plan for the future is to monitor the Github and stay engaged with maintenance and fixes, so that my stuff keeps working on all browsers. This is not something I'm all that worried or concerned about. From time to time, issues will arise, but they will get fixed because the need for them to be fixed exists. My guess/expectation is that CreateJS content will continue to work well for at least the foreseeable future (5+ years).

For future projects, I'm working with Pixi.js and want to try out Konva too.

I didn't now Pixi, I think it should be a good alternative because some functionalities are similar (hit area, primitives) and there is a big team. Some people talk about D3.JS too... Sorry I am French my English is not good

@danzen
Copy link
Contributor Author

danzen commented Jul 9, 2020

@nicolasgoudard - my interpretation of CreateJS is that it is complete. It was built to provide a base to developers that improved the canvas. If you are looking for advancements in the CreateJS world, please have a look at ZIM https://zimjs.com where hundreds of features have been added on top of CreateJS (see a partial list below). Over the five years of development, we have only had a couple issues with CreateJS and these have been solved. In other words, CreateJS is very solid. Please do not mistake lack of new things as a weakness. In general, you do not want to keep adding to a base. The base should be stable. However, a base does need to be maintained to make sure that it keeps working and there can be improvements as new technologies get introduced to the browsers or the canvas. We have a large investment in CreateJS and have offered, with others, to help maintain it. The organization of this has started already and updates will start happening over the summer. We are working things out.

In the meantime, please see if any of these features might be of interest to you:

  • One-line Drag and Drop
  • Multitouch Pan, Pinch and Rotate
  • Multiple Types of Hit Tests
  • Styles for all Objects (Like CSS)
  • Retina Crisp Vectors!
  • Animation, Sequences and Damping
  • Integrated Physics made Easy!
  • Labels, Buttons, Panes and Tabs
  • Windows and Wrapable Text
  • Shapes, Sliders and Steppers
  • Waiters, ProgressBars and ColorPickers
  • Indicators, Dials and Pads
  • Keyboards, Loaders and TextAreas
  • Lists, Organizers and Toggles
  • Wrapper, Beads and RadialMenu
  • Live Transformation Tools
  • Sound and AudioSprite Support
  • Synth wrapper for Web Audio
  • Scalable Template Framework
  • Accessibility for Screen Readers
  • Chaining and Configuration Objects
  • Easy Asset Loading
  • Custom Font Preloading and Support
  • Page and Layout Control
  • Mobile Optimization
  • Swipes and HotSpots
  • Guides, Grids and Outlines
  • Parallax, Scroll and Tiling
  • Dynamic Sprite and Scrollers
  • GamePad and Motion Controllers
  • Particle Emitter and SoundWave
  • Bind, Wire and Base for Data
  • 3D and Physics Support Libraries
  • Multiuser and Asynchronous Calls
  • Editable Bezier Blobs & Squiggles
  • Pen and Path Animation
  • Variable Speed Animation
  • Dynamic parameters
  • WebGL Support
  • Import SVG as Bitmap or ZIM Shapes
  • Isometric Board and game features
  • NPM support and MVC template
  • ZIMON any object to string
  • ZIM SHIM for Adobe Animate

@masandoval
Copy link

@danzen I'm interested in joining the CreateJS Slack you have setup. If it is still active, could you provide an updated invitation link? Thanks in advance.

@danzen
Copy link
Contributor Author

danzen commented Aug 4, 2020

Hi @masandoval here is an invite link - say hi in the #general section! https://join.slack.com/t/createjs/shared_invite/zt-geomglro-4v3x4817xVRe61A~JvTjMw

@nicolasgoudard
Copy link

Hi @masandoval here is an invite link - say hi in the #general section! https://join.slack.com/t/createjs/shared_invite/zt-geomglro-4v3x4817xVRe61A~JvTjMw

the link is not available.

@danzen
Copy link
Contributor Author

danzen commented Sep 26, 2020

Hi @masandoval - here is a new link (they expire after about three weeks) https://join.slack.com/t/createjs/shared_invite/zt-hibqyfrn-4a9_9V_xITRtLJ8d_63ALA See you there!

@nicolasgoudard
Copy link

UP. If nothing is done to improve Bootstrap JS I think I will migrate to PhaserJS or Pixi

@danzen
Copy link
Contributor Author

danzen commented Dec 26, 2020

Hi @nicolasgoudard - would you like to join us on Slack and perhaps we can work together with the others there to solve the BootStrap JS issue you are mentioning. https://join.slack.com/t/createjs/shared_invite/zt-kpw8ejsw-3IM6cKCaKUiugK__zdJnSQ

@dblrsk
Copy link

dblrsk commented Mar 4, 2021

@danzen, would you be so kind as to open another invite link? I'm interested to see if there's been any movement with regards to community support or stewardship. Thanks.

@danzen
Copy link
Contributor Author

danzen commented Mar 27, 2021

@dblrsk sorry for the delay - missed this message. Have adjusted this link to not expire! https://join.slack.com/t/createjs/shared_invite/zt-ob9c68wy-zC_Gp5LAm3DS0r6ZjiEl6g

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests