<?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>Scrunchup</title>
	<atom:link href="http://scrunchup.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://scrunchup.com</link>
	<description>The Web Magazine for Young Designers and Developers</description>
	<lastBuildDate>Wed, 03 Mar 2010 14:27:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ben Bodien on Partnering Up</title>
		<link>http://scrunchup.com/issue-6/ben-bodien-on-partnering-up/</link>
		<comments>http://scrunchup.com/issue-6/ben-bodien-on-partnering-up/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 00:04:20 +0000</pubDate>
		<dc:creator>Ben Bodien</dc:creator>
				<category><![CDATA[Issue 6]]></category>
		<category><![CDATA[freelancing]]></category>
		<category><![CDATA[partnerships]]></category>
		<category><![CDATA[starting out]]></category>

		<guid isPermaLink="false">http://scrunchup.com/?p=842</guid>
		<description><![CDATA[Ben covers the pros, cons, ins and outs of partnering up.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re thinking about setting out on your own as a freelancer but you have concerns about your abilities to survive by yourself, you may want to consider joining forces with someone else to form a partnership. Doing so can offer a number of benefits over the lonely nature of freelancing, but there are a number of important things to consider before striking out on the business seas with someone.</p>
<p><em>We&#8217;ll assume here that the partnership is two people, but of course you can have larger partnerships. Just be wary of putting too many cooks in your kitchen, because you won&#8217;t get many chances at getting that particular broth right.</em></p>
<h2>Why bother?</h2>
<p>There are a whole bunch of reasons why creating a partnership can be a better strategy than going it alone.</p>
<h3>Two heads are better than one</h3>
<p>You&#8217;ll have someone else to bounce ideas around with, which will help weed out the ridiculous ideas, and nourish the good ones. Every time you come up against a design or coding challenge, you&#8217;ll have your partner to lean on and mull it over with. You know how when you explain the problem you&#8217;re having, suddenly you realise what the solution is before the person you&#8217;re explaining it to has even had a chance to open their mouth? It&#8217;s great when that happens, and it will be part of jobs as partners to be those mute sounding boards for each other. Two heads are better than one in pretty much every challenging situation you&#8217;re going to face.</p>
<h3>Double the resources</h3>
<p>With two people, you&#8217;re better resourced for bigger chunks of work that come your way. Providing you have overlapping skill sets (and more on that in a while), that&#8217;s two people who can be working on something, greatly increasing your productivity.</p>
<h3>Looking bigger and meaner</h3>
<p>While you won&#8217;t have the weight of an established agency, having two people on the team will inspire a little more confidence in potential clients. After all, you can&#8217;t be a complete lunatic because you&#8217;ve convinced someone else to work with you, and the random chance of two lunatics pairing in the same place is much lower.</p>
<h3>Teach me teach you</h3>
<p>Working alone means that you&#8217;re solely responsible for honing your abilities. While it&#8217;s important to spend time reading and practising your techniques by yourself, it&#8217;s much faster to learn directly from someone else who&#8217;s already experienced in the area. Learning and feeding off each other&#8217;s knowledge is one of the key strengths of every small close-knit team.</p>
<h3>Broader skill set</h3>
<p>Unless you&#8217;re actual clones of each other, there&#8217;ll be something that one of you does better than the other. Picture the Venn diagram of your talents combined &#8211; that super set is your offering to the market, and it will enable you to go after broader end-to-end projects, rather than smaller projects, or just segments of the larger ones.</p>
<h2>Howdy Partner</h2>
<p>While working alone as a freelancer certainly has the potential to send you a bit crazy at times, that&#8217;s nothing compared to what working with one person who you grow to despise will do to you. It&#8217;s absolutely critical that you choose to partner with someone that you can work with day in day out through the hard times and the good.</p>
<p>In fact, it&#8217;s more important that you find someone you can have a great working relationship with than it is to find someone who is a master in their field, but a complete doucheface to work with. You can always develop your respective skills to become masters, but you can&#8217;t change your personalities anything like as easily.</p>
<p>It&#8217;s a good idea to partner with someone that you&#8217;ve worked with quite extensively in the past so that you know they&#8217;re fun to work with and that you&#8217;ll have great professional chemistry. If you&#8217;re currently at a large company and you&#8217;re thinking of breaking off and freelancing, maybe there&#8217;s someone else there in your team who you know you work well with and would be a great business partner. Perhaps you&#8217;re already freelancing and you&#8217;ve shared projects with another freelancer on a few occasions and it all went really well. Just don&#8217;t pluck someone at random off a freelancer project auction site or approach people purely on the basis of their CVs or portfolios &#8211; work with them in some capacity first.</p>
<p>There&#8217;s also the question of skill sets. If you and your partner are both expert UI designers, you&#8217;ll be able to take on bigger pure UI design projects, you&#8217;ll probably have to turn away projects that aren&#8217;t based on pure UI design work. If one of you is a UI designer and the other a wizard developer, you can go after the larger projects that involve both disciplines and which are generally better paying.</p>
<h2>The implications of a partnership</h2>
<h3>The dynamic</h3>
<p>Being in a partnership is not the same as being in a group of freelancers who happen to work together, even if you&#8217;re not working in the same room as your business partner. Some freelancers choose the solo path because they thrive in that solitude, and if you really need to be completely alone to be productive then a partnership might not work for you. That said, a small partnership is typically still more relaxed and flexible than an agency or studio with a couple of handfuls of people working together, so it&#8217;s a good balance.</p>
<h3>Cash is king</h3>
<p>Another very important point to consider is the financial impact of having two people to pay. All the work you do will need to generate enough money to cover two salaries which can make it tough, especially when you&#8217;re starting out. This makes it harder to get the ball rolling for a partnership than a freelancer, because you&#8217;ll need bigger cash buffers and slightly better paying projects right from the outset. Make sure you take all of this into account when you make your cashflow projections, which of course you&#8217;ll do with religious devotion, won&#8217;t you. Won&#8217;t you?</p>
<h3>Branding</h3>
<p>You&#8217;ll also need to work a bit harder on your brand. As a freelancer, you can get away with using your name as your brand and identity. That can work for partnerships as well (combining your names), but you might be better off going a bit further and conjure up a new name for your venture.</p>
<h2>Summarising</h2>
<p>Partnerships can be a more attractive option than going out on your own as a freelancer, but you need to be wary of a few unique challenges that can arise when you try and work with someone else on a small business scale. If you have any questions about specific aspects of partnering, feel free to post them in the comments below, or get in touch with me directly. Good luck, however you choose to work!</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://scrunchup.com/issue-6/ben-bodien-on-partnering-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Matt Haff&#8217;s Web Design Toolkit</title>
		<link>http://scrunchup.com/issue-6/matt-haffs-web-design-toolkit/</link>
		<comments>http://scrunchup.com/issue-6/matt-haffs-web-design-toolkit/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 00:03:02 +0000</pubDate>
		<dc:creator>matt.haff</dc:creator>
				<category><![CDATA[Issue 6]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://scrunchup.com/?p=822</guid>
		<description><![CDATA[Matt Haff gives us a rundown of the software and apps he uses.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Different software that I use, my preferred coding environments and third party apps that make life easier. I call this my &#8220;A List&#8221; of programs that every web designer should have.</p>
<h3>Dreamweaver</h3>
<p><img style="margin: 15px 0 10px 5px" src="http://www.mindseyewebdesign.net/misc/dreamweaver.png" alt="Dreamweaver CS4" width="113" height="147" align="left" />Need I say more? Adobe just does stuff right when it comes to software, they always have and always will. Dreamweaver is the perfect environment for hand coding sites from scratch or just managing the content in the WYSIWYG editor. I get to pick and choose how I want to work, the WYSIWYG is great for editing stuff like content and images so you don&#8217;t have to spend time looking through all your code for that one typo. In Dreamweaver CS4 they did some major updates to make the WYSIWYG view even more realistic to what actually shows in the browsers. It doesn&#8217;t stop there, when it comes to developing, I build the entire site in the Code View and don&#8217;t switch over until I get ready to insert the copy onto the site.</p>
<p>There is other software out there that provides just the coding environment and they are okay, they just don&#8217;t offer all the features that Dreamweaver does. FrontPage however is absolute junk and I would never recommend that to anyone. Microsoft likes to inject a lot of their own meaningless code into websites that are built using FrontPage. They were out of the game for a while and just came out with a new FrontPage. I haven&#8217;t had a chance to look at it in depth however I still wouldn&#8217;t suggest that another developer give it a shot.</p>
<h3>Photoshop</h3>
<p>Photoshop is another awesome Adobe software and if you do anything with web or graphics then this needs to be in your A List of programs. It has been around for years and now offers the ability to do 3D design work, great for logos and those out of the box websites. You&#8217;ll notice some of the 3D work on our website <a href="http://www.mindseyewebdesign.net/">Minds Eye Design</a>.</p>
<p>So as a web designer, how do I use Photoshop? For me personally I use Photoshop to do all the design work of the website, header graphics, logo design, buttons, page layout, etc. Once I have a finished look I send it off to get approval from the client. It&#8217;s always easier to edit a .PSD than it is to change the layout and design of a site when it&#8217;s built out. I never build out even a rough draft of the site until I get approval of the design. Always keep your file layered so that you easily manoeuvre, remove, add new pieces to the design. Once I&#8217;m ready to start building I slice up the .PSD to be different sections of the website and I deal with those graphics individually.</p>
<h3>Basecamp</h3>
<p><a href="http://basecamphq.com/?referrer=MATTHEWHAFF"><img style="margin-top: 5px;margin-right: 10px;margin-left: 0px" src="https://affiliates.37signals.com/images/products/basecamp/banner-125x125.png" border="0" alt="Basecamp" width="125" height="125" align="left" /></a>It doesn&#8217;t matter how many clients you have, you must use some form of project management. <a href="http://basecamphq.com/?referrer=MATTHEWHAFF">Basecamp</a> is an online based project management tool that grows with you. Think of how helpful it would be if you had one go-to place with document collaboration, to-do lists, milestones, file storage, etc. Not to mention creating a login for your client to login and give feedback on designs, write the content for their site, upload graphics and logos, along with seeing deadlines that you posted for their project. If you&#8217;re saying to yourself, &#8220;that it would be awesome&#8221; then you need to get Basecamp, because they do all that and more.</p>
<h3>Freshbooks</h3>
<p><a href="http://www.freshbooks.com/?ref=135489ea85590-1"><img style="margin: 5px 0 0 10px" src="https://mindseyewebdesign.freshbooks.com/images/banners/freshbooks125x125-2.gif" alt="Freshbooks Rocks My Socks" width="125" height="125" align="right" /></a>Since I found <a href="http://www.freshbooks.com/?ref=135489ea85590-1">Freshbooks</a> a few years ago not a day has gone by that I haven&#8217;t used it. I&#8217;m able to manage my clients and all of their login information. I have the ability to put together proposals and notify my clients via email when they are able to login and view them. I can send out one-time or recurring invoices, even auto-bill through my Authorize.net account. For my clients that aren&#8217;t very tech-savvy Freshbooks can send them a statement in the mail with a pre-addressed return envelope.</p>
<p>My clients can login and create support tickets which will automatically notify me or another staff member that is responsible for that item. I never loose track of where I spend my time thanks to the timer that helps me to log time spent on projects. I can also create staff &amp; contractor logins for them to track their time as well. Clients can also login and see how their project is coming along by viewing how many hours have been tracked to specific tasks on the project.</p>
<p>Of course you got to have some way to manage all your expenses paying for domain names, hosting, and contractors so Freshbooks gives you an area to manage all of your expenses. Freshbooks will even give you a report at the end of the year to hand over to your CPA.</p>
<h3>MailChimp</h3>
<p><img style="margin: 5px 10px 0 0" src="http://www.mindseyewebdesign.net/misc/mailchimp.jpg" alt="MailChimp Rocks" width="200" height="219" align="left" />MailChimp  I&#8217;ve used a lot of email marketing applications such as ConstantContact, Benchmark, Campaigner Pro and none of them have even come close to touching the usability and functionality of <a href="http://www.mailchimp.com/">MailChimp</a>. They are the most affordable, have great analytics and the ease of use is mind blowing. They also just brought their new supercomputer, Omnivore, online. Omnivore is a powerful abuse detection technology that helps keep their clients free of Blacklisting. They were actually one of the first email marketing platforms ever made, however at the time there wasn&#8217;t a big demand so they kept it for in-house marketing. They launched MailChimp to the public a few years ago and since then have become one of the best Email Marketing companies around. Check out <a href="http://www.mailchimp.com/features/compare/">how they compare to iContact and ConstantContact</a>.</p>
<h3>Wordpress</h3>
<p><img style="margin: -20px 0 10px 10px" src="http://www.mindseyewebdesign.net/misc/wordpress_logo.png" alt="WordPress" width="200" height="200" align="right" />I&#8217;m hoping that you&#8217;ve heard of <a href="http://www.wordpress.org/">Wordpress</a> if you&#8217;re reading this. Most people think of Wordpress as a blogging platform but really it is a CMS platform. It just so happens that Wordpress is so easy to use that just about anybody can run a website. It&#8217;s one of the more popular platforms for bloggers since most of them don&#8217;t know a lot of HTML/CSS. It has been underestimated by web developers as a CMS for websites, although it has been picking up a lot of steam in the past year. I proudly use Wordpress as my one and only CMS platform for clients.</p>
<p>There are ofcourse other blogging platforms that are pretty good such as Blogger and Typepad. I personally don&#8217;t care for Typepad simply because you have to pay for it. I understand they want to make money but at a minimum of $9/month I don&#8217;t see why you wouldn&#8217;t just do a Blogger site. Blogger however is a little annoying because of the shameless advertisements and that you don&#8217;t have the flexibility as you do with Wordpress. Now it&#8217;s important that you understand there are two genres of Wordpress, one is <a href="http://www.wordpress.com/">Wordpress.com</a> which is hosted online and you can get a free account however that is the same as a Blogger account. Everything I&#8217;m talking about is <a href="http://www.wordpress.org/">Wordpress.org</a> which is a free download that you can install on your own server and customize as much as you want. If you&#8217;re not going to host it yourself then it&#8217;s really a toss up between Blogger and Wordpress.com</p>
<h3>Wufoo</h3>
<p><img style="margin: 5px 10px 0 0" src="http://www.mindseyewebdesign.net/misc/wufoo.jpg" alt="Wufoo" width="262" height="155" align="left" />Last but definitely not least is <a href="http://www.wufoo.com/">Wufoo</a>, an online HTML Form Builder. Wufoo changed the way that I do HTML forms. Now instead of it taking me almost an hour to create and setup a custom form I can have it done in under five minutes. Wufoo also creates a database for every form that you create where it saves form entries. If you&#8217;re a freelancer then you need to have Wufoo on your A List, they can save you time and they are very affordable. You can even use them for to create a paid event registration form able to accept all major credit cards via an Authorize.net account. Wufoo forms can even send instant notifications to your cell phone, which comes in handy when you want to keep up with new client consultation requests.</p>
<h3>What&#8217;s on your A List?</h3>
<p>What are some programs or third-party apps that are on your A List? Have you had the pleasure of working with any of the programs I listed above? I&#8217;m interested to hear how you use them.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://scrunchup.com/issue-6/matt-haffs-web-design-toolkit/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Issue 6 news</title>
		<link>http://scrunchup.com/issue-6/issue-6-news/</link>
		<comments>http://scrunchup.com/issue-6/issue-6-news/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 00:02:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Issue 6]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://scrunchup.com/?p=818</guid>
		<description><![CDATA[We cover a few of the latest happenings in the industry


No related posts.]]></description>
			<content:encoded><![CDATA[<h2>Things that happened</h2>
<p>The BBC interviewed Richard Quick and Paul Boag about the <a href="http://news.bbc.co.uk/1/hi/technology/8545237.stm">Microsoft Browser Ballot</a> being introduced in an effort to give Microsoft users more choice over which browser they install.  Rich and Paul argue that the ballot is unfair because almost half of the browsers use IE&#8217;s rendering engine, Trident.</p>
<p>A debate was sparked on whether designers should know how to code. <a href="http://elliotjaystocks.com/blog/web-designers-who-cant-code/">Elliot Jay-Stocks offers his opinion.</a>  We have based this issue&#8217;s Twitpoll on the same question.</p>
<h2>Cool sites we found</h2>
<p><a href="http://www.havocinspired.co.uk/category/please-start-from-the-beginning/">Please start from the beginning</a> is a series of interviews asking people who work in the web how they started out.</p>
<h2>Upcoming Conferences</h2>
<p><a href="http://pairupconf.com">PairUp in London on the 8-9th April 2010</a> &#8211; A conference for everyone who works, or wants to work, in the world of the web. Many of the speakers are under 21. It aims to bring together both the learning and professional communities together. Earlybird student tickets £35.25, ranging up to £132.19.</p>
<p><a href="http://www.dibiconference.com/">DIBI</a> &#8211; Design it, Build it. A 2 track web conference full of top class speakers.  Earlybird tickets £128.08.</p>
<h2>Books</h2>
<p>2 books that are due to come out in the Autumn to watch out for are Andy Clarke&#8217;s <a href="http://hardboiledwebdesign.com/">Hardboiled Web Design</a> and Cennydd Bowles and James Box&#8217;s <a href="http://undercoverux.com/">Undercover User Experience</a>.</p>
<p>This is a new section of Scrunchup which we&#8217;d like to expand.  If you find anything that you think is newsworthy for our next issue, please send us a message on Twitter to <a href="http://twitter.com/scrunchup">@scrunchup</a> or email mail@scrunchup.com</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://scrunchup.com/issue-6/issue-6-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Poll: Do web designers need to know HTML and CSS?</title>
		<link>http://scrunchup.com/issue-6/twitter-poll-do-web-designers-need-to-know-html-and-css/</link>
		<comments>http://scrunchup.com/issue-6/twitter-poll-do-web-designers-need-to-know-html-and-css/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 00:01:11 +0000</pubDate>
		<dc:creator>Ollie Parsley</dc:creator>
				<category><![CDATA[Issue 6]]></category>

		<guid isPermaLink="false">http://scrunchup.com/?p=809</guid>
		<description><![CDATA[Do web designers need to know HTML and CSS?


No related posts.]]></description>
			<content:encoded><![CDATA[<br />
<b>Warning</b>:  SimpleXMLElement::__construct() [<a href='simplexmlelement.--construct'>simplexmlelement.--construct</a>]: Entity: line 2: parser error : Extra content at the end of the document in <b>/home/scrunchu/public_html/wp-content/plugins/twitpolls/twitpoll.php</b> on line <b>35</b><br />
<br />
<b>Warning</b>:  SimpleXMLElement::__construct() [<a href='simplexmlelement.--construct'>simplexmlelement.--construct</a>]: &lt;b&gt;Warning&lt;/b&gt;:  mysql_connect() [&lt;a href='function.mysql-connect'&gt;function.mysq in <b>/home/scrunchu/public_html/wp-content/plugins/twitpolls/twitpoll.php</b> on line <b>35</b><br />
<br />
<b>Warning</b>:  SimpleXMLElement::__construct() [<a href='simplexmlelement.--construct'>simplexmlelement.--construct</a>]: ^ in <b>/home/scrunchu/public_html/wp-content/plugins/twitpolls/twitpoll.php</b> on line <b>35</b><br />
<p>Do web designers need to know HTML and CSS?</p>
<h3>How you can take part:</h3>
<p>To cast your vote, simply mention @ScrunchUp in a tweet and include  the hashtag #yeshtmlcss or #nohtmlcss. Your tweet will automatically go  into its respective column, and your first vote will be counted.  Subsequent tweets will not count.</p>
<p><p>Ooops! Looks like there was a little problem making the poll!</p></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://scrunchup.com/issue-6/twitter-poll-do-web-designers-need-to-know-html-and-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple steps towards building an accessible site (part 2)</title>
		<link>http://scrunchup.com/issue-5/simple-steps-towards-building-an-accessible-site-part-2/</link>
		<comments>http://scrunchup.com/issue-5/simple-steps-towards-building-an-accessible-site-part-2/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 00:03:25 +0000</pubDate>
		<dc:creator>ihenix</dc:creator>
				<category><![CDATA[Issue 5]]></category>

		<guid isPermaLink="false">http://scrunchup.com/?p=680</guid>
		<description><![CDATA[Henny explains why making your sites more accessible is important, and guides us through some techniques you can implement on your site.


No related posts.]]></description>
			<content:encoded><![CDATA[<h2>Alternative content</h2>
<p>Not all types of content can be accessed by all of people, hardware or software so alternative formats are needed.</p>
<h4>Images</h4>
<p>Images can&#8217;t be seen by people with sight problems and are not supported by older mobile handsets or text-only browsers such as <a href="http://www.delorie.com/web/lynxview.html">Lynx</a>. An <code>alt</code> attribute must always be provided as an alternative ie <code>alt="Short image description"</code>. This text is then read by a <a href="http://en.wikipedia.org/wiki/Screen_reader">screen reader</a> (software used by blind users to read the content of a web page), or is rendered by the mobile or text-based browsers as an alternative to the image.</p>
<p><img class="aligncenter size-full wp-image-787" src="http://scrunchup.com/wp-content/uploads/2010/01/images-alttext.jpg" alt="An image with alt text shown as a tooltip" width="462" height="205" /></p>
<p>If the image is decorative you simply give it a null <code>alt</code> attribute &#8211; <code>alt="",</code> &#8211; and the image will be ignored altogether. Complex images should be given a longer description (elsewhere on the page, or linked to from the image).</p>
<h4>Video</h4>
<p>Video is not available to people with sight problems, some mobiles and devices, and people on low bandwidth. Ideally you should provide captions, audio description and sign-language versions, and if not, at the very least a text transcript and brief description of the video. Google this week announced they will be supporting automated captioning for YouTube video&#8217;s and you can check out my article <a href="http://www.iheni.com/make-video-accessible-localised-mobile-and-searchable-by-captioning/">making video accessible, localised, mobile and searchable by captioning</a> for tips and tricks.</p>
<h4>Audio</h4>
<p>Audio also needs text alternatives in the form of transcripts. The added bonus of this is that they can be indexed by search engines and boost your web page rankings. In fact, much of what you do to make pages accessible helps with <abbr title="Search Engine Optimisation">SEO</abbr> (<a href="http://accessibility.net.nz/blog/google-the-largest-blind-user-on-the-‘net/">Google is often referred to as the biggest blind user on the web.</a>)</p>
<h2>Device Independence</h2>
<p>Many people don&#8217;t have the ability to use a mouse, including users with mobility problems, RSI, Parkinson&#8217;s disease, Multiple Sclerosis, sight problems and other dexterity related illnesses. In addition to this many mobiles and devices have small, fiddly keyboards and no mouse alternative.</p>
<p>All content must be <strong>keyboard accessible</strong> for users who can only use the keyboard. This means that all content and functionality must be available via the keyboard. Having informative text contained within <code>title</code> text or a fly-out JavaScript menu can be problematic so always ensure key information is available within in the page itself or via the keyboard.</p>
<h4>Tab order</h4>
<p>Tab order is very important for keyboard-only users who want to be able to cycle through related links and grouped form elements in a way that is fast, efficient and logical. Often you have to do nothing more than code content in a logical order with important links and information presented at the start of page content.</p>
<p><code>Tabindex</code> should be avoided as it is difficult to maintain and easy to break. Simply having content coded in a logical order will address any tab-order issues so always make sure you focus on a logical flow of content there. The big exception is using negative tab orders as outlined in WAI-ARIA. This is used to give keyboard focus to dynamic widgets in a page such as sliders, tree menus, progress meters and so on.</p>
<h4>Highlighting elements</h4>
<p>Linked to tab order is highlighting elements within a page so you need can track visually where you are in a page. Many browsers, such as Opera, highlight links and form elements that have focus automatically however some designers choose to suppress this for aesthetic reasons &#8211; this is not advised.</p>
<p>As a general rule it is good to ensure that links are highlighted when they have received focus, are active or have been visited. This can all be done using the <code>:focus pseudo-class</code> in your <abbr title="Cascading Style sheets">CSS</abbr>:</p>
<p><code>a:link { color: blue; }</code><br />
<code>a:visited { color: purple; }</code><br />
<code>a:hover { color: magenta; }</code><br />
<code>a:focus { color: magenta; }</code><br />
<code>a:active { color: red; }</code></p>
<p>Note the order of the above; certain browsers need these pseudo-classes in a specific order to stop one pseudo-class overriding the styles of another. The <a href="http://www.d.umn.edu/itss/support/Training/Online/csstips/lovehate.html">LoVe HAte meme</a> should help you remember the order they should be in.</p>
<h2>The importance of good copy</h2>
<p>Well written, clear copy goes a long way to making content easier to read, as well as easily digestible by search engines. There are some very simple, easy to implement rules to follow if you want to do the right thing:</p>
<h4>Link text</h4>
<p>Link text should always be short and descriptive. Avoid putting links on your pages that say &#8220;click here&#8221;, &#8220;download&#8221;, &#8220;more&#8221;, &#8220;download&#8221; etc., and use words that describe the target page. This helps users when visually skimming a page including screen reader users who may access a list of the links on your page, navigating them out of context.</p>
<p>Good alternatives to &#8220;more&#8221; on a news website for example would be linking the heading name. Descriptive file names (including file type and size) are always preferable to &#8220;download&#8221; as well. Descriptive link text will also boost your search engine optimisation.</p>
<p>Be careful to avoid repeating the same link text, and linking it to different target pages. This can be a problem for voice input trying to activate a specific one of these links &#8211; they may not activate the link they want.</p>
<h4>Headings and page titles</h4>
<p>As with link text headings and page titles should also be short and descriptive for the same reasons. Just about anyone will find this helpful but especially people with reading problems, people who speak English as a second language and blind users.</p>
<h4>Paragraphs</h4>
<p>Keep paragraphs of text short and to the point, ideally with one idea per paragraph. Don&#8217;t be afraid to reinforce meaning with good use of colour, layout and images. This helps deaf users, people whose first language may not be English and people with learning / reading difficulties, anyone else who struggles to read a lot of text on the screen &#8211; that&#8217;s <strong>most of us</strong>.</p>
<p>Remember that people rarely read web content from top to bottom and they generally skim read so lengthy text is not a good choice. Additionally use proper English throughout and avoid idioms and slang.</p>
<h4>Fonts</h4>
<p>You will also want to choose readable fonts and set font sizes so they are flexible using <code>em</code> or <code>%</code>. This gives the user flexibility to scale text up or down to suit their reading needs although modern browsers tend to include in-build page zooms.</p>
<p>In addition to this you want to select fonts that are as easy to read on screen as possible. Typically these include fonts such as Ariel and Verdana. Chunks of italic or underlined text &#8211; that is not a link &#8211; are also best avoided. Not only are they hard to read on screen for many people mobile handsets have differing levels of support which can impact on your design.</p>
<h4>Colour</h4>
<p>Never rely on colour alone to convey information as some people can&#8217;t see colour &#8211; such as blind, low-vision of colour blind users &#8211; and others may be using a device that doesn&#8217;t support colour. On the flipside it;s good to use colour to reinforce meaning to help users read the page. An example of this is using alternative colours on rows of a data-table or colour to reinforce layout.</p>
<p>Always test your colour to ensure you have sufficient contrast too. This is one of the main accessibility problems on the web today. There are many tools available to help with this, Roger Johansson has a list of <a href="http://www.456bereastreet.com/archive/200709/10_colour_contrast_checking_tools_to_improve_the_accessibility_of_your_design/">ten colour testing tools</a> that are all very useful.</p>
<p>A useful book to read to give more depth to writing good copy is Steve Krug&#8217;s <a href="http://www.amazon.co.uk/dp/0321344758/?tag=googhydr-21&amp;hvadid=3127605716&amp;ref=pd_sl_i200wq0d_b">Don&#8217;t Make me Think!</a>.</p>
<h2>To wrap up</h2>
<p>If you follow the above advice, you&#8217;ll be going a long way to producing websites that are accessible, viewable on mobile, localised and cross-browser compatible. To help you further, check out the <a href="http://www.opera.com/wsc">Opera Web Standards Curriculum</a>, which walks you through all the fundamentals you need to know about HTML, CSS, JavaScript, accessibility, colour, copy and more.</p>
<p>The costs of ignoring universal access is too high. In many countries &#8211; including the UK, United States and most of Europe &#8211; it is illegal to have an inaccessible website which means you could be taken to court. While this is unlikely to happen to a small website it is important to remember that court action not only costs money in legal fees but also in terms of your reputation and trust in your product.</p>
<p>It is always better to build in accessibility from the start of a project too. You&#8217;re building web pages anyway so you may as well do it right from the outset, that way you don&#8217;t need to think about costly retrofits later on to bring the site up to standard. Some web site and web applications are so vast and complex that retrofitting for accessibility can run into millions. If built in from the outset however you stand to reap the benefits of additional customers and users at little or no additional cost.</p>
<p><img class="alignleft size-full wp-image-786" src="http://scrunchup.com/wp-content/uploads/2010/01/legsArtifical.jpg" alt="Beautifully carved artificial legs" width="220" height="303" /><br />
On today&#8217;s web it is madness to not consider universal access and accessibility. By building sites with accessibility in mind you open your doors to the widest possible audience while creating a website or web application that is easier to scale, maintain and is future proofed as browsers (on desktop, mobile and devices) as well as assistive technologies evolve.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://scrunchup.com/issue-5/simple-steps-towards-building-an-accessible-site-part-2/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Real time web apps</title>
		<link>http://scrunchup.com/issue-5/real-time-web-apps/</link>
		<comments>http://scrunchup.com/issue-5/real-time-web-apps/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 00:02:39 +0000</pubDate>
		<dc:creator>jamie.rumbelow</dc:creator>
				<category><![CDATA[Issue 5]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[web apps]]></category>

		<guid isPermaLink="false">http://scrunchup.com/?p=780</guid>
		<description><![CDATA[Jamie Rumbelow, a 15 year old developer, explains what real-time web apps are, their benefits, and where they are used.


No related posts.]]></description>
			<content:encoded><![CDATA[<p><a href="http://scrunchup.s3.amazonaws.com/real-time-web-applications.mp3">Listen to this article</a></p>
<p>Hello, my name’s Jamie Rumbelow and I’m a 15 year old developer, entrepreneur, musician, philosopher and artist from Cambridge in the UK. I’m here to talk about real time web applications, their use, some examples, and what you need to do to start creating real time apps.</p>
<p>Real time web applications are exactly that &#8211; real time. They allow us to push the boundaries of the web and turn it into a communication platform rather than just a resource. They enable instant communication, collaboration and contribution &#8211; and are slowly taking over and revolutionising the web. From simple chat apps to word processors to drawing programs to social networks to books to online lessons to reviews and ratings to heaven knows what else, they allow our web experience to feel faster and more open. We can finally feel other people working with us, along side us and communicating.</p>
<p>You’ve probably come across real-time web technologies before. Take a look at Facebook. For starters, the instant messenger fixed at the bottom right of every page allows users to chat to their online friends in real time. It tries to mimic a desktop instant messenger as much as possible, and although there are occasional problems with it, it is a remarkable achievement and goes to show what some simple JavaScript can do. Facebook is also starting to merge real-time features into the rest of their application. If you visit the home page you can see friend’s status updates and other elements of the stream appearing in real time. Some of these smaller, less complicated touches can utilise real-time tech and make the user experience that little bit nicer.</p>
<p>One of the very big and groundbreaking uses of real time technologies is, of course, Google Wave. Google Wave is a communication tool that allows people to chat in real time, and actually see each other’s characters appear as they’re typing. It’s a novel idea, and while Wave hasn’t proved that useful it is still a very clever bit of kit. Wave also allows support for attachments and other forms of media or gadgets, to add much more real time functionality. You can chat, brainstorm ideas, play games or tweet all from the Wave system. Check out Wave at http://wave.google.com</p>
<p>Another, lesser known system is Etherpad &#8211; something that has really impressed me and I will definitely use in the future. It’s an online, real time word processor. It’s fast, I mean really fast, and works really smoothly. Although it’s not the most full featured word processor ever, its interface is really simple and easy to use and the real time features work brilliantly. Creating a pad takes literally a second, you don’t even have to sign up, and then you can just point people to the URL and they can join and start collaborating. I highly recommend it, so check out http://etherpad.com for more.</p>
<p>Now we have looked at a bit of what real-time technologies can do, let’s get to the nitty gritty. How can I add real-time functionality to my app? There are a number of different techniques that I’ll touch on, but the simplest is called polling. During polling, the client (your user) makes a regular connection via an AJAX request to the server. The server responds with a status code or a message which notifies the client of an event &#8211; the event could be a new chat message, or the event could just be a simple response letting the client know that everything’s still okay and functional. Messages are generally in the form of a data serialisation format like JSON or XML, but can be any format, as long as the client knows how to parse it. Generally a session key is used to persist data across a polling session.</p>
<p>A second technique requires Flash &#8211; where a pixel flash widget is embedded into the page, which using Flash’s socket support connects to the server and keeps the connection open. The server then pushes data to the client when it receives it, and the Flash widget receives the data and triggers a JavaScript event, allowing the client to update the page. A good approach for when Flash isn’t installed is to fall back to polling, but there are other socket-based techniques such as a Java applet or HTML5’s Web Sockets API.</p>
<p>There are open protocols such as XMPP to provide real-time communication. XMPP is used by Google Wave, Apple’s Push Notifications, Google Talk, and much more. XMPP not only supports its own protocol (which uses a custom server to send and receive messages), but also support for connections over HTTP using servers like Tornado, which was recently released and powers the real-time stream on FriendFeed.</p>
<p>The most important thing to remember though is to only use real-time tech when it will add to the user experience &#8211; if you just want to play around with real-time stuff, try creating a mini chat app or something else, but don’t just build real-time support into your application for the hell of it. Real-time is difficult to do, and get right, but once done properly it can add real benefit to the user’s experience on your application, and provide a bit of that wow factor.</p>
<p>If you’ve got any questions about real-time web applications, web development, programming, or anything else, just send me an email at jamie at jamierumbelow dot net. You can find my blog, Jamie on Software, at <a href="http://jamieonsoftware.com">jamieonsoftware.com</a>. You can follow me on Twitter at <a href="http://twitter.com/jamierumbelow">@jamierumbelow</a>. Good luck, and let me know if you build something cool!</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://scrunchup.com/issue-5/real-time-web-apps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://scrunchup.s3.amazonaws.com/real-time-web-applications.mp3" length="2963565" type="audio/mpeg" />
		</item>
		<item>
		<title>What do you want to see in Scrunchup?</title>
		<link>http://scrunchup.com/issue-5/what-do-you-want-to-see-in-scrunchup/</link>
		<comments>http://scrunchup.com/issue-5/what-do-you-want-to-see-in-scrunchup/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 00:01:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Issue 5]]></category>

		<guid isPermaLink="false">http://scrunchup.com/?p=792</guid>
		<description><![CDATA[Tell us how you think we can improve Scrunchup.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Scrunchup has just entered its 5th issue, and has been running for almost 6 months.  We&#8217;d really like to find out what you think so far of the magazine, and any ways that you think we could improve it.</p>
<p>For example, would you like more articles written by young designers and developers?  Are you interested in a particular subject that you&#8217;d like us to write about?  Would you like a forum?</p>
<p>This is your magazine, so let us know what you want to see in it.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://scrunchup.com/issue-5/what-do-you-want-to-see-in-scrunchup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steps towards building an accessible site: part 1</title>
		<link>http://scrunchup.com/issue-4/building-accessible-sites-part-1/</link>
		<comments>http://scrunchup.com/issue-4/building-accessible-sites-part-1/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 00:04:52 +0000</pubDate>
		<dc:creator>ihenix</dc:creator>
				<category><![CDATA[Issue 4]]></category>
		<category><![CDATA[Accessibility]]></category>

		<guid isPermaLink="false">http://scrunchup.com/?p=603</guid>
		<description><![CDATA[Henny explains why making your sites more accessible is important, and guides us through some techniques you can implement on your site.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s so much to think about when building a web site that it is easy to leave things out, or forget about important considerations. One of the most important of these is <strong>accessibility</strong>, an area of web design that can seem very daunting.</p>
<h2>Defining accessibility</h2>
<p><a href="http://www.w3.org/WAI/gettingstarted/Overview.html">Web accessibility</a>, in its purest form, is the practice of coding your web sites and applications so that users with disabilities can access all the content and functionality they provide. These users can break down into four main disability groups:</p>
<ul>
<li><strong>Sight</strong>: Blindness, low-vision and colour blindness</li>
<li><strong>Hearing</strong>: Hard of hearing and deafness</li>
<li><strong>Mobility</strong>: Loss of limbs, paralysis, broken bones, Multiple sclerosis, Parkinsons and other illnesses</li>
<li><strong>Cognitive</strong>: this might include people with learning disabilities (such as Down&#8217;s Syndrome), people on the Autistic spectrum, with Asperger&#8217;s Syndrome, dyslexia, or other reading or memory difficulties.</li>
</ul>
<p>While accessibility is about people with disabilities I like to think of it as at the core of a bigger picture: <strong><a href="http://en.wikipedia.org/wiki/Universal_access">universal access</a></strong>. This covers areas of &#8220;accessibility&#8221; that are not traditionally associated with disabled people (although they can be too) but are of equal importance when designing web sites:</p>
<ul>
<li><strong>Age</strong>: This isn&#8217;t just about your mum, grandfather or uncle who may struggle with age related illness or general deterioration. This is about you as well &#8211; no one plans on dying young right? In 10, 20, 30, 40 years time, you will be your own audience in this respect</li>
<li><strong>Mobile and devices</strong>: We consume the web everywhere on mobile phones, games consoles, TVs, kiosks and other devices that aren&#8217;t desktop or laptop computers</li>
<li><strong>Internationalisation and localisation</strong>: It&#8217;s a &#8220;World Wide Web&#8221; and, while you may not think so, users from all four corners of the globe could be reading your content</li>
</ul>
<h2>Where do you start?</h2>
<p>This seems like an awful lot of diverse users to take into account on top of your existing customers and you may be thinking &#8220;how can I accommodate all these people?&#8221;. Well the good news is that if you use web standards and best practices to build your web sites and applictions, you will already be at least halfway there.</p>
<p>Many people also think of accessibility as an extra requirement that costs lots of extra money and must be bolted on to your web site, but this isn&#8217;t the case if you plan for accessibility form the start of the project. Accessibility should be built in and not bolted on to any website or web application build and if it is from the outset then you wont incur much, if any, additional cost. If anything you will get a better return on investment as more users will be able to access your content.</p>
<p>What follows are seven key areas that you need to think about when designing sites that are universally accessible.</p>
<h3>Standards and Guidelines</h3>
<p>I&#8217;ve already mentioned using web standards. This means correct use of  open, non-proprietary web technologies such as HTML, CSS, SVG and JavaScript as outlined in their specifications.</p>
<p>Many standards are produced by the international standards body <a href="http://www.w3.org">World Wide Web Consortium</a> (W3C). This group also produces a number of guidelines that help you make the right decisions when creating accessible content:</p>
<ul>
<li><a href="http://www.w3.org/WAI/intro/wcag.php">Web Content Accessibility Guidelines</a> (WCAG): Guidance on how to make web content &#8211; text, images, forms, links, applications, audio and video &#8211; accessible to disabled users</li>
<li><a href="http://www.w3.org/WAI/intro/aria">Accessible Rich Internet Applications</a> (WAI-ARIA): Defines a way to make dynamic content and advanced user interface controls (developed with Ajax, HTML, JavaScript and related technologies) accessible to screen readers and keyboard accessible</li>
<li><a href="http://www.w3.org/TR/mobile-bp/">Mobile Web Best Practices</a> (MWBP): Mobile web access is becoming increasingly mainstream as more powerful mobile browsers and handsets come onto the market. These best practices outline how best to produce content that is mobile ready</li>
<li><a href="http://www.w3.org/TR/mwbp-wcag/">Relationship between Mobile Web Best Practices and the Web Content Accessibility Guidelines</a>: The cross over between issues and solutions relating to mobile web browsing and accessibility is significant. If you design with one group in mind you will go a long way to accommodating the other</li>
</ul>
<p>All browsers and assistive technologies are built to understand web standards so if your web pages use them your website should be interoperable, future proofed and robust. Unfortunately there are some bad browsers that do not support web standards as well as they could yet still have a significant market share such as IE6 so this is not an absolute rule however designing with web standards will still take you a long way to universal access.</p>
<p><img src="http://scrunchup.com/wp-content/uploads/2010/01/pastedGraphic.png" alt="" title="Essential components for accessibility" width="468" height="292" class="aligncenter size-full wp-image-773" /></p>
<p>To better understand how web accessibility relies on the several components working together (browser, assitive technology and web content) see <a href="http://www.w3.org/WAI/intro/components.php">essential components of web accessibility</a> from <abbr title="Web Accessibility Initiative">WAI</abbr>.</p>
<h3>Graceful Degradation and Progressive Enhancement</h3>
<p><a href="http://accessites.org/site/2007/02/graceful-degradation-progressive-enhancement/">Graceful degradation and progressive enhancement</a> are complementary principles, with one aiming for backward compatibility and the other forward compatibility.</p>
<h4>Graceful degradation</h4>
<p>Graceful degradation means building for the mainstream while adding in alternatives for less capable browsers, assistive technologies (software used by disabled users to access web content) or devices.</p>
<p>A good example of this is the use of <code>noscript</code> to house alternative content for browsers that can&#8217;t handle JavaScript (some mobile browsers for example) or users that may have JavaScript switched off. Similarly, alternative text &#8211; eg <code>alt="Image description"</code> &#8211; provides graceful degradation for browsers or users that can&#8217;t see images. More on that later.</p>
<h4>Progressive enhancement</h4>
<p>Progressive enhancement is the concept of building a basic version of a site and adding enhancements on top for those browsers, assistive technologies and devices that <em>can</em> handle them. All site functionality should work perfectly without any bells and whistles. Progressive enhancement then detects support for more advanced features and adds them only if the browser, assistive technology or device supports them. If not the browser shouldn&#8217;t even let the user know they are there. The enhancements are there to improve user experience and usability but never be relied on for code functionality.</p>
<p>A common example is form validation. This should always be done on the server-side, but to speed up the process it can also be implemented on the client-side for users who can access JavaScript. The client-side validation saves some round trips to the server and therefore speeds up application responsiveness, while the server-side validation acts as the ultimate security gatekeeper &#8211; it is not affected by browser support, and cannot be turned off by the user, as long as you exercise appropriate security measures in your code.</p>
<p>WAI-ARIA is also becoming a common tool of progressive enhancement. As this is a new specification browsers and assistive technologies have varying support for WAI-ARIA; while this is improving all the time, you still can&#8217;t rely on it across all browsers. Gez Lemon has written an excellent article an <a href="http://dev.opera.com/articles/view/introduction-to-wai-aria/">Introduction to WAI-ARIA</a>.</p>
<p>Progressive enhancement is a great way of implementing new techniques and technologies on your site without compromising accessibility. It also shows an accessible site need never be boring and can be cutting edge.</p>
<h3>Content and Presentation</h3>
<p>At its most basic, separating content and presentation into separate HTML and CSS files is a form of progressive enhancement. It&#8217;s needed so that a user can view a plain page should their browser or assitive technology not be able to handle styled content. As such it protects the content and functionality within the source from being lost in styling.</p>
<h4>Content</h4>
<p>Content should live in the HTML with all styling and presentation housed separately in a style-sheet. No content should appear in the CSS as users who are blind or have CSS disabled will not be able to access it. A good example background images and CSS as well as CSS generated content &#8211; you should ensure these are for decoration only. Any text should appear within the HTML.</p>
<h4>Presentation</h4>
<p>Housing presentation in the CSS also allows you to target styling according to the type of media you are using. <a href="http://www.w3.org/TR/CSS2/media.html">Media types</a> and <a href="http://www.w3.org/TR/css3-mediaqueries/">media queries</a> allow you to tailor your single source of content so that it renders well on different screen sizes with varying support for colour, fonts and styles.</p>
<p>By separating presentation into CSS you also give flexibility back to the users so they can customise pages to better suite their needs via the browser. Many low-vision users like to read white text on black, scale text up or choose bespoke background colours.</p>
<h3>Page Structure</h3>
<p>Having a good page structure is closely linked to separating content from presentation. Visually, we rely on headings, lists, titles and suchlike to easily understand text and scan the page. If headings and lists were styled only using CSS or old-school HTML such as font tags we would lose a lot of the semantic information of the page; information that is essential for screen reader users and voice input users (who use voice commands to navigate headings).</p>
<h4>Headings</h4>
<p>Headings should be coded using <code>&lt;h1&gt;</code> to <code>&lt;H6&gt;</code>. Ideally one <code>&lt;h1&gt;</code> should be used per page and the headings should flow in a logical order &#8211; much like the contents overview of a book &#8211; and avoid skipping levels. Don&#8217;t be shy about using headings to break up long and complex forms as well.</p>
<h4>Lists</h4>
<p>Lists should also me marked up using <code>&lt;ul&gt;, &lt;ol&gt;, &lt;li&gt;, &lt;dl&gt;</code> and <code>&lt;dt&gt;</code>. They can be styled later for aesthetics but having them coded correctly means a screen reader can identify a list as a list and pinpoint what number list item you are on.</p>
<h4>Paragraphs</h4>
<p>Paragraphs should be coded using <code>&lt;p&gt;</code> elements, one for each paragraph! DON&#8217;T do things like using <code>&lt;div&gt;</code>s</p>
<p>and then adding spacing later on, or using a single <code>&lt;p&gt;</code> and then breaking the different paragraphs with <code>&lt;br&gt;</code> tags (<strong>line breaks</strong>). There is one right way to mark up paragraphs, and loads of wrong ways!</p>
<h4>The example below shows the importance of using headings and list elements to code headed sections and lists:</h4>
<ol>
<li><code>&lt;h1&gt;Party checklist&lt;/h1&gt;</code></li>
<li><code>&lt;ol&gt;</code></li>
<li><code>&lt;li&gt;Food.&lt;/li&gt;</code></li>
<li><code>&lt;li&gt;Drink.&lt;/li&gt;</code></li>
<li><code>&lt;li&gt;Invitations.&lt;/li&gt;</code></li>
<li><code>&lt;li&gt;Music.&lt;/li&gt;</code></li>
<li><code>&lt;li&gt;Venue.&lt;/li&gt;</code></li>
<li><code>&lt;/ol&gt;</code></li>
</ol>
<p>This code then renders as follows:</p>
<div class="example">
<h1>Party checklist</h1>
<ol>
<li>Food.</li>
<li>Drink.</li>
<li>Invitations.</li>
<li>Music.</li>
<li>Venue.</li>
</ol>
</div>
<p>When a screen reader encounters the above list it will know to say &#8220;Heading level 2: party checklist&#8221; followed by &#8220;List of five items. List item one: Food&#8221;. If the heading and list items were not there a screen reader would just read the text which is not as helpful.</p>
<p>Continued in the next issue of Scrunchup</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://scrunchup.com/issue-4/building-accessible-sites-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Developing using Twitter: Part 1</title>
		<link>http://scrunchup.com/issue-4/developing-using-twitter-part-1/</link>
		<comments>http://scrunchup.com/issue-4/developing-using-twitter-part-1/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 00:03:40 +0000</pubDate>
		<dc:creator>Ollie Parsley</dc:creator>
				<category><![CDATA[Issue 4]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://scrunchup.com/?p=596</guid>
		<description><![CDATA[Ollie's first in a series of articles on developing using the Twitter API


No related posts.]]></description>
			<content:encoded><![CDATA[<p>As a &#8220;serial Twitter app developer&#8221; I felt that it would be appropriate for me do a small series of articles on things I have learnt, some tips and the basics of what developing using the Twitter API involves. To start with I am going to talk about the basics and fundamentals of developing with the platform. But first and I am going to make a couple of assumptions:</p>
<ul>
<li>You know what Twitter is and are familiar with the terminology</li>
<li>You know what a <a title="Wikipedia: Representational State Transfer (REST)" href="http://en.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">RESTful API</a> is</li>
</ul>
<h2>Rate limits</h2>
<p>Twitter has 2 different rate limits in place for IP addresses accessing the API. The standard rate limit is 150 requests per hour which can be enough for simple applications. But for apps that require more regular polling or requests that are started from a user visiting a page or running a script this simply isn&#8217;t enough. So you can get your application whitelisted, once approved (not more than 48 hours) you get 20,000 requests per hour. To get whitelisted Twitter has made a simple form. You must be logged in with the user that will be accessing the API and you need to list all servers that will be accessing the API.</p>
<p>It is always best to do this before you launch an app. I learnt the hard way with TwitterLeague (which I no longer operate) and had some unhappy users who couldn&#8217;t log in due to me hitting the rate limit for the hour after only a few minutes.</p>
<h2>Unauthenticated methods</h2>
<p>By &#8220;unauthenticated&#8221; I mean that you do not require a users login credentials to access the method. For instance getting a feed of the latest tweets from the public timeline, or getting a list of followers for a user who does not have their status set to private.</p>
<h4>Sample PHP code for requesting the most recent tweets from the public timeline</h4>
<div class="example">
<pre class="brush: php">//Initiate a curl session
$ch = curl_init();

//Set the URL to the Public timeline
curl_setopt($ch, CURLOPT_URL, "http://api.twitter.com/1/statuses/public_timeline.xml");

//Set a reasonable timeout of 5 seconds
curl_setopt($ch, CURLOPT_TIMEOUT, 5);

//Make sure we return all the data
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//Put the contents into a variable
$xml = curl_exec ($ch);

//Close the curl session
curl_close ($ch);

//Print out the xml
echo $xml;</pre>
</div>
<p>These methods are great for applications that want to gather statistics and do not require users to sign up or have a customised user experience. For instance <a title="Twitter Grader" href="http://twitter.grader.com/" target="_blank">Twitter Grader</a> is a site where you enter a username and every day from the time you enter your username it will gather statistics about the number of followers, number of tweets and an overall rank. This can then be analysed with lots of different filters like location or popularity etc. This can all be done because you don&#8217;t need to be authenticated to read someones tweets (if their account is not set to private).</p>
<h2>Authentication</h2>
<p><a title="Wikipedia: Authentication" href="http://en.wikipedia.org/wiki/Authentication" target="_blank">Authentication</a> is used for a couple of reaons. You either want to secure your data (we won&#8217;t get into an argument about basic authentication without SSL), or you want to have a personalised view. When you login to Twitter.com you see your tweets, your settings and your mentions etc. API authentication acts in the same way. If you want a web app that has an area for a user to login to, where they get a personalised page with data from the Twitter API, then you need to connect to the API as that person. That all make sense? If it did then you can read about the 2 types of authentication offered by Twitter.</p>
<h3>Basic HTTP Authentication</h3>
<p>When Twitter first announced their API back in 2007 they only had one method of authentication. This was Basic HTTP Authentication, which means sending a users username and password to let Twitter know you are requesting data on behalf of the user. This is great for Twitter clients like <a title="Tweetdeck" href="http://tweetdeck.com/beta/" target="_blank">Tweetdeck</a> and <a title="Tweetie" href="http://www.atebits.com/tweetie-iphone/" target="_blank">Tweetie</a> because users are used to doing that with Instant Messenger clients etc. Beware that there are some big drawbacks.</p>
<p>With web apps it means that phishing is an issue. Any website could grab your Twitter credentials and take over your account and do a lot of damage.</p>
<p>The next biggest problem that Basic Auth brings is that it hides which user/application that&#8217;s sending tweets. This means that if an application gets your details and does malicious things with it, the only thing you can do is change your password and then go back to all the legitimate applications you use and update your credentials with them.</p>
<h4>Sample PHP code for requesting a users direct messages</h4>
<div class="example">
<pre class="brush: php">//Initiate a curl session
$ch = curl_init();

//Set the URL to the Public timeline
curl_setopt($ch, CURLOPT_URL, "http://api.twitter.com/1/direct_messages.xml");

//Add the users username/password (you will need to get this from the user)
curl_setopt($ch, CURLOPT_USERPWD, "someusername:somepassword");

//Set a reasonable timeout of 5 seconds
curl_setopt($ch, CURLOPT_TIMEOUT, 5);

//Make sure we return all the data
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//Put the contents into a variable
$xml = curl_exec ($ch);

//Close the curl session
curl_close ($ch);

//Print out the xml
echo $xml;</pre>
</div>
<h3>OAuth</h3>
<p>If you don&#8217;t know what OAuth is please see this wikipedia article. There are 2 main advantages for users who authenticate using OAuth, the biggest being that they don&#8217;t have to enter their username and password into a third-party application because when authentication is needed the app redirects to Twitter.com so the user can enter their credentials there. When a user does this the application gets a couple of codes that are unique to that user and that application. This leads on to the second advantage. Because the codes given to the application are unique to the user and application it means Twitter knows who is sending tweets on the users&#8217; behalf and therefore the users can remove a single applications access to their account without disrupting other applications access.</p>
<p>The image below shows you how you can connect to Twitter and get access tokens so you can then send status updates etc without using a users username and password.</p>
<p><img class="aligncenter size-full wp-image-659" title="twitter_oauth" src="http://scrunchup.com/wp-content/uploads/2009/12/twitter_oauth.jpg" alt="twitter_oauth" width="335" height="495" /></p>
<h2>Future changes to the API roadmap</h2>
<p>At <a href="http://www.leweb.net/" target="_blank">Le Web 2009</a> <a href="http://twitter.com/Rsarver" target="_blank">Ryan Sarver</a> from the Twitter Platform team gave us a preview of where the API will be going in the next year. There were a few changes to authentication. One of those was that there is going to be a 6 month deprecation of Basic Authentication. This is a big step and could well stop thousands of applications working. So they have done a couple of things to ease the transition:</p>
<ul>
<li>If you use OAuth authentication the user will have 10x the number of request available in their request limit</li>
<li>You can use a persons username and password to get OAuth access tokens</li>
</ul>
<p>So both of these points are encouraging you to start using OAuth as the only method of authentication for Twitter. It&#8217;s a great step forward to make Twitter more secure for their massive user base.</p>
<h2>Ollie&#8217;s golden rule for authentication</h2>
<p>Only use Basic auth if you absolutely have to. If you are doing a web app don&#8217;t use basic auth! Promise me!</p>
<p><script src="http://scrunchup.com/wp-content/uploads/2009/12/highlighter.js" type="text/javascript"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://scrunchup.com/issue-4/developing-using-twitter-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internships</title>
		<link>http://scrunchup.com/issue-4/internship/</link>
		<comments>http://scrunchup.com/issue-4/internship/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 00:03:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Issue 4]]></category>
		<category><![CDATA[clearleft]]></category>
		<category><![CDATA[internship]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://scrunchup.com/?p=685</guid>
		<description><![CDATA[Jon talks about his experience as an intern at Clearleft as they start looking for the next lucky individual to fill the role.


No related posts.]]></description>
			<content:encoded><![CDATA[<div class="speaker-1 anna-debenham"><span>Anna Debenham</span>:
<p>One of the questions that most young people ask me is &#8220;how do you get into this industry?&#8221;  It&#8217;s a bit of a catch 22.  To get a job in the industry, you need experience, but to get experience, you need to have worked in the industry.</p>
<p>Clearleft are offering a 10 week internship in the spring.  This is an incredibly valuable opportunity to work with an award winning web agency alongside a group of amazing people.  If you&#8217;re a web designer or aspiring user experience designer and would like to work in the coolest city for the coolest company in the UK, you&#8217;d be an idiot not to apply.</p>
<p><a href="http://clearleft.com/is/hiring/">Here&#8217;s some more information about Clearleft&#8217;s intern role and who to contact</a></p>
<p>We asked Clearleft&#8217;s previous intern, Jon, to tell you a bit about what it involves, and what he got out of it in the end.</p>
</div>
<div class="speaker-2 jon-linklater-johnson"><span>Jon Linklater-Johnson</span>:
<p>When it comes to web design and development, I think the best way to learn how is to simply sit down and building stuff. Learning this way is tremendously rewarding, not only have you learnt a new skill but you have created a thing. Something you can show off and people can play with. But sometimes it can be tough, sometimes you get stuck, you get a super frustrating IE6 bug that now matter how much you mash around your code or google for obscure workarounds you just can&#8217;t seem to fix.</p>
<p>What if, when you sat down to build stuff, you happen to be sat down next to someone with years of experience, that has already made all the mistakes you are about to make, someone that knows the best way to debug that super frustrating IE6 bug and that you can turn to to ask them how they did it? Great learning opportunities like this can be hard to find but for ten weeks in 2009 I was lucky enough to do just this while I was an intern at Clearleft.</p>
<p>Doing an internship at Clearleft is probably one of the best things I have ever done. Okay, I’ll admit that I did make an obscene amount of tea, seal and put stamps on 50 envelopes, build some flat-pack furniture and get inside a cardboard box &#8211; the usual intern or work experience sort of duties &#8211; but this was a fraction of what I got to do. Most of the time I was working on real projects for real clients. From ideating with James and Paul to doing front-end builds with Natalie and Jeremy or trying out the latest version of Silverback with Andy.  I had a go at bits of everything, learnt new skills and gained valuable experience.</p>
<p>Living in Brighton was also a fantastic experience all of its own. Brighton has a very active geek community and every week there are interesting events to go covering a broad range of subjects that attract people from a multitude of backgrounds. These are good networking opportunities but also a chance to make some great friends. I enjoyed my time in Brighton and working at Clearleft so much that I am going to be moving there to start freelancing!</p>
</div>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://scrunchup.com/issue-4/internship/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
