Review on qooxdoo Beginner’s Guide

Recently I got the chance to review “qooxdoo Beginner’s Guide” published by Packt Publishing, a book dedicated to the JavaScript framework qooxdoo, developed by 1&1 in Germany. Qooxdoo enables developers to write rich Internet applications (RIA) in JavaScript in object oriented programming style. 

That’s the group of developers the book is targeting. The authors have structured the content into multiple chapters, beginning with giving a general overview of the framework. The first chapter describes the concepts of qooxdoo like GUI widgets and presents the reader with an example application, which will be continuously developed in all chapters of the book. Qooxdoo is working with several proaming paradigms and other frameworks, like GWT (it’s called QWT with qooxdoo), but the book is only covering the standard JavaScript programming style. That’s no negative point, since it gives a clear line of direction during the entire book without switching between the various methods of working with qooxdoo.

After the introduction the reader gets detailed information about the requirements and recommended tools a developer should use in order to work with qooxdoo. Since the framework is building upon a python based command line tool chain, users of Windows get a tutorial how to install ActivePython before setting up the first own application. After that more basic information is following, this time with JSON and Remote Procedure Calls (RPC). In my opinion it’s a little bit too early at that stage of development to talk about client server communications, but well, now it’s here. Now we learn how to do rpc calls. The chapter closes with an explanation about how error handling in qooxdoo works and should be considered in applications.

The next chapter is very important, since it covers the core concepts of qooxdoo. There is a lot of stuff in there which becomes very handy the moment you know about it. I would’nt have wasted hours of work on my first project if Ihad the opportunity of a book giving my some hints about the core concepts which in some ways are similar to Java and in some other cases are…not. You get information about Classes and Objects in qooxdoo, their properties and events, statics, and lots of more stuff. Inheritance, singletons, abstract classes, everything you wish for.

Ok some people may wish for the boring part to end. Now it gets more visual, with the introduction of layouts. The next chapter gives the reader an inside view from the root application to the more detailed widgets, including menus and toolbar widgets. It gets more in detail in the following chapter, which included a description of the most important GUI widgets that ship with the framework.

Almost every GUI framework needs to have some stuff with forms and validation, that’s the next chapter for the reader. I won’t go to much into the details here.

There is a chapter about themes as well, but before that we get presented with a slight detour to testing and debugging applications with unit tests and profiling methods. Nice to know for developers, but it feels ill-placed between widgets and themes. Would have placed it at the end of the book to the performance chapter, which is one the most valuable resources for those who work with qooxdoo for a while and wonder why applications tend to get slower the longer they are being used.

Resuming my reading through the book, I think it is a valuable beginners guide to qooxdoo and includes some valuable resources for experienced qooxdoo users. The layout of the book is good and easy to read, though some reordering of chapters and/or content should be done. There are not too many long speech-like texts, instead a lot of listed facts and screenshots of important steps are included. After each chapter there is a little quiz, but that’s almost mandatory for beginner books today. All in all I can recommend the book for people who are interested in learning qooxdoo.

Tagged , , ,

klickTel Open-API WordPress Plugin

klickTel is a brand of telegate Media. The company is offering free and paid directory assistance information to users of their software, which includes CD-Roms, web portals and mobile applications

Just recently they published an Open API to give people direct access to the data provided by the company. I have started to write a plugin for WordPress to use the data from this API. Using that plugin you can search for directory informations e.g. restaurants or other trades in a certain town or nearby.

The API offers several types of search which will be integrated in the plugin. The first type of search is a meta search, which enables you to look for a “what” in a not specified “where”. “What” can be anything name or trade based, e.g. ‘restaurants’ or just ‘meyer’. “where” is a location information, which can be a zipcode or town name and a street name (or a combination of these).

After searching for ‘restaurants’ in ‘berlin’ I get a list of results:

Those are just an example of what is possible with that kind of API. To get more information you can visit the telegate Blog or register for the API directly.

To get my plugin just visit the page in the WordPress Plugin repository. Feel free to ask any questions here or in the Open-API Google Group.

telegate is hosting an event called ‘Hackathon’ to encourage developers to come and try out the Open-API. You also have the chance to win up to 5.000 €!

Tagged , , , ,

Mac OS X: Apache Webserver Virtual host Permission denied error

There are a lot of tutorials out there how to setup local websites with virtual hosts on a Mac OS computer. Yesterday I tried very hard and it failed to work for me. I used a subdirectory of my Documents folder as virtual host document root, and that was my problem: the apache webserver process, running as _www, has no rights to access this folder. So either use some other path or make the Documents folder accessable via “chmod 755″.

Hope that helps someone out there :)

Tagged , , , ,

“Collecting classes \’utf8′ codec can’t decode byte 0xa0 in position 12345″ when using qooxdoo

If you are working with the qooxdoo Javascript framework (and you have a non-english Windows operating syste you are working on) then you might get an error message like this when trying to “build” your application with the command:

generate.py source

Collecting classes \'utf8' codec can't decode byte 0xa0 in position 12345

If you get this problem, then it probably is due to the fact that your standard temporary directory is somewhere in your user directory…and that might contain non-UTF8 characters. So you can modify your config.json file and insert the following in the top level ‘let’ block:

"TMPDIR" : "c:/temp"

That way you direct the builder to a temp dir which has a valid path.

Tagged , , , ,

Paid and free iPad Apps I use and recommend

I have an Apple iPad for a couple of months now and here are some of the apps i can recommend:

Paid Apps

Good Reader
Best document viewer ever. Fast as hell and worth any money.

RDP
Sometimes I need to remotely login to a Windows maschine, and here comes RDP. There is a free version of the app available which lacks a couple of features. If you need those (like drag & drop) you need to get the paid version. Very useful!

My Movies
This app helps you keep an updated DVD / BluRay collection. You can use the camera of the pad as barcode reader and instantly add your volumes. There is also a functionality to take notes when you lend your DVD’s to someone, so you always know, where your stuff is! Sometimes it crashes, but hopefully that will be addressed by the devs.

Free Apps

Note Taker HD
Take some notes anytime you want.

Dropbox
Since the iPad has no SD slot, you can use Dropbox to transfer all kind of data to your iPad.

Flipboard
Flipboard is a news reader which arranges the news in a newspaper style. It can follow your Facebook and Twitter accounts and compile a sort of newspaper for you, including information behind links.
Very good and innovative program!

Windowshop from Amazon
Amazon shopping easy and comfortable.

Feeddler RSS
RSS Reader, especially useful in combination with a Google Reader account.

TeamViewer Free
I haven’t tried out the paid version, but the free version offers a lot of stuff already. If you have a computer with TeamViewer installed, you can remotely access it with this app.

klickTel
If you are new in town and need to find a certain locality (e.g. restaurant) this is your way to find it. This free app from one of the top directory and local search companies in Germany comes free of charge and is really useful in situations where you don’t know a phone number or address of the place you wanna go to. Germany only!

eBay
Watch and bid on auctions. Very easy to use.

Skype
Finally there is a Skype app for iPad which is really good and a real alternative to Facetime which can only be used with Apple devises.

Tagged , , , , , , ,