<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>Maltpress</title> <atom:link href="http://www.maltpress.co.uk/feed/" rel="self" type="application/rss+xml" /><link>http://www.maltpress.co.uk</link> <description>Wordpress developer, copywriter, web consultant</description> <lastBuildDate>Fri, 09 Mar 2012 16:40:13 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.1.2</generator> <item><title>Add custom meta to home page only</title><link>http://www.maltpress.co.uk/2012/03/add-custom-meta-to-home-page-only/</link> <comments>http://www.maltpress.co.uk/2012/03/add-custom-meta-to-home-page-only/#comments</comments> <pubDate>Fri, 09 Mar 2012 16:40:13 +0000</pubDate> <dc:creator>Adam</dc:creator> <category><![CDATA[Uncategorized]]></category> <guid
isPermaLink="false">http://www.maltpress.co.uk/?p=1005</guid> <description><![CDATA[So&#8230; you want to add a custom meta box, but it&#8217;s only relevant to the home page: so you don&#8217;t want it cluttering the rest of your WP back-end and confusing your users. How do you do it? Simple. Assuming you&#8217;re using a static page as the home page, try this: function only_home_settings() { // [...]]]></description> <content:encoded><![CDATA[<p>So&#8230; you want to add a custom meta box, but it&#8217;s only relevant to the home page: so you don&#8217;t want it cluttering the rest of your WP back-end and confusing your users.</p><p>How do you do it?</p><p>Simple. Assuming you&#8217;re using a static page as the home page, try this:</p><p><code>function only_home_settings() {<br
/> // only add this meta box to the page selected as front page:<br
/> global $post;<br
/> $frontpage_id = get_option('page_on_front');<br
/> if($post-&gt;ID == $frontpage_id):<br
/> add_meta_box('Home', 'Home:', 'only_home_form', 'page', 'side', 'core');<br
/> endif;<br
/> }</p><p>// other meta box bits (form function and save function)</p><p>add_action( 'add_meta_boxes', 'only_home_settings' ); // ...add the action as normal, as well as other add_actions for this meta</code></p> ]]></content:encoded> <wfw:commentRss>http://www.maltpress.co.uk/2012/03/add-custom-meta-to-home-page-only/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Forcing PDFs to download in WordPress</title><link>http://www.maltpress.co.uk/2011/12/forcing-pdfs-to-download-in-wordpress/</link> <comments>http://www.maltpress.co.uk/2011/12/forcing-pdfs-to-download-in-wordpress/#comments</comments> <pubDate>Sat, 03 Dec 2011 18:18:51 +0000</pubDate> <dc:creator>Adam</dc:creator> <category><![CDATA[Uncategorized]]></category> <guid
isPermaLink="false">http://www.maltpress.co.uk/?p=997</guid> <description><![CDATA[What a browser does with different files is very much up to the browser, and for the most part that&#8217;s exactly the way it should be. It&#8217;s up to the user how they deal with downloads, and you should really have users who know to right-click and choose &#8220;save file as&#8230;&#8221; or similar when they&#8217;re [...]]]></description> <content:encoded><![CDATA[<p>What a browser does with different files is very much up to the browser, and for the most part that&#8217;s exactly the way it should be. It&#8217;s up to the user how they deal with downloads, and you should really have users who know to right-click and choose &#8220;save file as&#8230;&#8221; or similar when they&#8217;re confronted with a download link.</p><p>It&#8217;s not always that simple, though. Sometimes your client (or you) is going to want users to download a PDF rather than open it in a browser window (which is the default position for most browsers) &#8211; especially if it&#8217;s a big PDF. Really big files are going to take an age to open in the browser and may well stop you doing anything else while they load.</p><p>Of course, the best way to get around this is, again, simple and gives the user choice: tell the user how big the file is (you can use something along the lines of <code>filesize( get_attached_file( $post-&gt;ID ) );</code> in the appropriate place) and let them pick what to do.</p><p>But, again, you might not want to do this. For any number of reasons. So what do you do?</p><p>The easiest option is to use a .htaccess file in your uploads folder <a
href="http://www.thingy-ma-jig.co.uk/comment/7045" target="_blank">with rules like these</a>. But from time to time this won&#8217;t work: IIS servers, some other kind of server settings. I recently came across this issue on WP Engine hosting, but neither they nor I know completely why just yet. So what&#8217;s the other solution?</p><p>First up, you&#8217;ll need to create a template or loop for the attachment itself, and link to this using <code>get_attachment_link($attachment-&gt;ID);</code> (possibly with some kind of checking so this only happens for PDF files) &#8211; you can put your loop into your normal template structure using:</p><p><code>if(is_attachment()):<br
/> get_template_part('loop', 'download');<br
/> endif;</code></p><p>In your normal single.php file, of course.</p><p>Now, in your loop-download.php file, you can do a normal loop, but this time include a hidden iFrame where the attachment itself will go. As the source of the iFrame, you&#8217;ll want to link back to the attachment itself, but this time add a query string saying something like <code>"forcedownload=true"</code> to the address (we&#8217;ll get to that in a second):</p><p><code>&lt;iframe src="&lt;?php the_permalink(); ?&gt;?forcedownload=true" width="1" height="1"&gt;&lt;/iframe&gt;</code></p><p>(You&#8217;ll need to hide this iFrame with your CSS, or you may end up with a little square on the page).</p><p>Right &#8211; you&#8217;re done with the attachment pages now. Let&#8217;s move on to header.php.</p><p>At the very top of this file (any spaces may well cause a &#8220;headers already sent&#8221; error) you&#8217;ll need to put the following:</p><p><code>&lt;?php<br
/> if(is_attachment() &amp;&amp; $_GET['forcedownload'] == 'true'):<br
/> header('Content-type: application/pdf');<br
/> header('Content-Disposition: attachment; filename="download.pdf"');<br
/> readfile(get_post_meta( get_the_ID(), '_wp_attached_file', true ));<br
/> endif;<br
/> ?&gt;</code></p><p>What we&#8217;re doing here is first checking that we&#8217;re on an attachment page and then checking that the query string is set&#8230; if we don&#8217;t do this, the download will start when we click the download link, and we won&#8217;t get the &#8220;if your download doesn&#8217;t start&#8230;&#8221; bit. By loading the attachment template <em>first</em>, then loading it into itself and forcing this version to download, we get to see whatever you&#8217;ve put in the attachment template as well as the download dialogue. This could be anything in addition to the &#8220;if your download doesn&#8217;t start&#8230;&#8221; text &#8211; perhaps a link to related downloads or something like that.</p><p>You might need to add some extra checks for different file types if you want to do them in different ways, and always be careful of your images linking to attachment pages&#8230; if you do this (and WordPress will do this by default) you may well run into some odd behaviours unless you check the attachment file type before sending those headers.</p><p>Let me know if you use this code by leaving me a comment!</p> ]]></content:encoded> <wfw:commentRss>http://www.maltpress.co.uk/2011/12/forcing-pdfs-to-download-in-wordpress/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>A big update</title><link>http://www.maltpress.co.uk/2011/09/a-big-update/</link> <comments>http://www.maltpress.co.uk/2011/09/a-big-update/#comments</comments> <pubDate>Mon, 19 Sep 2011 08:00:24 +0000</pubDate> <dc:creator>Adam</dc:creator> <category><![CDATA[maltpress]]></category> <category><![CDATA[growth]]></category> <category><![CDATA[news]]></category> <category><![CDATA[staff]]></category> <guid
isPermaLink="false">http://www.maltpress.co.uk/?p=954</guid> <description><![CDATA[I&#8217;ve been working for myself now for nearly five years. It was November 2006 I first registered for VAT, having done a bit of freelancing for a little while before that. I&#8217;ve loved every minute of what I&#8217;ve been doing since and it&#8217;s going from strength to strength. I&#8217;ve learned more than I thought possible [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><img
class="aligncenter size-full wp-image-956" title="celebrate" src="http://www.maltpress.co.uk/wp-content/uploads/celebrate.jpg" alt="" width="622" height="249" /></p><p>I&#8217;ve been working for myself now for nearly five years. It was November 2006 I first registered for VAT, having done a bit of freelancing for a little while before that. I&#8217;ve loved every minute of what I&#8217;ve been doing since and it&#8217;s going from strength to strength. I&#8217;ve learned more than I thought possible and continue to do so. I never thought I&#8217;d fall in love with any software, let alone a content management system, but WordPress and I have ended up having an amazing and fulfilling relationship, albeit with the occassional argument about (metaphorical, PHP-based) toothpaste lids.</p><p>I&#8217;d like to say thank you to all the people who&#8217;ve supported me through the past five years;  clients, suppliers, people I&#8217;ve met through networking (not least those  at Cam Creative), friends (Lucy &amp; Matt, Josie, Tracy, Nat and Michael especially, at  various times), family, attractive waitresses at CB2, and those random strangers who pop up every now and then to give you help.</p><p>Over the last couple of months I&#8217;ve become extremely busy; lots of really exciting projects, including a couple of youth projects (one of which is the return of the brilliant <a
href="http://www.nexttopboss.co.uk">Next Top Boss</a>). I love being busy, of course, but this has gone to extremes and has meant far too many all-nighters, worked weekends and missed opportunities. On the plus side, I can get back into a pair of trousers I had given up as lost some time ago.</p><p>On the negative side, it&#8217;s meant a bit of a slip in the standard of service I can offer, which has been very difficult for me to deal with. I&#8217;m not happy if I can&#8217;t respond to your calls and questions as soon as they come in, and I can only apologise to those of you who I&#8217;ve not been able to do that for just recently. I hate working like that.</p><p>For that reason, I&#8217;m starting to make some big changes to Maltpress; we&#8217;re going to be going Limited, hopefully early in 2012, although perhaps timed around the start of the financial year. We&#8217;re also taking on some help.</p><h2>Say hello to Clara!</h2><p><a
title="Clara Bear" href="http://www.maltpress.co.uk/about/clara-bear/">Clara Bear</a> is a very, very (scarily) talented developer I&#8217;ve known for 20 years or more, and is one of the few people I really trust to be able to produce the sort of work our clients deserve. She&#8217;ll be working with us on a freelance basis while she takes care of her lovely little son Sam.</p><p>Maltpress gets talent and greater capacity; you, our clients, get even better service, excellent WordPress (and other) development, and the same sense of fun and attention to detail you&#8217;ve come to expect. Clara&#8217;s poised and ready to take on some big projects I&#8217;m working on securing at the moment, and is also ready for anything new you might want to talk about. We&#8217;re especially keen to talk to people about pushing WordPress to the limit; using the excellent existing content management capabilities to produce some really cutting edge work. Combined with the brilliant design work of Mario at <a
href="http://www.jdjcreative.co.uk/">JDJ Creative,</a> the hosting and infrastructure work of <a
href="http://mdkwm.co.uk/">MDK Web and Media</a>, and the other excellent freelance designers, developers, writers and consultants in our network, we feel ready to take on any WordPress project you might want to throw at us.</p><p>We&#8217;re also very aware that there are those of you with bigger requirements; not just web development or content, but also wider communications projects you might want to talk about. For that, we&#8217;re incredibly happy to continue working with <a
href="http://www.thefoundryhouse.com/">The Foundry House</a>, stunningly good providers of PR and communications services with some very exciting social media experience and ideas.</p><p>I&#8217;m also trying to think of ways to formalise the role of my dad, Andy, who&#8217;s been helping keep me sane with some paperwork in the run up to his retirement.It&#8217;ll probably involve paperwork, helping us become Limited, and helping me respond to you as quickly as I used to when I started out (and as quickly as you deserve).</p><p>All this extra capacity means I can take on far bigger projects, but I don&#8217;t  want to neglect the little projects for start-ups (especially  creatives) around Cambridge which I do for the love of the work.</p><p>What I haven&#8217;t told Dad or Clara yet is that in five years&#8217; time they have to get tattoos like mine.</p> ]]></content:encoded> <wfw:commentRss>http://www.maltpress.co.uk/2011/09/a-big-update/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>How to buy your website, part VIII &#8211; more management</title><link>http://www.maltpress.co.uk/2011/09/how-to-buy-your-website-part-viii-more-management/</link> <comments>http://www.maltpress.co.uk/2011/09/how-to-buy-your-website-part-viii-more-management/#comments</comments> <pubDate>Fri, 16 Sep 2011 11:15:29 +0000</pubDate> <dc:creator>Adam</dc:creator> <category><![CDATA[Uncategorized]]></category> <guid
isPermaLink="false">http://www.maltpress.co.uk/?p=945</guid> <description><![CDATA[Wow &#8211; it&#8217;s been a long time coming, hasn&#8217;t it? I&#8217;ve been off actually doing what I&#8217;ve been telling you all about &#8211; for the most part! Sometimes we all slip up, so I&#8217;ll tell you about that now. As ever, you can see all the previous parts of the series here. So last time [...]]]></description> <content:encoded><![CDATA[<p><em>Wow &#8211; it&#8217;s been a long time coming, hasn&#8217;t it? I&#8217;ve been off actually doing what I&#8217;ve been telling you all about &#8211; for the most part! Sometimes we all slip up, so I&#8217;ll tell you about that now. As ever, you can see <a
title="How to buy your website – the full guide" href="http://www.maltpress.co.uk/guide/">all the previous parts of the series here</a>.</em></p><p>So last time we talked a bit about time management, and why Gantt charts &#8211; even simple ones &#8211; are a lot handier than you might think. But how do you actually do the doing? It&#8217;s not just enough to send your Gantt to your supplier and leave them to it &#8211; you also need to make sure you know what&#8217;s going on.</p><h2>The good</h2><p>A good web developer will send you regular updates on progress. Make sure you check with them at the outset how they deal with this sort of thing. It might be enough that they just email if they&#8217;re going to miss a milestone; it depends how time-critical your project is, how much you trust the supplier, and so on. If you don&#8217;t know them that well, agree with them at the outset that they&#8217;ll email you every Friday morning (for example) with an update on what&#8217;s done and what&#8217;s next. A lot of the time they&#8217;ll work hard for a while and have nothing you can really see &#8211; loads of technical set-up work, for example, which doesn&#8217;t show on the front end. Getting updates can put your mind at rest that things are actually happening.</p><p>You might be working with a couple of suppliers at the same time, in which case it&#8217;s (possibly) your job as project manager to make sure they all know what&#8217;s going on. There&#8217;s nothing worse as a developer than to expect a design, plan your workload around it, and then not hear anything about it for a week or more because the designer fell off his trendy scooter and no-one told you. If you&#8217;re managing the project, get everyone involved to email you their updates on the Thursday, then send the pertinent updates to everyone on the Friday morning.</p><h2>The bad</h2><p>You&#8217;ll get some developers &#8211; good developers, good workers &#8211; who slip up. We all do it. I did it recently; I took on a job which was interesting but had no budget, and because it had no budget I got complacent about project management, didn&#8217;t spec it, and it soon got out of hand. The natural reaction to this as a developer is to cut off communication, bury yourself in the work as much as possible, and try to push it through as quickly as possible, which I did; we all ended up getting really frustrated with each other for no reason, and a simple project took twice as long and caused twice as much heartache as it needed to.</p><p>Burying ourselves in the work is great in many respects, because it means that we&#8217;re actually doing it for you and want it cleared out of the way. But from your point of view, you&#8217;ve made one or two changes &#8211; which seem to you to be quite minor &#8211; and now your developer is in a strop and ignoring you. Shutting off communication also means that we don&#8217;t get the chance to discuss those bits of the project which are causing us issues &#8211; bits that you might not even be that tied to. When we&#8217;re trying to finish a project we can be of the mindset that &#8220;damn it &#8211; I&#8217;ll just do this extra thing and get it out of the way&#8221; when really we should be telling you the impact it will have.</p><p>Don&#8217;t panic; but don&#8217;t let us get away with it. The best thing to do with a quiet developer is to call them, on a landline if they have one, or on a number you&#8217;ve not called them from before if not (otherwise we see the number and suddenly we&#8217;re in a meeting&#8230;). Don&#8217;t get annoyed or upset; we&#8217;re working on it (hopefully). But do remind us of our commitment to you, ask if there&#8217;s anything you can do, if the spec is clear, and what the updated plan is. See if there&#8217;s anything we need which might help. Often, some real content &#8211; a product, an article, a content page &#8211; is a brilliant thing to send through because it lets us see what you want in context, and it reminds us that we&#8217;re actually working on someone&#8217;s business, not an anonymous project.</p><h2>The ugly</h2><p>There are, of course, those projects which reach a point which becomes impossible to salvage. Maybe your designer has overpromised &#8211; which can be a common cause of delays &#8211; or has taken on another project with a bigger budget which, sadly, has a bit more weight when it comes to deadlines (although in reality clearing the smaller projects first is a better way of working). Maybe they&#8217;ve utterly misinterpreted your brief, or just don&#8217;t care. Whatever the cause, if a project is dragging for months, or the changes you send through just aren&#8217;t done, tt might be time to sack your supplier.</p><p>First up, think carefully about whether it&#8217;s possible to salvage it. If it&#8217;s an agency, talk to your account manager or the owner and see if they know what&#8217;s up; it could be that they don&#8217;t, and can put someone else on your project or just have one big push to finish you off. Agency owners should care about all clients, big or small, because they know about reputation and repeat business; people working for agencies can often lose sight of the fact they&#8217;re working for a business which needs to care for customers. They just turn up, code, go home.</p><p>If it&#8217;s an individual, talk to them, and see what the issue is. If it&#8217;s a genuine problem they have no control over &#8211; bereavement, personal issues and so on &#8211; then discuss if there&#8217;s anyone else they know who could help out, and ask them to bill for what they&#8217;ve done so far and hand it all over (this might require some handover documentation).</p><p>It could be that all the project needs is a bit of clarity. Most developers won&#8217;t take kindly to the idea of coming in and sitting with them as they make changes; it&#8217;s too easy to say &#8220;oh, just try that font a little bigger&#8230; now smaller&#8230; now purple&#8230; now take the swearing out&#8230;&#8221;. What does help, though, is a clear end point. Make a list of all the things which are needed in order to get to a point that you&#8217;re happy enough with the project to move on. Refer back to the original functional spec. Set a clear deadline &#8211; first a deadline to get your developer&#8217;s agreement on what&#8217;s left and if anything is not possible, then a deadline to get things done. If they say something isn&#8217;t possible but it was in the original spec, explain that it was promised and that you&#8217;d appreciate that coming off the final bill. Make sure you check that what you&#8217;re asking in this final list actually was in the original spec; if not, then you really shouldn&#8217;t be upset that it&#8217;s not done by the deadline. Of course, by not adding to the spec in the first place you can &#8211; hopefully &#8211; avoid this situation. Always remember: the functional spec is the most important document in the project and is the final word.</p><p>If the issue is just that they&#8217;re rubbish and don&#8217;t care, and it&#8217;s clear nothing is ever going to get finished, try not to be too angry. Explain carefully what&#8217;s missing; calmly tell them that you&#8217;ve decided that it&#8217;s better for both of you if you move on and find another supplier; get everything you can from the supplier in order that you can hand it over to someone else. If they&#8217;re not prepared to give you any of the code, assets or work they&#8217;ve done then (with legal advice if possible &#8211; try the Citizen&#8217;s Advice Bureau or Business Link) you probably shouldn&#8217;t pay them. If they do hand over what&#8217;s been done so far, then pay for what&#8217;s been done, but don&#8217;t feel you have to pay the full project cost if the full project isn&#8217;t done.</p><p>Then draw a line under it and move on. Small business is an emotional thing. We put our hearts into what we do; when others let us down it&#8217;s easy to feel very angry and upset and hurt, and while this is perfectly justified, it won&#8217;t help you. Bad suppliers won&#8217;t prosper in the long run. Warn people off them by all means, but don&#8217;t try to get revenge; life is too short. Find a good supplier, spec it all clearly, and get it done.</p><p><em>Next time we&#8217;ll wrap up by talking about launching a site and what you can expect; we&#8217;ll also go through the ideas of soft and hard launches and why publicising a website launch can be a bad, bad idea. And also a good idea.</em></p> ]]></content:encoded> <wfw:commentRss>http://www.maltpress.co.uk/2011/09/how-to-buy-your-website-part-viii-more-management/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Just a quicky&#8230; WordPress custom nav walkers</title><link>http://www.maltpress.co.uk/2011/09/just-a-quicky-wordpress-custom-nav-walkers/</link> <comments>http://www.maltpress.co.uk/2011/09/just-a-quicky-wordpress-custom-nav-walkers/#comments</comments> <pubDate>Tue, 13 Sep 2011 16:00:50 +0000</pubDate> <dc:creator>Adam</dc:creator> <category><![CDATA[code]]></category> <guid
isPermaLink="false">http://www.maltpress.co.uk/?p=939</guid> <description><![CDATA[Normal service will resume soon, hopefully, after an upcoming big announcement. H2BYW will be finished &#8211; there&#8217;s probably one episode left. But I&#8217;ve not had time to think for a while. One of the reasons is an awful lot of WordPress dev work, and I&#8217;m hoping to share some of the fancy stuff I&#8217;ve been [...]]]></description> <content:encoded><![CDATA[<p>Normal service will resume soon, hopefully, after an upcoming big announcement. H2BYW will be finished &#8211; there&#8217;s probably one episode left. But I&#8217;ve not had time to think for a while.</p><p>One of the reasons is an awful lot of WordPress dev work, and I&#8217;m hoping to share some of the fancy stuff I&#8217;ve been doing soon (the one site I know I can shout about is utterly beautiful, and does brilliant things). To keep you tantalised, I came across an issue today which is probably reasonably common but for which Google didn&#8217;t seem to want to help.</p><p>If you&#8217;re doing a navigation menu and calling it with wp_nav_menu you may well want to separate each menu item with a character; I seem to remember many acccessibility guidelines suggesting menu items be separated by a non-linking, non-css &#8220;divider&#8221; (i.e. a character not a border-left or border-right). Now, one way to do this would be to use css, an :after pseudo-element, and the &#8220;content&#8221; property&#8230; but that&#8217;s not supported by early IE (bleurgh!) and is a bit silly, accessibility-wise, because although it is actually popping a character in, it&#8217;s reliant on a stylesheet being loaded, so it won&#8217;t work for screen readers, etc.</p><p>You could do it with Javascript, too; but again, accessibility-wise, this isn&#8217;t a great solution, and the less Javascript you can do the better; it&#8217;s less future-proof, more prone to bugs (if your Javascript is anything like mine, that is) and again can be turned off by the end user.</p><h2>The solution: custom walkers.</h2><p>A custom walker basically takes the normal menu walker class (the thing which reads through the menu items and decides how to display them) and adapts it to your own crazy whims. In this case, we want to get rid of the standard WordPress &lt;li&gt; elements and replace them with a pipe, but only between each nav item, not either side, so it looks like:</p><p>Home | Another | Third item | Final</p><p>So here&#8217;s how:</p><p>First: register your menu in the functions.php file for your theme (here I&#8217;m creating a footer menu):</p><pre>register_nav_menu('footer_navigation', 'Footer navigation');</pre><p>Second: add the menu items, calling your new walker class, to the place you want them:</p><pre>$footer_args = array(
  'theme_location'  =&gt; 'footer_navigation',
  'container'       =&gt; 'nav',
  'container_id'    =&gt; 'footerNav',
  'depth' =&gt; '1',
  'walker' =&gt; new Footernav_Walker
 );</pre><p>wp_nav_menu($footer_args);</p><p>Finally: extend the normal walker class to create your Footernav_Walker (or whatever you call it) &#8211; see <a
href="http://wordpress.stackexchange.com/questions/14037/menu-items-description/14039#14039" target="_blank">http://wordpress.stackexchange.com/questions/14037/menu-items-description/14039#14039</a> for loads more info and the original code:</p><pre>class Footernav_Walker extends Walker_Nav_Menu
{
 /**
 * Start the element output.
 *
 * @param  string $output Passed by reference. Used to append additional content.
 * @param  object $item   Menu item data object.
 * @param  int $depth     Depth of menu item. May be used for padding.
 * @param  array $args    Additional strings.
 * @return void
 */
 function start_el(&amp;$output, $item, $depth, $args)
 {
  if ( ! empty ($item-&gt;title) ) {
   $classes     = empty ( $item-&gt;classes ) ? array () : (array) $item-&gt;classes;
   $class_names = join(
   ' '
   ,   apply_filters(
   'nav_menu_css_class'
   ,   array_filter( $classes ), $item
   )
  );
  ! empty ( $class_names )
  and $class_names = '';
  $attributes  = '';
  ! empty( $item-&gt;attr_title )
  and $attributes .= ' title="'  . esc_attr( $item-&gt;attr_title ) .'"';
  ! empty( $item-&gt;target )
  and $attributes .= ' target="' . esc_attr( $item-&gt;target     ) .'"';
  ! empty( $item-&gt;xfn )
  and $attributes .= ' rel="'    . esc_attr( $item-&gt;xfn        ) .'"';
  ! empty( $item-&gt;url )
  and $attributes .= ' href="'   . esc_attr( $item-&gt;url        ) .'"';
  $title =
  apply_filters( 'the_title', $item-&gt;title, $item-&gt;ID );
  $item_output = $args-&gt;before;
  // the following if... statement basically ignores the first menu item
  // (so we don't start the list with a pipe):
  if($item-&gt;menu_order&gt;=2) {
    $item_output .= ' | '; }
    $item_output .= "&lt;a $attributes&gt;"
    . $args-&gt;link_before
    . $title
    . '&lt;/a&gt;'
    . $args-&gt;link_after
    . $args-&gt;after;
    // Since $output is called by reference we don't need to return anything.
    $output .= apply_filters(
    'walker_nav_menu_start_el'
    ,   $item_output
    ,   $item
    ,   $depth
    ,   $args
    );
   }  
 }
}</pre><p>Ta da! Job&#8217;s a goodun&#8217;.</p> ]]></content:encoded> <wfw:commentRss>http://www.maltpress.co.uk/2011/09/just-a-quicky-wordpress-custom-nav-walkers/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>How to buy your website, part VII &#8211; managing a web project</title><link>http://www.maltpress.co.uk/2011/07/how-to-buy-your-website-part-vii-managing-a-web-project/</link> <comments>http://www.maltpress.co.uk/2011/07/how-to-buy-your-website-part-vii-managing-a-web-project/#comments</comments> <pubDate>Mon, 04 Jul 2011 15:42:23 +0000</pubDate> <dc:creator>Adam</dc:creator> <category><![CDATA[Uncategorized]]></category> <guid
isPermaLink="false">http://www.maltpress.co.uk/?p=926</guid> <description><![CDATA[Cripes. Seven whole parts. We&#8217;re in deadly sin territory, here&#8230; and today we&#8217;ll be discussing how not to sin with your project management! Ha ha ha ha I&#8217;m so clever. Anyway, if you&#8217;d like to see all the earlier parts, click here &#8211; and you can also sign up to the mailing list for future [...]]]></description> <content:encoded><![CDATA[<p><em>Cripes. Seven whole parts. We&#8217;re in deadly sin territory, here&#8230; and today we&#8217;ll be discussing how not to sin with your project management! Ha ha ha ha I&#8217;m so clever. Anyway, if you&#8217;d like to see all the earlier parts, <a
title="How to buy your website – the full guide" href="http://www.maltpress.co.uk/guide/">click here</a> &#8211; and you can also <a
title="Newsletter sign-up" href="http://www.maltpress.co.uk/contact/newsletter-sign-up/">sign up to the mailing list</a> for future updates, in particular when this whole lot is edited into a proper e-book guide.</em></p><p>So, you&#8217;ve found your team, they&#8217;ve got the briefs and are working on creating you the website you need. Brilliant! Time to sit back with a book and a biscuit and wait for it to be done, right?</p><p>Well, possibly &#8211; if you&#8217;re confident that you&#8217;ve got a decent project manager working for you. If, however, you&#8217;re working with a couple of freelancers &#8211; a freelance designer and a freelance developer &#8211; then maybe you&#8217;ll not be so confident. It&#8217;s very easy for projects without a strong lead to stretch on and on, so today we&#8217;ll discuss some of the things you can do to avoid that.</p><p>One of the other problems you might come across without good steer is that you feel out of control. This can happen with a project manager in place, too; you&#8217;re investing a lot of money into this website, so you want to know exactly what&#8217;s happening with it, and when you don&#8217;t get constant email updates you start to worry. The problem with this, of course, is that if you start bothering your project manager (or the people on your team) constantly, they&#8217;ll very rapidly get very annoyed and possibly stop talking to you. We&#8217;ll deal with that next time, I&#8217;m afraid.</p><p>This time, though, it&#8217;s a bit theoretical &#8211; how do you plan a project, making sure you know what steps should happen when? What does your project manager actually do?</p><h2>What a project manager does</h2><p>A project manager makes sure a project hits budget, deadlines, and expectations. Simple as that. Give a project manager the functional specification and your agreed deadline, and you should get your project when you expect it &#8211; or at least a damn good reason why not. Good project management is not something which is forced on the people doing the &#8220;actual&#8221; work (the developers and designers) &#8211; it&#8217;s not about setting them tasks and holding them to account if they&#8217;re not done. It&#8217;s about finding out the steps they need to take, and how you as project manager can make these happen. Find out what they need, and make them happen. A good project manager is more like a project concierge &#8211; removing obstacles for the people doing their jobs so they can concentrate on what they&#8217;re good at.</p><p>How do you do this? A variety of ways, of course &#8211; different project managers have different techniques &#8211; but here&#8217;s how I do it:</p><h2>The Gantt Chart</h2><p>Ah, <a
href="http://en.wikipedia.org/wiki/Gantt_chart">the Gantt.</a> The bane of a project manager&#8217;s life. Many swear by them; many swear at them. So what is it, and how is it actually useful?</p><p>Well, a Gantt &#8211; in simple terms &#8211; is a visual representation of stages in a project, how long they take, and what job depends on what. The simplest can be done with pen and paper or in Excel (or other spreadsheeting software) using coloured cells. Complex ones can be done in MS Project (not an out-of-the-box Office product, sadly), or (my favourite) <a
href="http://www.omnigroup.com/products/omniplan/">OmniPlan</a> for the Mac, or there are lots of <a
href="http://www.cyberciti.biz/tips/open-source-project-management-software.html">open source possibilities</a>.  I&#8217;ve not tried any of these, though. Let me know if you have.</p><p>Now, you can do long courses on getting the most out of this kind of project management, or you can do what I do and use it in a nice, simple way. It&#8217;s something wonderfully visual and putting together your Gantt is one of the most useful things you can do just to get your own head around what&#8217;s involved.</p><p>Start off by listing all the steps in the order you think they should be done. You can use your functional spec and just list the functions here; or work with your developer to break it into the logical steps they might take. For example, you may have a calendar, blog, and shop on your site, and list them like that. You could also break these down into common tasks, like set up database, code back-end, code front-end&#8230; think about who this project plan is for, whether it&#8217;s your technical team or you (or the client).</p><p>Next up, assign durations to each of the tasks. Remember &#8211; this project plan needs to be created with the people doing the work. You can&#8217;t tell a developer something will be done in a week if you don&#8217;t know, for certain, that it will take that long. Also be realistic &#8211; remember the difference between billed time and working time. A 3-hour job might need to be done over 3 days if &#8211; for example &#8211; we&#8217;re working with DNS or getting approval for some online service. At the moment we&#8217;re not, however, trying to be too accurate; roughly assign days and half-days to tasks, and set milestones (steps which don&#8217;t actually take any time, such as &#8220;release to client&#8221;).</p><p>Now you can think about the most important part &#8211; dependencies. If you&#8217;re a chemist or biochemist, you should be familiar with the idea of the &#8220;rate limiting step&#8221;: the bit of a reaction which slows all the other bits up. This is kind of what we mean by dependencies &#8211; which bits <em>must</em> be done before we can do the next bit. Let&#8217;s use making a cup of tea as an example.</p><p>If I&#8217;m making tea, I have the following steps: add milk, add sugar, add teabag, boil kettle, add hot water, stir, remove teabag, drink.</p><p>Of course, we can&#8217;t do all of these things at the same time. But we don&#8217;t have to do each in turn, and there might be a logical order we can do these things. So let&#8217;s start by thinking of the things which are dependent on each other:</p><ul><li>Before we can remove the teabag we <strong>must</strong> add the teabag. We <strong>should</strong> also have added hot water and stirred.</li><li>Before we can add hot water we <strong>must</strong> boil the kettle.</li><li>Before we stir we <strong>should</strong> have added the teabag, sugar and milk.</li><li>Before we drink we <strong>must</strong> have done all the other tasks.</li></ul><p>So you can see dependencies starting to form here. You&#8217;ll also notice that some things are &#8220;shoulds&#8221; and some are &#8220;musts&#8221; &#8211; they don&#8217;t teach you about this on project management courses, but it&#8217;s real life. You can make a cup of tea &#8211; a very weak, horrible one &#8211; by steeping the tea in the milk, stirring, removing the bag and then adding the hot water. Bleurgh! But it is possible. It&#8217;s the same with a web project. You shouldn&#8217;t &#8211; really &#8211; build a website before you have an idea of the content or structure. But it&#8217;s possible, if circumstances force it.</p><p>Anyway, what you do end up with after linking up all the dependencies is that nothing needs to come before putting the teabag, milk and sugar in the cup; also, nothing needs to come before turning the kettle on. You could wait until the kettle has boiled to put these things in the cup, or you could do these and then put the kettle on. But then you&#8217;re sitting idle while the kettle boils.</p><p>So the logical way to do it is to turn the kettle on, and then while it&#8217;s boiling, do all the other tasks which don&#8217;t yet have dependencies which are not yet complete. Turn the kettle on, put the stuff in the cup, and then do the rest.</p><p>It&#8217;s exactly the same with a website. You could &#8211; and, if one person is doing it all, might have to &#8211; do all the tasks one after another. But you could, while your designer is busy pushing pixels, have your developer start on the back-end while you start writing the copy (which should <strong>always</strong> start earlier than you think as it takes twice as long as you&#8217;ll ever imagine and <strong>will always</strong> be the thing which holds up a project&#8230;). Front-end development is always going to be dependent on design being finished to some extent. But could you have a certain sub-page designed <em>after </em>the build has started? Could your developer be putting together a bit of functionality without design? A good site keeps design and content separate anyway &#8211; so there&#8217;s often no reason why not.</p><p>After you&#8217;ve got your Gantt, it just remains to get your developer to agree a start date, add in any time they know they&#8217;ll not be available, and make sure they&#8217;re agreed (in writing) that certain milestones can and will be met at certain times.</p><p>That sort of stuff is pretty logical and you should have thought of most of it already. But here&#8217;s something else to think about: for how much time do you let your team go &#8220;fallow&#8221; on a project? What I mean is, let&#8217;s say your designer has said it&#8217;ll take three weeks to get his bit done, and your developer has said he can start doing back-end setup right away and it&#8217;ll take two days. Do you set them off together? Maybe, but bear this in mind: your developer works for two days on a project then doesn&#8217;t look at it for over two weeks. Then the designs arrive and he needs to quickly get back up to speed again (having been off doing another project). Would it be better for the developer to start in week three &#8211; when the designs are nearly done &#8211; so he can have a straight run through his work in one block? Knowing the developer mindset, and the best way to code, yes it would. Think carefully when putting together your Gantt about using solid blocks of time where possible, rather than have someone on-and-off a project over a protracted period.</p><h2>Helping to do the do.</h2><p>Finally, the project manager needs to clear the way for these tasks to be undertaken as efficiently as possible. This might be a case of arguing with other project managers about who gets what resource (developer), and when; it might be a case of doing some of the dull jobs like data entry, or finding someone else to do them. You may need to source holding servers, or chase API keys, or any number of any other little jobs which take time, distract from coding, and might rely on a bit of diplomacy, tact, or low boredom thresholds.</p><h2>Put it all together&#8230;</h2><p>&#8230;and here&#8217;s what you need to do, step by step:</p><ul><li>Check the functional specification for what&#8217;s required from the project.</li><li>Talk to each supplier about what they&#8217;re producing &#8211; design, front-end, back-end, copy. See what they need to be done before they can start. Draw up a Gantt without any dates on it.</li><li>Check your Gantt with suppliers in terms of dependencies to make sure you&#8217;ve got it right. Get an idea of start times and holidays they might be taking. Some freelancers will work weekends too. If you are a freelancer, never agree to do this, or it becomes expected of you. If you do and you get it done early, great&#8230; remember the <a
href="http://www.urbandictionary.com/define.php?term=Scotty%20Principle">Scotty Principle</a>.</li><li>Finalise your Gantt by adding dates. Get agreement from each of your suppliers that they can and will finish each stage at a particular date, and let them know you need to know if this isn&#8217;t going to happen <strong>before</strong> the date it&#8217;s due. Tell them you&#8217;ll be after a weekly update email &#8211; even if it&#8217;s just &#8220;all on time&#8221; &#8211; and that you&#8217;ll remind them of this each week. If you&#8217;re reporting to someone else, make sure you summarise these emails to that person so they know what&#8217;s happening as well.</li><li>Don&#8217;t hide, or hide from, problems and delays. Remain transparent. Tackle issues early. Stuff goes wrong all the time with every project. A good project manager is not one whose projects all run smoothly (because that&#8217;s impossible), but is one who solves problems, faces responsibility, takes all the blame and none of the glory but who goes home knowing that without them the project would never have been finished. Project management is not a popularity contest, to use a terrible cliche.</li><li>Find out what each supplier needs in order to finish their tasks, and make it happen as soon as you can. Never leave anything until the last minute. You should <strong>always</strong> aim to finish projects early, just so you never finish one late.</li></ul><p><em><a
title="How to buy your website, part VIII – more management" href="http://www.maltpress.co.uk/2011/09/how-to-buy-your-website-part-viii-more-management/">Next time</a> I want to talk about enacting the plan, which should be a bit more useful to buyers, because we&#8217;ll be discussing things like keeping track of milestones and how best to chase. In the mean time, anyone used any open source project planning software? Leave me a comment!</em></p> ]]></content:encoded> <wfw:commentRss>http://www.maltpress.co.uk/2011/07/how-to-buy-your-website-part-vii-managing-a-web-project/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>How to buy your website, part VI &#8211; briefing your developer</title><link>http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-vi-briefing-your-developer/</link> <comments>http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-vi-briefing-your-developer/#comments</comments> <pubDate>Thu, 23 Jun 2011 16:56:42 +0000</pubDate> <dc:creator>Adam</dc:creator> <category><![CDATA[Uncategorized]]></category> <guid
isPermaLink="false">http://www.maltpress.co.uk/?p=907</guid> <description><![CDATA[Wow. Last of the Star Wars numbers&#8230; We&#8217;re up to part IV, Return of the Jedi. Or, if you&#8217;re not quite that geeky, we&#8217;re up to briefing your developer. I&#8217;ve now gathered all the previous parts of this series on to one page and you can also sign up to my mailing list for monthly [...]]]></description> <content:encoded><![CDATA[<p><em>Wow. Last of the Star Wars numbers&#8230; We&#8217;re up to part IV, Return of the Jedi. Or, if you&#8217;re not quite that geeky, we&#8217;re up to briefing your developer. I&#8217;ve now gathered all the previous parts of this series <a
title="How to buy your website – the full guide" href="http://www.maltpress.co.uk/guide/">on to one page</a> and you can also <a
title="Newsletter sign-up" href="http://www.maltpress.co.uk/contact/newsletter-sign-up/">sign up to my mailing list</a> for monthly updates and an announcement when I get all of this into an e-book.</em></p><p>Last time we talked about briefing your designer. Now, briefing your developer is similar, but there are a few important things to remember:</p><ul><li>Design is subjective, but the technical side of your site either does what you want or it doesn&#8217;t. There should be less room for interpretation in this brief.</li><li>Changing design on an established platform should be (reasonably) simple. Adding bits of functionality here and there (plugins) to an established platform should be reasonably simple. Get the platform wrong at the start, though, and you&#8217;re in trouble.</li><li>Without a brief, you get scope creep &#8211; where you keep thinking &#8220;ooo, it&#8217;d be great if the site did this too&#8230;&#8221; &#8211; and your developer starts adding it &#8211; and then you think of something else &#8211; and your site never gets finished.</li></ul><p>With this in mind, we&#8217;re going to be a bit more formal this time round. As with last time, I&#8217;ll use the features of this site as an example &#8211; I&#8217;ve put edited highlights in this article, or you can download a <a
href="http://www.maltpress.co.uk/wp-content/uploads/example_brief_notated.pdf">full PDF version of the brief</a>. Newer versions of Adobe Reader should show notations in this file.</p><p>Now, this is all stuff that a good project manager (PM) will be able to help you with, and this is where they should earn their money &#8211; taking your ideas and turning them into a good, strong brief for a developer. For the rest of the post, then, let&#8217;s assume you&#8217;re not working with an independent project manager. Even if you are, though, it&#8217;s a good idea to understand this process so you can articulate to the PM exactly what you&#8217;re after. And finally&#8230; if you&#8217;re building a site for yourself, scope creep is an even worse problem, so writing a brief for yourself can be a great help.</p><p>Before we start, there is an easier way. Go to your developer, tell them the sort of thing you want, and wait for a proposal. If you do this, they&#8217;ll just go through (pretty much) this process, or repeat it from a previous client, and send you a proposal, which is pretty much writing your brief for you to agree with. Nothing wrong with this at all &#8211; but you get what your developer thinks you want, not what you know you want.</p><h2>Step 1: what&#8217;s the point?</h2><p>Going back to our very first post in this series, summarise for the developer what the site is actually <em>for</em>. Where&#8217;s the money?</p><p>You might want a site which simply says what you do. You might be directly selling something on your site. You might be giving something away for free to build your reputation, and this might be videos or text or downloads. Your site might actually be the product. Keep this description brief but try to cover everything the site needs to do. If you can&#8217;t summarise what your site does in a couple of lines, it needs more thought. Maybe it needs breaking up into different sites or you need to re-examine why you need it.</p><p>&#8220;The Maltpress site will be a portfolio of past work. We will use blog posts to build our reputation by demonstrating our experience of web project management, development and content creation. We will also sell &#8211; and give away &#8211; downloads through the site, mainly WordPress plugins&#8221;.</p><h2>Step 2: break it down.</h2><p>Now think about each thing that you want the site to do (you should have these from your design brief last time, and from earlier steps) and think about how it needs to work.</p><p>This sounds pretty technical, but it&#8217;s not. Your developer will handle how it really works; just think of the intermediate steps as a bit of a black box. For example:</p><pre>Fill in contact form -&gt; click "submit" button -&gt; [clever bits happen]
-&gt; form contents emailed to me -&gt; user sees thank you message.</pre><p>If you&#8217;re working with a usability expert, they&#8217;ll be advising you at this stage.</p><p>Don&#8217;t just think about the front end (the bits your visitors see) &#8211; also think about the back end (the bit you use to manage the site). You don&#8217;t have to go so far in specifying how this works, because in most cases you&#8217;ll be best using an existing platform like WordPress, Drupal, or something your developer&#8217;s already made, unless it&#8217;s very special functionality. You can break this out into a separate section (helpful if there&#8217;s more than one user) or keep it all in one lot (<a
href="http://www.maltpress.co.uk/wp-content/uploads/example_brief_notated.pdf">see the example brief</a>).</p><p>What you will need to specify is <em>how much of the site needs to be content managed</em>. Remember this, though: the more you content manage, the more complicated it gets to manage, or the more expensive the system gets. The slider on the home page of this site requires me to know CSS, HTML and a little javascript to edit; it&#8217;s in the CMS for convenience, not simplicity. As a general rule of thumb, if formatting is utterly fixed, management will be easy.</p><p><a
href="http://www.maltpress.co.uk/wp-content/uploads/flow.jpg"><img
class="alignleft size-thumbnail wp-image-916" title="flow" src="http://www.maltpress.co.uk/wp-content/uploads/flow-150x150.jpg" alt="" width="150" height="150" /></a>Taking things further still, you might have lots of editors on your site and want to have workflow &#8211; i.e. a way to approve their content, track changes, that kind of thing. You might want different editors to have different permissions. Once you get into this realm, a meeting with a project manager to talk through all these issues becomes almost vital. If not, take your time, grab a big bit of paper and some pens and draw a flow chart for each user and their content &#8211; see the photo for an example.</p><p>Now, on this site, there&#8217;s only one editor, and pretty much every word can be changed via WordPress, from the footer to the slider on the home page. Some of it comes from other places&#8230; so the latest blog title in the header is automatically pulled in from the blog. Look at your designs and your pages and think about what you&#8217;ll need to edit, and how often, and also which bits are shared.</p><p>Break it down into common elements (things which stay the same across the site like headers and footers) and then by page type (home page, content pages, news pages, jobs pages, and so on).</p><p>So let&#8217;s do that with this site (<a
href="http://www.maltpress.co.uk/wp-content/uploads/example_brief_notated.pdf">see the PDF for more</a>):</p><p>&#8220;Headers: the blog title and date should be drawn automatically from the most recently added blog post. The shopping cart will be updated when a user adds a download they wish to buy&#8221;</p><p>&#8220;Each home page slider should be editable. The background image should be uploaded via the content management system, and the content within the slider should consist of HTML and CSS added directly to the CMS.&#8221;</p><p>&#8220;All page body text should be editable using a WYSIWYG editor&#8221;.</p><p>(WYSIWYG stands for &#8220;what you see is what you get&#8221; and bascially means a text box with formatting tools like bold, italic and so on).</p><p>Note: you&#8217;ll forget and miss stuff here. You won&#8217;t think of everything, and your developer will have ideas about how to do things better. This is the way it <strong>should</strong> work.</p><h2>Step 3: phase it.</h2><p>There are lots of reasons you might want to phase roll-out of your website:</p><ul><li>You want something &#8211; anything &#8211; up quick because you&#8217;ve had business cards printed with your web address on (believe me, I&#8217;ve seen panicked examples of people doing this before they even owned the domain name&#8230;)</li><li>You don&#8217;t have the funding yet to get all the functionality running</li><li>You want to build buzz</li><li>You want it up for a particular event but full development will take too long</li><li>You want to use phase I to canvass opinion on phase II</li><li>Phase II will be selling/promoting a product which isn&#8217;t ready yet</li><li>You want to spread the cost and the risk.</li></ul><p>Think about what&#8217;s absolutely core to the site and must be in phase I and what can go in phase II. If you only have a general idea what phase II will be (i.e. &#8220;there will be a forum in phase II&#8221;), still include it now &#8211; it might have an impact on decisions made at the start of the build. Divvy things up now.</p><h2>Step 4: sense check.</h2><p>Read what you&#8217;ve created. Look for gaps. Look for places where what you&#8217;re asking for could be misinterpreted. Ask someone else to read it and then summarise back to you how the site will work.</p><h2>Step 5: send it to your developer and get your final proposal.</h2><p>You may get questions and clarifications at this point, and you&#8217;ll undoubtedly get more ideas from your developer. You may also get an email saying certain things aren&#8217;t possible&#8230; they probably are, but just not within the time/budget you&#8217;ve got available to you. You&#8217;re perfectly within your rights to say &#8220;but I&#8217;ve seen it done on xxxxx site&#8221;. But your developer is perfectly within their rights to come back and say &#8220;but they have a budget of £5m and a team of 20 developers working in-house&#8221;. Be realistic.</p><p>Your final proposal should outline all the costs and timescales for the project. A couple of things to note:</p><ul><li>The proposal should be like a menu &#8211; this bit will cost this much, that bit will cost that much &#8211; so if something looks too expensive you can drop it.</li><li>If something is costed based on days (i.e. &#8220;5 days at £350 per day&#8221;) that doesn&#8217;t mean it&#8217;ll be done in 5 days&#8217; time. 5 days work &#8211; with other projects on the go &#8211; could take 1 developer 2 weeks, or 5 developers 2 days.</li><li>It&#8217;s not uncommon for there to be a payment schedule &#8211; 25% up front, 75% on completion, or based on milestones. <strong>Never pay 100% up front</strong>. The impetus to finish the project and get paid is removed. It&#8217;ll take months.</li></ul><p>I&#8217;d love to say how much your site will cost but &#8211; as you can see from all of this &#8211; every site is different and costs different amounts. As a very, <em>very</em> rough guide (excluding design):</p><ul><li>A flat site could be from £100-500 depending on number of pages and if there&#8217;s any Javascript. You might look to pay around £300-600 for very simple content management (one editable page, for example).</li><li>Dynamic, content managed sites range from around £500 up (tens or hundreds of thousands for the really massive ones with hundreds of editors!). Generally, the more you pay, the more suited to your company it will be. Cheaper content management systems may have lots of quirks or fall over if you have lots (100,000+) of visitors. Try before you buy with any CMS if you can. For a decent site for a small business, look to pay £750-3000, assuming you&#8217;re just editing pages and a blog. Medium businesses can pay £10-30,000 for a good site.</li><li>A store using PayPal will add from £500-2000 to your costs. Less if it&#8217;s built in from the start, more if retro-fitted, and the more you pay the better integrated it will be and the closer it will be to your designs. Pay more and you may get stock control and so on. E-commerce can cost a lot as there are lots of steps in the process to consider &#8211; carts, checkouts, various failed sales, refunds, stock control, previews, colour and size variations&#8230;</li><li>Custom e-commerce can cost from £750-10,000. You&#8217;ll also need secure certificates, probably dedicated hosting, a merchant account with your bank&#8230; more products, more customers, more complexity all means more cost.</li></ul><p>Basically, you get (in most cases) what you pay for. Get comparative quotes, check reputation, make sure you&#8217;ll have a good relationship with your supplier, and if you pay peanuts to a teenager to build something in his bedroom, don&#8217;t be surprised if it doesn&#8217;t work.</p><h2>Step 6: the functional spec.</h2><p>A functional specification (&#8220;func spec&#8221;) is a much more formalised, more technical version of your brief. The brief is <strong>what you want</strong>. The func spec is <strong>what you get</strong>. It should be pretty close to your brief, agreed with your developer, contain all those extra bits you agree at step 5, and is protection for everyone concerned. Get a site which doesn&#8217;t do what the developer agreed it would in the func spec? You have grounds to complain. Add something to your wishlist half way through the project and don&#8217;t formally agree it in the func spec? No grounds to complain.</p><p>Make sure both parties are in agreement with the functional specification before &#8211; in writing (by email or post) formalising this. All you need to do is say &#8220;attached is the functional specification for this site, as agreed by [client] and [developer] on [date] &#8211; please confirm your receipt and agreement&#8221;. Maybe not legally binding in the same way as a contract, but  good protection if (god forbid) small claims courts get involved. Please note: I am not a lawyer of any kind, I could be wrong.</p><p>The final functional specification may well add technical details you don&#8217;t need to know about. The developer or project manager may add these. <a
href="http://www.maltpress.co.uk/wp-content/uploads/example_func_spec_notated.pdf">Here&#8217;s an example</a>. Technically (excuse the pun) this makes it a technical specification (tech spec), but for most day-to-day projects there&#8217;s no need for both. <a
href="http://www.joelonsoftware.com/articles/fog0000000036.html">Read more about functional specs here</a>.</p><h2>Step 7: &#8220;oh, can you just add&#8230;.&#8221;</h2><p>So &#8211; development of phase I has now started and you&#8217;ve had a brainwave. Every page should have an animated cat doing a dance! You email your developer&#8230;</p><p>&#8230;and they either say (quite rightly) &#8220;never&#8221;, or they say &#8220;OK, but it will push back delivery by x weeks and add £y to the cost&#8221; or they say &#8220;let&#8217;s add it to the phase II wish list&#8221;.</p><p>The second answer is good. You know what you&#8217;ll get and the impact it&#8217;ll have.</p><p>The third answer is better. You have time to think it through properly, and it doesn&#8217;t impact your timescales. The danger with a developer saying yes to all these suggestions is that each one adds cost and time, and you end up with a site which never gets finished. Either that or the developer gets in to a hole where they never feel they can start to say no to your increasing list of demands, and the relationship breaks down&#8230;</p><p>Remember: once phase I begins, unless it&#8217;s urgent and vital and will save money and time, and only if it&#8217;s agreed in writing between all parties, the func spec doesn&#8217;t change. Things just go into the phase II wishlist, and at phase II, this all starts again&#8230;</p><p><em>Next time, we&#8217;ll talk a bit more about project management and protecting yourself from getting something other than what you want. In the mean time&#8230; developers, any thoughts? Leave a comment!</em></p> ]]></content:encoded> <wfw:commentRss>http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-vi-briefing-your-developer/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>How to buy your website, part V &#8211; briefing your designer</title><link>http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-v-briefing-your-designer/</link> <comments>http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-v-briefing-your-designer/#comments</comments> <pubDate>Thu, 16 Jun 2011 14:21:06 +0000</pubDate> <dc:creator>Adam</dc:creator> <category><![CDATA[Uncategorized]]></category> <guid
isPermaLink="false">http://www.maltpress.co.uk/?p=875</guid> <description><![CDATA[Up to part V, and what&#8217;s that bleep-bleep-bleep sound? That&#8217;s right, it&#8217;s the &#8220;vital post&#8221; alarm going off. You could have skipped the earlier posts if you already had a fairly good idea of what you want your site to do and who you want to do it, but this post should apply to everyone. [...]]]></description> <content:encoded><![CDATA[<p><em>Up to part V, and what&#8217;s that bleep-bleep-bleep sound? That&#8217;s right, it&#8217;s the &#8220;vital post&#8221; alarm going off. You could have skipped the earlier posts if you already had a fairly good idea of what you want your site to do and who you want to do it, but this post should apply to everyone.</em></p><p>Writing a decent brief is probably the most important part of the web build process. Designers and developers &#8211; free-thinkers though they are &#8211; need to know what it is you&#8217;re actually after. Leave too much room for interpretation and you&#8217;ll end up with something which only just skims the edges of what you&#8217;ve got in your head. It&#8217;s also how prices get estimated and agreed, so to get a realistic idea of what it&#8217;s going to cost, you need a good brief.</p><p>There are several ways to write a good brief. If you&#8217;ve got the time and/or money, a project manager with web experience is probably best. They&#8217;ll sit down with you and talk about what you want to achieve from your site, your budget, what ongoing resources (time, mostly) you can commit to the site and so on. The agency you use may have a project manager to work with, and they&#8217;ll also sit down with you and discuss the brief first. If you&#8217;re managing the project yourself, it can be a good idea to chat with a friend about what you think the site should do and how it should feel.</p><p>Whatever route you go down, here&#8217;s how the design brief is written. Next time we&#8217;ll look at briefing a developer and creating a functional specification.</p><h2>Get the principles</h2><p>Before meeting with your project manager or agency for the first time (or even if you&#8217;ll be writing the brief yourself) start by making a mood board. At its simplest, this is an email with a load of links to sites you like. You could go as far as using something like PowerPoint (I use OmniGraffle on the Mac) or a big sheet of card. The principle is the same: gather examples of websites, colours, magazines, pictures and words which represent the things your site should be and do. Stick them on your card, take screenshots and paste them into PowerPoint, or email the links. If you&#8217;re working with a web architect or usability expert, you should work with them at this point as well, and include wireframes on your moodboards.</p><p>Now write down what you want the site to do. Keep it top-level at the moment &#8211; don&#8217;t try to think about the technical details. So, for example, for this site:</p><ul><li>There will be several pages of content on the site which explain what we do. The content won&#8217;t change on these very often.</li><li>There will be a blog on the site. We will write posts hopefully every week. There will only be one author on the blog for the foreseeable future.</li><li>There will be a contact page with an email form (which sends to my email address), as well as a map of our office location, telephone number and other contact details.</li><li>The site will display the latest tweet from our Twitter stream.</li><li>The site will include a store for buying downloads.</li><li>The site will also provide WordPress plugins. Each plugin requires an introductory page, frequently asked questions, installation instructions and a download. These may change regularly as new versions are released.</li></ul><p>That&#8217;s it&#8230; there are, of course, extra features on the site, but these came after brainstorming with the designer I worked with. At this stage you&#8217;ll meet with your project manager, designer or developer and talk about what you want, and they&#8217;ll help you clarify some of the details of these points, and maybe suggest extra features &#8211; your designer, especially.</p><h2>Write a full brief</h2><p>So at this stage in building this site I met with <a
href="http://www.jdjcreative.co.uk/">Mario, the designer</a>, and we had a lovely cup of coffee and chatted about what the site would do. Mario suggested that the home page would look good with a big, sliding feature panel, and I agreed &#8211; and thought that this should be something I should be able to change using WordPress, not by having to code it fresh each time. We also agreed that the blog &#8211; while an important part of the site &#8211; shouldn&#8217;t detract from the most important part, selling services (and plugins).</p><p>From here, we were able to go ahead with the design of the site &#8211; we didn&#8217;t do a full written brief in this instance, because I work with Mario a lot and I trusted him to do what we&#8217;d discussed, and also because I was building the site myself and therefore cost wasn&#8217;t really an issue &#8211; it was only my time. We also skipped mood boards as we were starting from an existing design with brand, colours and imagery.</p><p>For you, however, now is the time to create a <em>design brief</em>. Here&#8217;s what to include, and some examples of what I&#8217;d do for this site:</p><ul><li>Introduction &#8211; write this last. Summarise what you&#8217;re after.<br
/> <em>&#8220;This brief outlines the requirements for the www.maltpress.co.uk website. The site will be built in WordPress by Adam Maltpress </em>[include your developer's details at this stage so the designer can check technical details] <em>and will include x, y and z</em> [give an overview of the features]<em>.&#8221;</em></li><li>Look and feel &#8211; if you have an existing brand, include examples of your current logo, colours, and any brand guidelines you have. Otherwise, try to summarise your brand and how you see this being presented visually.<br
/> <em>&#8220;The Maltpress brand is about building content-rich websites which are easy to manage. Although we work in WordPress a lot, we&#8217;d rather the site show how much further we can go than just blog templates &#8211; WordPress can do anything, and we can do anything with it, so avoid obvious references to the WordPress brand. Writing is the root of what we do and how the business started, and we&#8217;d like this reflected as much as possible. We enjoy our work and have a real sense of fun in what we do, with a tongue-in-cheek approach reflected by the use of retro, geeky black and white imagery from Flickr&#8217;s Commons. We would like to avoid any overtly technical imagery on the site so as not to alienate non-technical customers. The existing colour pallette is based around hex #29241E for backgrounds, #D3D0A7 for text, and #ffffff for links.&#8221;</em></li><li>What needs to be on each page? Check back against your list (above) of the things the site should do. List what needs to be on every page, and what will have its own page, and what needs to be on those.<br
/> <em>&#8220;Every page will include a footer with phone number, email address, and other contact details. Main navigation will be on every page, and some pages will also include sub navigation. The site will feature a search box on every page as well as a shopping cart showing number of products in it. The Twitter feed will be shown on every page. Blog pages will show comments, and each comment will show the commenter&#8217;s image. The blog listing page will show just title, date and excerpt. The contact page will include a form and a map.&#8221;</em></li><li>Outputs &#8211; what are you expecting from the designer? You should already have discussed this to get an indicative quote, but reitterate it here &#8211; your brief may not be a legally binding document like a true contract, but if you don&#8217;t draw up a formal, signed contract then it is a big part of protecting what you&#8217;re getting and what you&#8217;re paying for it. You should also check with your developer what they&#8217;re expecting to get &#8211; most will want layered PSD files, but check any further formatting requirements (ungrouped layers is a common request). You&#8217;ll need to specify how many pages you want designed &#8211; a home and sub-page layout should be enough, but if there are particular pages with special functionality, layout or importance, like store pages or forms, you may want these designed &#8211; otherwise your developer will have to interpret and create these pages from your home page design. Look back at your basic &#8220;how the site works&#8221; for any details here. If the design comes in under budget, consider getting more page templates designed &#8211; your contact page, blog comments, that kind of thing.<br
/> <em>&#8220;We would expect to see an initial round of three concepts </em>[these may be reasonably rough around the edges]<em> from which one will be chosen for further development. After three rounds of amends on the chosen design, the final design will be presented as layered PSD files with fonts supplied as separate files. The final design will be delivered as a home page and one content page, showing rollover state of one button and one link.</em> [rollover states are how things look when you mouse over them - most of the time it's obvious, but you may want to ask your designer to show these. Menus are especially important, in particular where they'll have drop-downs]<em>&#8220;</em></li><li>Restrictions &#8211; you may want to reiterate restrictions from your brand guidelines here, or you may have other restrictions to put in place&#8230; for example, your wireframes or guidance from your UI expert. Bear in mind costs of things like fonts, imagery and so on&#8230;<br
/> <em>&#8220;The design should not use any fonts which require licensing for web embedding</em> [if you don't have any existing design, this is a good clause to include to save yourself a bit of time and money later...]<em>. Imagery used should be royalty free and available for use commercially on the web without ongoing costs. The site should stick as closely as possible to provided wireframes. Button/icons for download, contact and shopping cart will also be required.&#8221;</em></li><li>Inspiration &#8211; include a list of links to sites you like the look of, send your mood board, and chat to the designer about things you like, visually&#8230; they might not necessarily become part of the design, but they&#8217;ll give a good idea of your aesthetic ideals.<br
/> <em>&#8220;We like retro (50&#8242;s and 60&#8242;s) Americana &#8211; take a look at <a
href="http://fuckyeahvintage-retro.tumblr.com/">I am So Retro</a> for more. Cold War era architecture, Roman statuary, William Blake and black and white portrait photography are also great. Beautiful sites we like include <a
href="http://veerle.duoh.com/">Verle&#8217;s design site</a>, <a
href="http://www.campaignmonitor.com/">Campaign Monitor</a>, and <a
href="http://www.xero.com/">Xero</a>.&#8221;</em></li></ul><p>With all that, your designer will now confirm costs &#8211; you may need to sacrifice a round of changes or initial design variation to get the cost down, depending on your budget. You can look at anything from £300 to £1500 for website design depending on the number of iterations, what you&#8217;re starting from, payment schedule, how well you know the designer&#8230; as an example, this site&#8217;s design &#8211; from an existing design needing an update, including three possibilities, three rounds of amends, design supplied as home page only (but with 4 slider image iterations which added some time) and quite a bit of extra input on structuring the site and how the home page should work &#8211; would cost in the region of £5-600 ex VAT, but may come in cheaper with a good relationship with the designer or if it&#8217;s an agency who&#8217;ll also do the building of the site &#8211; because things get easier to manage in that situation.</p><p><em>Next time, briefing developers&#8230; in the mean time, if you&#8217;re a designer, I&#8217;d love your feedback &#8211; anything else you want to see in the brief? Any examples of the best and worst briefs you&#8217;ve ever had? What else do I need to mention?</em></p> ]]></content:encoded> <wfw:commentRss>http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-v-briefing-your-designer/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>How to buy your website, part IV &#8211; from shortlist to supplier</title><link>http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-iv-from-shortlist-to-supplier/</link> <comments>http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-iv-from-shortlist-to-supplier/#comments</comments> <pubDate>Wed, 08 Jun 2011 17:11:10 +0000</pubDate> <dc:creator>Adam</dc:creator> <category><![CDATA[Uncategorized]]></category> <guid
isPermaLink="false">http://www.maltpress.co.uk/?p=870</guid> <description><![CDATA[Part IV of the series I am now ashamed to be calling &#8220;H2BYW&#8221;. It&#8217;s easier for Twitter, you see. Anyway &#8211; you can go back to part I to find out about whether you need a website or not, and what it should do; to part II for a quick guide to how websites actually [...]]]></description> <content:encoded><![CDATA[<p><em>Part IV of the series I am now ashamed to be calling &#8220;H2BYW&#8221;. It&#8217;s easier for Twitter, you see. Anyway &#8211; you can go back to <a
title="How to buy your website, part I – what do you want?" href="http://www.maltpress.co.uk/2011/05/how-to-buy-your-website-part-i-what-do-you-want/">part I</a> to find out about whether you need a website or not, and what it should do; to <a
title="How to buy your website, part II – how the web works" href="http://www.maltpress.co.uk/2011/05/how-to-buy-you-site-ii-how-the-web-works/">part II</a> for a quick guide to how websites actually work; or to <a
title="How to buy your website, part III – picking suppliers" href="http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-iii-picking-suppliers/">part III</a> to find out who&#8217;s involved in making a website and how to hire them. Today, we&#8217;ll be taking the shortlist you made last time and picking your final supplier from it.</em></p><p>So, by now you&#8217;ve annoyed everyone you know by grilling them all about potential web designers, developers, project managers and agencies, and you&#8217;ve got a shortlist of people who might be able to do it. It might be a long shortlist, or it might be a very very short shortlist.</p><p>If you&#8217;ve only got one name on the list, then you&#8217;re either home &amp; dry (if it&#8217;s someone good!) or in trouble (if it&#8217;s someone you&#8217;d rather not work with). If you want to add to this list, now is the time to go beyond your circle of contacts and do some Googling. Start with a specific, local search and check out the websites you find &#8211; take time to look through portfolios, and make sure they&#8217;ve got some up-to-date examples. Go through more than just the first page of results. You could also check out design portfolio sites like <a
href="http://www.cssmania.com/">CSSMania</a> if you&#8217;re less worried about working with someone local.</p><p>Remember what we talked about before &#8211; trust your gut, and don&#8217;t assume anything about prices from the quality of work or past clients.</p><p>One more little caveat: if anyone on your reccomendation list is a friend or they have another job but offer to do your site on the side&#8230; be careful. It could mean a project which drags on for months, with no-one prepared to properly manage it. It might not even be as cheap as you think &#8211; a side project like this can mean someone working with a technology or technique they&#8217;ve not used before and taking a long time learning. <strong>Always check that portfolio</strong>. In future articles, I&#8217;ll talk about ways to protect all parties in the process using contracts and basic project management techniques.</p><h2>And now&#8230; let&#8217;s get trimming</h2><p>To trim your shortlist down, we&#8217;re going to pinch some techniques from public sector procurement.</p><p>&#8220;Oh no&#8221;, I hear you say. &#8220;Public sector procurement is always expensive and gets it wrong&#8221;. Well, sometimes that&#8217;s true, but we&#8217;re not going to be as dogmatic in our process. What we are going to do is take some of the best aspects of the process and apply them in a flexible way.</p><p>The best thing about the procurement process is that the principle is to protect both buyers and sellers. It gives suppliers a chance to get the work based on their merits and not their sales patter, and it gives buyers a way to compare like with like.</p><h2>Step 1: the PQQ</h2><p>In public sector procurement, the PQQ &#8211; pre-qualification questionnaire &#8211; is designed to rule out anyone who&#8217;s completely unsuited. They&#8217;re normally just checks that companies have the right insurance, policies and legal status to be able to tender for government work. You don&#8217;t have to send out forms to your shortlist, but you can do some quick checks yourself just by visiting their website and/or sending a quick email. You might want to use the below, or think of your own:</p><ol><li>Do they have a website themselves, and is it any good?</li><li>Are there any obvious signs that this is someone&#8217;s side project not day job?</li><li>Are there lots of typos, errors and glitches on their website which suggest a lack of attention to detail?</li><li>Does a Google search of their name reveal any complaints or past legal issues?</li></ol><p>Hopefully &#8211; because everyone on your list should be recommended &#8211; you&#8217;ll not rule anyone out yet, but we can&#8217;t be too careful.</p><h2>Step 2: the tender</h2><p>Now, in the public sector process, everyone is given a long list of questions about past experience, capabilities, size of company, response to a hypothetical brief, day rate, that kind of thing&#8230; and these each have a certain number of points awarded to them. The person with the most points gets the job. This, of course, can sometimes mean the wrong person gets appointed, because they&#8217;re cheap and tick all the boxes with regard size of company, even though someone else showed real <em>spark</em> in their response and just felt <em>right</em>.</p><p>For your site, though, you&#8217;ll not be getting any FOI requests about spending public money, so you can be a bit more flexible, but we&#8217;ll still use the same techniques.</p><ol><li>Email your shortlisted companies and see if they&#8217;d be happy to answer a couple of questions and give a response to a brief. It might be that some companies are too busy. Explain a little about the sort of thing you&#8217;re after &#8211; big site build, little static site, a bit of design, etc.</li><li>Now, for the ones who are happy to do this (hopefully all of them!), put together <strong>one email</strong> you can re-use for them all. Remember: you&#8217;re trying to create the most level playing field you can so that you can compare like for like. In that email, ask things like the following:<ol><li>What their hourly rate is. If they give a day rate, divide by 7 unless told otherwise.</li><li>If they&#8217;re VAT registered.</li><li>Ask if they&#8217;ll show you their last web project, and to give a brief (two paragraph) overview of the process.</li><li>Do they use an out of the box or bespoke content management system?</li><li>Do they have ongoing licensing costs?</li><li>If you need hosting, ask who they use and what the costs are.</li><li>Do they have a support package? How much is it?</li><li>How quickly can they respond to changes?</li><li>How many rounds of changes are included in a design cost? How many initial concepts?</li></ol></li><li>Also in your email, set an indicative brief. This means you give all the companies <em>exactly the same brief</em> and ask them how they&#8217;d do it and how much it would cost. Make it clear that this isn&#8217;t your final brief but try to get it as close to what you want as possible. Include things like:<ol><li>The features of the site &#8211; relate them to existing sites if possible (i.e. &#8220;I want an event booking system like example.com&#8221;).</li><li>Whether you have a design, or will be working with another designer, or want design included.</li><li>How many visitors you expect.</li><li>When you&#8217;d like to launch.</li><li>Ask for a project rate with each feature costed separately and a rough timescale.</li></ol></li><li>Keep it short and fairly simple, and ask for responses of no longer than a couple of pages. This way, you&#8217;ll not be asking people to put in loads of work that they&#8217;re not getting paid for, and you won&#8217;t have to read through loads of pages in response.</li><li>Set a realistic timescale for this&#8230; two weeks, for example.</li><li>Send this off&#8230; make sure you BCC rather than CC all the companies you email&#8230; and wait for responses.</li><li>If someone asks a question, consider sending the question and response (anonymised) to everyone so you&#8217;re not giving anyone more info than anyone else. Give kudos for good questions, though.</li><li>You don&#8217;t have to say how much your budget is, but if you do it does help. Big agencies might decide it&#8217;s too small for them and pass you on to someone they know, or there could be an expensive enterprise solution OR a cheaper small business solution you could have, so a budget helps us suppliers understand how to pitch it to you. Be realistic. Too low and no-one will touch it. Too high and people might take advantage. Stick to your actual budget &#8211; what you really can afford, with a little contingency money.</li></ol><h2>Step 3: Score!</h2><p>You could get the responses back and immediately know who you want to go for from the quality of what they send. Good &#8211; that&#8217;s ideal. If not, you&#8217;ll need a scoring system.</p><ol><li>Write the scoring system before you look at any responses.</li><li>Weight things sensibly. Price might be the most important thing, in which case they could score a possible 10 points in that category, while you might not care how quickly they get back to you on issues, in which case they could score up to 3 points for that.</li><li>You might want to score them on how easy it is to understand the brief. If it&#8217;s full of jargon they&#8217;ve not thought about how technical you might be.</li><li>Look out for obviously templated responses. Look for direct references to the brief you gave.</li><li>Now read through and score all the responses you get, and maybe get someone else to do the same so you can take averages.</li><li>If you want, ignore the scores and go with your gut. Your gut might pick the people ranked second.</li><li>Don&#8217;t take too long over this. If an agency doesn&#8217;t hear anything for a while, things could change. Let people know when you think you&#8217;ll have  a decision and stick to it.</li><li>Don&#8217;t expect original design concepts in a response. No-one should be expected to do a load of the work without getting paid for it. Also, at this stage the client won&#8217;t know enough about you&#8230; if they send designs now, consider the fact that you might be stuck with them (or variations!).</li></ol><h2>Step 4: relationship issues</h2><p>Now you can tell the winner that you&#8217;ll be working with them. Yay! But don&#8217;t forget the others who put in a brief. Us agencies put a lot of work in to winning work. We really care about it and it sucks not to get a job. What we&#8217;d really like after this process is some honest feedback &#8211; were we too expensive? Did we miss something? What did we do right?</p><p>Make sure you thank everyone who responded. You never know when you might need someone else so every supplier you talk to &#8211; whether you hire them or not &#8211; is a really useful person to keep sweet.</p><p>And a final thought&#8230; we&#8217;re not done yet. The person you choose is probably right. But what happens if you start working with them and they come back with a ridiculous new cost for the full brief, or suddenly say some work has come in and they can&#8217;t do your project for another month? It might be time to consider number 2, so be nice&#8230;</p><p><em>OK &#8211; now you&#8217;ve found your supplier. Yay! Drinks all round. <a
title="How to buy your website, part V – briefing your designer" href="http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-v-briefing-your-designer/">Next time</a>, we&#8217;ll get in to the nitty-gritty of getting some protection and project management in place, and writing your first brief.</em></p> ]]></content:encoded> <wfw:commentRss>http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-iv-from-shortlist-to-supplier/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>How to buy your website, part III &#8211; picking suppliers</title><link>http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-iii-picking-suppliers/</link> <comments>http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-iii-picking-suppliers/#comments</comments> <pubDate>Wed, 01 Jun 2011 11:31:36 +0000</pubDate> <dc:creator>Adam</dc:creator> <category><![CDATA[Uncategorized]]></category> <guid
isPermaLink="false">http://www.maltpress.co.uk/?p=849</guid> <description><![CDATA[Wow &#8211; up to part III already! In part I we looked at how to work out what you want. In part II, we took a meander down the techy road of how the web works. Today, we&#8217;ll be looking at those talented individuals who actually make things happen, and how to pick them. It&#8217;s [...]]]></description> <content:encoded><![CDATA[<p><em>Wow &#8211; up to part III already! In <a
title="How to buy your website, part I – what do you want?" href="http://www.maltpress.co.uk/2011/05/how-to-buy-your-website-part-i-what-do-you-want/">part I</a> we looked at how to work out what you want. In <a
title="How to buy your website, part II – how the web works" href="http://www.maltpress.co.uk/2011/05/how-to-buy-you-site-ii-how-the-web-works/">part II</a>, we took a meander down the techy road of how the web works. Today, we&#8217;ll be looking at those talented individuals who actually make things happen, and how to pick them. It&#8217;s a long one today, but it&#8217;s one of the most important&#8230;</em></p><p>There can be a surprising number of different people (well, roles) between the stage you&#8217;re at now &#8211; having a fairly good idea of what your website will do &#8211; and the final, working product. What complicates things is that these different roles could all be done by one person, they could be done by one agency, or they could be sub-contracted out by the first person you hire. You might not even need all these roles in your site build! With that in mind, let&#8217;s do a big list&#8230;</p><ul><li><strong>Designers.</strong> You&#8217;ll probably need one of these. You might not think so, though. There are lots of people out there (check out <a
href="http://clientsfromhell.net/">Clients From Hell</a> for examples&#8230;) who think that a little bit of art experience is all you need. &#8220;My 14-year-old cousin can do Photoshop&#8221;, they may think, &#8220;so it&#8217;s easy. He can do it&#8221;. But there&#8217;s a lot more to web design than just the visuals. Have you ever been to a site which at first glance looks amazing, but when you start trying to use it you get completely lost? Buttons aren&#8217;t where you expect them, pages don&#8217;t have any consistency, what you think is a link isn&#8217;t&#8230; and then you get bits which look like they were forgotten and tacked on at the end by the developer. Well, that&#8217;s what happens when you have someone designing for you who doesn&#8217;t have proper web design experience.<br
/> A proper web designer knows what &#8220;user experience&#8221; is. They&#8217;ll understand the term &#8220;UI&#8221; (user interface). They&#8217;ll know what a wireframe is, and have a reasonable understanding of what is and isn&#8217;t possible within CSS, HTML and Javascript. They&#8217;ll also know about licensing restrictions for fonts, images and icons you might want to use. Finally, your front-end developer will need things in a certain format and put together by someone who knows what they&#8217;re doing. <em><br
/> FUN FACT: 100% of designers polled on Twitter like dark chocolate Hob-Nobs.</em></li><li><strong>Front-end developers. </strong>You&#8217;ll almost certainly need one of these. Remember last time we talked about HTML and CSS? Well, a front-end developer takes the designer&#8217;s work (which is usually a layered PSD file &#8211; i.e. each of the elements within it is on a different layer so they can cut them out easily) and turns it in to HTML and CSS. A good front-end developer matches the designer&#8217;s work exactly. A bad one cuts corners (or rather, doesn&#8217;t) and you get things square when they should be round, images when they should be text, and so on.<br
/> Good front-end developers have an understanding of content management, too, and realise that certain things will and won&#8217;t be possible in the CMS and code appropriately. If you&#8217;re just having a flat site, your list of people should end here. Many designers are front-end developers and vice-versa.<br
/> <em>FUN FACT: When I do front-end development, I like to listen to AC/DC. Loud.</em></li><li><strong>Back-end developers.</strong>If you&#8217;re having a dynamic site built, you&#8217;ll need at least one of these. In some cases your back-end developer will be adapting a content management system which already exists, or which they built before and use for multiple clients. In some you&#8217;ll get something custom-built. Back-end developers will favour a particular language (like PHP) and if your developer works within an agency, they may favour a language or have different developers for different things. The back-end developer takes the front-end HTML and CSS and joins it up with the content management system or other dynamic goodies&#8230; so the good ones will end up with something which, to the end user, looks exactly like the flat HTML.<br
/> A decent back-end developer will also think about how easy the back-end is to use; it&#8217;s very easy for developers to make systems which use technical terms (like Drupal&#8217;s &#8220;nodes&#8221;) and which content editors with no technical background struggle with.<em><br
/> FUN FACT: the biggest bits of back-end development usually take place outside office hours, because that&#8217;s the best time to develop undisturbed. Office hours are for fixing things.</em></li><li><strong>Information architects/UI experts.</strong> Big sites will probably need one of these, and they&#8217;ll be involved early on. An IA is someone who organises things. Little sites might only have five pages, so you don&#8217;t have to think so much about how they&#8217;re organised. Big sites might have hundreds or thousands. How do users find what they&#8217;re after? What pages are most important for the users, and which ones do you want to push them to? How will the site grow? These are the things an IA will think about. You&#8217;d be surprised how much difference good information architecture can make. Think of any big site you use&#8230; they&#8217;ve probably used one or more IAs at some point.<br
/> Similarly, a UI (user interface) expert looks at how users work with websites, and makes sure that design helps them do that. Where on the page should a buy button go, for example? What colours and shapes stand out best? How should a shopping cart work to make sure that as few people as possible give up buying? Even little things like the words used for navigation items can make a big difference to users and mean people stay and browse your site rather than get frustrated. For smaller sites, these things might just need a little thought. A good agency will think about these things for your back-end as well; the people working on your site content can be just as important.<br
/> <em>FUN FACT: Read &#8220;<a
title="Don't Make Me Think on Amazon (non-affiliate)" href="http://www.amazon.co.uk/Dont-Make-Think-Usability-Circle-Com/dp/0789723107">Don&#8217;t Make Me Think</a>&#8221; by Steve Krug &#8211; the bible of UI and IA &#8211; to find out how important these things are, and how to apply them.</em></li><li><strong>Copywriter/content manager.</strong> Anyone can write, right? No. Good, engaging, informative copy which works with search engines, gets your customers clicking the things you want them to, is brief and flows well is not easy to produce. Writing for the web is a specialist field; the way we read on screen is very different to the way we read print, and so the way it&#8217;s written is very different too. People don&#8217;t start at page one of a website and work through in sequence, so your writer (who may well be an information architect too) needs to know how to take advantage of this. If you&#8217;re blogging or updating your site regularly, a copywriter on a retainer can be a real boon. Web agencies rarely have copywriters; most web copywriters are freelance. <em><br
/> FUN FACT: if your copywriter doesn&#8217;t own Strunk &amp; White&#8217;s <a
href="http://www.amazon.co.uk/Elements-Style-William-Strunk-Jr/dp/0205632645/ref=sr_1_2?s=books&amp;ie=UTF8&amp;qid=1306857519&amp;sr=1-2">Elements of Style</a>, they&#8217;re not a real copywriter.</em></li><li><strong>Project manager.</strong> A big project will need a project manager to keep everything together, especially if there&#8217;s any sub-contracting going on. A big web project can rapidly get out of control without management. I&#8217;m afraid some of this might be because of you, the client; it&#8217;s very easy to think of something extra you want the site to do, and ask for it, and for this scope-creep to make the timescales and costs balloon. Good project managers save more than they cost in back-and-forth and scope creep. It&#8217;s entirely possible that your designer will act as project manager. <em><br
/> FUN FACT: project managers come into their own when more than one supplier is involved, but don&#8217;t start bypassing them and talking direct to developers and designers. Things will get lost.</em></li></ul><h2>Put it all together, pick what you need</h2><p>So, you now know who might be involved in your site build&#8230; let&#8217;s find you someone to do it.</p><p>To do this, I&#8217;ve put together a flow-chart you might find handy. <a
href="http://www.maltpress.co.uk/wp-content/uploads/2011/06/webdesign_flow.pdf">You can download it here.</a> (PDF, 149kb)</p><p>But let&#8217;s summarise:</p><ol><li>In all cases, a good agency or freelancer won&#8217;t be precious about working with a designer, developer or project manager you&#8217;ve already picked, so feel free to pick and choose, although this might cost a little more. If they won&#8217;t split out the work, don&#8217;t work with them.</li><li>See the note below about full-service agencies.</li><li>If you want a flat site, a freelance web designer is probably your best bet.</li><li>If you want a dynamic site, and it&#8217;s not very big (10-50 pages), and your budget is limited, then you&#8217;ll probably want a freelance developer who uses WordPress or other open-source content management system, and possibly a designer. Think about using a copywriter.</li><li>If you want a dynamic site which is small to medium-sized (up to about 50-100 pages) or you have very particular needs &#8211; a complicated events booking system, an online store, that kind of thing &#8211; and you have a really good idea what you want it to do and some experience managing projects &#8211; then either a freelance developer who works with ASP or PHP plus a designer, or a small agency, will be best. A copywriter with IA experience will help.</li><li>If you want a medium to big dynamic site (100+ pages) with particular needs, a small to medium agency might be best, or start with a project manager with good contacts. You&#8217;ll almost certainly need an information architect and maybe a copywriter.</li><li>If your website is transactional (i.e. people buy through it, submit things through it, need to fill in forms) then you should seriously consider consulting a UI expert in addition to the rest of your team.</li><li>If your website is your main source of income, you need a project manager, a small to medium agency, a UI expert, and a copywriter. Don&#8217;t rush things. Don&#8217;t scrimp. You wouldn&#8217;t rent the cheapest shop miles out of town and spend an hour painting it yourself if that was your only income, would you?</li><li>If you&#8217;ve got 50,000+ visitors a month, you&#8217;re running multiple sites across the world, you need to link your site to internal systems, or anything like that, start with a medium-sized agency and work your way up.</li></ol><h2>So now&#8230; search away</h2><p>So, the important bit&#8230; let&#8217;s find you some people you might want to work with. Next time, we&#8217;ll talk about actually picking from your shortlist, but first, let&#8217;s make a shortlist to pick from.</p><p>Step 1: ask people you know for recommendations.</p><p>Step 2: there is no step 2.</p><p>Seriously. Use your networks. Use the people you look up to. Remember those sites you looked at that you loved back in part I? Ask those people who did their sites. Ask the people you follow on Twitter. If you belong to networking groups, ask there. Ask your chambers of commerce. Ask your Business Link advisor. Ask me. Give a rough idea what you&#8217;re looking for &#8211; &#8220;I want a 10 page dynamic site, and I already have a designer. Any good developers out there?&#8221; &#8211; that kind of thing. Look carefully at the people who are recommended to you, not the ones who reccomend themselves (although don&#8217;t write them off).</p><p>Start by looking for a designer or project manager, because they&#8217;ll be the first person you&#8217;ll work with. A project manager can help you write briefs and pick more suppliers, while designers will have good networks of developers they like working with. It&#8217;s also easier to look at a designer&#8217;s work and see off the bat if they&#8217;re good at what they do, while looking at a developer&#8217;s site might fry your brain a little bit. Remember what I said last time about not writing people off if they look too expensive? If they&#8217;ve got big clients that doesn&#8217;t mean they cost the earth. Big clients have clout and buy using their own reputation, so they don&#8217;t pay as well as you might think &#8211; a big client is no indicator of the amount someone will cost.</p><p>Look locally to start with, because it&#8217;s really important to get to meet your team so you can talk in person about what you want. When you meet in person, you also get to see what they&#8217;re really like. Follow your gut a bit, like you would in any working relationship.</p><p>Look at portfolios. How recent is the last bit of work? Check it in different browsers, like Firefox, and on an iPhone or iPad if you can. Find out who did the design, who did the code, and if there&#8217;s a content management system.</p><p>Don&#8217;t just rely on Googling, unless you&#8217;re after an SEO agency. High rankings in Google merely tell you who&#8217;s good at getting high rankings in Google, which might indicate a bit of credibility, but don&#8217;t always guarantee good quality work. Use Google in conjunction with other things.</p><p>From all that, put together a list of five or six possibilities. <a
title="How to buy your website, part IV – from shortlist to supplier" href="http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-iv-from-shortlist-to-supplier/">Next time</a>, we&#8217;ll talk about how to narrow that list down, and stealing some techniques from the public sector to do so.</p><h2>Full service agencies&#8230; a controversial little warning</h2><p>You might have someone doing your press and PR, your brochures and newsletters, and they might offer you a website too. You might find an agency who claim to be full-service. Alternatively, of course, they could mainly be web and dabble in the  other things&#8230; or they could use an associate model or sub-contract all  their web development work, in which case I don&#8217;t really count them as  full-service agencies. You can ignore this warning for these people.</p><p>Think very, very carefully about working with them. Look very, very carefully at their portfolio. Ask their clients about working with them. Be wary. If their portfolio is full of pretty sites built in Flash, don&#8217;t touch them.</p><p>Full-service agencies are good at lots of things, but it&#8217;s rare for web development to be one of them. In most cases, they&#8217;ll have one or two developers who are mostly designers, who also work in print, who are rushed of their feet doing all sorts. They&#8217;ll not have the time to keep up-to-date with the latest techniques (any decent developer spends 10% of his time playing with things and learning). They&#8217;ll mostly work in brochureware. They may have a CMS they built themselves 5 years ago.</p><p>If you&#8217;re not careful, you&#8217;ll be locked in to using this supplier forever, as they won&#8217;t give you any control over the code and who sees it. They&#8217;ll veto anyone else working on the web with you. They&#8217;ll be very expensive for web stuff.</p><p>By all means &#8211; because if they do your other design they&#8217;ll have an excellent grasp of your brand &#8211; get them to do your web design and copywriting, but think very very carefully about bringing in a developer yourself.</p><h2>And now a note on design competitions</h2><p>You may have seen sites like 99 Designs, where you can offer a small amount of money and let designers fight it out to provide you with a design. You might think they&#8217;re a good idea. But they&#8217;re not, for a lot of different reasons. Firstly, you&#8217;ll not be getting anything particularly good, or original. It&#8217;ll be something a designer&#8217;s got laying around, either something they&#8217;ve used before but with different colours or something rejected by someone else. It may have licensed images or fonts used in it (<a
href="http://www.specwatch.info/jan.1.2010.html">like this logo example</a> or <a
href="http://www.thelogofactory.com/logo_blog/index.php/anti-spec-work-parable/">these examples</a>). The decent designers won&#8217;t touch this kind of work because they&#8217;ve been messed around too much by people not willing to pay the right amount for decent work.</p><p>Second, you&#8217;ll not get the standard of service you&#8217;d get from a good designer you&#8217;re paying the right amount. You&#8217;ll never meet them, you&#8217;ll not get the follow up. Suddenly need a different format version of an element on the page for print? You&#8217;ll never get that from your 99 Designs &#8220;designer&#8221;.</p><p>Good design is something people study hard to learn, practice for years, and invest huge amounts of effort into (<a
href="http://ronnielebow.blogspot.com/2009/09/we-have-become-cheap-whores.html">as this designer attests</a>). It&#8217;s worth paying for, and &#8211; as with everything in this world &#8211; you do get what you pay for.</p><p><em>With thanks to <a
href="http://www.twitter.com/stevedesigner">@stevedesigner</a> on Twitter</em></p> ]]></content:encoded> <wfw:commentRss>http://www.maltpress.co.uk/2011/06/how-to-buy-your-website-part-iii-picking-suppliers/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
