Archives
May 6, 2006
A very good book for experienced web application developers who want to jump into this new way of creating a rich user experience with the web browser.
The writing is clear and straight forward. Each chapter begins with a concise (but informative) theoritical introduction, which is then followed with a practical example that is substantive enough to learn the programming behind the theory, yet not too long that you’ll get bored.
Clearly targetting the enterprise developer, this book covers how AJAX works with:
- XML, XPath and XSLT
- Web Services
- JSON: a Javascript data format that is a lighweight alternative to XML
You can read rest of the topics covered in the book’s TOC.
A HIGHLIGHT OF THE BOOK
I especially liked a section in chapter two (AJAX Basics) that covers the 3 methods used to create AJAX-like experience:
- The hidden frame technique – what we used to do, to fake it in the late 90’s
- The hidden iframe technique.
- Using the XMLHttpRequest object – true AJAX (IMHO)
It was interesting to see working side-by-side comparisons of the methods available to web developers … and it makes you realize how useful the XMLHttpRequest object is!
What’s even more interesting is how the authors have actually combined these three methods in certain applications to create a more flexible AJAX implementation.
CONCLUSION
If you are an experienced web developer who wants to learn AJAX, get this book.
read more
May 3, 2006
Introduction:
AJAX In Action targets experienced programmers who may not be familiar with client side Web application development. As such, the book provides a ‘crash-course’ into the basic building blocks of AJAX scripting:
- CSS for styling markup/HTML
- CSS for page layout
- How the DOM (document object model) is used to restructure the page dynamically.
A good book for experienced programmers but not a title for web designers wanting to jump into AJAX. For people with less programming experience (those who know a only little JavaScript,) you are better off with the excellent book for beginners: Head Rush AJAX published by O’reilly.
Then perhaps (with some programming experience behind you,) you can come back to AJAX in Action.
Stefan Mischook
–
WARNING: This review has a 5 star nerd-level … not for beginners.
In a word; a comprehensive book that covers as much ground as could be expected, given the pace of change in the Ajax sphere. Lots of detail here although perhaps a little too much at times – I had to fight to finish it and ended up skimming at times.
About Ajax
Chances are you’ve heard of Ajax – it’s getting a lot of press as the best thing since some other acronym (take your pick). Ajax essentially is a suite of web technologies that allow you to develop web sites that seem more like traditional desktop applications. The web metaphor of click-reload-from-server-click-again is replaced by a user interface that can selectively update itself as the user interacts with it.
There are a number of working Ajax applications in the wild, one prominent example being Google Maps (http://maps.google.com/). The promise of Ajax is of a new generation of distributed applications with better usability and hopefully lots of budgets for those who know how to make them happen.
Rethinking the Web
Part 1 of the book does an overview of Ajax with emphasis on how Ajax applications differ from traditional web sites. In addition the section covers some prominent examples, as well as looking at some alternative technologies such as Flash and Java.
The section then dives into some simple examples of using Ajax technologies like the HttpRequest object and DOM scripting. This provides a nice gentle introduction to the main ideas behind Ajax.
The final section of part 1 looks at some patterns that could/should be used in developing Ajax apps with emphasis on a Model-View-Controller (MVC) framework for client-side Ajax code.
Core Techniques
Having dipped our toe (if not our whole leg) in the water, the authors move on and cover the various patterns that one might expect to use in developing an Ajax application. Quite a lot is covered and there is a lot of code. The authors use some concrete examples that are mostly reasonable, although less experienced web developers may not see the relevance of some of the examples.
Professional Ajax
Part 3 is covers core issues involved in taking an application from the prototype stage to a production application. Issues such as responsiveness and scalability are treated, as are usability issues like providing user feedback (with some example re-usable frameworks provided as examples). In addition security and performance are covered with some good tips on third party tools that can be used to debug hard-to-find problems as you are developing your application.
Ajax by Example
The final part covers the lion’s share of the book and provides some examples of varying complexity. These include code for a double combo box, type ahead suggest (see Google Suggests), a web portal, and others. I did not actually spend a lot of time here as by this point I felt I understood enough of the technologies to use them as I needed. Which is not to say that the code examples are not worth looking at.
Round Up
The book also features some appendices that covers tools like IDEs, third party frameworks and libraries, and a section on JavaScript for object oriented developers. Note that the libraries section necessarily can only be a starting point as there are new contributions coming along fairly often.
All in all a lot of the information in the book can be found on the web, but the book does make it easy to kick back in bed and absorb.
The writing style is very clear although not as entertaining as some technical books I have read lately. I think you’ll find that once you understand the core technologies, stuff starts to get repetitive.
Still the book does a nice job of covering the ground extensively and I recommend it to anyone who wants to learn about writing Ajax applications.
Richard Mischook
read more
May 1, 2006
I have had two major problems with Ruby and Ruby on Rails:
- Hard to find Ruby/Rails hosting.
- Not too many clients looking for Ruby programmers.
One thing has changed:
A major hosting company (GoDaddy.com,) has stepped up and now supports Ruby on Rails hosting – there goes my first argument against learning Ruby!
Quote from GoDaddy:
“Our customers are finding Ruby on Rails to be incredibly valuable in shaping their online presence,” said Bob Parsons, GoDaddy.com CEO and Founder. “We are pleased to be able to offer support for a framework that increases the utility of the sites we host.”
With GoDaddy.com jumping in, this will force/influence other hosting companies to adopt Ruby and as such, I believe over the next year, Ruby hosting will become more and more common.
BUT EVERYTHING IS NOT PERFECT WITH RUBY… YET.
Even though it looks as though the hosting thing is resolving itself, we still have the issue of the number of Ruby gigs/jobs floating around … not that many yet.
There is still so much PHP out there (hosting, frameworks, products) that I think for next few years, PHP will continue to dominate with regards to small to medium size projects.
That said, I think that Ruby will be a player for a few reasons … most important, is the strong acceptance of Ruby (and Rails) by the Java community.
Another problem with Ruby and Rails, is the stability of the fastcgi plug-in that works with Apache 2.x.
Basically, there are still some lingering issues with how Ruby ‘talks’ to Apache. This is major, but there are many high profile, high traffic websites that seem to be running fine anyway … ?
CONCLUSION
Despite the aforementioned issues with Ruby and Rails, I am actually involved with putting together a major project with Rails … I know, I know, I’m a bit of a hypocrite!
My reasons?
- Ruby and Rails are compelling – there’s some good stuff in there that should make the project much easier to build.
- I wanted to explore Ruby and Rails with a real project – I’m just a ‘Curious George’ I suppose …
I plan to come back to you and give you my impressions as to how easy (and useful) it would be for web designers (not programmers) to learn at Ruby vs. say PHP.
Stefan
read more
April 28, 2006
Review by: Richard Mischook
First, a little about this nerd reviewer:
I’ve been writing web applications for over ten years. I’ve used a variety of technologies over that time including CGI with various shell script dialects, Netscape Livewire, and Active Server Pages.
But mainly I’ve used Java because it generally has been the best choice for many of the projects I’ve worked on. (ed: and it paid the bills!)
Now saying ‘Java’ doesn’t say a whole lot because when it comes to web application development, Java can mean a lot of things. It can be as simple (and messy) as just using Java Server Pages or can include servlets, EJBs and/or the various frameworks that are available such as Struts and Spring.
Many of us have been happy to pick and choose from the rich menu of available technologies, confident that these were solid and reasonable choices.
Things change …
But there is a disturbance in the force. It’s a small thing right now but some important people have been grumbling. They’ve been saying things like ‘Do I need to write so much code to do this’ and ‘How many XML configuration files do I need to get Hello World to show up in a browser?
And while many have embraced PHP there is a growing movement centred on a framework called Rails.
Rails is built on the Ruby scripting language. Ruby is an object-oriented scripting language that is concise and “…makes it easy to create methods that act almost like entensions to the syntax…It makes our programs shorter and more readable.†(page 1).
RAILS USES MVC
Rails provides a Model View Controller based framework with some important extras thrown in, most particularly a built in Object Relational Mapping tool that makes saving and loading data to and from Ruby objects almost trivial.
In fact Rails seems to provide a lot of the stuff you’ll find in Struts without the headaches associated with maintaining the Struts config file(s).
Ok, ok … what about the book!
The book wastes no time and starts with an overview of a simple Rails application. It then steps back and covers installation on a number of platforms.
It then dives in deeper and builds a fictitious shopping cart application using an agile and iterative development approach (the book is after all called Agile Web Development with Rails). After spending 125 pages building an application, the authors look at the guts of the framework and illustrate how it can be tweaked.
One important theme running throughout Rails is that of intelligent defaults – if you follow a relatively small number of conventions you can have an application up and running with little or no configuration file tweaks.
But if you do need to change things, you can, and the book does a great job of showing you how in simple and clear language.
EMAIL AND AJAX
The book also looks at support for sending and receiving email, as well AJAX and web services support in Rails. There is also a chapter on deployment that is upfront about some of the issues here as well as an interesting appendix covering the Ruby language for those who may be new to it (like me).
CONCLUSION
Overall the book is a great read if you want to get to grips fast with Rails. The examples and scenarios are fairly realistic and the writing is clear and to the point. Clearly the authors are very passionate about Rails and their enthusiasm is contagious. Highly recommended!
read more
April 25, 2006
As you may know, one of the hardest things about getting your websites to appear in the search engines, is actually getting noticed by the search engines in the first place! If they don’t know you even exist …
To solve this problem, the best thing to do, is to get your site listed on a website that already is visited by Google or Yahoo etc …
A COUPLE OF OPTIONS
One way to do this is with link exchanges. Another is by submitting your website to a directory. The problem is that good directories (that get visited a lot,) usually take their time to list new websites, or you have to pay.
For example: Yahoo! cost about $295 just for them to consider your site – there is no guarantee they will even accept you!
…
To make a long story short, killersites.com has a brand (spanking) new web designers directory. If you have a website and you are looking for web design contracts and exposure to the search engines, now is the time to get your website listed since it is FREE … for now.
Web Design Firms Directory
I will at some point, stop accepting free listings because each entry has to be validated by human eyes … that takes time! To be clear, if you list your site now, it’s free. It will also always be free, for that level, for you guys and gals.
–
I have an article comparing AJAX (the hot new name for a type of JavaScript programming,) and FLASH. There is some collision between the two, and it is an interesting read to see how these technologies compare.
This will be out within the next few days.
Thanks,
Stefan Mischook
read more
April 20, 2006
These days people are really interested in web traffic – big web traffic. But one thing that many web designers don’t consider, is the quality of traffic.
NOTE: SEO is the acronym for: ‘search engine optimization’. This is the process of making your web pages more search engine ‘friendly’ by tweaking code and content.
NOT ALL WEB TRAFFIC IS CREATED EQUAL
People love counting page-views and unique visits but from my perspective, if the traffic sucks, who cares if you get 100 000 visits a day!
HOW TO DETERMINE THE QUALITY OF WEB TRAFFIC
- How long people stay your website
- Your conversion rate – if you sell stuff.
- How many bookmark/’add-to-favorite’ your website.
- How many people visit your website by directly typing in your web address.
You know your traffic (probably*) sucks if are people leave right away, don’t buy anything, never bookmark your site etc ..
You can determine what the numbers are for the above points, with a good stats program.
* People could also be leaving because your website sucks – bad usability etc.
THE MORE SPECIFIC THE SEARCH TERM/PRASE – THE BETTER
Let’s say you sell Irish Setters and you have good rating for the key word: ‘dogs’. And since lots of people search using the ‘dogs’ key word, you get lots of ‘dog’ traffic.
I called it ‘dog’ traffic because what you find, is that the vast majority of your audience is NOT looking for Irish Setters, most are looking for information about (all the) other types of dogs in the world …. and that’s if your lucky!
Who knows, maybe they are looking for information on bad stocks (a la stock market,) or maybe on not so attractive women … it’s hard to say with such a loose/broad search term.
OK, LET’S GET BETTER TRAFFIC
With this understanding, you now decide to target ‘Irish Setters’, and with work and luck, you get good position in the search engines. But now, you’ve lost your top ‘dog’ position … dog dangit!
But is it really bad news? Well no, because you now find yourself getting people who are actually interested in what you are offering (Irish Setters) and as such, sales go up AND you get more return traffic.
WHY GOOGLE TRAFFIC IS BETTER FOR BUSINESS
To the point: people who reach you from other websites are typically ‘browsers’. These people are not ready to ‘pull the trigger’ on anything specific, they are simply snooping about not ready to commit … that’s why search engine traffic CAN BE much better.
HOW WEBSITE CAN DELIVER GREAT TRAFFIC
That said, some websites can deliver great traffic, if they are designed to filter/clean up traffic properly.
For example: if my website has a link to your Irish Setter selling website, and the link text reads:
‘Buy superb Irish Setters’
Chances are that people who click through from my website to yours, will be more likely to want to buy an Irish Setter from you. If on the other hand, my link text read: ‘free Irish Setter Information’, the quality of the traffic will decrease – you’ll be getting a bunch of free-loaders!
CONCLUSION
Don’t waste your time chasing sucky traffic … go for the ‘killer’ traffic.
Stefan Mischook (The Web Design Heretic)
read more
April 17, 2006

A LIST OF FREE IMAGE EDITORS AND CONVERTERS
PowerBatch 2.7 – 1.6MB
– Batch renaming, resizing, converting, printing, rotating, colour adjustment, cropping.
– Crop with aspect ratio confinement.
– Built-in FTP client!
– All program files are contained in a single folder.
– Converts JPEG, GIF, PNG, TIFF, BITMAP and JPEG2000.
– Supports animated GIF and multipage TIFF.
– Contact sheets.
– Image effects.
– Add text.
Paint.net – 4.9MB
– In development.
– Clean GUI.
– Developed with help from Microsoft.
– Requires 24MB .NET Framework 1.1 to run.
– Limited layers support (cannot be moved on canvas).
Pixia 3.1 – 3.6MB
– Not much known about this one yet.
Photofiltre – 1.6MB
– Multiple images open at once.
– Many plugins.
– More than 100 filters.
– Feature packed.
FastStone Image Viewer – 2.4MB
– Convert major formats (inc. PSD).
– Lossless JPEG rotation.
– Magnifier viewing.
– EXIF support.
– Resizing, flipping, rotating, cropping, colour adjusting tools.
– Crop with aspect ratio confinement.
– Compare images side by side.
– Batch image converter/resizer.
– Supports animated GIF and multipage TIFF
Xnview – 2.1MB
– Utility for viewing and converting graphic files.
– Imports 400 graphic file formats.
– Exports 50 graphic file formats.
– EXIF.
– Copy, cut and crop.
– Brightness and contrast adjust.
– Modify number of colours.
– Filters and effects.
– Windows print (Contact Sheet) and TWAIN support.
– Supports animated GIF and multipage TIFF.
GIMP – 7.3MB (Windows version)
– Probably the best open source contender to Photoshop.
– Requires GTK+ 2 runtime environment – 3.5MB.
– Layers support.
– Difficult to get used to GUI layout (or so I’ve read).
Thanks to Tim
Stefan Mischook
read more
April 5, 2006

When people think of Java, they think of some mighty indestructible language/environment that never goes down – well at least less than other platforms like PHP or .NET.
REALITY CHECK
After running my own servers for 6 years (IIS with Resin) with few troubles, I moved hosting to outside sources. I had to go through several hosting companies before I found one that could even run my simple POJO based applications!
Now after a year has passed, my experience with shared Java hosting can be summarized:
- Tomcat seems to go down at least once every 7-14 days.
- Contrast this to PHP – never goes down.
FINAL COMMENTS
The Java community tends to dismiss PHP as some scrappy scripting language that can’t be counted on … I must confess, I used to think that too.
Now after a year of using both Java based and PHP based applications, I have personally found PHP to be much more stable and reliable. I am actually nervous that my Java applications (and Tomcat) will fail regularly and am moving to migrate everything to PHP.
I have no axe to grind, just speaking the truth based on my experience.
Stefan Mischook (The Web Design Heretic)
read more
April 5, 2006
PHP Hacks is essentially a collection of ‘bite-size’ PHP scripts that you can easily drop into your websites.
Besides being able to use the hacks straight away in your projects, the PHP code/hacks are clearly explained making them good tutorials for learning how you might do something in PHP.
SOME TOPICS/HACKS THAT STAND OUT:
- Creating a shopping cart.
- Using AJAX with JSON – a php library that makes working with AJAX easy.
- PEAR hacks like Net-Geo to find out state and city locations of people.
- A good examination of PHP design patterns.
Not exactly for beginners, but if you have an understanding of basic PHP you will be OK and you will learn a lot. This book is also good for programmers (from other languages) who want to get a good idea of what tools, libraries are available in the PHP world.
Another good book from O’reilly.
read more
March 31, 2006
This concise book (149 pages) uses Ruby to teach basic programming; a good book for total green-horns to programming. But keep in mind this book is not titled: ‘Learn to Program Ruby’.
What I mean by that, is that the book targets new programmers, not programmers new to Ruby. So it may be a little slow for some people (experienced programmers) when the author (for example,) explains what an array is …
WHAT MAKES THIS BOOK INTERESTING
The book is well written and the flows well, but what I find interesting about it is:
- It uses Ruby to teach programming.
- It teaches some interesting concepts that you might not read in say, a PHP book.
Ruby is the hot new language in the geek world, but it has yet to show itself substantially in commercial application. That said, it is an interesting language choice for this kind of book: Ruby is a terse and easy to use language, and I think this allowed for the author to jump into concepts like recursion and procs – I like this.
CONCLUSION
A good book that is not so pragmatic, in that you don’t see the typical how to build a shopping cart project at the end.
Instead, the author concentrates on basic programming concepts and leaves it to another book to expose the reader to real-life application.
I would use this book in a programming 101 type of class.
read more