Christmas is coming!! Sneak peak of an Augmented Reality Christmas Tree

/>

I made this little demo after seeing the effect on another website and wondered if I could re-create it.
In a nutshell, the picture is chopped into angled strips (the angle is set in the code) and then each strip is flown in randomly to create quite a cool transition!
(download)
Hopefully there should be a zip file attached to this post that you can download and have a look at the source (created in CS5 beta1)
Next week marks my first full year in a digital agency and also my first full year working with Flash. Prior to 2008 I'd never really touched Actionscript, tweens or movieclips so it's been a bit of a whirlwind getting to where I am now!
Over the course of the past year I've worked on a variety of Flash projects, some simple banners, some larger sites and most recently database driven, content managed RIA's and widgets. The growing pains have been numerous and looking back at the early projects it's clear that I really didn't know what I was doing!! Having said that, there definitely is a case for the statement 'the more you know, the more you know you don't know', especially when it comes to project planning and code structure. Frameworks are something that I'd not really come across before (well I can't remember ever using one or learning about them at uni) so early projects didn't use them. I was still learning about events and how AS3 handles the Display List but thankfully I was using Object Oriented coding because that's what I grew up with. These projects had plenty of custom classes and navigating through the site relied on basic events and lots of code. Ultimately, the code wasn't re-usable because it was so bespoke for each project and every class was so reliant on other classes it was always going to be easier to re-write than re-use. Around June this year Coolpink won some business to design and develop multi-lingual widgets for one of the biggest record labels in the world. These widgets were to have (at least) 9 languages, different content that was updated through a bespoke content management system, a variety of media to be played and the artist's Twitter feed. Clearly some planning was needed! The custom, fudged code structure of previous projects wasn't going to wash so I investigated several different Actionscript frameworks. The consistent thread that ran through all of them was the MVC design pattern, and in the end PureMVC was chosen. It's worth noting that I've looked into Flex but always chosen not to use it, I don't know why but it feels clunky to use and I much prefer making custom components in the Flash IDE. Working with PureMVC takes some getting used to, but on reflection it did exactly what we needed. It separated business logic from the data and kept the visual components free of any back end code that would prevent them from being re-used or would make changing the data type/source very difficult. We didn't really need the controllers though and working out what needed to be in a Mediator class or the actual flash component caused quite a lot of head scratching. Talking to other developers recently it seems that this Mediator/view component relationship is one of the big issues with PureMVC. Do you control transitions in the PureMVC classes or build that into the view components separately? Most recently I was tasked with designing and building a product finder RIA that again worked with a bespoke content management system and pulled in various bits of data and media. This time, however, I chose to work without a framework but implement a loose version of the MVC design pattern. Without PureMVC it took much more discipline to structure the application but it also allowed for more flexibility. Obviously the experience of working with PureMVC had helped with the structure and planning of custom classes but without it the project took shape much more quickly and the interaction between different parts of the app felt a lot less 'round the houses'. Working without a framework was a good experience. Currently I'm working on an app that is going to be deployed on the desktop using Adobe AIR and I've chosen to use PureMVC again. I'm still struggling with the reasoning behind using PureMVC (or any open source framework for that matter) but I guess it comes down to producing something that other people can pick up and work with later. The other reason that I keep deliberating is about data flow and communication throughout the app. PureMVC's notifications were clear and understandable, going renegade and doing it my own way involved lots of custom events and adding event listeners to various components which ultimately became hard to keep track of. So, is the best framework no framework? Maybe, but more likely is that the best framework is a custom framework that is re-used and updated - not custom made for each project.I found a tutorial over a year ago for a project that never went ahead that involved a puddle. With the help of some gradient and layer masks I managed to stitch the water into the second scene of my project.
my scene with a little rain shower too (no preloader so may take a little time to load 300kb):
http://www.simonkinslow.com/_poster/30frames/waterRain2.html
and the tutorial:
http://www.pixelhivedesign.com/tutorials/Realistic+Flash+Water+Effect/
Designed and developed user interface and visualization for statistics on RNA structure patterns. July 2009 - present.
Last week Carlos Ulloa gave an intensive course on Advanced Papervision3D and I was one of the lucky seven that attended.
Carlos started off by explaining that he'd done big lectures, medium lectures and was now trying a different format as working with a large number of attendees often proved inefficient and really hard work. I can vouch for the fact that as one of only seven on the course, two days with such a brilliant Flash developer in such closer quarters was absolutely amazing. The course covered everything from the ground up starting with "the boring stuff" (Carlos' words) that involved quality and optimisation and then moving into the more in-depth topics of what actually happens with materials, projection, lighting, animation, etc. A lot of it was mind blowing, and with such a small group Carlos was able to take time out of the schedule to talk us through some of the projects that he's currently working on. It also meant that he could go into some of his presentations (such as the Flash on the Beach talk) in much more depth than he normally could. The little tips and tricks that were divulged have quite obviously been learned over a career making some cutting edge Flash pieces, so to be able to pick them up first hand was great. Suffice it to say that I'll be doing my best to get my teeth into some examples to put up here based on what we covered and I would recommend that anyone who has the opportunity to go on a course with Carlos do so, you won't regret it. The guy seriously knows his stuff. Oh, and the course also wins the award for the best food! Lunch both days was great, not just the food but the (sometimes quite political) conversation was also really interesting - there were some personalities on the course!I think a lot of people in the Flash community might well roll their eyes at this post but basically I've got to share the awesomeness that is FDT.
So beautiful...
http://www.concavescream.com/main.html