Here is a very good introduction to HTML5 by Brad Neuberg that is a must see for web designers and developers – at least if you are new to HTML5:
Introduction to HTML 5 from Brad Neuberg on Vimeo.
Notes from Prof. Oliver Wrede on Interface, Interaction and Information Design & more
Here is a very good introduction to HTML5 by Brad Neuberg that is a must see for web designers and developers – at least if you are new to HTML5:
Introduction to HTML 5 from Brad Neuberg on Vimeo.
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 (the internet start-up I am CD for) is hiring:
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 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.
As I expected there have been a number of JaveScript frameworks in the making. One I just heard of is jQuery. It is supposed to be easier to use than its counterparts.
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):
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.
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.
Tobias (flying sparks) points to a audio recording of David Heinemeier Hansson with a keynote at OSCON ‘05. He talks about the basic ideas behind Ruby on Rails.
Update: There are also slides available as PDF from the Ruby on Rails website.
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:
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.
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.
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.
I was so busy doing other stuff so that I completely missed the release of Twisted 2.0. It was a large transition from a monolithic framework to a modular framework (there is a FAQ about this change). I wish I had the time now to test it.
Jeremy Zawodny with an interesting post about the return of client side web programming. I did my diploma with heavy use of DHTML in 1997. I wanted to do it cross-platform and I stopped to support anything but Internet Explorer after my doctor told me I should try to back-off from whatever I currently do. It wasn’t just a nightmare – it was practically impossible to do and you could become seriously sick trying.
Many years have passed and things look different. The support of DHTML inside the browsers is much better – but that obviously did not really help too much: advanced technical concepts still require a lot of skill to be developed.
Finally Frontier has been released as open source package:
This is a fresh start for the Frontier kernel, the technology under Manila and Radio UserLand, and in the future, possibly many more useful system and network applications. We’re releasing the code under the GPL, the rationale for this is explained in the FAQ and in the audio blog post I recorded about this event.
There is also a mailing list, a download page and a FAQ.
Frontier is a marvelous concept for a scripting application because everything is integrated in one application: scripts, database, GUI. It is perfectly suited for experimentation and it contains a very easy to learn scripting language (here is another documentation). And because it is open source now it may resurrect the interest of creative developers to enhance the system on a very low level.
If you are curious you could read the “Golden Rules for Frontier and Radio Userland” piece from March 2001. (You need to skip the Parts about Manila. Also mainResponder.root is not yet available – so the web server is there – but there is no logic yet that processes an HTTP request).
Potentially a future version of Frontier will make it possible to develop with scripting languages inside this application.term
In response to the top ten obscure java projects list someone (who does not have an about page) replies with an obscure but useful list. I like this a lot – there aree so many gems hidden on the net that deserve more attention.
I am bootstrapping: The start page of my weblog now renders through a homemade skinning system based on Zope and Page Templates. This means I do not design this pages with the template files Tinderbox uses for the HTML export. For example here is the template of the current start page:

There is still a lot of work to do, but the goal is to use the Tinderbox templates only to define an absolute minimum. I need to get used to this abstraction layer for a while before moving on with the next level: getting rid of the HTML export and FTP upload altogether and importing the Tinderbox file into a database directly.
The ^children(…)^ command will then be replaced with some kind of method that pulls results from a SQL query. I may even consider to have two different Tinderbox files for one weblog: one to author the actual content and the other to design the presentation logic and the hierarchy.
The idea behind this is a) to be much more flexible about the way content is presented, b) to hide the publishing process completely in the background (just save to update) and – most importantly – c) to organize notes and articles in Tinderbox fairly independently from the way it is presented. It can be imagined like working on a creative wiki-style stack of notes here while presenting a weblog and article collections with options for user interactions (subscriptions, comments, RSS) there.
It is actually the first time that I blog about Ruby. I had a look at Ruby on Rails – a web application framework based on the Ruby scripting language. Ruby appears to be a very well designed scripting language (see here) for anyone who loves “quick but not dirty” programming.
Ruby is very successful in Japan, where it has already taken over Python in popularity (see here). Quote: “Ruby puts the fun back into programming.”
Dave Winer —former president of UserLand— convinced UserLand to release the Frontier kernel as open source. Manila, Radio and all web applications built upon that kernel will remain commercial software.
I really hope this will turn out to be a smart move for UserLand. I am using Frontier since 1996 and I have learned a lot from it. It is an application with such a high integration (database, server, scripting interpreter and graphical development environment in one integrated application), that for some reasons it is really a joy to develop web applications with it.
I am looking forward to see what this open source release will look like and if it is possible to integrate it with my own ideas again. There was a rich developer community alive back before Frontier went commercial that has more or less vanished from the stage. I wonder if that will come to life again.
Creating and Consuming Web Services With PHP:
Find out how to create XML-RPC, SOAP and REST web services using PHP, the most popular scripting language for web applications.
[via Der Schockwellenreiter]
Here is a good place to start learning about SOAP in Python (written by Mike Olson, Scott Archer and Uche Ogbuji). There are five Parts:
Part 1, Part 2, Part 3, Part 4, Part 5
[via Daily Python-URL]