The concept behind this project was to take ordinary scenes from everyday life and turn them into something that would look completely alien, yet familiar enough to have the faintest semblance of normality in order for the viewer to digest what they saw. The data stream was too great for the application to read/analyze/interpret/output in absolute real time, so the videos appear to be sped up due to dropped frames. The size of the objects were based on the brightness in the relative area of the video, the colors of each shape mirrors the general color in that portion of the video. The captures were taken at night which is the reason for the strong contrast and bright colors. Read On…
I think this Processing itch of mine is going to stick. I am still learning the basics, but what I love about Processing is that amazing things can still be achieved with little experience or overheard. I whipped this up a few nights back – all motion is based on sine/cosine computations.
Buddies and colleagues of mine told me years ago to get into Processing – to which I never did. Well, I finally hunkered down and began to fiddle with it. I should have done it years ago. Because it’s Java-based, there a plethora of libraries to make things which would otherwise be impossible to do in Flash extremely easy. For myself, the simple ability to output to an image sequence or Quicktime file sealed it for me. Below is the first sketch I did in Processing – comprised of a little more than 30 lines of code.
I have been playing with different layout configurations lately and, after seeing the advantages/disadvantages of Flex layouts, I decided to work on this experiment. Flex layouts are great because they allow easy visual organization of elements in containers. The problem with that is once an element is in a container, it cannot easily and flexibly change its layout position. For instance, a grid cannot really turn into a HBox and definitely cannot turn into more alternative layouts (such as a circular or random layout). I decided to make some Actionscript classes that would virtually mangage layouts – no containers, just managers. Meaning you subscribe an element to a layout (or multiple layouts) and they can be put into their correct layout position (or taken away) since they act independently.
The example above is a simple example of 50 sprites – all subscribed to different layouts. Clicking each layout button applies those elements to that particular layout. That layout can be changed, which in turn changes the elements subscribed to it. Those elements can also be broken down into sub layout organizers – allowing for some pretty cool stuff. This method is pretty lightweight as well since there are no actual containers for any of these objects. The objects can be tweened (as per the example above) by defining a tween function or just directly set to their respective positions. In addition, each layout is pretty small – meaning large amounts of layouts can be created with little hit on memory. This still has a while to go, but so far it has allowed me to do some fairly interesting things pretty quickly and reliably.
The more I read attacks on Flash, the more I end up shaking my head in confusion. Honestly, I am a little surprised this is still being debated. People, we need to get over this. Before I elaborate further, I want to make clear my support for web standards, usability and accessibility. Additionally, I understand the concern with Flash – it is not as easy to make accessible compared to HTML/CSS, it has, and continues, to be used for some really stupid things, etc., etc., etc. We have all been down that road, we have heard the arguments. That being said, standardistas: you are fighting a losing battle, and on top of it, a battle not worth fighting. Flash is about as standards-friendly as any media plug-in there is. For each bad use of Flash, there are hundreds being used well. Lastly, and more importantly, it is changing what we can do on a browser and how our generation accesses media. Please, for everyone’s sake, stop griping about Flash and start educating people on how it can be used more effectively with standards and accessibility in mind.