Monthly Archive for October, 2008

Coded Beauty/JustLineOn Tutorial

Okay I knew this was going to happen. Deadlines were tough for my thesis project and as soon as the whole thing was done I got lazy. That's why there is no documentation or tutorial for my thesis Project. And of course now everybody is confused about the use of JustLineOn. So I think it's time for me to change that so more people may be able to explore this project.

Oh and one more thing before I go on: The thesis is called "Coded Beauty" and the program of that project is called "JustLineOn". Just to save you from confusion.

The concept of JustLineOn

Okay in theory it's quite simple.

There are 3 basic elements and a bunch of helper elements. They are:

  • LineServer
  • PointTransformer
  • Painter

plus:

  • Palettes
  • Gradients
  • Colors

Everything is formed from those elements. So let's see what they do.

LineServer

LineServer basically do nothing else than serving a constant stream of x/y coordinates. What these coordinates are is what makes different kinds of LineServers different. Those coordinates could simply be the position of the mouse. Or they can be randomly mixed all over the stage. Or they can form a certain path or pattern. This is obviously the most common way they will operate.

Each Lineserver can have as many PointTransformers and Painters added as a child.

PointTransformer

PointTransformers can be added to LineServers and "do something" to the coordinates coming from the LineServer. Here's a simple example:

coordinates from LineServer (10/5) -> PointTransformers adds 5 to each value -> (15/10)

Painters

Painters are attached to LineServers as well and receive the coordinates after they went through all PointTransformers attached to that LineServer. So using the example from above all Painters attached to the the same LineServer would receive the coordinates (15/10).

Then what Painters do is quite loosely defined: Draw something according to that coordinates. Most simple examples: Draw dots at those coordinates or connect them with lines.

Palettes

Palettes can be added to Painters. Palettes represent collections of colours. These Palettes can either be static or dynamic. If static you can manually add colours to them. If dynamic they "fill themselves" according to a certain system. For example they could just be filled with random numbers. Or start at some colour and constanly decrease Saturation.

Gradients

To fill static palettes with a gradient of colours you can easily define a gradient that smoothly fades between as many colours in as many steps as you want.

Colors

Just define a color using a RGBA color. These are used to fill static palettes directly or via the Gradients element.

How to use JustLineOn?

There are some simple Key-Controls:

Caps Lock    -    play/stop
Space        -    reset
R            -    reset & play
+            -    faster
-            -    slower
O (letter O) -    load new Project
P            -    export PNG
J            -    export JPEG

How to create your own projects?

There are 2 different approaches. Either you program or you combine&configure. Second is used for people who can't code (or lazy people)

If you want to have maximal flexibility grab yourself the source and get started. You can either combine those LineServers, PointTransformers, Painters, and Palettes I already created or you can create your own by extending the corresponding classes. For details check the ASDOC or wait for the next tutorial I am going to publish here soon about the technical details of this project.

If you wanna go the fast and easy way you can do that by simple XML configuration files. Don't be scared if you never heard of XML before. It's really easy. Also for that approach I'll be publishing a tutorial really soon. If you just want to try it on your own check out the XML files in the projects folder. There you can find various XML projects and might figure out how it works on your own. Start with "Beispielprojekt.xml" as it is the least complex one.

The Controller

Oh one more thing. If you start the controller application it will be black. As soon as you load a project in JustLineOn you will see a lot of controls appear. Some are those you have via Key-Controls already. Most of them refer to parameters in LineServers, PointTransformers and Painters. Those are the same parameters you can control via XML as well. I know that those controls look really confusing on most projects. Again - try "Beispielprojekt.xml" for a start.

With these controls you can influence a program while running and you can easily experiment with the parameters.

Have fun!

I hope this offers a good short introduction to JustLineOn and I would love to hear your thoughts on that project. So grab yourself a copy and start experimenting. And please check back soon to see my other tutorials about how to create your own projects with JustLineOn.

Oh and if you create nice pictures I would really love to see them. Mail me or put them on flickr and tag them "JustLineOn".

Coded Beauty - diploma project online

I just launched the website accompanying my diploma project. As the creation of this blog was initially caused by this diploma project I'm really pleased to announce it here.

The thesis is written in German (except for the Abstract). Therefore I will publish some major topics, concepts and findings in English language in the course of the next weeks on this Blog.

Anyway the application that is part of the project as well as all the source code and documentation are available in English for Mac and Windows.

Please visit http://codedbeauty.kraftner.com/ or contact me for further information.

Flash on the Beach - Slide Collection

While collecting the slides for all the amazing stuff I've seen at FOTB I thought it might be useful for some other people as well to have one place where you can easily find them all. Unfortunately only a small part of the speakers have put their slides online. Anyway here we go, all FOTB08 Slides I could find. If I missed some link feel free to leave a comment.

Marco Casario - Mash-up widgets with Adobe AIR (slideshare.net)

Stefan Richter - Building Collaborative Applications (zip->pdf/examples)

Chris Orwig - The Art and Craft of Photographic Impact (html)

Jeremy Thorp - Emergence (blog post/links)

Joa Ebert - Audiotool's Private Parts (swf)

Peter Elst - AIR Beyond the Basics - Taming the Desktop (zip->examples)

Keith Peters - Advanced ActionScript Animation (pdf)

Andre Michelle - Adobe made some noise! (swf/examples)

Doug McCune - Steal this code: Decompiling SWFs for fun and profit (pdf)

Flash on the Beach and “The Jonathan Harris Affair”

Wow, what a week. As it was my first Flash on the Beach and as well my first (Flash) conference at all I have to say that I'm really amazed of all the fun, inspiration, learning and beer drinking that has been going on in wonderful Brighton. It's hard to say what I was expecting, but anyway what I got was way more.

As a lot of other people have been doing summaries it's quite useless to do it again. But what I would like to do is collect all my ideas and inspirations I got from that conference. And yes of course I'l add my 2 cents on the ongoing discussion about Jonathan Harris talk.

So right at the beginning I was totally amazed by Dr. Woohoo. As you can see from my last blog post (wow, long time ago...) I already stumbled across Extend Script so it was nice to see that somebody actually got hold of all the potential in this technology. Now I'm even more interested in doing some research in that area as well as having a look at Switchboard. I'm also really looking forward to the release of PatchPanel.

Even though I didn't know Chris Orwig and I almost attended another talk I'm really happy that I went there. Due to a severe lack of time I've been neglecting my interest in photography recently. But this talk really gave me the power to spend some more time on it again. On the day after the conference I spent half of my day walking along the beach and playing with my camera. See some results on flickr. Oh and then of course then there are still those 3 projects Chris has proposed: Tips from Flash on the Beach '08

Next speaker was Erik Natzke who was one of the people I've been looking forward to the most. His work is just amazing and as it's quite closely connected to my thesis the talk was very very interesting to me. Oh and what I've been hoping for for ages: http://natzke.com/source/ So check back soon what comes out of my exploration of his sourcecode.

So, Tuesday. I'm still amazed that I managed to get up early enough... Jeremy Thorp. Another very inspirational talk and I really have to dig deeper into this whole "Agent Oriented Programming" as he was calling it.

Geoff Lillemon and Anita Fontaine (Champagne Valentine) hit me really hard at that time of the day. At the beginning I was really close to an "artist-weirdos" judgment. But during the talk they turned out to be quite interesting. I mean of course their way of live and everything totally stands in contrast to the way I am so I would have a hard time seeing them as an inspiration in a more personal way. But still I got a lot out of their talk. And I finally found out who came up with that awesome idea for the Modernista! website. Apparently I got something wrong there. That's what happens when you let german speaking people listen to english talks in the morning after a night of partying. I just wanted to make clear that it was Tim Blount who created the Modernista! website. Sorry for the misunderstanding Tim!

The Jonathan Harris Affair

Okay, finally I have no other choice. A whole lot of talk has been going on and is still going on on this topic. You may wanna checkout some links yourself:

The slides on flickr | Andy Polaine (includes recorded session)  | Keith Peters response | Peter Elsts response | Natzkes response | Jens Franke(german)

And of course the response from Jonathan himself.

Okay first of all I think much has been said and I have little to add. I can understand why there is such a rumor arising when someone says things like he did. First of all I really believe it's important to see the difference between what he was saying and how he was saying it. Because yes, a lot of the things he was saying are true. There is a lot of crap out there but also a lot of amazing things. I am aware of the fact that a lot of people including me need to care more about the content than the technology. And it's also true that as Flash is becoming more powerful a lot of people just recreate stuff that is quite old and just a port from some other programming language.

So, yes he was right. But I also think that what he said is not totally right in every context. He sure sees it all from a more artistic side and is as well quite focused on storytelling and emotional impact. The problem to me is that he was looking at it all from a more personal point of view of him being a romantic (He called himself that during the talk). Let me just make clear what I mean:

Gasping, Crying and love letters. Yes. Good point. But is it always about emotion? There isn't necessarily an absolute need for emotion in every workpiece. Sometimes it's just the (technical) challenge of creating it. Sometimes it's also about a tool which can be used to then created something meaningful. Or just a tool that makes some specific task easier to accomplish. All this talk about masterpieces is too bloated for me. Not everybody needs or even wants to be the next superstar. And this idea of the shift of paradigms normally doesn't happen as a sharp cut or jump. It mostly is a slow transformation, even if the result might look like a sudden change afterwards.

Oh and 25 years later...so many things that weren't meant to be emotionally loaded mean so much to people today. Even though I can't say that from personal experience, but what about all those people still so in love with their C64? It's a piece of technology, totally not emotional and technology wise a piece of shit in nowadays terms.

So all in all I have to say you should keep those questions in mind as they sure are true in some way and can be quite useful for everyone working in the Flash / New Media business. But you should still be aware of what you're actually working on. It's not always about emotion. And it's not always about art. As well as sometimes aesthetics are all you want or need, totally apart from storytelling. Sometimes it is about experiments. And sometimes about technology. So keep those questions in mind, but always reflect whether they apply to what your currently about to do.