Use APC filters to optimise eZ Publish cache usage

Jani Tarvainen has a very interesting post on how to implement APC filters to ensure your caches are not filling up with html snippets when kernel and other files could be cached instead.

Head over to http://share.ez.no forums to check it out

iPad users more willing to see ads than pay for content?

It will be interesting to see how this one plays out.

http://www.editorsweblog.org/multimedia/2011/01/ipad_users_more_willing_to_see_ads_than.php

  • Hubert Burda announced “Print is back” at the Annual Conference of the Association of German Magazine Publishers.

    View Comments #

Digital media design, for print people.

Everyday your organisation uses design as an essential tool for communicating and presenting ideas and information. For the past hundred years this has been predominantly through printed media and although new mediums such as television have captivated audiences, their design requirements have remained relatively unchanged.

Celebrated this year for it’s 20th birthday, the World Wide Web has changed the way businesses and consumers interact. It is within this digital space that we find the rules of print design turned on their head.

Digital media has become an important component in the marketing mix, a way to communicate, engage and interact with consumers and for some businesses their only place of trade. This makes it increasingly important that designers and their organisations understand the medium in which they are working and appropriately design and develop campaigns that will work.

Design control

Historically we have defined good design as solutions that also tell good stories, for it is through narrative that we engage consumers to relate with our brand. In this context, control of the narrative becomes the most important tool; we can choose precisely how people will interact with our design. A measure of this control is lost in the digital space.

During the past 20 years as organisations move toward the digital space an expectation has grown for these traditional print designers to develop increasingly complex online experiences. While it is nice to think we can reutilise the same staff to deliver on more work, the sad truth is that these staff require retraining or at least time to properly understand the medium in which they are working.

Historically, a majority of print designers have flocked toward Adobe Flash, because it is the closest approximation of print design work. This is very much a reflexive approach based on not understanding the medium in which they are working.  Unfortunately this also leads to an assumption that authorial control can be exerted online, which simply isn’t true.

Khoi Vinh, Design Director of the New York Times once said “Looking for opportunities to execute the sort of improvisational and dramatic creative visions that we see in printed periodicals, for instance, is likely to become an exercise in disappointment.” The truth is that the web really wasn’t designed, and isn’t effective, for highly displaying highly effective visual skills.

In order to correctly design for the web you must first understand the medium, its nuances and restrictions.

User control

Browser innovation and open standards have meant that the web is available to all instead of being tied to a specific vendor or proprietary standards. This has led to users having choice, actually a lot of choices. Users can choose which web browser and which operating system they want to use on their computer. They may also choose to browse the web without JavaScript and cookies enabled, or perhaps with images and styles turned off. Perhaps the users will opt to receive breaking news via RSS or email notifications. The most important thing to recognise is that users in the end have choice and that previous attempts to lock users to proprietary applications or standards have in the end failed. This should have a big influence on how you choose to approach design for the web.

Within the web, content is separate from design. We can publish and repurpose content multiple times, each with a different style applied. Designers initially see this as a loss of control; it is no longer possible to exert control over interaction with their design. This is in part true, but not the end of the world, as most people would have you believe.

If users have so much control over how they now choose to consume content this means for designers they now have a multiplicity of states to design for. Content may appear different, depending on where it is published or on which device it is accessed, so designers need to cater for each of those possibilities. In doing so they also need to consider accessibility requirements while still tying in narrative and behavioural approaches to user-centred design to ensure they capture the desired attention.

Behaviour

If control were the most important tool for building narratives in the print world, then behaviour would be it’s equivalent in the digital world. While designers feel they have lost control over vital aspects of their domain, in actual fact designing for this content just requires more discipline.

Designing for behaviours becomes an extension of what most designers would term user-centred design. Rather than simply focusing on a user experience, it is necessary to look at ways in which we can influence and shape behaviours and interactions of our consumers to trend them toward preferred organisational preferences. From the outset this sounds evil, most notions of control and influence do, but it is in no way different from any other narrative or approach taken in other mediums.

In a medium where traditional control is lacking, then you need to understand user behaviour to best guide and influence user interaction with your content. Designers now more than ever need to understand their audiences and shape their approaches to guide the user interactions their organisations seek.

Give up control to get it back

It is not surprising on the web then, that you need to change your approach. Your organisation can turn a loss of visual control into a beneficial interaction with your consumers.

The first step is acknowledging that in digital media the rules are different; the medium is different. Once you accept this you can start to formulate a new approach and develop strategies to better engage and interact with consumers on their terms. This will eventually lead to less control over how your message is viewed, but not less control over the message itself.

Understand the constraints of the medium, embrace them as benefits of the medium and continue to develop immersive interactions that engage and generate attention.

Experiment to success

After 20 years of the World Wide Web the truth is that we still don’t have the answers. The rate of innovation and change within this space coupled with organisations unwillingness to accept change has left us in a mess.

There are a lot of successful organisations using the web to their advantage, but a vast majority of the most successful cases are from those who chose to throw away the print rulebook. For these organisations they truly embrace the web for what it is, rather than trying to treat is as print in disguise.

To achieve success online, experiment, give up control and design immersive interactions that captivate your consumers in a way you do with narratives in the print world.

I originally wrote this article and it was published in AdAsia during late 2009. I have republished it on my blog for a wider audience.

Asian Publishing Convention 2010

I was honoured to be invited to speak at the Asian Publishing Convention again this year. Held in Ho Chi Minh City during 8-9 July and with over 200 delegates from more than 19 countries it was a superb opportunity to network with publishing professionals.

I think a key takeaway from the the event is better understanding of how market pressures are forcing change within the publishing industry and what types of steps these media owners will have to take to remain relevant and engaging in an increasingly digital landscape. 

I presented 3 topics during the conference:

  • Measuring online activities: what and how
  • How technology platforms are changing newspaper and magazine publishing
  • How to choose and improve your content management system

As with media owners across the world, Asia is finding it hard to adapt from a traditional single medium newsroom to a newsroom that encompasses all the latest digital technology. Unfortunately in not adopting early they risk alienating themselves and forcing their subscribers to look elsewhere for content, this leads to a loss in loyalty, something that is very difficult to regain.

Why IE6 isn’t going away any time soon

To be honest I’m sick of hearing “I hate IE6″, “Death to Adobe”, “All hail HTML5″, and whilst I agree in-part with the enthusiasm of those in the industry embracing standards and forging ahead there is of course a reason we are in the mess we are in, and that reason isn’t going away.

As mentioned at Techchunks, IE6 did come out prior to 9/11, but that doesn’t make it any less relevant now than it was back then.

The sad and ultimately excusable (you would love it to be unexcusable but you don’t have that much money) fact for why IE6 is around is money. Thousands upon thousands of loyal Microsoft-engrained organisations poured umpteen millions of dollars into building proprietary intranet and software platforms on top of ActiveX.

Unfortunately, or perhaps fortunately, ActiveX was removed from IE7 forward and this has left all of those corporates in a position where they must move their internal software systems to something else. Yes, Muicrosoft has been providing migration paths and support for moving away from ActiveX/IE6 for a long time, but it still represents a large expense in IT budgets that managers have been successfully avoiding for a long time.

While ever IE6 happens to be in the top 5 used browsers on your site, are you willing to write off potential sales from those users?

Before you even bother starting with “but they have firefox on their desktops too!” – sorry you are wrong. What they have on their desktops is of no consequence, I have 5 or 6 browsers installed, but you will only see 1 of them in your stats if I visit your site.

Is IE6 a pain in the ass? Yes.
Is IE6 costly to develop for? Yes.
Is IE6 really necessary for my webapp? That’s your choice.

Is IE6 going away in 2010? No. Not a chance. Short of someone writing a virus to remove it from the face of the earth that little browser is here for the long haul.

Unfortunately IE6 is here until managers are willing to cough up the money to move their own apps away from ActiveX. And for anyone who builds websites to make money from visitors, will continue to support IE6 until such a time as it dies out sometime before 2020.

Remote SSI Includes

I have been working on a project recently that includes header and footer bars much similar to Facebook style sites, but due to client requirements the site must remain accessible, which rules out using javascript for including the components.

On larger projects ESI has been great for doing remote includes, but due to no ESI support in Apache and no use of proxy/cdn servers in this project ESI was just not going to be possible. SSI of course was the next logical step, something Apache supports, but unfortunately doesn’t allow remote includes.

I thought about including a local proxy file such as a CGI or PHP file which could then issue the remote request and feed the data back, but this seemed hackish. There had to be a better way. It turns out there is.

If you have mod_proxy compiled into Apache then you are all set. Using ProxyPass we can make remote directories pretend to be local directories in Apache, and we can SSI include remote resources over a ProxyPass.

For example, should I wish to include resources from http://foo.com/includes/ I start by creating a proxy pass to my remote resources in my Apache virtualhost.

ProxyPass /remote http://foo.com/includes

I can then use local SSI includes:

 <-- #include virtual="/remote/myfile.html" -->

This is interpreted by Apache and then run through the ProxyPass resulting in an include of the remote file http://foo.com/includes/myfile.html into your local site.

This has certainly made SSI a more usable option for cross-site resource sharing. Best of all – you can do those normal SSI includes inside eZ Publish templates and it gives you even greater flexibility in your projects.

eZ Publish Dev Tip #2 – Nodes and objects

A lot of developers starting out with eZ Publish have a hard time and this is generally attributed to a steep learning curve. Whilst this is true, a lot of the initial issues are terminology related, unless you know what it is called, you can’t search for it – and in technical documentation like that of eZ Publish, if you can’t name it then you won’t find it.

One common issue is trying to work out the difference between a node and an object. Everyone knows that screen – in the details pane on the admin interface, where you see “Node ID” and “Object ID”. But what do they mean and why do they get used?

Objects

Every piece of content in eZ Publish is an object. Many of these are defined by your content classes, but suffice to say that objects actually contain content and by themselves are the single place in which 99% of your content actually resides.

Objects themselves have no hierarchy, you could imagine these are blobs of data just floating around in your database. In order to actually give our site structure, hierarchy, navigation we need to associate these objects (pieces of content) to a node.

Nodes

Nodes exist for one reason, to provide hierarchy to those objects that we just covered. In giving an object a node id, we in turn place it within the node hierarchy, it has a parent, could have children and from this we can base our navigation and other structures.

Objects have a one to many mapping with nodes, meaning that a single piece of content can be referenced by more than one node id. A single node cannot reference multiple pieces of content. The benefit this provides is locations or cross-pubishing in eZ Publish talk, allowing you to have the same piece of content multiple times within your structure, and editing any of those locations edits that single piece of content, the effect of course being that those edits are shown in all locations at once.

Summary

Object IDs are used when referencing a piece of content directly.

Node IDs are used when referencing a specific location in the node tree/hirerarchy of your website.

You will find these terms used througout the documentation and depending on the operations and functions you are calling will determine whether you need to provide a node id or object id for your operation.

eZ Publish newsletter options

At the recent eZ Publish conference in January it was announced that eZ Newsletter would be phased out in support for CJW Newsletter, a new system to be certified by eZ Systems and built by several eZ Partners.

This is certainly good news as support and maintenance for eZ Newsletter has been sorely lacking for a couple of years now.

Whilst not yet released, the presentation slides from CJW Newsletter are promising and I am looking forward to giving this extension a thorough workout in the coming weeks.

Also only this week, NV Newsletter has been released onto http://projects.ez.no/nvnewsletter which is also something worth giving a go if you are looking for new newsletter options.

Newsletters are something that I know have been on a lot of minds over the past 18 months and it is great to see some good work coming out of it.

eZ Publish Dev Tip #1 – Removing index.php

Ok, this one seems to popup in the forums just all too often, and it’s not an easy one to address – because a lot depends on your server environment and setup.

Removing index.php is done through Apache mod_rewrite which in turn interprets your URLs and passes them through index.php silently while everything looks pretty in your browser address bar. In order to get this working on your site you need to do the following.

1. Locate .htaccess_root in your root eZ Publish directory, this helpful file has a default set of htaccess rules to set you on your way.

2. Rename .htaccess_root to .htaccess, or paste the contents of the file into your VirtualHost configuration.

At this point in time your new URLS should hopefully work, but in many cases won’t. eZ Publish is meant to detect your virtual hosting configuration but this doesn’t always work. Never fear, we can force that option through the eZ Publish configuration files.

3. Edit settings/override/site.ini.append.php and under the [SiteAccessSettings] block add the line

ForceVirtualHost=true

Now you should hopefully be seeing much nicer URLs.

What about my old URLs?

If you have been using your eZ Publish installation already then search engines may have already indexed your content with the index.php in the URL. In this case all those existing records will bounce as errors. This is never good for your search rankings, so with some extra mod_rewrite magic in your .htaccess you can fix that up at the same time.

RewriteRule ^/index\.php/(.*)$ /$1 [L,R=301]

This should hopefully get you up and running with nice URLs. This guide is specifically for those running Apache, which is recommended for eZ Publish installations. If you choose to run a different webserver then modify the mod_rewrite rules and configuration to specifically suit your own webserver options.

Finally some sense in this flash nonsense

Daniel Dilger wrote a brilliant post on why Flash for the iPad and iPhone are simply not viable, ignoring hardware, battery and other constraints – it simply isn’t possible from a gesture perspective.

Hooray, finally someone is talking sense.

Read the post here

Graphic designers and the unknown medium

As the title indicates this post is specifically targeted at the ongoing discussions that swept twitter yesterday regarding whether or not designers should have a hand in coding their designs.

Initially this was started by Elliot Jay Stocks who tweeted:

Honestly, I’m shocked that in 2010 I’m still coming across ‘web designers’ who can’t code their own designs. No execuse.

Since I spend a lot of time working closely with designers I thought it would be interesting to weigh in on some of the points which have been floating around.

Should designers be able to code their own designs? Yes, no, maybe… I mean actually it has less to do with code and more to do with understanding the medium. In all the time I have worked with designers, the one thing I have found refreshing is to work with designers who actually understand the medium in which they are working. Unlike print, which is a very controlled medium, moving into the web is very much a different experience for designers. Without properly understanding the medium in which they work you are destined for hard to implement designs which do not make use of benefits of the web.

In order to make things pretty on the web designers need to first understand principally what is possible, how their design will work, that what they are designing can actually be implemented without too many browser limitations and that it will look as good on the web as it did in Illustrator when they were making it.

I am not advocating that designers should go out and learn HTML, CSS and Javascript and do it all themselves, unless of course you are a sole-trader, but in understand the medium you will in turn work quicker, smarter and produce designs that are easy to implement, manage and maintain over longer periods.

For those who have come from print backgrounds, this is what you already know, it’s what you have done in print for years. You first learnt the medium, its constraints and how to deal with them. Now you need to learn the new medium you find yourself working in.

No promises, no guarantees

Something that every technology person comes across is budget and time overruns. Something like 80+% of technical projects run over time.

Really? Are you surprised? I’m not. No matter how much pre-planning and thought you put into a project, no matter the resources, staffing and waterfall diagrams to back it up, technical projects are at best a guess.

There is no finite timeline on which you can measure how long it will take to implement payment gateway ‘x’. And of course during such an implementation you will uncover problems ‘y’ and ‘z’, which are not in your waterfall diagram.

As technologists we need to communicate to our clients better that timeframes are mere goals – not guarantees.

  • A simple chart of job loss and job creation in the US during presidential terms.. It looks pretty, but is it accurate? View Comments #

My pet hate from Wordpress

Auto updates in Wordpress are great. They make it so easy it’s actually enjoyable to update, well for some people it is. For those of us who want to override one specific thing in the Wordpress core with an enhancement, such as my archive listing, we have our changes overriden with each update. In my case my archives page is broken until I go and reapply my patches again.

Thank god eZ Publish made some great design decisions and made overriding internal functionality easy… now we just have to simplify the upgrade process a little and we can have the best of both worlds.