<?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>WhatwasIthinking.co.uk &#187; functionality</title>
	<atom:link href="http://www.whatwasithinking.co.uk/tag/functionality/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.whatwasithinking.co.uk</link>
	<description>A Flash Development, Information Architecture, SEO &#38; Web Design Blog</description>
	<lastBuildDate>Tue, 06 Apr 2010 09:38:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Top tips for working with developers</title>
		<link>http://www.whatwasithinking.co.uk/2009/02/10/top-tips-for-working-with-developers/</link>
		<comments>http://www.whatwasithinking.co.uk/2009/02/10/top-tips-for-working-with-developers/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 12:25:16 +0000</pubDate>
		<dc:creator>Alexander Rehm</dc:creator>
				<category><![CDATA[Information Architecture]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[best-practice]]></category>
		<category><![CDATA[functionality]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[schematics]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.whatwasithinking.co.uk/?p=369</guid>
		<description><![CDATA[Working in a busy office is one of the best parts of being a designer or information architect &#8211; you can bounce off ideas, discuss projects with others and get their input, and you can generally have a good laugh. That is until the time comes where a new project is being started or requirements [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-370" title="Strategies for working with developers" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2009/02/strategies-for-working-with-developers.jpg" alt="Strategies for working with developers" width="300" height="225" />Working in a busy office is one of the best parts of being a designer or information architect &#8211; you can bounce off ideas, discuss projects with others and get their input, and you can generally have a good laugh.</p>
<p>That is until the time comes where a new project is being started or requirements are being updated. Usually then some sort of &#8220;rivalry&#8221; will ensue, and in 90% of the cases it will be between a designer or information architect and a developer or development coordinator. Scope was not fully explained or defined, the design is too complicated to build, or data is not coming from the sources it was meant to.</p>
<p>In those times frustration can quickly result in stress and lack of commitment to a project. Let&#8217;s see what we would do to remedy that&#8230;<br />
<span id="more-369"></span><br />
<h3>1) Information Architects: Start off on the right foot and plan ahead</h3>
<p>At the beginning of a project make sure that you define scope and requirements clearly. Nothing is worse than a badly set up and planned out sitemap or wireframe without annotations or data specifications. To create a clearer mindset it is always best to let a lead developer for the project to have a look at the sitemap/wireframe before it goes to the client to ensure all requirements are met, what the developers will need to consider and where data needs to come from. It is also good practise to let developers come up with a timeframe of how long the development will take based on the wireframe.</p>
<h3>2) Designers: Plan your designs</h3>
<p>This is very self-explanatory, but you would not believe how many designers (especially freelancers I worked with) are getting it wrong: make sure you understand the intention of the site and its requirements. A simple brochure-style site has and entirely different look from a travel booking website or an online shopping website.Make sure you look at the sitemap and wireframe and if unsure about functionality or what development tricks (AJAX, Flash, JS) will be used then <span style="text-decoration: underline;">ask questions</span>!</p>
<h3>3) Designers: Form follows function &#8211; or: practical design</h3>
<p>Websites are here to wow us &#8211; but will a Flash and graphics heavy website really do the trick when all a user wants to do is log in and find out if his holiday booking went through? A stunning design is great, but you also need to take the purpose of the site, its users and their habits or actions while on the site into consideration. Visitors or users of the website need to feel comfortable being and interacting with the website.</p>
<p>Additionally, avoid Flash-heavy pages or content: aside from not everyone being on fast broadband, Flash intros are a thing of the past, and Flash content still cannot be indexed properly and disallows users from bookmarking important or relevant pages properly.</p>
<h3>4) Information Architects / Designers: Understand the tools of the trade</h3>
<div id="attachment_372" class="wp-caption alignright" style="width: 97px"><img class="size-full wp-image-372" title="Keep bookmarks for development tools" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2009/02/keep-bookmarks-for-development-tools1.jpg" alt="Keep bookmarks for development tools handy!" width="87" height="197" /><p class="wp-caption-text">Keep bookmarks for development tools handy!</p></div>
<p>While you may not do any hands-on coding it makes sense to at least understand what certain development tools, what their limitations are, and most of all what other developers manage to do with them. Brush up on developer tools such as AJAX, MooTools, jQuery, CSS, Flash and xml-integration. Keep a list of development bookmarks not only for that reason, but also to then find a solution together with the development team to make a certain effect or part of functionality working &#8211; and it gives you a good idea what other developers are doing to stay on the forefront of development techniques.</p>
<h3>5) Designers: define interaction</h3>
<p>Following on from the previous point, make sure and be clear about how certain tools are going to be used on the site. More and more opportunities arise where certain functionality can be used, interactive login-panels, auto-updating shopping baskets, interactive flight-checks, <a title="Flash driven maps - Yahoo maps and AS2.0" href="http://www.whatwasithinking.co.uk/2008/07/09/on-flash-map-integration-with-yahoo-maps-actionscript-part-2/">Flash-driven maps</a>&#8230; anything is possible! But make sure you understand that these interactive development stages can take up a lot of time, so it is best  to check with the project manager / development leader to see how much of the budget has been alloted to this stage and if you may need to cut back for this phase.</p>
<h3>6) Designers: define and share responsibilities</h3>
<p>For a designer a project is not finished once the PSDs are sent to the development team &#8211; be sure to stick your nose into the development process occasionally to make sure your designs are implemented correctly and that they developers have all they need. It may be that you need to rethink / redesign certain panels or call to actions or that you will need to resupply certain pages, panels or button styles.</p>
<p>Following on from point #4, it might even make sense helping at the CSS / HTML cutup to not only help the developers, but to get an understanding how your design is looked at and what needs to be done. Knowing CSS / HTML cutup (even in parts) is a really valuable asset these days!</p>
<h3>7) Information Architects: capture information, the right way!</h3>
<p>The buzz-word for years is &#8220;data-capture&#8221; &#8211; getting visitors to a website is one thing, but making sure they come back and leave their details is another. Make sure your forms are easy to understand and not pages and pages long if you don&#8217;t want to scare them away, and only ask for data necessary to the task &#8211; why should I give you my date of birth or post code if all I want is a newsletter??</p>
<p>Also, do make sure you have a tick box to opt in and out of marketing materials such as direct mail or newsletters, and have a clear call to action to your privacy policy.</p>
<p><span style="color: #ffffff;">.</span></p>
<p>I hope the tips help keep you and the development team working successfully on all your projects!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.whatwasithinking.co.uk/2009/02/10/top-tips-for-working-with-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Flash &#8211; map integration with Yahoo Maps + ActionScript (part 2)</title>
		<link>http://www.whatwasithinking.co.uk/2008/07/09/on-flash-map-integration-with-yahoo-maps-actionscript-part-2/</link>
		<comments>http://www.whatwasithinking.co.uk/2008/07/09/on-flash-map-integration-with-yahoo-maps-actionscript-part-2/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 21:42:10 +0000</pubDate>
		<dc:creator>Alexander Rehm</dc:creator>
				<category><![CDATA[Flash Development]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[Actionscript 2.0]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[functionality]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[mash-up]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rich media application]]></category>
		<category><![CDATA[travel blog]]></category>
		<category><![CDATA[travel journal]]></category>
		<category><![CDATA[Yahoo maps]]></category>

		<guid isPermaLink="false">http://www.whatwasithinking.co.uk/?p=66</guid>
		<description><![CDATA[If you followed my entry about Map integration with Yahoo Maps and ActionScript you will probably be wondering what I have to report about the progress. As you may remember, this mash-up is about offering a client a new spin on travel bogging: being able to log in to the client&#8217;s website from anywhere in [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-67" title="On Flash - map integration with Yahoo Maps and ActionScript (part2)" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/07/on-flashmaps-00.jpg" alt="On Flash - map integration with Yahoo Maps and ActionScript (part2)" width="170" height="140" align="right" />If you followed my entry about <a title="On Flash - map integration with Yahoo Maps + ActionScript 2.0" href="http://www.whatwasithinking.co.uk/2008/05/05/on-flash-map-integration-with-yahoo-maps-as-20/" target="_blank">Map integration with Yahoo Maps and ActionScript</a> you will probably be wondering what I have to report about the progress. As you may remember, this mash-up is about offering a client a new spin on travel bogging: being able to log in to the client&#8217;s website from anywhere in the world and give other users (and family and friends) the opportunity to see where you are going and what you are doing there.</p>
<p>Last time I wrote about this Yahoo / Flash mashup I connected the Yahoo map&#8217;s API through Flash and PHP to a MySQL database and was able to write / read from the entries. My next goals were to integrate a user-login, adding links, implementing moderation and a Flash image uploader script.<span id="more-66"></span><br />
<span style="color: #ffffff;">.</span></p>
<h3>Integrating a PHP uploader script</h3>
<p>A very important aspect for both users (and our clients) is to be able to &#8216;take part&#8217; and &#8216;be part&#8217; of shaping the user-generated content area of a site, to leave their mark. Naturally, images and content are the weapons of choice, as such the next step was to work on an image-uploader. The task:</p>
<blockquote><p>Develop an image uploader script through Flash that would allow users to upload an image from their desktop, store it online in a writeable folder on the server and reference to it from the SQL database and display the image for the relevant post for the relevant user.</p></blockquote>
<p><a href="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/07/on-flashmaps-001.jpg"  rel="lightbox[roadtrip]"><img class="alignright size-thumbnail wp-image-68" title="On Flash maps - image uploader gone wrong" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/07/on-flashmaps-001-150x150.jpg" alt="On Flash maps - image uploader gone wrong" width="150" height="99" align="right" /></a>This wasn&#8217;t such an easy task. I had a good look around how Flash tutorial websites I usually frequent handle image upload. After some working I managed to get the PHP side of things working &#8211; which also had its own issues to start with, it would not update file names properly (<em>see image to the right, click to enlarge</em>)! After some fiddling around I managed to get the php script to work, and if you like you can download it here:</p>
<blockquote><p>Please download the file here: <a href="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/07/fileupload.zip">fileupload.zip</a> (~800 bytes)</p></blockquote>
<p>What the script does is it defines the maximum file dimensions (180&#215;300 max in either direction) and uploads the file to a temporary directory (<em>/tempstore/</em>) before giving it a timestamp and name-change and putting it into the <em>/images/</em> directory.</p>
<p><span style="color: #ffffff;">.</span></p>
<h3>Connecting PHP with Flash</h3>
<p>This was a bit (okay, a hell of a lot) more complicated: through the variables &#8216;<em>FileReference</em>&#8216; and &#8216;<em>browseListener</em>&#8216; and a couple of other event listeners I managed to tell Flash how to use the &#8220;Browse&#8230;&#8221; button and how to handle the uploaded image. At the moment the Flash file uploads the image to the database correctly, but it will break if the image does not have the correct size, so I need to work on getting the image-resizer to work. Once that works I&#8217;ll upload the source as well.</p>
<p><span style="color: #ffffff;">.</span></p>
<h3>Sneak Peak for the image-uploader (snapshot of 9th July 2008)</h3>
<p>The main uploader:<br />
<img class="alignnone size-full wp-image-70" title="On Flash - map integration with Yahoo Maps + Actionscript - the uploader" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/07/on-flashmaps-01.jpg" alt="The uploader" width="600" height="440" /></p>
<p><span style="color: #ffffff;">.</span></p>
<p>The uploaded image and adding information:<br />
<img class="alignnone size-full wp-image-71" title="On Flash - map integration with Yahoo Maps + Actionscript - the uploaded image" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/07/on-flashmaps-02.jpg" alt="The uploaded image" width="600" height="441" /></p>
<p><span style="color: #ffffff;">.</span></p>
<p>&#8230;and the result:<br />
<img class="alignnone size-full wp-image-72" title="On Flash - map integration with Yahoo maps + Actionscript - the final result" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/07/on-flashmaps-03.jpg" alt="The final result...well, for now!" width="600" height="441" /></p>
<p><span style="color: #ffffff;">.</span></p>
<h3>Conclusion and next steps</h3>
<p>Well, so far it is looking very promising with the image-uploader! Obviously we are still some way to go with it, but I think the project is starting to take shape! Integrating browse and upload functionality in Flash took some work, but thanks to ActionScript 2.0&#8242;s event listeners it worked out reasonably well and connected to the database. Obviously we are still taking about only one user at a time, so I would need to review the php code at a later date to also make sure there is a folder structure per user present, but that should not be too much of an issue. Watch out for the next entry on this mash-up, by then I will have the uploader finished and maybe add the ability to upload multiple images to show a slideshow, we will see!</p>
<p><span style="color: #ffffff;">.</span></p>
<p>Lastly, if you enjoyed the article &#8211; or just the flash map &#8211; then please leave a comment, I would really appreciate it, as it gives me always another boost to write more <img src='http://www.whatwasithinking.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.whatwasithinking.co.uk/2008/07/09/on-flash-map-integration-with-yahoo-maps-actionscript-part-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>On Flash &#8211; map integration with Yahoo Maps + ActionScript 2.0</title>
		<link>http://www.whatwasithinking.co.uk/2008/05/05/on-flash-map-integration-with-yahoo-maps-as-20/</link>
		<comments>http://www.whatwasithinking.co.uk/2008/05/05/on-flash-map-integration-with-yahoo-maps-as-20/#comments</comments>
		<pubDate>Mon, 05 May 2008 22:25:35 +0000</pubDate>
		<dc:creator>Alexander Rehm</dc:creator>
				<category><![CDATA[Flash Development]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[Actionscript 2.0]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[forums]]></category>
		<category><![CDATA[functionality]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[rich media application]]></category>
		<category><![CDATA[travel blog]]></category>
		<category><![CDATA[travel journal]]></category>
		<category><![CDATA[what was i thinking]]></category>
		<category><![CDATA[Yahoo maps]]></category>

		<guid isPermaLink="false">http://www.whatwasithinking.co.uk/?p=34</guid>
		<description><![CDATA[Alexander Rehm from What was I thinking UK discusses the next generation of travel blogs and has worked on an interactive travel journal with Yahoo Maps and Actionscript 2.0]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-41" title="on-flash" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/05/on-flash.jpg" alt="On Flash - map integration with Yahoo Maps + ActionScript 2.0" width="170" height="140" align="right" />In my job it isn&#8217;t always about a swish flash interface, a cool looking site or animation these days &#8211; it is about integration, about offering functionality that jumps out from the rest of the competition. The magic word is integration. A client of ours approached us about adding a special sort of travel-blog.</p>
<blockquote><p>What we would like is some sort of members-only application that allows our users to track their journeys with us and to maybe blog about them, but it should look swish and very easy to use. We would like a similar functionality for our travel guides who would then post information about the tours.</p></blockquote>
<p>The idea of a blog is a great tool for customer retention, if done right it allows users to post comments about their journeys, maybe with images to keep a log of what they are doing while on that trip. It would allow visitors to see what is going on on a journey with &lt;Company Name&gt; and what you can do or what the user(s) saw and took part in. Obviously, I wanted to offer a little bit more than just a blog. My idea was to work on a map-blog&#8230;<span id="more-34"></span></p>
<p><em>(Please note, if you would just like to see the map in action, just scroll down to the bottom of this page)</em></p>
<p><span style="color: #ffffff;">.</span></p>
<h3>Integrating with new technologies</h3>
<p>For (flash) designers and developers there are a number of new technologies that give a user access to content and functionality that was not possible a year or two back. Let us take Google or Yahoo for example: developers are given access to a great and increasing number of technological toys to play with: application programming interfaces (APIs) to integrate content such as Flickr images and albums, mail, rss feeds or maps.</p>
<p>Anyone, from an individual to a development company, has access to these API components, and more and more people are using them to give their clients (or their portfolios) a WOW-factor.</p>
<p><span style="color: #ffffff;">.</span></p>
<h3>Travel blog + map = travel journal</h3>
<p>Looking at the possibilities our CMS at work has (remember, its is aspx / .net) there was quite a range of possibilities we could offer our client something for the money. The obvious would have been setting up blog-facilities based on either each tour or destinations, giving registered users who have participated in a tour to blog and comment about it (we would run the user&#8217;s access against their booking history to grant write-rights). We could also set up forums and sub-forums to allow users to add comments about trips or destinations.</p>
<p>However, travel blogs or forum posts can be a bit text-laden, and the interaction only consists of a user posting, others reading and (if they like) commenting on posts.</p>
<p>Some time ago we did some Google Earth integration to one of our clients&#8217; website which allowed the client to plot out tours on Google Earth, to give the user the ability to &#8216;see&#8217; the tour and where it is going and what is going on. The idea of combining a map with a travel blog kinda became obvious.</p>
<p>With both Google Maps and Yahoo Maps giving excellent access to and support for their APIs I wanted to work on integrating a mapping solution with our user and blog-database. In the end I went for Yahoo Maps simply because their development network had a tremendous amount of information and code-snippets to get started with.</p>
<p><span style="color: #ffffff;">.</span></p>
<h3><a href="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/05/yahoo-flash1.jpg"  rel="lightbox[roadtrip]"><img class="alignright size-thumbnail wp-image-36" title="Yahoo Maps flash integration" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/05/yahoo-flash1-150x150.jpg" alt="Yahoo Maps flash integration" width="150" height="150" align="right" /></a>Yahoo maps and ActionScript &#8211; (API) key to success?</h3>
<p>Once the extension was downloaded and a API key registered I went on integrating the map into the workspace. Just import / drag the component into the stage. You can edit its size simply by entering a new width and height into the properties (by default on the bottom of the stage). Your next step will need to be to check out the parameters. The screenshot on the right (<em>click to enlarge</em>) shows you where you can find the API in Flash CS3 and what parameters you will need to change by default, such as API key, zoom factor or starting location (by default USA map).</p>
<p>Now that we have a working API-integration into flash I tackled the next step: integration of a server-database to read posted points as well as add points to it. (<em>In this example I used PHP / MySQL as this blog is based on a PHP system</em>). You need to set up a database via PHPMyAdmin for example. Here is a sql-database for you to have a look at and use:</p>
<blockquote><p><em>Please download the file here:</em> <a href="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/05/dataread.zip"></a><a href="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/05/entries.zip">entries.zip</a><em><br />
</em></p></blockquote>
<p>So, what do we have in this database now: We have an ID (unique value for each entry), lat and long, a date (for timestamping entries), a short info and a descritption. These are the fields I will be using for now.</p>
<p><span style="color: #ffffff;">.</span></p>
<h3>Writing to and from the Database</h3>
<p>The next steps are to read from and enter information to the database through PHP. A simple</p>
<blockquote><p><span style="color: #008000;">$sql = &#8220;INSERT INTO entries (id, lat, lon, date, info, description) VALUES (&#8221;, &#8216;$lat&#8217;, &#8216;$lon&#8217;, &#8216;$date&#8217;, &#8216;$info&#8217;, &#8216;$description&#8217;)&#8221;;</span></p></blockquote>
<p>for entering information should do the trick. Which it did. I am not going into very much detail here, as the project is very code-heavy, but if you are interested in knowing more please do not hesitate to get in touch with me.</p>
<p><span style="color: #ffffff;">.</span></p>
<h3>The first travel journal test</h3>
<p>Here is now a first map-test <em>(please note that I have disabled entering notes at this stage)</em>:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="760" height="560" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.whatwasithinking.co.uk/map-test/map3.swf" /><embed type="application/x-shockwave-flash" width="760" height="560" src="http://www.whatwasithinking.co.uk/map-test/map3.swf"></embed></object></p>
<p><span style="color: #ffffff;">.</span></p>
<h3>Closing comments and future plans for this project</h3>
<p>Getting the API to work was a bit tricky, and it took me a couple of hours to figure out what could be done and what didn&#8217;t when it came down to connecting to a database.</p>
<ul>
<li>User-access: At the moment any user can access the map, as such I will need to work on a login-based system, with each login having their own database table, and maybe a selector at the start to see whose trip journal you would like to visit. This should hopefully not be too difficult *touch wood*.</li>
<li>Image and video-upload: I will need to write an image upload script that saves the images on the server in the user&#8217;s folder and give each one a unique ID just in case. I&#8217;ll have to also look into resizing options and video compression if we are not using youtube etc</li>
<li>Linking: Users should be able to cross-link or link to products / posts / etc</li>
<li>Moderation &amp; Administration: &#8230;and ideally all of the above should be moderated and maintained</li>
<li>Plus, I want this to work in Adobe AIR later on as well, so I will need to rewrite a bit of the code later!</li>
</ul>
<p>Lastly, if you enjoyed the article &#8211; or just the flash map &#8211; then please leave a comment, I would really appreciate it, as it gives me always another boost to write more <img src='http://www.whatwasithinking.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>[<strong>UPDATE:</strong> I have updated this project's progress <a title="On Flash - map integration with Yahoo Maps + ActionScript 2.0 (part 2)" href="http://www.whatwasithinking.co.uk/2008/07/09/on-flash-map-integration-with-yahoo-maps-actionscript-part-2/" target="_self">here</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.whatwasithinking.co.uk/2008/05/05/on-flash-map-integration-with-yahoo-maps-as-20/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Designing for the mobile web</title>
		<link>http://www.whatwasithinking.co.uk/2008/04/01/designing-for-the-mobile-web/</link>
		<comments>http://www.whatwasithinking.co.uk/2008/04/01/designing-for-the-mobile-web/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 22:45:04 +0000</pubDate>
		<dc:creator>Alexander Rehm</dc:creator>
				<category><![CDATA[Information Architecture]]></category>
		<category><![CDATA[Usability & Accessibility]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[best-practice]]></category>
		<category><![CDATA[considerations]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[functionality]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[mobile web]]></category>
		<category><![CDATA[mobile web devices]]></category>
		<category><![CDATA[publishing]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.whatwasithinking.co.uk/?p=19</guid>
		<description><![CDATA[Alexander Rehm discusses design and development for mobile web devices, from pre-requisites to information architecture, design, development and usability testing]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-20" title="Design for mobile phones" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/04/design-for-mobile-phones.jpg" alt="Alexander Rehm gives a short run-down on designing for the mobile web" width="170" height="140" align="right" /></p>
<p>Following up on the <a title="The mobile web - adding value to your website" href="http://www.whatwasithinking.co.uk/2008/04/01/the-mobile-web-adding-value-to-your-website/" target="_blank">previous article</a> you may have some idea about if the mobile web is something for your company and your products. You have probably looked at your target audience by now, you know what users are going to look for on your website, how they find it, what information they read on your website that is related to the product, and you have a clear picture in your mind what  content you want to promote for a mobile device user.</p>
<p>The question is now, how do you begin? What do you need to look out for, and what is a best-practise approach?<span id="more-19"></span></p>
<p>First off all, lets discuss the phone itself. More and more phones are coming out these days, but most of them share common functionality: colour-screen, wireless / wap capabilities, and input devices (such as stylus or keypad or even keyboard).</p>
<p><span style="color: #ffffff;">-</span></p>
<h3><a href="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/04/screen-sizes.jpg"  rel="lightbox[roadtrip]"><img class="alignright size-medium wp-image-21" title="Screen sizes" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/04/screen-sizes-200x300.jpg" alt="Screen sizes for mobile phones" width="142" height="214" align="right" /></a><strong>Screen sizes:<br />
</strong></h3>
<p>When looking at the mobile phone manufacturers’ websites we can read that the most common screen sizes are:<br />
128&#215;160<br />
176&#215;220<br />
240&#215;320<br />
320&#215;480<br />
…with the latter belonging to Apple’s iPhone.</p>
<p>Looking at the graphic to the left (click to enlarge), you will notice already that there is a considerable difference between the sizes. Over the past year the World Wide Web Consortium (W3C) has been working on a Web Best Practices document for designing and developing mobile phones for the web. (I will be referring to this document a couple of times).</p>
<p>From that, we know that the recommended usable screen width is 120 pixels and the minimum amount of colours is 256.</p>
<p><em> (N.B. it is worth mentioning here that these are recommended sizes to reach the maximum number of mobile web users, obviously you can create a number of versions depending on the size of the screen, one for normal phones, one for iPhones for example, but I will get back to that later on)</em></p>
<p><span style="color: #ffffff;">-</span></p>
<h3><img class="alignright size-full wp-image-22" title="infomation architecture for mobile devices" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/04/infomation-architecture-for-phones.jpg" alt="Sample information architecture for mobile devices" width="140" height="318" align="right" />Information Architecture for mobile phones</h3>
<p>I try and pride myself in preparing the best practice Information Architecture for any of our clients’ websites, and it is even more important for mobile sites. Desktop computers have the advantage of a full keyboard, mouse, big screen, and different windows you can click through, close, or go back to. On a mobile phone with a screen resolution of 120 pixels there is a lot less to play with: you can display only a limited amount of content on there, with only a limited number of links, not to mention small imagery. Plus, unlike the desktop computer the internet connection is very, very slow. The more you click, the more you wait or (if you are not using wireless) pay. As such we will need to strip the website down as much as possible. We need to limit the amount of copy, the amount of links and of course imagery and find a healthy balance between content and navigation.</p>
<p>Looking at the graphic to the right, it makes sense to keep your content fairly short and to the point. The reason you are browsing from a mobile phone is because you are interested in some quick information, not a novel.  Due to the nature of mobile phone and its browser it is also important to repeat the navigation at the bottom of the main content area. At this point you are used to the “scroll down” functionality of your phone, and you don’t want to change your grip on the phone just to go back up where you just came from. The navigation here should be containing links related to what you just read (if it was a product then a call to action to get in touch would be good) and related information (such as similar products in that field / area).</p>
<p>So now we have looked at what the sizes are and what good practises are in setting the content up. So how do we develop this?</p>
<p><span style="color: #ffffff;">-</span></p>
<h3>Development for mobile phones &#8211; considerations</h3>
<p>Compared to web development for desktop computers mobile web developers need to consider a couple of limitations to a mobile website:</p>
<ul>
<li> One column layouts only, try not to use floats</li>
<li> Reduce and optimize your HTML and CSS markup, don’t overdose on &lt;div&gt;’s and &lt;span&gt;’s</li>
<li>Limit the number of images (that includes background images and graphical headlines and tabs!)</li>
<li><span>Try not to use Javascript or any dynamic effects used for mouse and keyboard use (such as hover effects or iframes)</span></li>
<li><span>If you use images, make sure you use alt-tags</span></li>
</ul>
<p><span style="color: #ffffff;">-</span></p>
<h3><span>Development for mobile phones – XHTML</span></h3>
<p>Next to HTML / CSS one of the most commonly used languages for mobile phones is XHTML-MP (eXtensible Hypertext Markup Language – Mobile Profile), a subset of XHTML Basic and HTML and is the predominant language for mobile phone development.</p>
<p>An example of XHTML-MP can be found in the graphic below (click to enlarge):</p>
<p><a href="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/04/xhtml-shot.jpg"  rel="lightbox[roadtrip]"><img class="alignnone size-medium wp-image-23" title="xhtml-mp sample code" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/04/xhtml-shot-300x201.jpg" alt="A sample code snippet of an XHTML-MP mobile web page" width="300" height="201" /></a></p>
<p>As you can see, it is fairly easy, isn’t it.</p>
<p><span style="color: #ffffff;">-</span></p>
<h3>Development for mobile phones – Navigation</h3>
<p>Because you are working with a very vertical browser you will need to rethink your website’s navigation and plan ahead for a vertical list navigation, ideally together with access keys (access keys are the number keys on the keypad of a mobile phone 1-9 and 0). See below for an example using list navigation and access keys (click to enlarge)</p>
<p><a href="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/04/list-nav-shot.jpg"  rel="lightbox[roadtrip]"><img class="alignnone size-medium wp-image-24" title="List Navigation sample" src="http://www.whatwasithinking.co.uk/wp-content/uploads/2008/04/list-nav-shot-300x89.jpg" alt="A sample code snippet for list navigation" width="300" height="89" /></a></p>
<p><em>(NB:  If you intend to link a telephone number within a page to automatically dial the number on the users phone just use this snippet:<br />
&lt;a href=”tel:+123456789”&gt;+1 23456789&lt;/a&gt;)</em></p>
<p><span style="color: #ffffff;">-</span></p>
<h3>Development for mobile phones – Publishing the mobile web content</h3>
<p>Okay, so you have created a very simple version of the website, using semantic markup language and have generated the content how you would like it to appear. It is time to set the website up.</p>
<p>It would be ideal to have a sub-domain or a folder for your domain such as m.websitename.co.uk or www.websitename.co.uk/mobile and get users to go there directly using their mobile device. Another option would be to let the website detect the user agent similar to what you would do to use special style sheets for IE5/6/7 for example, in this case a<br />
&lt;link rel=&#8221;stylesheet&#8221; type=&#8221;text/css&#8221; media=&#8221;handheld&#8221; href=&#8221;mobile.css&#8221; /&gt;<br />
will work wonders.</p>
<p><span style="color: #ffffff;">-</span></p>
<h3>Testing</h3>
<p>So the mobile version of your website is done, and you have sorted all your styles out and are ready to go live. Time to begin testing.<br />
I would strongly suggest following this testing guide to ensure that everything goes well:</p>
<ol>
<li>Desktop testing: Both Opera and FireFox have the great option for small-screen view. Test both without scripts (such as Javascript) and without graphics. Test without mouse</li>
<li>Emulator testing: Use any (or ALL) of the following emulators:<br />
<a title="Nokia's emulator" href="http://www.forum.nokia.com/info/sw.nokia.com/id/db2c69a2-4066-46ff-81c4-caac8872a7c5/NMB40_install.zip.html">Nokia’s emulator<br />
</a><a title="OperaMini simulator" href="http://www.operamini.com/demo/">OperaMini simulator</a><br />
<a title="Blackberry simulator" href="http://na.blackberry.com/eng/developers/downloads/simulators.jsp" target="_blank">Blackberry simulator</a><br />
<a title="OpenWave simulator" href="http://developer.openwave.com/dvl/member/downloadManager.htm?softwareId=23" target="_blank">Openwave simulator</a><br />
<a title="Ready.mobi site checker" href="http://mr.dev.mobi/launch.jsp?locale=en_EN" target="_blank">Ready.mobi site-checker</a></li>
<li>Device testing: Get hold of many different mobile phones and test your website. Best option would be to test the site with mobile phones using WiFi in your own network, and once you are satisfied with the outcome go and try phones that do not have WiFi-capabilities (meaning you have to pay for each minute or kb) and test parts of the site.</li>
<li>Usability testing: knowing that the website works on mobile phones does not mean that it is usable. Test each aspect of the site, does it make sense? Can you find your way around it? Does your colleague? Does your friend? Your spouse?</li>
</ol>
<p><span style="color: #ffffff;">-</span></p>
<h3>Closing notes</h3>
<p>This was a pretty quick rundown on designing and developing for the mobile web. I hope at least some of it made sense to you. For the next steps I would suggest you have a browse around for handheld style sheets and how to implement various style sheets depending on your audience (say a version for desktop computers &#8211; with IE style sheets &#8211; and mobile devices, you can even work on an iPhone version or versions for different sizes!) and see how you are getting on in regards to implementation, publishing and testing. If you have any comments or any experiences you would like to share then please do, I would really appreciate it <img src='http://www.whatwasithinking.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.whatwasithinking.co.uk/2008/04/01/designing-for-the-mobile-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
