Pro HTML5 Programming: Powerful APIs for Richer Internet Application Development review

If you haven`t heard of HTML you shouldn`t be reading this. HTML is the mark-up (programming) language for websites. Together with CSS (for the styling of sites) and JavaScript it forms the base of the internet. HTML stands for HyperText Markup Language and 5 is the latest version.
The latest official version is 4.01 which dates 24 December 1999. The specifications can be found at http://www.w3.org/TR/1999/REC-html401-19991224/ if you’re really interested.
HTML 5 is the long awaited follow-up of HTML 4 and XHTML 1.1. It`s been more than ten years ago since the last update in version 4.01 and technologies have evolved. The editor’s draft of HTML 5 can be found at http://dev.w3.org/html5/spec/
HTML 5 drops some out-dated elements and attributes while adding new ones and improving already present ones.
Example: Back in 1999 most people where browsing the web using a dialup connection. You would be happy if your download speed passed the 4 kb/sec mark. Now it`s “normal” that you download music and watch videos on the internet on sites like YouTube.  Therefore new HTML tags like <audio> and <video> are introduced (since these were far from necessary in 1999). This way the problematic embed tag can be removed.
Enough tech talk, time for the review!

I`m Ramon van Belzen, a 22 year old webdesigner from Vlissingen, the Netherlands. I’m surfing the web since 1997 and I` been programming HTML since 1998. Today I use web technologies like HTML 4, HTML 5, XHTML 1.1, CSS2 / 3, microformats, JavaScript, AJAX, jQuery, PHP/MySQL, XML. I currently run over 10 websites, most of them as webmaster and webdesigner.
I have been offered the chance to review the book by Apress.

As I`ve mentioned before, this book is about HTML 5. It`s not about the basic elements already present but about the new ones and the APIs introduced along with it. In very short, this book is about the canvas, audio and video tags and the geolocation, communication, WebSocket, Forms, Web Workers, Web Storage and Offline Web Application APIs.
Apress also released another book, together with this book, which is all about the HTML 5 elements and CSS 3: Beginning HTML5 and CSS3: Next Generation Web Standards.

The book promises you will learn to develop web applications and sites using HTML 5 features and APIs and how to combine these (with other) web technologies.

This book is written for intermediate level programmers who are familiar with HTML 4 and/or 5 and knowledge of JavaScript is recommended.

The first chapter is an overview of HTML 5, containing answers to the who/what/where/when/why questions about HTML in the past and present. It also describes many of the new HTML elements and shows examples how to make your first HTML 5 page and enhance it with tables, CSS and JavaScript.

The following chapter explains the canvas API. With the canvas API you can dynamically generate and render graphics, charts, images and animations by using HTML 5 and JavaScript. Topics and examples shown in the book are from drawing a line to drawing advanced items (like a Christmas tree) to using multiple images and adding shades. The chapter ends with a mouse tracker – drawing a heat map.

Chapter three is about working with HTML 5 audio and video elements. It explains the valid HTML5 media types (codecs) and attributes. The next part is about the JavaScript control functions which you can use to start, stop, and pause audio and video files. Following the control functions are the attributes which can be used.

The fourth chapter is about the Geolocation API. As the name might reveal is about the use of your location in and on websites. This function is very interesting for mobile phones, laptops and can be widely used in e-marketing. The chapter starts with how the location is determined including de pros and cons of each setting. Next is the implementation of the location API by showing your current location on a page. Following the previous part is a real life example, which uses the geolocation to calculate the travelled distance while being on the site. The last part of the chapter describes how to link the HTML 5 Geolocation API with Google Maps to show your current location on the map.

The next chapter (five) is about the communication APIs including XMLHttpRequest level 2 – the follow-up of the famous AJAX API. With these new API`s it’s possible to use cross-site scripts and build things like status updates, chat boxes and much more. The chapter ends with a cross site data uploading script.

The WebSocket API is explained in chapter six. With the WebSocket API it`s possible to replace the HTTP protocol with the WebSocket protocol to reduce traffic and latency and use a full-duplex connection. With the WebSocket protocol is also possible to SSL encrypt the connection, just like HTTPS. The chapter explains the basics of the WebSocket API, how to write your own WebSocket server in Python, where to download a ready-to-go WS server and how to implement it, including references to previous topics to merge everything into one script.

Chapter seven is about the new Forms API. Form functions have been present in HTML for a long time, but form validation and things like calendars where not possible using HTML only. Many sites use JavaScript to enhance a forms functions. With the new Forms API it`s not necessary to introduce complex JavaScript codes. The chapter starts with the new form elements which are present in HTML 5. Next in the chapter is the use of a range selector, the calendar, the placeholder, autocomplete , autofocus, min/max, step, list and required attributes. Also new in HTML 5 is the forms validation possibility. Of course this is also explained in the book.

On to chapter eight, another much requested feature in HTML is Web Workers, which allow multiple JavaScript threads to be run simultaneously. First the basics of the Web Workers API are explained. Later on a CPU intensive JavaScript image blur effect is programmed and later on sliced into pieces which use the Web Worker API.

The Web Storage API is explained in chapter nine. The Web Storage API replaces cookies. With the new API the limitations of cookies are past. The API can also be used as a caching API so websites respond quicker. The chapter begins with setting and receiving a session storage item. Later on local storage is explained. As an example a distance away from finish is used. This uses content discussed in previous chapters to demonstrate a site which uses multiple techniques like web workers, the geolocation API and web workers.
At the end of the chapter the browser database storage “Web SQL” and JSON is explained.

Chapter ten is about creating offline web applications using HTML 5. Offline web applications are different from the web storage API. With the offline web application API it`s possible to create a fully working site using HTML, JavaScript and CSS. The chapter starts with creating a simple updateably site. Next step is adding content introduced in previous chapters and linking it together.

The final chapter (eleven) is about the future of HTML 5. It contains information about WebGL, the audio data API, touchscreen support and peer-to-peer networking and it contains examples if possible.

What I did like about the book is the how clear every chapter is. Every chapter starts with an introduction, a bit about which current browsers support the codes in the chapter, a workaround to check if the user is able to use the code and every chapter ends with a summary.
The images are a necessary to show things without the need to reprogram a piece of code. Like most programming books, the codes which are used in the book are available as download on the publishers website.

The book promises you will learn to develop web applications using HTML 5 features and APIs and how to combine these (with other) web technologies. After reading this book I felt that I now have the skills necessary to develop websites which use the new HTML 5 APIs.

After reading this book I didn`t feel like there was stuff I don`t know. The only thing left for me to do is reading Beginning HTML5 and CSS3: Next Generation Web Standards – which came out at the same time as this book.

Why would you buy this book? The is no other book on the market right now which is as good as this one when it comes to the HTML 5 APIs. The book doesn`t explain HTML 4 content, as I hoped for.

Did I like the book? Yes, and I’m very happy to have this book. I’m very sure I am going to use this book a lot in the next few months.

Are there any things I would like to see improved in this book? Since HTML 5 is very experimental, I think a re-issue of this book could come out after a few years featuring some new things which are going to happen in that time spam.

More information can be found on the official Apress book link.

Pro HTML 5 Programming: Powerful APIs for Richer Internet Application Development

By Peter Lubbers, Brian Albers, Frank Salim

ISBN13: 978-1-4302-2790-8

ISBN10: 1-4302-2790-7

304 pp.

Published Sep 2010 by Apress

Website www.apress.com/book/view/1430227907

Joomla! 1.5 Templates Cookbook review

I will be reviewing  the “Joomla! 1.5 Templates Cookbook” by Richard Carter, published by Packt Publishing. This book is about modifying Joomla! 1.5 Templates.

Packt Publishing asked me to review this book since it’s in my line of expertise.

A little about me:
I am Ramon “Ramoonus” van Belzen. A 22 year old web designer (HTML, CSS, microformats, JavaScript, AJAX, jQuery, PHP/MySQL) and hobby programmer (Visual Basic). I’ve been creating webpages since 1997.
I’ve been playing with Joomla! for more than three years now. I currently own no sites which run on Joomla! but I don’t see a reason why I shouldn’t be using it for one of my sites.
You can find my website on http://www.ramoonus.nl

The Joomla! 1.5 Templates Cookbook is one of Packt Publishing’s cookbook series meaning it contains loads of recipes. Each recipe is a small articles/paragraphs with an idea and how to work it out. Just like a regular cookbook.

As the title reveals this book is about Joomla! 1.5 templates. A template is the design which displays the Joomla! site. Without a template no content is displayed, you will only see blank pages.
This book can also be used for the future Joomla! 1.6, which is currently in beta status.

Continue reading

WordPress 2.8 Themes Cookbook review

When you look for a WordPress theme design books, there isn’t much choice. I looked at the country’s best book store and found nine books when I search for “WordPress themes”. Five of them are published by Packt Publishing. Some of these books only feature a chapter about WordPress theme design or studies, only some are actually interesting.

Packt Publishing offered me  the chance to review “WordPress 2.8 Themes Cookbook”. And that’s what you’re reading right now!

A little about me:
I am Ramon “Ramoonus” van Belzen. A 22 year old webdesigner (HTML, CSS, microformats, Javascript, AJAX, jQuery, PHP/MySQL) and hobby programmer (Visual Basic) with over 10 different WordPress installations online. I`ve been creating webpages since 1997.

The WordPress 2.8 themes design cookbook is one of Packt Publishings cookbook series meaning it contains loads of recipes. Each recipe is a small articles/paragraphs with an idea and how to work it out. Just like a regular cookbook. I haven’t got compression material to compare the book with others of the same topic.

The book is called “WordPress 2.8 themes design cookbook”, which means it’s all about WordPress 2.9 theme designing. After reading the book you should be able to create and modify WordPress themes.

I bet you’re wondering if it’s outdated already since the release of WordPress 3.0? No it’s not. The book is actually until WordPress 2.9 and it should remain usable for the next several point releases. It contains the use of all implemented theme design features in WordPress 2.8.
For the book you will need to have prior knowledge of WordPress (how to use it) and experience with HTML, CSS and basic PHP knowledge. The PHP knowledge isn’t required but trustsme, it’s useful when it comes to debugging typos. Experience with Javascript and frameworks like jQuery is handy but not required. There is no knowledge of WordPress theme design needed.

The first chapter takes you through the basics of WordPress themes and mentions how to use some basic strings you’ll need in every template. It also describes how to make your first theme style.css, how to make a child template and how WordPress template files are organised.

The second chapter helps you create a navigation menu in several ways (horizontally and vertically) and tells you how to implement a search area in your template.

Chapter three explains “the loop”. The loop is the part where a page or post(s) show up. There are multiple ways of displaying the page content for category or tag archives and the homepage. It’s also possible to style sticky pages differently. Finally the chapter explains how to implement advertisement between posts.

The next chapter explains how to implement template tags like an edit button, previous/next link, using an excerpt and such. One of the most handy things is probably a search highlighters. No more use of third party plugins which break down too often!

The fifth chapter explains how to implement WordPress commenting features in your template.

Chapter six is also an important one (isn’t every chapter?!) since it explains how to work with sidebars. Sidebars can contains widgets by default or manually. The chapter also explains how to use multiple sidebars and pre-install widgets.

Chapter seven explains how to use custom page templates like a photo album or archive page.

The following chapter (eight)  explains how to use CSS and PHP to style images in the theme. It ends with implementing video`s in pages and posts.

Next chapter guides you through author pages and adding custom user fields (like a Twitter field). Creating a custom author page gives the author its own short page about himself.

Chapter ten is one of those you’ll probably need when your theme is nearly finished. Its about adding JavaScript effects to the theme. It also guides you through a simple installation of already in WordPress implemented JavaScript libraries like prototype, scriptalulous and jQuery (UI). This is followed by a JavaScript post slider (skinable), toggle-able widgets and a font-size toggle. Handy functions for every theme!

Template eleven is called Advanced WordPress Themes. It explains how to use a theme options page, use multiple color schemes, create a default theme avatar, how-to localize the theme, implementing your own shortcodes and information on publishing the theme to wordpress.org

The final chapter (twelve) contains more advanced features like a rotating header image, centring the main content, making draggable items, creating a tabbed navigation and adding a global toolbar to the theme.

I’m glad I got this book. After reading this book (in just a couple of hours – which is good) I can say to people I can design, create and modify WordPress themes.
The images included really show you what’s the point of what you’ve done and are a good addition to the text.
If you’re looking for a book about WordPress theme design to get started with modifying and/or creating themes, this is the one you should consider buying.

The book should be available at all good book stores right now. You can also order it online (on paper or as E-Books) at https://www.packtpub.com/wordpress-2-8-themes-cookbook/book. This is also the link for more information. A sample chapter (chapter 3 – the loop) can be found at https://www.packtpub.com/sites/default/files/8440-chapter-3-the-loop.pdf

Review by Ramon “Ramoonus” van Belzen

Written by Lee Jordan & Nick Ohrn

Book published in July 2010, by Packt Publishing (Open Source). 296 pages. Paperback

ISBN13: 9781847198440

OpenX Ad Server: Beginner`s Guide by Packt Publishing Review

This is my review of the book “OpenX Ad Server: Beginner`s Guide” written by Murat Yilmaz and published by Packt Publishing (Open Source).

OpenX is an open-source PHP/MySQL based advertisement platform which supports unlimited advertisers, campaigns, banners, zones and websites. You can use OpenX to structurize the advertisement on one or multiple sites with one or multiple advertisers and several campaigns and banners. It’s also possible to use OpenX for your Google Adsense or other 3rd party advertisements.

Why would you believe my review and more important: who am I? I`m Ramon van Belzen, a 22 year old web designer from Holland. I’ve been using OpenX (formerly OpenAds) since 2006. I never got in-depth with it but I’m familiar with most of the functions. I use OpenX to structure my Amazon campaigns and zones on multiple websites.
Packt Publishing asked me if I would like to review this book.

The book is a beginner’s guide to the OpenX Ad Server platform. Since the book is a beginner’s guide you don’t need to have any experience with online advertisement, webdesign or the OpenX platform. Currently there aren’t other OpenX books around. Packt has the scoop.

Every step in the book includes a screen-shot and some describing text along with it. At the end of every chapter there’s a question which summarizes the chapter. At the end of the book every question is answered with a full explanation —why; what’s good and what’s wrong about the other answers. A short summary of the chapter is also included.

The book starts with an introduction.—how the book is written, what OpenXis, why you would use OpenX, what is possible with OpenX, what the system requirements are. This is followed by the installation procedure and some important notes. The whole procedure is shown and described step by step.

The second chapter of the book is an introduction on how to use OpenX. It shows you how to create an advertiser, campaign, banner (not the actual design), website and zone (where the advertisement is placed). At the end of this chapter it’s time to put things together and show the banner on a website.

Chapter three explains how to create a new advertiser and how the campaign systems works. It describes the CPC, CPM, CPA and tenancy revenue models. All ins and outs of these models are explained and put into practise.

The fourth chapter describes the multiple ways how a banner can be implemented and the advantages and disadvantages of each way.

The following chapter (five) explains the website and zone principle. It also shows you how to include the code to a website to actually show the ads. The last bit of the chapter explains how to use dynamic zones and geotargetting.
By the end of this chapter you can start selling ads in the real world.

The sixth chapter of this book explains targeting like site source and browser based targeting.

Chapter seven describes the user account management including all permissions and roles.  Chapter eight is the follow-up of chapter seven. It explains all the user account options.

Chapter nine explains how to upgrade OpenX when a new version comes out. Trust me, it`s not as easy as it sounds. The chapter starts with backing up OpenX, duplicating the right files and running the upgrade wizard.

The final chapter (number ten) describes how to generate reports and statistics. To run a successful campaign it’s important to generate the right reports and do statistics on these results. With OpenX it’s possible to export results to CSV and Microsoft Excel. While inside Excel it`s possible to generate graphics and statistics on the results.

I haven’t found any nonsense in the book. The book is technically correct. This also counts for the language used in the book. I haven’t found weird sentences.

I didn’t have any problems reading the book. The first three chapters were obvious for me whereas the next several chapters only got more into depth. I bet even people who have used OpenX for a while never knew all those features!
This book describes how to use OpenX, not how to use online advertisement successfully.

After reading this book, I’m going to reintroduce advertisement on my site. Now I can use OpenX to improve advertisement targeting and effect. I can also generate reports and implement them.

The only information I see as missing is a short explanation of the different kinds of inclusion methods like javascript, XML-RPC and iframe. The book doesn’t cover these items, although this is actually more interesting to specialized webmasters. The normal way of including banners (through javascript) is the standard way for OpenX and I don`t have problems with it.

And of course, it’s 2010 and it`s possible to buy the book online, both the paper and eBook versions; https://www.packtpub.com/openx-ad-server-beginners-guide/book

Specifications

Language : English

Paperback : 300 pages [ 235mm x 191mm ]

Release Date : March 2010

ISBN : 1849510202

ISBN 13 : 978-1-849510-20-2

Author(s) : Murat Yilmaz

CodeIgniter 1.7 by Packt Publishing review

Pack Publishing asked me to do a review of their “CodeIgniter 1.7” book.
Since I’m familiar with Packt Publishing and books (not with reviewing) I said I’ll give it a go.

This book is for PHP programmers who are familiar or unfamiliar with model-view-controller framework CodeIgniter. After reading this book you should be able to use most of CodeIgniter`s features and make your own scripts which run on CodeIgniter.

CodeIgniter (CI for short) is an Open-Source PHP Model-View-Controller (MVC) framework. Multiple studies concluded that CodeIgniter is faster and lighter than other PHP frameworks like CakePHP and Zend Framework.  This book is targeted at PHP programmers who want to save time, effort and cost by switching to the CodeIgniter framework.

There are several benefits of CodeIgniter:

  • It runs on PHP 4 and
  • It generates clean urls (using mod_rewrite)
  • It’s extensible
  • It doesn’t require a template engine
  • It’s well documentated (especially when reading this book!)
  • It`s free!
  • It’s safer
  • It saves you loads of time

For a full list of features I recommend you read this link.

Before reading this book I had no experience with MVC. I do have some experience with PHP/SQL and much experience with HTML/XHTML.
The books requirements are basic knowledge of HTML and PHP. Basic knowledge of (My)SQL is also recommended.

The book covers the following topics:

  • Installing CodeIgniter
  • Creating a basic CodeIgniter page
  • Use CodeIgniter to connect to a database and execute read queries
  • Creating HTML pages and forms
  • Using sessions and implement security systems like a login system
  • Object-oriented programming in CodeIgniter
  • Create your own CodeIgniter plugins
  • Communicate using FTP and XML-RPC
  • Using CodeIgniter to provide dynamic information (for the constructions of calendars and translations)
  • Handle files (up and downloading) and images
  • Putting your site online, useful tips and trick to avoid errors
  • Advice about upgrading CodeIgniter
  • Create, Read, Update, Delete; create your first fully database powered script
  • In general, how codeigniter works and what the benefits are
  • Writers recommendation plugins
  • Additional resources (browser plugins, webserver software, literature)
  • Appendix: using codeigniter`s cart function to create a shopping cart

After reading the book I’m able to create and enhance websites with features found in the book. I can now tell my customers I make some “advanced” script myself.

The book still leaves me with few questions about advanced topics like database query caching. The book points to the CodeIgniter user guide (online), which fed my information hunger.

The book fulfilled my expectations.

I’ve placed the book in reach of my desktop. Programming can be overwhelming although CodeIgniter makes life easier. I’m happy to have this book in my bookcase! I’m very sure I’m going to use it on my next big PHP project.

I recommend this book to all PHP programmers who are looking for a framework to lower the workload. After reading this book you’re ready to replace most PHP scripts by your own custom made scripts based on CodeIgniter.

A sample chapter can be found here. It’s chapter 3: “Navigating your site”.

If you’re interested and read more, or buy the book you should check out this link.