Animaux Speciaux
Illustrated postcard sets.
Check all photos on flickr: http://www.flickr.com/photos/dendeffe/sets/72157617394133753/
Or buy them on http://lilyandjoe.etsy.com/
CMS testing: Expression Engine
In a recent project, I tried to use WordPress as a CMS but ran in to quite some limitations. Everything I needed to do could be done, but it often was pretty awkward. I should have known, seeing as WordPress is a blogging system with CMS capabilities added.
So I decided to start testing out alternatives. Expression Engine had be on my testing list for quite some time. Veerle Pieters uses it to great effect and it seemed to have pretty good documentation when I flicked through it.
About Expression Engine
On it’s site Expression Engine promises to be a very flexible back end system, capable of being configured for almost anything you throw at it. And easy to learn.
Another important feature of Expression Engine is the fact that it isn’t free. Many CMS systems today are free nowadays, so this may be a bit of surprise to some people. The prices are very reasonable, however ($99.95 for a personal license and $249.95 for a commercial license). There are also volume discounts, starting at 3 copies. You need one license per site, unless the sites are for the same client and you are using the Multiple Sites Manager.
For the money, you get support, a very well written manual and good professionally maintained site with Expression Engine information.
Installation
For testing purposes, there is a core version which you can freely download and play around with. There’s also a 30 days demo (for $10) of their hosted version available if you want to try out a more complete feature set.
The installation itself is very simple: create a database, upload the files, set some permissions and run the installer.
Documentation
Something I have truly enjoyed is the excellent documentation Expression Engine has. It’s really easy to follow and it’ll have you quickly up and running. There are also some video tutorials to show some of the basic concepts.
A very lively forum adds to the well rounded documentation.
How does it work?
A very important concept in Expression Engine are weblog. When I first read it, I thought it meant a standard web log. And that you could manage multiple blogs from the back end. It turns out that the name web log is not very well chosen. A better name would be data sets or sections.
Basically, for any website, you can create as many weblogs as you want and decide what custom fields are assigned to it.
Imagine you have a site about cooking. You could have one weblog for cooks, containing a field for their name, photo and restaurant. Another weblog could contain recipes, with input fields for the recipe title, ingredients, instructions and a photo.
You can then use and combine these weblogs in templates and template groups. The template system is comparable to WordPress, where you plug your static HTML page in the back end and add tags that will be replaced with content. The combination of the very flexible weblogs (which are actually datasets) with the easy to use template system makes for a really powerful system to base your site on.
Extras and member management
In comparison to WordPress or Drupal, there is a limited set of extras. Some written by the people at Expression Engine, some user contributions.
Among the modules you get for free are a shopping system and a photo gallery. While browsing the forum, I learned that, while functional, the shopping system and photo gallery have their limitations.
The Multiple Sites Manager looks very interesting. It allows you to group multiple sites on one back end. This is great if you have multiple projects for one client. You also need to pay only one license if you use the Multiple Sites Manager for one client/organization. It costs $199.95.
There’s also a Forum module available, which is also a paying upgrade ($99.95). They use it on their own site, so it’s easy to evaluate. It seems very well integrated in the back end system, which already has a whole lot of member management options. These options go beyond what a lot of other CMS systems have. In combination with the forum module, it seems quite feasible to create basic community sites with Expression Engine.
Next to the big modules, there’s also quite some smaller plug ins available. There’s also an API to program your own extras for the system.
Conclusion
I was really impressed with how easy and flexible Expression Engine is. The learning curve is is really low and the documentation is very good. Only negative point are probably the cost (compared to a lot of free systems) and the fact that it probably isn’t as expansive a system like Drupal. All in all, though, Expression Engine looks like a very interesting CMS I’m considering for future projects.
Element Ready
I recently had to add JavaScript to an element on a page with a very big image on it. Because the element was available before the image had finished loading, window.onload just didn’t cut it.
I thought it would be a great time to finally start tinkering more with jQuery (and it’s $(document).ready function), but that didn’t seem fast enough either (this may have to do with my inexperience with jQuery, though).
So I found a very small but useful script called Element Ready. It makes it possible to launch code as soon as a specific element becomes available. Just add the script and then you can launch something when elementID becomes available like this:
function doSomething() {
alert("I'm doing it!");
}
er.chkDomId('elementID' , doSomething);
Back from DB crash
Phew had a lot of problems today with my WorPress DB that wouldn’t cooperate anymore. Almost back as new.
Working with color on the web.
Until recently, I worked almost exclusively with FireWorks for web graphics. Partly because it’s a really fun program to work with, but also because I had little to worry about when it came to colors. While Photoshop and Illustrator always shifted to different colors, FireWorks always delivered easy, reliable color results.
At my day job, however, a lot of people like to work with Illustrator and Photoshop for making web comps, giving unpredictable colors when exporting. This and the fact that I wanted to use Photoshops superior anti-aliasing made me go out and finally try to get my head around how Photoshop and Illustrator handle color. And what the best setups are to get reliable results.
Disclaimer: these are the things I found out the last couple of days, if you have better solutions, please share them in the comments. They seem to be working pretty well for the moment, however.
Where do these color shifts come from?
At my job, we all use Macs. Great computers. But with a difference in how most other people see colors. Most (Windows) computers use a sRGB color profile, while Macs often have a custom color profile. sRGB uses a 2.2 color gamma, while the profiles on Mac use a 1.8 gamma.
In Illustrator and Photoshop, you can also set a color profile for the entire program and for specific files. All these differences can make for unpredictable color results.
How to set up your documents
These two steps are the basics. Most people know them, I list them mostly to level the field.
- First and foremost, make sure you are working in RGB. Working in CMYK is fixable, but it doesn’t help in judging the colors. Also, don’t use spot colors.
- Change your document profile to sRGB IEC61966-2.1.
In Photoshop and Illustrator: Edit > Assign profile. - Don’t export a color profile with your images. Most browsers can’t read them.
Next, you have two options to make your work in Illustrator or photoshop look the way they are exported.
Option one: setting your entire system to sRGB
This is a pretty radical option for Mac users. The colors in your entire system are switched to look more like the colors most windows users see. The advantage is that you will constantly see the colors the windows way. Here’s how to do it (don’t be shocked by the result though):
- In System preferences, go to Displays.
- Click on the color tab.
- Choose the sRGB IEC61966-2.1 profile.
- You may need to restart your browser and Illustrator/Photoshop to see the changes.
Option two: using the proofing options of Illustrator and Photoshop
If you want to keep your old trusty color profile, you can use the proofing options in Illustrator and Photoshop. You can also use them to switch back and forth from Mac browser colors and Windows colors.
To see the colors as they will appear in the browser, choose View > Proof Setup > Monitor RGB.
To see the colors as they will appear in Windows, choose View > Proof Setup > Windows RGB.
Extra tip
If you want to measure colors, do it in the Adobe programs, using the Eyedropper tool, not in a screenshot or the browser.
Swift Mailer
This week, I’ve been testing Swift Mailer, a PHP mail class. At work, we want to add a newsletter module to our CMS-system. I was glad to see, that the class is really easy set up and use. Even easier than the built-in mail() function in PHP.
More importantly, it has a lot of extra handy functionality. To make it less stressful on the server, you can use the anti flood plugin. It takes two arguments: after how many mails the server should pause and how long. This is how to send a mail to a list of people:
// add the classes, including the plugin
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";
require_once "lib/Swift/Plugin/AntiFlood.php";
// make a connection with the server
// (Swift has a few options for different server types)
$swift =& new Swift(new Swift_Connection_SMTP("server"));
// set the anti flood plugin, pause for 10 seconds after 200 mails
$swift->attachPlugin(new Swift_Plugin_AntiFlood(200, 10),
"anti-flood");
// create a message
$message =& new Swift_Message("My subject", "My body");
// create a new recipients object
$recipients =& new Swift_RecipientList();
// add recipients with the addTo method
// (of course this can be done with a loop and database records)
$recipients->addTo("firstname@company.com");
$recipients->addTo("anothername@home.com");
// send the message
$swift->batchSend($message, $recipients, "my@address.com");
So far, with basic testing, it seems like a great addition to PHP. Also great is the fact that it has excellent documentation.
Pizza-shop webapp
It’s very interesting to see which people I meet through LinkedIn. A former classmate I hadn’t spoken in years contacted me. He had a few jobs, including a WebApp to help run a series of Pizza-shops. They’ll use it to manage sales, orders, customers and pizza deliverers.
The following screen shows the dashboard when you log in. Color and Size differences are used to guide users to most used actions. Settings and other less used parts of the app are placed smaller at the bottom.

I did the PHP/MySQL and design/HTML. It was done in a real short amount of time, so there probably is room for improvement. We’ll have to see when it starts running in the test locations.
The order screen has a list of products on the right and an overview of everything already in the order on the left. It’s easy to add or remove items from the overview.






















