Documentary »Hello World! Processing«

Hello World! Processing from Ultra_Lab on Vimeo.

Hello World! Processing is a documentary on creative coding that explores the role that ideas such as process, experimentation and algorithm play in this creative field featuring artists, designers and code enthusiasts. Based on a series of interviews to some of the leading figures of the Processing open programming platform community, the documentary is built itself as a continuous stream of archived references, projects and concepts shared by this community.

It is the first chapter of a documentary series on three programming languages — Processing, Open Frameworks & Pure data — that have increased the role of coding in the practice of artists, designers and creators around the world.

The series explores the creative possibilities expanded by these open source tools and the importance of their growing online communities.

See more information at hello-world.cc

iPhone SDK – a complete solution?

iPhone SDK – a complete solution?

Apple has released the iPhone SDK. The 2.1 gigabyte download is free after registration and includes the latest Developer Tools as well.

I personally don’t use an iPhone. Being able to hack it (or get third party software for it) was a stopper for me. Another argument against the iPhone was the rather limited storage space — 4 and 8 gigs simply did not seem enough space.

Apple still wants to retain some control over which apps are pushed on the phone, but it seems the upcoming operating system of the iPhone has already been hacked. People may be able to install software independently from Apple (e.g. to remove a SIM card lock) on a hacked phone.

But looking at the developer site for the iPhone simply does it right. I get a clear product, a very readable documentation and easy to digest tutorials – developing hardware and software together again pays out in a consistent product.

The Android SDK on the other hand is lacking the simple question: How can I get started (I mean really)? What devices can I deploy an Android application on? In fact the Android FAQ states that there are no phones that Android is running on. So who is supporting Android? Why should I spend time on developing for a theoretical market? Android is nothing more than an approach to an upcoming problem that Apple has already solved from A-Z.

That is the reason why Apple is succsessful: They offer solutions – not concepts.

People that think the stylishness of their products are key to Apple’s success don’t know much about Design.

Hobnox is hiring!

Hobnox (the internet start-up I am CD for) is hiring:

  • art director
  • web/screen designer
  • system administrator
  • senior developers for C, Flash, PHP and Java
  • junior developers for C, Flash, PHP and Java

Work location is Cologne, Germany. More information here. The project is related to WebTV and the entertainment-/music business.

It is an international company. So if you are English only and you are prepared to work in Cologne, Germany, you may also apply.

There is also an open position for a team assistant in Munich.

libavg – Kiss Director goodbye?

libavg is a very interesting package for multimedia installations:

libavg is a high-level multimedia platform with a focus on interactive installations. It is meant to pick up where Macromedia Director leaves off and gives you high-quality hardware-accelerated visuals as well as easy and flexible authoring, testing and deployment. libavg integrates well with other open-source solutions for sound, networking and hardware device support, resulting in a complete and well-integrated package. It uses an xml-based layout language for screen design and python as scripting language.

libavg aims to replace Macromedia Flash or Macromedia Director with following design goals: high-quality visuals, high-quality sound, quick authoring, support for a broad range of systems and openness for expansion (see also the features page for details).

And best of all: it uses Python, which is a clean, simple, fast and easy to learn object-oriented scripting language.

Flickr/Ajax application with Ruby on Rails

Flickr/Ajax application with Ruby on Rails

If there is one word, that could describe what happens in the Ruby on Rails context then it is »elegance«. Just click on the image below to see an elegant screencast of an elegant development framework (Ruby on Rails) with an elegant text editor (TextMate) using an elegant JavaScript technology (AJAX) on an elegant service API of an elegant web application (Flickr):

Image of a Flickr tag search form with found pictures

It took me longer to write this blog post than it took to create this Flickr application shown above (well, at least for the guy doing that demo). I’d like to see a demo of a similar applications that is as much fun to watch from the J2EE or PHP crowd.

There are more screencasts here.

By the way:

If you wonder how the fancy shorthanded MacOS X editor (TextMate) works that is used in so many of these demos – there is an RSS feed with links to screencasts about TextMate as well.

Spry framework for AJAX

Adobe Labs (former Macromedia Labs) offers a framework called »Spry«. It is a JavaScript library that offers easier construction of AJAX applications. Drew McLellan from the Web Standards Project reviews the framework and concludes:

As it currently stands, the framework is certainly not ready for prime-time, and if it’s the sort of framework you’d otherwise find useful, we’d encourage you to investigate it and offer constructive feedback.

First impressions on Ajax frameworks…

I had a (very) brief look into some Ajax/DHTML JavaScript frameworks flying around. There are so many and to really compare them in detail would require time that I don’t have right now. So I can only come up with some first impressions:

  • Backbase appears to be a commercial but extremely clean and well designed framework with impressive examples (look in “Demos”) and documentation. But it is not compatible to Safari and Opera yet (which is bad for a 3.1 release I’d say, but they claim to be working on it). If a framework doesn’t take the burden of browser dependency away from the developer (or the user if the developer doesn’t care) then the nicest framework is worth almost nothing. It might be something to play with. Backbase works by applying styles and behavior to either simple HTML elements or custom Tags within an own XML namespace (a look at their Backbase explorer inside “Demos” shows what that means). There is a free community edition, but commercial licenses seem to be somewhat pricy.
  • Dojo does not look as clean as Backbase and their “examples” area is kind of lame compared to Backbase. But it is open source and so it is the choice above Backbase if you developing in a non-commercial context. The JavaScript methods of Dojo are a little more exposed – you need to write some more code to get the desired behaviors. It does not use own Tags in the source code, so Dojo might be useful to “enhance” a ordninary web page. Some people may prefer this approach over using own tags in the source code like Backbase does. I didn’t look at all their examples, but it seems while most of them are compatible with Safari some are not (e.g. the “nested drop target” example).
  • Script.aculo.us has also some good demos – not as complete as Backbase, but much better than Dojo (see for instance the effects demos). It is distributed with some kind of MIT license (free to be used for anything but the copyright information must be kept). Script.aculo.us has also some connection to Ruby: Ruby on Rails uses the framework and they run their site with a Ruby-based Wiki called Instiki. This framework has also some prominent examples to show: 37signals.com obviously created their much-talked-about-lately applications with it. From the examples I have seen up until now Script.aculo.us seems to be fully compatible with Safari which would be a big plus compared to the other frameworks.
  • MochiKit seems to be very compatible as well. It is also distributed either the MIT license or the Academic Free Licence. This framework is more related to the Python community since TurboGears uses it to provide something like Script.aculo.us does for Ruby on Rails. The demos are better than the ones by Dojo but not as slick as the ones of Script.aculo.us or Backbase.

I imagine a future where a developer of a web application could say something like “take this dataset and provide it as shoppable items in a sortable table to the user with a live recording of all selections to the shopping cart” in few lines of code. The visual look of the resulting web page should be 100% CSS based. Developers happy. Designers happy. But I suppose it’ll take another 1-3 years to achieve that level of integration.

The rise and fall of frameworks

I think the next 6-12 month we will see an incredible buzz about web application frameworks – some on the server side and some on the side of the client:

OpenLazlo is competing with Macromedia Flex. for the so called “Rich” Internet Application market. I am somewhat sceptical about thie RIA-approaches. If you can establish a channel to deliver anything useful – fine. But these systems – while cutting development time – are extremely monolithic and they sort of hijack the user experience for you. And caring for the user experience is a differentiator in the market. I admit that Flex/Lazlo would provide a better experience often compared to using no interface toolkit at all – but generally I feel these systems are bloated and heavy trying to solve so many things at once. But maybe I am just not getting it right. Many internet applications would be “rich” if only they would be designed better and provide some sort of solution to a problem.

For the development of the backends on the server we see frameworks like Ruby on Rails, TurboGears, Twisted, Zope and so on. These can also really cut development cost by providing abstraction layers to common problems. These frameworks do a hell lot of things for a developer, but they usually have a steep learning curve and they also may have issues with reliability, performance and scalability. But from what I see, there are little options to avoid frameworks unless you are ready to invest the time in working around so many different gotchas yourself.

On the client side we see frameworks popping up like mushrooms that try to help developers turn the Web Browser in some sort of HTML-driven application delivery device. There is some comparison already available, but I wonder if some frameworks will recieve wider adoption. Script.aculo.us and Dojo seem to be good candidates. Script.aculo.us is even teaming up with Rails to create nifty little applications in very short time. In other words: these JavaScript framworks provide a quick way to implement certain interaction patterns in web pages (like sorting a list with the mouse pointer).

People were critizising AJAX to break the URL schema. I don’t think that is the case as long as you keep URLs as pointers to resources functional and constrain AJAX to improve the usability of a web application. I don’t want to have to reload a full HTML page or submit a complex form just because I unchecked an option.

Plone book arrived….

I just received a copy of the Plone book by Andy McKay (german translation). Lot’s of new things are in there. Good for studying after some extensive trial & error sessions.

I had a discussion with Peter Baumgartner two days ago about Plone – and it seems like they’re going to substitute Userland Manila with Plone in their department. This is something I was considering to do several times before as well. But unfortunatly there are two major drawbacks:

a) Plone does not yet come with a full blown bug-free weblog software (I tried Quills, but it is still in development and somewhat undocumented & buggy) and

b) changing designs for Plone is a daunting task. The skinning system is very flexible and advanced but also very complex to learn. You can’t just go a head without deep understanding of the application logic of Plone and advanced knowledge about CSS and Zope. It is too difficult for a youg student to redesign a weblog novice HTML skills. But that is what we need. Redesigning a site according to personal preference is an extremely important must-have-feature for students.

I am using Plone right know to supplement a course I teach. There are approx. 200 students registered. I am using CMFboard, Quills and ZWiki as extensions for Plone. While Zwiki is fine – CMFboard does make some problems: discussion group posts don’t show up in chronological order and the templates for CMFBoard are confusing.

And to make the problem even more difficult: Zope3 is coming up – and I don’t know about any work of Porting Plone to Zope3 (or I think they integrate the best ideas from Plone in Zope3 anyway, huh?).

So without superb weblog-support (and templating easy enough for kids) and without a very good discussion board add on – Plone will remain some kind of community CMS.

There does not seem to be a quick solution for the templating issue at hand. So we think of using WordPress MU for just the weblogging. Maybe Typo3 for the Extranet and Plone+Custom Products for the Intranet.