Archive for the 'news' Category

Project Hiddenwood

This years FOTB was special. At the end of my session I showed a sneak preview of project Hiddenwood. I demonstrated complete playback of Audiotool tracks on stage — in a browser. Now that does not sound too special…

But then again, the playback was done using JavaScript only and calculated in realtime.

Audiotool is a complex piece of software so you might ask how one could torture themselves by implementing it in JavaScript? We didn’t. Instead we started building our own vision of a cross-platform application framework a couple of months ago.

Introducing project Hiddenwood.

Hiddenwood is a collection of libraries and tools specifically designed to support different devices and platforms. The core libraries are the “driver layer” and always platform-specific with a platform-independent interface.
On top of that we provide a basic layer of libraries like our UI system, animation framework or managed collections which guarantee 0% garbage collection activity and have been battle-tested in Audiotool.

The framework is all about speed and consistency. The rendering pipeline is optimized for OpenGL and although we offer something similar to Flash’s display list a lot of features are not available because they would compromise the speed.

Speaking about speed: we are always interested in staying as native as possible on our target platform. So for the browser we emit JavaScript, for Android you will get the full DalvikVM performance and for the desktop you will get JVM performance. This approach has also another very important aspect. If you want to go platform-specific for certain features you can do that.
For instance if we want to render Audiotool songs on the server using a fork-join pool for our audio calculation this is possible and might not make sense on an Android device.

You write Java code and the supported platforms are native desktop applications, Android (minimum requirements are Gingerbread and OpenGL ES 2.0) and modern browsers. Now for browsers we even go one step further and support multiple options. That means if WebGL is not available we simply fallback to a normal canvas based render-engine. The same applies to some of the Android drivers.

iOS is of course important as well and we are actively researching the best option that will give us the most flexibility and performance.

We are currently working on two real applications built with Hiddenwood. So far it is a real pleasure to enjoy quick build times and simply test what you want on the desktop with great debugging capabilities. When you are ready you can try the same app on Android or in the browser — which might take a little bit longer to compile.

Because we see Hiddenwood as an application framework there are a lot of goodies built-in like a sprite-sheet based class generator. Think Image mixerBackground = Textures.mixer.background(); where mixer was the folder name and background the name of the file.

We believe that as a developer you really do not care about what kind of technology you are using and just want a great result. We also think that you should be able to reuse platform-independent code across multiple projects. However we do not want to take power away from the developer because if you know what you are doing: go for it.

Of course we are not the only ones with this idea. Nicolas Cannasse saw the signs years ago and invented haXe which gives you a comparable experience and Google released playN a couple of weeks ago which takes a similar approach (and requires another 25 committers :P).

But when we started Hiddenwood we wanted the Java tooling experience and playN was not public at that time. We also think that a game engine is not what you want to use for all kinds of applications. So we like to be able to give people the freedom to build their own game engine on top of Hiddenwood — and calculate physics in a different thread peut-être.
Speaking about threading: the only possible solution that works across all platforms is a shared-nothing architecture which we put in place. However if you write platform specific code you can use of course everything the platform offers and a lot of the Hiddenwood core libraries like the network- or cache-layer make use of multiple threads.

In the end what makes Hiddenwood special in my opinion is that we do not believe in write once run anywhere because that just does not make sense. The essence and philosophy behind Hiddenwood is to write platform-agnostic code using kickass-libraries and being able to reuse that. Audiotool on a tablet would look completely different from Audiotool running in a browser. And Audiotool on iOS would probably be also a little bit different from Audiotool on an Android device because there are simply different paradigms you should respect.

I hope that we can share more information with you soon. With the news of mobile Flash Player being deprecated and the ongoing demand for cross-platform development we have exciting times ahead of us. I am also super excited about the (beautiful <3) applications which we are going to release in the not so distant future.

Adobe MAX 2010 Opener

This year I had the honor to be part of the opener show for Adobe MAX 2010. I really appreciate that the people at Adobe working on the keynote took the risk to try this out.Nokia Theatre

Mike Chambers asked me already in April this year if I would like to do it. He had the idea of Erik Natzke generating art, me doing live coding and a DJ playing music. Eric Clark has been a fantastic supporter of Audiotool so I thought it would be really nice to have him do it. Luckily he agreed.
Continue reading ‘Adobe MAX 2010 Opener’

FATC Awards

Lucky Me! A couple of weeks ago the FlashAndTheCity conference took place in New York. Part of the program was also the FATC Awards ceremony. I am really happy, proud and thankful for winning two awards: “Most Talended Flash Developer of 2010″ and “Best Contributor of 2010″.

A big thank you goes out to the organizers and the Flash community. It really shows that the opensource work I do is appreciated and not meaningless.

Part of the prize I already received has been donated to Eugene Zatepyakin. I think he is doing great work on ASSURF and was in desperate need of an FDT license ;)

Thank you. I hope I will be able to surprise you with some new stuff later this year.

We All Have To Agree

We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.

That is so right. The first thing that comes to my mind is Java on the Mac: sub-standard, castrated and broken. The second argument is even better. Intermediate layers can hinder the progress of a platform. So true. Apple, the intermediate layer between you and the iPhone, stops you from improving the platform. You have built something cool — like Unity3D — and can empower creative people with better tools? Sorry, you are out.

The only way to improve the progress of a platform is by opening it up. Yes, I think we have been there before.

What Apple Just Did…

Musician: Hey Apple, I just had to accept a new license agreement for your iTunes platform.
Apple: So what? You have been really reading through it?
Musician: It says that I have to use GarageBand if I want to see any music I produce on iTunes.
Apple: Correct.
Musician: Well but I do not like GarageBand. I would like to use Ableton Live.
Apple: Sorry but you are not allowed to use that.
Musician: But it is suited very well for electronic music.
Apple: Use GarageBand then. It is a magical and amazing product!
Musician: Okay fair enough, but what if I would like to play the piano? An instrument I have practiced since more than eight years. I think I am creating better music on a piano than with GarageBand.
Apple: Then you invested your time in the wrong instrument.
Musician: Okay. What about the Audiotool? Can I use it?
Apple: That application does not even run on our devices. Those developers are lazy.
Musician: Errr, okay. So if I use GarageBand I can do what I want?
Apple: No. If you use the F-word in a song for example it won’t be distributed via iTunes.
Musician: You are kidding. Why?
Apple: Because we think that it is not appropriate.
Musician: That must be a joke.
Apple: Not at all. Your child could listen to that song — think about it.
Musician: Well, I think I know best what’s good for my child. Besides, would some parental control system not help here?
Apple: Next question please.
Musician: Okay, assume I use GarageBand and that my content is “appropriate”. Can I be sure it will make it to the iTunes store?
Apple: First we will check it.
Musician: How long will that take?
Apple: Up to two months.
Musician: Are you serious?
Apple: Yes. There is plenty of music being created and we want to filter only whats best for our users.
Musician: And you think you can decide that?
Apple: Sure.
Musician: Okay, let me sum this up quickly: I have to use GarageBand to create any music for iTunes. It has to be “appropriate” and then you let me wait for quite some time to tell me whether you like it or not?
Apple: Now you make it sound like as if we were evil. Google is evil. We are the good guys! And look, the new iPad. Isn’t it beautiful?
Musician: Oh, yeah. I really want that overpriced product. Where can I buy it?
Apple: In our certified Apple retail stores.
Musician: And you will not pull me over this time like you did with the iPhone when you dropped the price dramatically two weeks after its release?
Apple: No. Not exactly. We will release an iPad with a webcam soon. And we will charge $200 extra for that.
[...]

Sounds strange doesn’t it? Thank god this was just a fictional interview and will never become reality.

FOTB Recordings

The people from Powerflasher were kind enough to upload their recording of my FOTB session. I am sorry that the microphone stopped working at the end. But you might still be able to understand what I was talking about if you turn up the volume of your speakers.
Continue reading ‘FOTB Recordings’

After The Sandbox

In 2006 I got invited to the FlashForum Conference in Düsseldorf, Germany. It was my very first Flash conference and my topic was AS3 code optimization. I have talked a lot about bitwise operators, lookup tables and other techniques to speed your code up.
Now about three years later I wanted to prepare a very special talk for FOTB and make a step forward by getting rid of old habits and idioms.

Before FOTB I was not sure if I can present Apparat at all. For me as an autodidact it is not always easy to solve certain issues. Mario Klingemann talked about Magic Moments in Brighton. I guess I had one after a long time of thinking and failing. I got really into the flow and everything became so clear. Stay tuned for more detailed posts on the technique behind the different compilers.

Continue reading ‘After The Sandbox’

This is an outrage!

First of all I think I have to clarify at least one thing. I have criticised Adobe in the past for a lof of reasons. Not because I do not like them or the technologies they produce but because I want to improve the Flash Platform. This is of course pure self-interest since Flash is a key technology for the Hobnox AudioTool.
Continue reading ‘This is an outrage!’

Flash on Tap and Flashbelt

Tomorrow I will leave for my trip to the USA. First conference will be the Flash on Tap conference which is happening for the first time. Then shortly afterwards I will speak at flashbelt. This is now the 3rd 6th flashbelt conference but for me the first time speaking there.

I have never been to the States before so I am really looking forward to it. At my session “AudioTool’s Private Parts” which had been completely renewed for the FFK09 in Germany I will talk of course about the technologies that our tool uses and show some examples using Hobnox Open Source. I will also show a live preview of AS3V running in Eclipse and how it integrates into the daily workflow.

Domain Problems Fixed

I had a couple of problems with my old domain http://www.je2050.de because it was for about two to three weeks in the void.

Therefore I could not receive any e-mails going to that domain and a lot of links in the blog were broken. Everything should be fixed now and all the old links should work again. I am also able to answer my mails now. Unfortunately everything I received during the last weeks is completly lost.

Sorry for any inconvenience caused.