Profile

Cover photo
Grant Skinner
Works at gskinner.com, inc.
4,979 followers|129,114 views
AboutPostsPhotosVideos

Stream

Grant Skinner

Shared publicly  - 
 
Holy crap, I wrote a blog post! It's been a long time since that happened.
It's been a busy few years. We've grown the team, changed tech platforms, added a design group, and built some very successful open source initiatives...
21
1
Maxim Kachurovskiy's profile photoStanislav Aleksiev's profile photoJames Tomasino's profile photoOddlyTimbot Willison's profile photo
7 comments
 
+Maxim Kachurovskiy 5 years later, the browsers still trail the power of flash by a great margin. Imagine what Flash could have done in that time if it continued. There's something to be said for open source, but killing Flash sent the web backward in time.
Add a comment...

Grant Skinner
moderator

News  - 
 
The new CreateJS class & inheritance model. Testing and feedback welcome!

Quick highlights: utility methods to handle prototype inheritance and promoting overridden superclass methods, removal of the `initialize` methods, instance-level property definitions, and a >2x faster display list.
New CreateJS Class Model. With a very busy summer of client work behind us, the core CreateJS team is back in the saddle and working hard to get the next build of the libraries completed. If you follow us on GitHub, you'll have noticed that our Issues & Pull Requests are now up to date, ...
10
Add a comment...

Grant Skinner
moderator

Discussion  - 
 
We're mulling over some changes to how we manage our community. The two things we'd like to solve are:

1. encourage the community to help answer technical questions
2. facilitate more casual communication in the community (sharing, ideas, general discussion).

Currently we have the mostly dead mailing lists, this fairly quiet G+ community, and the fairly busy but somewhat neglected community.createjs.com.

The latter is doing ok, but isn't in a format that encourages either of the points above, so it mostly winds up with my team trying to answer questions when they have time. With the continuing growth of the community, this means that questions are being neglected, and we're spending more time on support instead of ongoing dev.

We're considering moving all technical questions to StackOverflow, where we've already seen a lot more community involvement, thanks to their karma system. It also does a better job of exposing previously asked questions, both on the site, and via search engines.

In parallel, we're considering setting up a sub on Reddit for general discussion and community interaction.

Issues would continue to be tracked on GitHub, and of course this G+ community would live on.

Thoughts?
7
Grant Skinner's profile photoOddlyTimbot Willison's profile photoAdam Holland's profile photoFabio Biondi's profile photo
6 comments
 
+Adam Holland : I use EaseJS to create infographics, parts of web apps and other  no-game stuff, so I'm not sure that community would be the best place.

Anyway I didn't know it. Looks great! :)
Add a comment...

Grant Skinner
moderator

News  - 
 
Hi everyone,

I wanted to give you a heads up on some significant updates I've made to Graphics, in the hopes that you can test against your projects and confirm that nothing is broken.

Graphics consists of a queue of instructions: command objects that expose an "exec()" method. Drawing is simply iterating through that queue, and executing each instruction in turn.

Previously, these instructions were generic command objects that used function.apply to get their work done. I have now updated the implementation so that all instructions have dedicated command objects (Ex. Graphics.LineTo).

This has a performance benefit (it facilitates type detection & avoids function.apply), allows introspection of the queue via Graphics.getInstructions(), but perhaps most importantly enables dynamic updating of commands.

For example:
// create and save a fill command object:
var fill = myShape.graphics.beginFill("red").command;
// ditto for a rect:
var rect = myShape.graphics.drawRect(0, 0, 100, 100).command;
// ... then later, we can update them, w/o rebuilding the whole queue:
fill.style = "green";
rect.width *= 2;

It also makes it really easy to create your own custom command objects, and inject them using .append():
myShape.graphics.append({exec:function(ctx2d, shape) {
   // do some custom context2D drawing here.
});

While working on this, I encountered some bottlenecks on Graphics performance when working with large instruction queues (thousands of commands). I've been able to optimize things significantly, so that the overhead in worst case scenarios (drawing LOTS of shapes with different fills/strokes in one Graphics instance) has been reduced by 100x or more. Memory churn has also been reduced in these cases.

In my test case (add 50k rects with different fill colors to a single Graphics instance), it went from ~10s to <20ms.

These changes are up in the NEXT build. Please take a look and let me know ASAP if they break anything for you. They've passed all my base-level tests, but are quite extensive and could use testing.
18
2
Fabio Biondi's profile photoLoïck Bonniot's profile photoTamás Hortobágyi's profile photo
 
Hi +Grant Skinner, I cannot easily verify if something is broken on my previous projects (since most of them use Easel 5.x or 6.x with the old way to use the events)  but since I'm working on a new CreateJS training course I would happy to test (and include) most of the new features in the next weeks.
I'm sorry I cannot provide you more feedback now.

Anyway I already have seen the NEXT doc but  have you got some examples to share with us ?(especially to check the  performance improvements , custom commands or any other useful trick :)
It would be a good starting point.

Thank you very much 
Add a comment...

Grant Skinner

Shared publicly  - 
 
RegExr is now open source under the MIT license.
regexr - RegExr is a HTML/JS based tool for creating, testing, and learning about Regular Expressions.
36
2
Véronique Brossier's profile photoTarun Mittal's profile photoAdam Lehman's profile photoAfonso Barros's profile photo
2 comments
 
so nice
Add a comment...

Grant Skinner

Shared publicly  - 
 
RegExr v2 has launched!!
A Javascript regular expression parser and validator. Browse the Library it includes help content and a reference that includes info on all regular expression tokens and flags. Create and share your Regexp with the RegExr community.
29
7
Trọng Thanh Trần's profile photoSaumya Ray's profile photo
Add a comment...
Have him in circles
4,979 people
Ken Rogers's profile photo
karim beyrouti's profile photo
Ray Parajuli's profile photo
Camille Reynders's profile photo
Ian Crowley's profile photo
Dilranjay Singh's profile photo
Ewan McPhail's profile photo
Erland Wiencke's profile photo
Giorgio Natili's profile photo

Grant Skinner
moderator

News  - 
 
A brief summary of what happened with CreateJS in 2014.
CreateJS in 2014: An amazing year! CreateJS had an amazing year in 2014! We launched new versions of all the libraries, new branding, a new site, and a new community plan. Usage has grown in leaps and bounds. In Dec 2013, the CreateJS CDN had about 300M hits per month to the libraries.
4
2
Fabio Biondi's profile photoTeerasej Jiraphatchandej (Pon)'s profile photo
Add a comment...

Grant Skinner
moderator

News  - 
 
Very happy to announce that we have officially launched our new website, alongside shiny new versions of the libraries, and new logos. We'd love to hear what you think!
16
3
Grant Skinner's profile photoSebastian DeRossi's profile photoJoseph Labrecque's profile photoFabio Biondi's profile photo
5 comments
 
Hi Fabio - yes, we can always use more examples from the community. We can use tiny inline examples in the docs, we can use clean up and polish for the existing examples, and of course new examples that perfectly illustrate core concepts in a simple manner.

We could also use additional tutorials.

Thanks everyone for the continued support!
Add a comment...

Grant Skinner
moderator

News  - 
 
I've been working quietly on SVG export for EaselJS, and it's looking pretty solid. See the attached programmer art demo, which shows all the working features.

In brief, it will dump out an entire EaselJS stage (or Container), including all Bitmaps, Sprites, Containers, Shapes, Text, and masks.

There are a few limitations, and a few features I'm still working on (any arcTo experts want to help?), but it's in a decent beta state now.

I'd love to get feedback on how you'd use this, and whether it should be part of the core distro. It's ~8kb minified, so I'm hesitant to roll it into the main library, but I'm open to feedback.
EaselJS SVG Export Test. Canvas (left) vs SVG (right). Exporting: Bitmap, Sprite, Container, Shape, Text, masks. Running.
7
Tamás Hortobágyi's profile photoFlorian Ludwig's profile photoGrant Skinner's profile photoPhillip Louderback's profile photo
7 comments
 
This is very exciting! I was working on a conversion of an old flash project using createJs a few months ago and it was going very nicely but got side tracked to try snap.svg. It started to get too heavy and very brittle so took another look at where i was with the createJs version and it looked so good. I had forgotten how far I had gotten and how fluid it felt. anyway its a creation/drawing app and the missing piece was saving output to SVG for printing and display so this was such a nice discovery! It's gonna be nice getting back to createJS. thx
Add a comment...

Grant Skinner
owner

Discussion  - 
 
Check out the CreateJS Developers community.
1
Add a comment...

Grant Skinner

Shared publicly  - 
 
RegExr is now also available on the Chrome Web Store.
13
1
James Spivey's profile photo
Add a comment...

Grant Skinner

Shared publicly  - 
 
Blog post giving some info about the RegExr v2 launch "RegExr v2: Build, Test, & Learn RegEx"
23
6
Shawn Blais's profile photoEmanuele Canavesi's profile photoTim Keir's profile photoWolfgang Klopf's profile photo
 
this is awesome! I kept having to go back and look up how to use write the expressions.. this is much easier.  thanks Grant.
Add a comment...
People
Have him in circles
4,979 people
Ken Rogers's profile photo
karim beyrouti's profile photo
Ray Parajuli's profile photo
Camille Reynders's profile photo
Ian Crowley's profile photo
Dilranjay Singh's profile photo
Ewan McPhail's profile photo
Erland Wiencke's profile photo
Giorgio Natili's profile photo
Basic Information
Gender
Male
Other names
gskinner
Work
Occupation
Creative Technologist
Employment
  • gskinner.com, inc.
    Chief Architect / CEO, 2003 - present
Links
Links