<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"> 
	                    <channel> 
	                        <title>Josh Sharp design</title> 
	                        <link>http://www.joshsharp.com.au/blog/</link> 
	                        <description>I'm a web designer and web application developer in Melbourne, Australia. This is a blog about 
										web development, mostly in PHP, and the web in general. If you find anything useful, leave me a comment. Cheers.
							</description> 
	                        <language>en</language>
							
	                        <image> 
	                            <title>Josh Sharp design</title> 
	                            <url>http://www.joshsharp.com.au/im/pics/iso_josh.gif</url> 
	                            <link>http://www.joshsharp.com.au/blog/</link> 
	                            <width>68</width> 
	                            <height>158</height> 
	                        </image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/joshsharpdesign" type="application/rss+xml" /><feedburner:emailServiceId>1313626</feedburner:emailServiceId><feedburner:feedburnerHostname>http://www.feedburner.com</feedburner:feedburnerHostname><item><title>A short story about usability</title><link>http://feeds.feedburner.com/~r/joshsharpdesign/~3/292698793/a_short_story_about_usability</link><guid isPermaLink="false">http://www.joshsharp.com.au/blog/view/a_short_story_about_usability</guid><pubDate>Sun, 18 May 2008 04:39 +1000</pubDate><description>&lt;p&gt;I've recently moved house, and last weekend I went for my second grocery shop at Safeway, my new local supermarket. This Safeway has recently installed a new set of 'self checkouts' which allow you to scan, bag, and pay for your own shopping, without a checkout operator involved.&lt;/p&gt;
&lt;p&gt;This was the second time I'd used the system, and the first time had passed without incident - it was even a little bit novel, a tiny bit fun to scan my own items and bag them myself. But the second time was different.&lt;/p&gt;
&lt;p&gt;This time, I had more than one bagful of items. As I finished filling the first bag, I went to take it off the scales - the bags are weighed to make sure you don't slip anything extra in  - and the POS system beeped at me. &amp;quot;Please replace item such-and-such,&amp;quot; it asked me.&lt;/p&gt;
&lt;p&gt;So I put the bag back down. &amp;quot;Please replace the item,&amp;quot; it asked me again, tonelessly. So I removed the bag and put just the item in question (a packet of biscuits) back onto the scales. But no luck, the system simply refused to allow me to proceed. It wouldn't recognise that I'd put the biscuits and/or bag back onto the scales, no matter what I did.&lt;/p&gt;
&lt;p&gt;Growing increasingly frustrated, and with a growing line of people waiting too (installing self checkouts allows Safeway to cut down on the number of express checkouts open) I signalled to one of the brightly-vested 'experts' hovering nearby. I explained the situation, and he whipped out a PDA and tapped out a command to allow the POS system to continue.&lt;/p&gt;
&lt;p&gt;&amp;quot;Out of curiosity,&amp;quot; I asked him, &amp;quot;what did I do wrong? Just so I know for next time.&amp;quot;&lt;/p&gt;
&lt;p&gt;His voice was curt as he replied, &amp;quot;You can't remove a bag until &lt;em&gt;the big dollar sign is flashing&lt;/em&gt;.&amp;quot;&lt;/p&gt;
&lt;p&gt;Obviously.&lt;/p&gt;
&lt;p&gt;My experience with the system illustrates  perfectly how &lt;em&gt;not&lt;/em&gt; to design with usability in mind. Members of the public will be using the self checkouts without any training, and even as I used one I could see other people getting frustrated with their experience as well.&lt;strong&gt; If you are dealing with an untrained userbase,  things should be as obvious as possible. There should be very little room for mis-interpretation. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Adding a flashing dollar sign (next to a button marked 'finish and pay', not what I wanted to do) is far from a simple and obvious way to tell users, &amp;quot;it's okay to start packing a new bag now&amp;quot;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/joshsharpdesign/~4/292698793" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=joshsharpdesign&amp;itemurl=http%3A%2F%2Fwww.joshsharp.com.au%2Fblog%2Fview%2Fa_short_story_about_usability</feedburner:awareness><feedburner:origLink>http://www.joshsharp.com.au/blog/view/a_short_story_about_usability</feedburner:origLink></item><item><title>Twitter as social computer</title><link>http://feeds.feedburner.com/~r/joshsharpdesign/~3/274071927/twitter_as_social_computer</link><guid isPermaLink="false">http://www.joshsharp.com.au/blog/view/twitter_as_social_computer</guid><pubDate>Sun, 20 Apr 2008 11:09 +1000</pubDate><description>&lt;p&gt;Twitter is a funny little thing. It's one of those services that has been pared back to its most basic, essential ingredients - asynchronous chat/messaging. Or is it microblogging? Or lifestreaming? Whatever you'd like to call it, it provides the one service, and that's it. No file sharing. No 'social network' (well explicitly, anyway).&lt;/p&gt;
&lt;p&gt;It actually sounded incredibly banal to me when I first heard of it. It seemed far too basic to be interesting, and once I did get into it, I found that it didn't really provide me with much. But as &lt;a href="http://scobleizer.com/2008/04/13/twitter-and-inadequacy-er-the-great-friend-divide/"&gt;noted by Scoble&lt;/a&gt;, the service's value is in its users. Once I started adding people to follow, I started to get addicted. It gives you an insight into people that you don't get reading their blog posts, and an added benefit of finding out about news as it happens. &lt;/p&gt;
&lt;p&gt;But the way in which Twitter lets people interact has provided other interesting developments as well. &lt;/p&gt;

&lt;h4&gt;Social searching&lt;/h4&gt;
&lt;p&gt;You might have heard the prediction that web3.0 is going to be about the semantic web - &amp;quot;understanding&amp;quot; and giving meaning to content, providing for a better search and better ways to relate data to people and to other data. This is all well and good, but the technology to add this layer of meaning isn't quite ready yet.&lt;/p&gt;
&lt;p&gt;In the meantime, the best way of understanding a query and providing the right content is to ask a real human (not that ChaCha, who tried to provide human-assisted search as a service, &lt;a href="http://www.techcrunch.com/2008/03/31/chacha-ditches-guided-search-model-i-love-to-hate-this-startup/"&gt;got far with this&lt;/a&gt;).  But still, the keepers of the semantic meaning are ourselves, humans. We are only trying to teach the system what we already grasp. &lt;/p&gt;
&lt;p&gt;And this is where a very interesting property of Twitter comes into play. With an always-on pool of friends only a message away, suddenly Twitter is your own social computer. Tweet a question, say, &amp;quot;does anyone know which team won the footy tonight&amp;quot; or even &amp;quot;where should I stay in Sydney?&amp;quot;, and if your social computer has &amp;quot;indexed&amp;quot; this data already, odds are you'll get a good answer. Try asking Google one of those questions and you won't get anywhere near what you wanted. &lt;/p&gt;
&lt;p&gt;Now obviously the results aren't as formal as if you had queried a search engine, went to a news site or browsed a site which recommended hotels. They might not be quite what you are after either. But the humans on the other end can understand your question far more accurately than a search engine can, and with an added benefit of trust and authority - a recommendation from a real person carries far more weight, which is why word-of-mouth is such a valuable marketing tool. &lt;/p&gt;
&lt;h4&gt;Bringing back the command line?&lt;/h4&gt;
&lt;p&gt;Another interesting feature is the use of hashtags and @replies to give control and meaning through what is essentially a command-line interface. Replying to someone means putting an @ symbol and their username at the start of your tweet - a modifier built right into the command line, with no other way to do it. Putting a hash before a word (usually a noun) makes it into a tag that can be referenced across tweets, giving it some semantic meaning. These are two ways that the textual data provides control as well as content, which is the main feature of a command-line system. &lt;/p&gt;
&lt;p&gt;But when you also add twitterbots to the mix, you start to see the sort of power Twitter's basic input/output system has. If you tweet @weather Melbourne, you'll get a weather report - just like calling a command line executable and passing it an argument. Twitter's system is &lt;em&gt;ideal&lt;/em&gt; for this - as a basic IO system, it takes in a small set of data, and provides a response. That sounds limited, but it has so many varied functions that have only been half-realised yet. Of course, there is always the command line, Google, or some other GUI which can provide you with the same data, but I'm sure we'll see a benefit to having this data included as part of our attention stream. &lt;/p&gt;
&lt;h4&gt;An interesting ecosystem&lt;/h4&gt;
&lt;p&gt;It's funny what you can do with such a simple system. I guess when you create an open API that allows people to build bots, clients, and other ways to analyse the data, there's actually a lot to it. And I think this is only the start of the sort of clever social systems and lifestreaming services we're going to see (forget basic social networks, they're so last year). But maybe whoever said it was right - web3.0 really will just be about cutting out all the noise, so that we can hear the signal again. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/joshsharpdesign/~4/274071927" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=joshsharpdesign&amp;itemurl=http%3A%2F%2Fwww.joshsharp.com.au%2Fblog%2Fview%2Ftwitter_as_social_computer</feedburner:awareness><feedburner:origLink>http://www.joshsharp.com.au/blog/view/twitter_as_social_computer</feedburner:origLink></item><item><title>techAU troubles - techAU.tv complains, new domain is born</title><link>http://feeds.feedburner.com/~r/joshsharpdesign/~3/263192615/techau_troubles_techau_tv_complains_new_domain_is_born</link><guid isPermaLink="false">http://www.joshsharp.com.au/blog/view/techau_troubles_techau_tv_complains_new_domain_is_born</guid><pubDate>Thu, 03 Apr 2008 07:18 +1000</pubDate><description>&lt;p&gt;When I came up with the domain name &lt;a href="http://techau.com.au"&gt;techAU&lt;/a&gt;, it wasn't already taken - but it wasn't  unique either. Jason Cartwright had already been working on &lt;a href="http://techAU.tv"&gt; techAU.tv&lt;/a&gt;, a weekly tech podcast. And amidst the flurry of activity post-launch this week, I've been talking to Jason about the similarities in our sites' names. He isn't particularly happy.&lt;/p&gt;
&lt;p&gt;Now, when you buy a domain, say a .com, and someone else buys the .net of that name, you're not really able to jump up and down about it. After all, if you wanted to be the sole owner of that name, you should be buying all of the TLDs for it. That's just how it goes.&lt;/p&gt;
&lt;p&gt;However, being the jolly good sport that I am, and the endeavour being relatively   new, I decided I would concede defeat to Jason. I don't want to go around making enemies, and the guy's already got his thing going. Seeing as I'm only aggregating blogs, I don't mind particularly about the domain name. Maybe I can sell it and make a tidy profit. &lt;/p&gt;
&lt;h4&gt;Thus &lt;a href="http://techcollective.com.au/"&gt;techCollective.com.au&lt;/a&gt; was born  &lt;/h4&gt;
&lt;p&gt;Hurrah! I'd like to think it's an even better domain. Invokes images of solidarity, and camaraderie. Bringing people together, and gently feeding them technology news. &lt;/p&gt;
&lt;p&gt;For the moment, techAU is still active and redirecting to the &lt;a href="http://techcollective.com.au"&gt;new domain&lt;/a&gt;. But eventually, who knows. I trust you good ladies and gentlemen will remember the new domain and this will not slow anyone down. &lt;/p&gt;
&lt;h4&gt;Thankyou for a successful launch&lt;/h4&gt;
&lt;p&gt;Otherwise, thankyou everyone for all the positive attention you've given me for the site - we're still focussed on  Aussie web and tech bloggers, and I'm sure we'll succeed in getting some more awareness of the local industry. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/joshsharpdesign/~4/263192615" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=joshsharpdesign&amp;itemurl=http%3A%2F%2Fwww.joshsharp.com.au%2Fblog%2Fview%2Ftechau_troubles_techau_tv_complains_new_domain_is_born</feedburner:awareness><feedburner:origLink>http://www.joshsharp.com.au/blog/view/techau_troubles_techau_tv_complains_new_domain_is_born</feedburner:origLink></item><item><title>Announcing the launch of techAU.com.au</title><link>http://feeds.feedburner.com/~r/joshsharpdesign/~3/260604995/announcing_the_launch_of_techAU_com_au</link><guid isPermaLink="false">http://www.joshsharp.com.au/blog/view/announcing_the_launch_of_techAU_com_au</guid><pubDate>Sun, 30 Mar 2008 06:09 +1000</pubDate><description>&lt;div style="float:left; margin-right:10px; margin-bottom:10px; border:1px solid #f9f5eb"&gt;&lt;a href="http://www.techau.com.au/"&gt;&lt;img src="http://www.joshsharp.com.au/resources/techau_logo.jpg" alt="techAU" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;It didn't take long, and now it's live. As it says &lt;a href="http://www.techau.com.au"&gt;on the site&lt;/a&gt; itself, &amp;quot;techAU aggregates both prominent and up-and-coming Australian bloggers who write about the new generation of the web and related technologies." And it doesn't do much else at this stage. I mentioned my list of bloggers in &lt;a href="http://www.joshsharp.com.au/blog/view/techau_repurposed_as_aussie_tech_blogger_aggregator"&gt;the previous post&lt;/a&gt;, and with the exception of Sam Lai (get back to me Sam! We'll figure something out), all have made it to the list.&lt;/p&gt;
&lt;h4&gt;Its purpose&lt;/h4&gt;
&lt;p&gt;The idea is that, like &lt;a href="http://alltop.com/"&gt;Alltop&lt;/a&gt; or &lt;a href="http://web20workgroup.com/"&gt;Web 2.0 Workgroup&lt;/a&gt;, you're able to visit the site and quickly scan a list of  relevant bloggers for posts that look interesting. In this case, the focus is on Australian content, as I really wanted to boost recognition of prominent figures in our local industry. Bookmark the site and keep up to date on what Australian bloggers think about the future of the web. &lt;/p&gt;
&lt;h4&gt;Who can be on the list?&lt;/h4&gt;
&lt;p&gt;Any Australian blogger who writes consistently insightful posts on the web, social media, startups, and the like. I wanted to include &lt;a href="http://www.duncanriley.com"&gt;Duncan Riley&lt;/a&gt;, but I'm not sure the world needs to know about his penchant for rescuing stunned birds :) If you do know someone who you think should be on the list, &lt;a href="http://www.joshsharp.com.au/contact/"&gt;let me know&lt;/a&gt;. I'd be happy to add anyone who fits - the longer the list, the better!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/joshsharpdesign/~4/260604995" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=joshsharpdesign&amp;itemurl=http%3A%2F%2Fwww.joshsharp.com.au%2Fblog%2Fview%2Fannouncing_the_launch_of_techAU_com_au</feedburner:awareness><feedburner:origLink>http://www.joshsharp.com.au/blog/view/announcing_the_launch_of_techAU_com_au</feedburner:origLink></item><item><title>TechAU repurposed as Aussie tech blogger aggregator</title><link>http://feeds.feedburner.com/~r/joshsharpdesign/~3/258784331/techau_repurposed_as_aussie_tech_blogger_aggregator</link><guid isPermaLink="false">http://www.joshsharp.com.au/blog/view/techau_repurposed_as_aussie_tech_blogger_aggregator</guid><pubDate>Thu, 27 Mar 2008 05:05 +1000</pubDate><description>&lt;p&gt;Who said that laziness doesn't yield good results? Earlier this year I called for tech bloggers to help me launch a local-based tech blog in the vein of TechCrunch, but I didn't get a great deal of interest and I don't have a lot of time to follow the idea up, as much as I think it has merit. &lt;/p&gt;
&lt;p&gt;So after a bit of thought I have come up with something different, which I think could still help raise awareness of our local industry. &lt;/p&gt;
&lt;p&gt;In the same vein as &lt;a href="http://web20workgroup.com/"&gt;Web 2.0 Workgroup&lt;/a&gt;, I'd like to aggregate the blogs of prominent Australian bloggers  in the IT industry. I'd like to feature &lt;strong&gt;bloggers who consistently write about web-related technologies and ideas&lt;/strong&gt;, and have something worth adding. Here's my list so far:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://chrissaad.wordpress.com/"&gt;Chris Saad&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://benbarren.blogspot.com/"&gt;Ben Barren&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.rossdawsonblog.com/"&gt;Ross Dawson&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://nichodges.com/wordpress/"&gt;Nic Hodges&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.liubinskas.com/blog/"&gt;Mick Liubinskas &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://startups.sharmavishal.com/"&gt;VS Consulting Group's Startup Blog   &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://driveactivated.com/blog/default.aspx"&gt;Sam Lai's Drive:Activated  &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What I'd love for everyone else to do, is to let me know in the comments if you know of anyone else who fits the bill. I'd love to feature anyone who falls into the right category, but I don't necessarily know everyone who qualifies at this stage.&lt;/p&gt;
&lt;p&gt;Let me know below!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/joshsharpdesign/~4/258784331" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=joshsharpdesign&amp;itemurl=http%3A%2F%2Fwww.joshsharp.com.au%2Fblog%2Fview%2Ftechau_repurposed_as_aussie_tech_blogger_aggregator</feedburner:awareness><feedburner:origLink>http://www.joshsharp.com.au/blog/view/techau_repurposed_as_aussie_tech_blogger_aggregator</feedburner:origLink></item><item><title>Are aggregator sites getting a free ride?</title><link>http://feeds.feedburner.com/~r/joshsharpdesign/~3/254821704/are_aggregator_sites_getting_a_free_ride</link><guid isPermaLink="false">http://www.joshsharp.com.au/blog/view/are_aggregator_sites_getting_a_free_ride</guid><pubDate>Thu, 20 Mar 2008 08:56 +1000</pubDate><description>&lt;p&gt;I've recently discovered &lt;a href="http://popurls.com"&gt;popurls.com&lt;/a&gt;. I like it.  it has the very simple purpose of aggregating a number of popular social media sites (most of which are themselves psuedo-aggregators) into one easy to browse page, so that when people like me are bored we can scan for interesting links without expending too much effort.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But are sites like popurls just getting a free ride off the hard work of the sites they aggregate? Do they deserve their traffic when they don't provide any of the content?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It's easy to see it that way. The site provides none of the content itself, but could've been knocked up in a day by finding an RSS parser and choosing the sites whose content it would display. Not exactly a work of art. &lt;/p&gt;
&lt;p&gt;But really, I think the answer is no - it's not a free ride at all. Just like 'easy'  art which causes jealous viewers to mutter, &amp;quot;I could've painted that&amp;quot;, aggregators provide a service which is inherently easy to do, but is still useful to the end user - whether they &amp;quot;could've done it themselves&amp;quot; or not, they didn't. The aggregator exists as a valid service, and while it doesn't create any of the content, it still &lt;strong&gt;provides the service of aggregating&lt;/strong&gt;. As long as it doesn't attempt to exploit the content, all traffic the site receives is fair and valid.&lt;/p&gt;
&lt;p&gt;Besides, syndicating your content through RSS  only serves to increase recognition of your brand and traffic to your site in the long run. So the sites owning the content are still winners - everybody's happy. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/joshsharpdesign/~4/254821704" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=joshsharpdesign&amp;itemurl=http%3A%2F%2Fwww.joshsharp.com.au%2Fblog%2Fview%2Fare_aggregator_sites_getting_a_free_ride</feedburner:awareness><feedburner:origLink>http://www.joshsharp.com.au/blog/view/are_aggregator_sites_getting_a_free_ride</feedburner:origLink></item><item><title>Managers vs developers: coding long term solutions</title><link>http://feeds.feedburner.com/~r/joshsharpdesign/~3/251302530/managers_vs_developers_coding_long_term_solutions</link><guid isPermaLink="false">http://www.joshsharp.com.au/blog/view/managers_vs_developers_coding_long_term_solutions</guid><pubDate>Thu, 13 Mar 2008 07:51 +1000</pubDate><description>&lt;p&gt;Sometimes it might seem like what your manager wants you to do, and what you wish you could do, are two different things. You, as the shining pinnacle of developerness that you are, would like to satisfy your client's requirements by developing a generic solution that fits, but can also scale up, down, and sideways depending on the scenario. But this isn't what your manager wants to hear. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;By the way, this isn't aimed at my manager, or anyone I know - just an attempt to explain a programmer's thought processes. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Let's take an example. Say your web application needs to allow admins to create a tree stucture of users, assigning them to groups and sub-groups. Each user will be two levels deep, in a subgroup.&lt;/p&gt;

&lt;p&gt;So you propose the solution of creating a generic system (data structure, interface, the works) allowing &lt;em&gt;n &lt;/em&gt;levels of groups - admins can add as many as they like. This is a nice generic solution which appeals to your programming principles and doesn't need any hard-coding of limits and the like. &lt;/p&gt;
&lt;p&gt;But to your manager, this is overkill.  Why add in this extra functionality? It will take twice as long, and the extra half isn't even relevant functionality. Just code in the ability to add two levels of groups, and you can move on to the next task. Why would you want to spend time and money doing otherwise? &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The answer, dear manager, is that I am planning for all situations.  &lt;/strong&gt;Even though they definitely only need two levels at this stage, you can reuse this code for another project, or give your client the ability to expand and adapt their usage as they grow over time. &lt;strong&gt;I am creating a solution which provides a minimum of fuss for the client and myself in the long run. &lt;/strong&gt;Why isn't this a good thing? Shouldn't we be praised for looking after the customer and minimising long term stress?&lt;/p&gt;
&lt;p&gt;Say your client buys out another company and all of a sudden they need a higher-level group, so they can differentiate between companies. Given this situation, they could come back to you and ask, can you give us the ability to add another group? And you sigh, and shake your head, because this means rewriting code to do what it wasn't supposed to do - hacking it apart. To your manager, sure, reasonable request, plus this is something else they can make a profit on. But your developers are stressing about having to modify and recode the existing application from something elegant into something clumsy and ugly. And an unhappy developer is not an efficient developer, especially if this scenario is always repeating. &lt;/p&gt;
&lt;p&gt;Add to this the undeniable fact that you are basically &lt;strong&gt;charging the client extra for your short-sightedness&lt;/strong&gt;. As the supplier of solutions,  it is &lt;em&gt;your&lt;/em&gt; job to help the client understand and formalise their requirements. It is not their fault that your client cannot see all possible usage scenarios they might have for your software. That's &lt;em&gt;your &lt;/em&gt;job.&lt;/p&gt;
&lt;p&gt;It's like selling a client a static website in this day and age - no CMS, so the client has to come back to you when they need changes made. Sure, the client thought their site would never need to change, but now they're moving suburb and they can't change the address on their contact page. People would consider this underhanded when CMS software is so ubiquitous, so why write these sort of limits into any other solution you provide?&lt;/p&gt;
&lt;p&gt;Obviously, I realise there are limits to what you can anticipate, but when you consciously prey on the client's short-sightedness you are doing yourself and your client a disservice.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/joshsharpdesign/~4/251302530" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=joshsharpdesign&amp;itemurl=http%3A%2F%2Fwww.joshsharp.com.au%2Fblog%2Fview%2Fmanagers_vs_developers_coding_long_term_solutions</feedburner:awareness><feedburner:origLink>http://www.joshsharp.com.au/blog/view/managers_vs_developers_coding_long_term_solutions</feedburner:origLink></item><item><title>Android idea: Real estate</title><link>http://feeds.feedburner.com/~r/joshsharpdesign/~3/240359841/android_idea_real_estate</link><guid isPermaLink="false">http://www.joshsharp.com.au/blog/view/android_idea_real_estate</guid><pubDate>Mon, 25 Feb 2008 12:09 +1000</pubDate><description>&lt;p&gt;Okay, so the idea is this: an Android app that takes a set of criteria for what sort of real estate you're looking for - price, no. bedrooms, etc. - and uses its location-awareness to alert you to real estate within your area that matches your criteria. You could even set it to tell you about open houses so if you were driving past you could pop in. But I think it'd also just be handy to know these houses existed - for example, I like to go for the odd evening walk and it'd be handy to be able to say, &amp;quot;Hey, there's a nice house the next block over. I'll detour to have a look.&amp;quot;&lt;/p&gt;
&lt;p&gt;So anyway, if realestate.com.au wants to contract me to create said app, get in touch :D&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/joshsharpdesign/~4/240359841" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=joshsharpdesign&amp;itemurl=http%3A%2F%2Fwww.joshsharp.com.au%2Fblog%2Fview%2Fandroid_idea_real_estate</feedburner:awareness><feedburner:origLink>http://www.joshsharp.com.au/blog/view/android_idea_real_estate</feedburner:origLink></item><item><title>What I've been up to</title><link>http://feeds.feedburner.com/~r/joshsharpdesign/~3/240343890/what_ive_been_up_to</link><guid isPermaLink="false">http://www.joshsharp.com.au/blog/view/what_ive_been_up_to</guid><pubDate>Sun, 24 Feb 2008 10:46 +1000</pubDate><description>&lt;p&gt;So, you may have noticed that I don't update this blog all that often. A lot of the time it's because I don't have a great deal to say, but at the moment it's equally fair to say: I've been bloody busy! I've been working on a couple of different things, and there's still some more to come which I'll fill you in on as well.&lt;/p&gt;
&lt;h3&gt;OurIntranet&lt;/h3&gt;
&lt;h4&gt;Timesheet module&lt;/h4&gt;
&lt;p&gt;Previously at Cruse, we've used spreadsheets to track the time spent on jobs. But finally I've got around to creating a module for OurIntranet which tracks users' time spent on various job codes.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.joshsharp.com.au/resources/timesheet_large.jpg"&gt;&lt;img src="http://www.joshsharp.com.au/resources/timesheet_small.jpg" border="0" alt="Timesheets" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The interface shows a week at a time, and uses an autocompleter widget to allow users to search for and select relevant job codes. The timesheet hours themselves are updated via AJAX as they are edited - taking a leaf out of Google Spreadsheets' book, surely, but it makes for a very fluid and pleasant UI experience.&lt;/p&gt;
&lt;p&gt;This also marks the first time I've used  &lt;a href="http://teethgrinder.co.uk/open-flash-chart/"&gt;Open Flash Charts&lt;/a&gt; to create some nice dynamic charts - in this case, a pie graph representing a breakdown of hours against clients. &lt;/p&gt;

&lt;h4&gt;Tasks module&lt;/h4&gt;
&lt;p&gt;The tasks module is another fairly generic idea that has been done countless other times, but provides an invaluable service to OurIntranet users. Since setting up the module, I've been using it to track client bug fixes (no! surely I never write buggy code) and other things I need to do on a daily basis. Also, a sort of asynchronous chat can be conducted as notes are added against the tasks by various users.&lt;/p&gt;
&lt;p&gt;Also of note, users can set up their own priority definitions, including their corresponding colour. What can I say - I spoil my users...&lt;/p&gt;
&lt;h4&gt;'Today' page&lt;/h4&gt;
&lt;p&gt;&lt;img src="http://www.joshsharp.com.au/resources/todaypage_thumb.jpg" border="0" alt="Today" /&gt;&lt;/p&gt;
&lt;p&gt;Hopefully Microsoft won't sue for using their wording, but recently our rather bland News and Announcements page has been revamped as a modular home page which allows other modules to publish content to it in the form of generic modules. For example, the Tasks module I talked about has a cut-down view on the Today page showing a user's most urgent tasks. We've also included RSS and weather feeds. In time we'll add other customisable modules so users can have a home page that displays the information they deem most useful. &lt;/p&gt;
&lt;h3&gt;Still to come&lt;/h3&gt;
&lt;h4&gt;Releasing the Rex framework    &lt;/h4&gt;
&lt;p&gt;Possibly more exciting from a programming perspective, at the moment I'm cleaning up and preparing my mini-framework, Rex (on which this site runs and which I have &lt;a href="http://www.joshsharp.com.au/blog/view/why_you_should_be_using_a_framework"&gt;discussed previously&lt;/a&gt;, and used as an example for &lt;a href="http://www.joshsharp.com.au/blog/view/rewriting_urls_with_apaches_mod_rewrite_and_php"&gt;URL rewriting&lt;/a&gt;). &lt;/p&gt;
&lt;p&gt;I plan to set up a subdomain with an API, a couple of screencasts and code examples, and maybe an e-book detailing use of the framework. For the three people who are interested, this will surely come as exciting news.&lt;/p&gt;
&lt;p&gt;My stance on frameworks hasn't changed and I still firmly believe that a good framework should be the basis of every website and web application. However I think a lot of those who disagree with me would do so because most of the popular PHP frameworks are incredibly bloated. Both Zend and CakePHP &lt;a href="http://www.joshsharp.com.au/blog/view/there_s_no_m_in_zend"&gt;weren't much to my liking&lt;/a&gt; because they either tried to be far too magical (Cake) or claimed to be modular, but still intoduced a lot of code which I would probably never use (Zend).&lt;/p&gt;
&lt;p&gt;Rex is different. It's light. It's fairly minimal, possibly because I'm lazy so I wrote the minimum necessary. But it still offers all the advantages of a good framework - URL rewriting (to be language agnostic), a strong MVC pattern, form data persistence and validation, and a bit of magical functionality without sacrificing too much control. But it doesn't do a lot of things that the other frameworks do. &lt;strong&gt;That's a good thing.&lt;/strong&gt; A framework should be just that - scaffolding, not a complete and rigid library. &lt;/p&gt;
&lt;p&gt;So look out for that in the next month or so. Maybe I'll get the interested persons count up to four. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/joshsharpdesign/~4/240343890" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=joshsharpdesign&amp;itemurl=http%3A%2F%2Fwww.joshsharp.com.au%2Fblog%2Fview%2Fwhat_ive_been_up_to</feedburner:awareness><feedburner:origLink>http://www.joshsharp.com.au/blog/view/what_ive_been_up_to</feedburner:origLink></item><item><title>Windows 7: Josh Edition</title><link>http://feeds.feedburner.com/~r/joshsharpdesign/~3/232950738/windows_7_josh_edition</link><guid isPermaLink="false">http://www.joshsharp.com.au/blog/view/windows_7_josh_edition</guid><pubDate>Mon, 11 Feb 2008 04:07 +1000</pubDate><description>&lt;p&gt;Windows Vista has been almost universally panned, by critics and users alike. Aside from offering hardly any new functionality, it added a lot of things users didn't like - from changing around menus, to moving and renaming system tools and control panel options. It seemed like Microsoft was trying to make up for their lack of functionality by, well, just changing things. And it doesn't help that MacOS continues to get prettier and prettier. &lt;/p&gt;
&lt;p&gt;I've recently bought a new laptop which came with Vista preinstalled, so I've witnessed first hand what everyone talks about. Also, within three days&lt;strong&gt; I've already broken it&lt;/strong&gt; and had to reinstall from the recovery partition. That's quality. Something loading on startup broke it, and it was stuck in a perpetual reboot cycle. &lt;/p&gt;
&lt;p&gt;I think  it might have been Daemon tools, but for chrissakes if something like that happens, your 'fix Windows startup' tool should actually &lt;em&gt;fix&lt;/em&gt; Windows startup errors. &lt;/p&gt;
&lt;p&gt;With all this in mind, if Microsoft came to me and asked what I'd like in the next release, I'd probably tell them something like what follows. &lt;/p&gt;

&lt;h3&gt;Things to fix &lt;/h3&gt;
&lt;h4&gt;Consistency - If it ain't broke&lt;/h4&gt;
&lt;p&gt;We've heard it from a lot of people that Vista's changes are &lt;a href="http://www.winsupersite.com/reviews/winvista_07.asp"&gt;wildly inconsistent&lt;/a&gt;. The problem with changing things is that they may make more sense to you, but you have generations of users who have gotten used to the way you did things previously. For example, first thing I do when I open the Control Panel is to click 'Classic View'. That way I don't have to try and guess whereabouts I click to uninstall programs (although, case in point, this icon is now called Programs and Features instead of Add or Remove Programs - I know which one makes more sense to me). Another example, you have to press Alt to see the menu bar in Explorer/Control Panel windows. Why hide them? It's not like users are crying out for 18px more vertical real estate. &lt;/p&gt;
&lt;p&gt;So please Mr Ballmer, be descriptive and sensible with where you place things, don't change things for the sake of it, and don't make me hunt for things that should be easy. &lt;/p&gt;
&lt;h4&gt;One version with everything&lt;/h4&gt;
&lt;p&gt;This point is blindingly obvious. Five different versions of Vista... is this really necessary? Follow Apple's lead and create one version of Windows which has everything for everyone in it.&lt;/p&gt;
&lt;p&gt;And make it cheaper.  &lt;/p&gt;
&lt;h4&gt;Break compatibility&lt;/h4&gt;
&lt;p&gt;You heard me right. &lt;strong&gt;Break&lt;/strong&gt; compatibility. The problem with speed, perfomance and size issues from Vista is that the bloated Windows codebase just keeps growing and growing. MS programmers can't remove deprecated APIs because it will break compatibility with older (usually Microsoft) apps, which have their hooks into the OS through hidden APIs and direct accessors, rather than doing everything above board.&lt;/p&gt;
&lt;p&gt;I think it's time MS took responsibility for this, however, and bit the bullet. &lt;strong&gt;Please break compatibility in the next version of Windows.&lt;/strong&gt; Cut back all the crap which you've had to support for the last decade, and give us a slimmer, faster, and probably even more secure kernel. Please.   It will be worth having to upgrade every app, trust me. &lt;/p&gt;
&lt;h4&gt;Give us back WinFS&lt;/h4&gt;
&lt;p&gt;WinFS was a new filesystem that Microsoft planned to introduce back when Vista was codenamed Longhorn. It actually &lt;em&gt;was&lt;/em&gt; revolutionary. The paradigm was that the file system was treated like a big database. Programs could run queries against the filesystem, and the idea of folders got even broader. With some smart metatags, you could have a folder which collected all files tagged 'Work' wherever they were. And it would act exactly the same as a real folder.&lt;/p&gt;
&lt;p&gt;However Microsoft scrapped  the idea along the way because it was slowing performance and development. See the point above, I'd say. Once you've got a small, speedy kernel again, build WinFS right back into it please. &lt;/p&gt;
&lt;h3&gt;Things I'd like to add&lt;/h3&gt;
&lt;h4&gt;Rearrangeable taskbar tasks&lt;/h4&gt;
&lt;p&gt;Call me obsessive-compulsive, anal, whatever, but I like my programs in a certain order. Thunderbird always comes first. I know I'm not alone with this one, and it would be incredibly easy to do. &lt;strong&gt;Please let me drag my programs to change their order on the taskbar. &lt;/strong&gt;I'm actually surprised this hasn't happened years ago. &lt;/p&gt;
&lt;h4&gt;Unified notification interface&lt;/h4&gt;
&lt;p&gt;This is a little idea that's been niggling at the back of my mind for a while. It's not quite complete, but sheesh Microsoft, do I have to do &lt;em&gt;everything&lt;/em&gt; around here?! I'll provide the idea, you implement it, okay?&lt;/p&gt;
&lt;p&gt;A lot of  desktop apps these days are using pop up &amp;quot;toaster&amp;quot; notifications. Live Messenger (or whatever brand is on it these days), email clients, Winamp, whatever. Whenever something important happens that I should know about, I get a little notification bottom right of my screen. This is A Good Thing.&lt;/p&gt;
&lt;p&gt;So is there any reason why this can't be a standard Windows interface? Something like this: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.joshsharp.com.au/resources/vista1_notification.jpg" alt="Vista Notification" width="316" height="139" /&gt;&lt;/p&gt;
&lt;p&gt;It could work. But you could also take it a bit further. What about something along the lines of &lt;a href="http://www.particls.com"&gt;Particls&lt;/a&gt;? &lt;strong&gt;A unified notification interface that applications can add events to.&lt;/strong&gt; And events wouldn't just have to be text - progress bars could reside in one interface as well. For example, why do you need to open the Explorer copy dialog to see how far your files are through? Check on that, and the status of your DVD burning, all at once. &lt;/p&gt;
&lt;p&gt;Maybe like this: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.joshsharp.com.au/resources/vista2_notification_area.jpg" alt="Vista notification area" width="364" height="59" /&gt;&lt;/p&gt;
&lt;p&gt;Or possibly horizontally along the bottom. I don't really know how to fit it nicely. But hey,  Microsoft can flesh out these interface ideas for me. I'm not even getting paid to do this. &lt;/p&gt;
&lt;h4&gt;Virtual desktops &lt;/h4&gt;
&lt;p&gt;Linux did it, MacOS copied, surely it's Microsoft's turn. Increase productivity by adding virtual desktops you can swap between. I won't go into much detail here, just look at how &lt;a href="http://lifehacker.com/software/virtual-desktops/"&gt;Linux or MacOS (or even third-party Vista plugins)&lt;/a&gt; do it. &lt;/p&gt;
&lt;h4&gt;Something groundbreaking&lt;/h4&gt;
&lt;p&gt;And finally, Microsoft, I'm going to leave the last one up to you. You know how you promised &amp;quot;the Wow starts now&amp;quot; with Vista? Most people would agree &amp;quot;the Meh starts now&amp;quot; is more apt. But that's okay, just do it better next time. Knock us over with a completely new UI paradigm. Show us how fast your new OS can boot up, how snappily it can run our programs, how nifty all the little extras are. And not just by rehashing everyone else's ideas (I'm looking at you, Windows Sidebar).&lt;/p&gt;
&lt;p&gt;Oh and for god's sake, don't make it any more shiny or I'll gouge my eyes out. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/joshsharpdesign/~4/232950738" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=joshsharpdesign&amp;itemurl=http%3A%2F%2Fwww.joshsharp.com.au%2Fblog%2Fview%2Fwindows_7_josh_edition</feedburner:awareness><feedburner:origLink>http://www.joshsharp.com.au/blog/view/windows_7_josh_edition</feedburner:origLink></item><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetFeedData?uri=joshsharpdesign</feedburner:awareness></channel></rss>
