There's something you have to realise about the way users interact with articles. To put it simply, they don't just want to read them: they also want to print them out, and send them on to their friends, family and colleagues. If you can make it easier for them to do this, then your site will be a hit. But how? Well, read on.
The Print and Send Links.
At either the top or the bottom of your article, you should offer clear ‘print this article' and ‘send this article to a friend' links. It's up to you how you present them, but a generally good place is underneath the byline and date, like this:
Article Headline
by Bob Smith
January 1, 2010
Print this article
Send this article to a friend
If that looks messy, though, try moving the links to the end of the article. You might even link to have the ‘print' link at the top of the page and the send to a friend link at the bottom.
You should also note that there are standard ‘icons' (small pictures) to represent printing and sending. Printing is a picture of a printer (the same one used in word processors), while sending is a picture of an envelope. Using these icons will make it much easier for people to see what the different functions of your website are. In many cases, you can even leave out the text and just have the icons, or only have the text appear when the user hovers over the icons this saves on space without sacrificing usability.
CSS for Printing.
It's an unfortunate fact of the web that many web pages look simply terrible if you print them as they are. No-one wants ads on their print-outs, or blue-underlined links, or navigation, or many of the other elements of a web page. For your visitors who want to print, then, it's good to be able to remove these things from your page when they press that ‘print' button, before you tell the browser to start printing.
How can you do this easily? Well, luckily, CSS has a built-in mechanism for it. It lets you specify different styles depending on media, with the default being media:screen for printing, you can use media:print, and add or take away different parts of the style quickly and easily.
It's not difficult to switch between the screen and print CSS stylesheets when that print button is pressed all you need to do is add a second stylesheet underneath your first one. That means that your stylesheet declaration (in your HTML head) needs to look like this:
The mystyle-print.css contains all the CSS that will be applied to the document when it prints: nothing from mystyle.css will be applied. Browsers should then apply this stylesheet automatically when your document is printed all that remains is to link to javascript:self.print() for your ‘print this page' link.
Sending Pages.
The best way to handle the sending of pages is to provide three input boxes for the person doing the sending: one asking for their name or email address, one asking for the recipient's email address, and an extra box for any customised message you might want to send.
All you need to do then is create an email from this information: in PHP, for example, this is as simple as using the mail() function. Include the information entered by the sender in the message's ‘from' field, instead of the name of your website, and keep your own words to a minimum if the sender wrote a custom message: it's much better for a message to look like this:
Thought you might like this! http://www.example.com/article/101
than like this:
You've been sent an article from example.com! The sender said: “Thought you might like this!” http://www.example.com/article/101
Basically, emphasise the fact that it's from their friend, not from your website, and you'll get far more people clicking the link. It's also worth including the title and even the intro, as well as just a link to the article, so the person involved is more tempted to click it after all, if their friend thought they'd be interested, they probably will be.
…or instead of coding everything yourself just put a link on every page to printwhatyoulike.com and let the user chose what to print