RSS

Most Popular Posts

  1. Why you should be using a framework
  2. Perhaps the world doesn't need another framework
  3. Rewriting URLs with Apache's mod_rewrite and PHP
  4. Five easy things that make you a better web developer

About the Blog

Self portrait

I'm a web application developer in Melbourne, Australia. If you find anything useful, leave me a comment, and if you need web design, development, or accessibility and usability consulting, contact me! Cheers.

Twitter: joshsharp

a bird

Thoughts on Android and the HTC Dream

Monday 27 Apr, 2009

I recently signed up as to the Android Market as a developer so I could buy a "Google Dev Phone 1" which is an unlocked HTC Dream/G1. I've been interested in Android as an open-source competitor to the iPhone for a while, and given that the Dream has officially launched in Australia, and Australian developers are now able to submit (free only) apps to the Market, I thought I'd get a device to evaluate and maybe hack some apps on.

I'm quite interested in Palm's Pre OS too so I hope I don't end up with a Pre as well, "just to play with" :\

Hardware

When the G1 was first announced I was very underwhelmed. It looked decidedly average. I maintained this opinion for a long time until I had a play with one in person a little while back. It's actually not a bad device. It fits comfortably in your hand (at least when held vertically) and though it's a bit bulky the rubberised finish is nice to hold. Specs-wise it has all the nice things — wifi, GPS, compass, QWERTY keyboard and of course a touch screen.

Keep reading

0
comments

Announcing Twitterscribe: archive your tweets

Thursday 26 Feb, 2009

Update: Twitterscribe is now public. Anyone can sign up, so why not give it a go?

One of my resolutions this year was to deliver more of my side projects. Currently a lot of them are half-formed, either in idea or in function, and I wanted to change that by attempting to actually finish and make available whatever I start. So it is with a certain amount of glee that I announce my latest effort, Twitterscribe.

Keep reading

0
comments

Adventures in PHP interfaces

Thursday 01 Jan, 2009

So recently I've been having a play with Python. I like it a lot, and it's started to affect how I code in PHP — all of my freelance work still uses PHP, so it's still my 'primary' coding language. However, this means that all the little things I can do faster in Python come back to haunt me in PHP. It was bound to happen. Unfortunately, though, I can't just switch all my work to Python (and it has a number of shortcomings that make it harder to support, anyway) so to resolve this I've been attempting to replicate, in my PHP framework Rex, some of the things which in Python make my life easier.

The first of these is the syntactic sugar of SQLAlchemy's (and AppEngine's, Django's, and others) data selection syntax. With some nifty method chaining, SQL queries can be abstracted to such pretty code (yes, in PHP) as $user = User->all()->filter('Admin = 0')->order('FirstName','ASC')->go()->get(0);. I might follow up this post with another explaining how to achieve this method chaining, and it's really quite easy, but in the meantime I want to draw your attention to something else.

Keep reading

Tags: php
1
comment

How do you mockup websites?

Friday 17 Oct, 2008

I've been hunting for a new tool to help me mockup sites lately. I use Photoshop, but it's not quite right. It helps me lay things out quite nicely, and it doesn't bother me at all that it doesn't produce code — it's more about creating an image as close as possible to what I could replicate using HTML and CSS.

And that's actually where it falls over. Photoshop does many things, bless its bloated heart, but it doesn't support CSS styles. And why should it? It's not a website-mocking-up tool really. But it does become a pain if I want to set individual border styles, or test a repeating background image, or any of these things that are better described in code.

So in my search for something better I recently asked my faithful tweeps what they used. I got a couple of common answers: Photoshop, Illustrator/Fireworks, and "I code it all by hand." Personally I think coding it first when you haven't decided on what it'll look like is a bit silly, but that's just me. I think visually, or something.

But nobody enlightened me about the existence of the product I have in mind: an app that exists only to mockup websites.

Keep reading

Tags: css, photoshop
5
comments

Something's not right with Android's UI

Thursday 09 Oct, 2008

I've mentioned previously that I'm really excited about Android. Well, since the launch of the G1 phone, SDK 1.0, and now that its release is due very soon, I've changed my mind somewhat.

My feelings on the essential Android concept remain unchanged: I think it's a brilliant idea. A free, open mobile OS, unburdened by mobile operators' notions of what is appropriate, and with the ability to easily add and replace apps on the fly.

However, the Android concept and the final Android experience are two different things. Playing with the emulator and watching the UI walkthrough have made me uncomfortable. It's mostly a solid, functional UI, with some nice animations thrown in to spice it up a bit; certainly no worse than anything else on the market at the moment that doesn't start with a lowercase i. But I have some usability concerns.

Keep reading

Tags: android
3
comments

My lance is free

Monday 06 Oct, 2008

It's been a while, folks.

Just over a month ago now I waved goodbye to my previous job; to steady pay, job security, and working with some close friends. I gave it up for the chance to do my own thing. I liked my job, but was becoming increasingly bored and disillusioned with the work. What had begun as a chance to develop new applications from the ground up, to really be involved in not only the implementation but the core ideas behind the app's functionality (which is something I really love to do) had devolved into a cycle of "Hear from existing client -> Make arbitrary changes for client, often hacking apart code into a steaming mess -> Release -> Repeat."

But I'm not here to criticise my previous job, which really did teach me a lot and let me make a lot of great software without being overly constrained. The main thing I am here to tell you is this: freelancing rocks*.

Keep reading

7
comments

A short story about usability

Sunday 18 May, 2008

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.

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.

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. "Please replace item such-and-such," it asked me.

So I put the bag back down. "Please replace the item," 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.

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.

"Out of curiosity," I asked him, "what did I do wrong? Just so I know for next time."

His voice was curt as he replied, "You can't remove a bag until the big dollar sign is flashing."

Obviously.

My experience with the system illustrates perfectly how not 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. If you are dealing with an untrained userbase, things should be as obvious as possible. There should be very little room for mis-interpretation.

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, "it's okay to start packing a new bag now".

Tags: usability
1
comment

Twitter as social computer

Sunday 20 Apr, 2008

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).

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 noted by Scoble, 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.

But the way in which Twitter lets people interact has provided other interesting developments as well.

Keep reading

Tags: twitter
4
comments
Next Page
The next page contains such delights as:
techAU troubles - techAU.tv complains, new domain is born Announcing the launch of techAU.com.au TechAU repurposed as Aussie tech blogger aggregator Are aggregator sites getting a free ride? Managers vs developers: coding long term solutions Android idea: Real estate What I've been up to Windows 7: Josh Edition