a thousand words: First Sketches

With the main brows­ing UI for a thou­sand words up and run­ning, it’s time to bore the world with more point­less trivia before mov­ing on. Today: design sketches!

Pretty much every soft­ware project I under­take these days begins with a sketch of the user inter­face and an ini­tial struc­ture for the data­base. Labour­ing under the cruel ‘no white­board’ con­di­tions at home (maybe I should get one?), I drew these out on paper. Pass­ing the UI sketch over to Eric after about 5 min­utes’ work, she described it as “awe­some”. I think that’s the first time that’s ever hap­pened; the gen­eral response at work is along the lines of “but where are you going to put giant-ugly-element-X that I’ve just thought of and wasn’t in the spec?”. So that was that, and I’ve coded it up pretty much as it was on paper.

The data­base hasn’t changed much from the orig­i­nal design yet, but it will have to soon — as designed, the vote (‘stars’) sys­tem doesn’t record each user’s vote on each story, so it can’t sup­port users chang­ing their vote. Some­time dur­ing devel­op­ment I’ll have to devote a few hours to fig­ure out the best way of han­dling it, though that prob­a­bly comes down to a few min­utes as some­one on Stack Over­flow has inevitably asked about it already.

a thousand words UI Sketch

UI Sketch


a thousand words Database Design

Data­base Design

Next up on a thou­sand words is cod­ing the first few forms that will allow users to reg­is­ter and log in, sub­mit pho­tos and sub­mit sto­ries. That should be done within the next few days, and will allow me to play with actu­ally chang­ing the con­tents of the data­base, rather than just show­ing views of it.

a thousand words: A New Timesink has Arrived!

Some­how unable to cope with actu­ally hav­ing free time of an evening, I have taken on yet another project which will doubt­less push me deeper into the dark, untamed wilds of the inter­net, the land stalked only by the mys­te­ri­ous beast known as the “web developer”.

Eric has come up with the idea for a fiction-writing com­mu­nity known as “A Thou­sand Words”. The con­cept is simple:

  • Users sub­mit pho­tos or other images that they find interesting
  • Every week (or other suit­able period of time), one of these is cho­sen by the site staff
  • Users then write short sto­ries, of around 1000 words, inspired by the picture
  • Users rate, com­ment etc. on each other’s stories

I’ll be cod­ing up this site in my spare time over the next few weeks, and you can check out my cur­rent progress on the live site at a thou­sand words.  Cur­rently, the data­base design is done and I’m part­way through the UI of what will be the main page.  My todo list is roughly:

  1. Fin­ish the main page and story page UIs.
  2. Add bare-bones pages for all the GET/POST func­tions, e.g. reg­is­ter­ing accounts, sub­mit­ting sto­ries, sub­mit­ting pictures.
  3. Test all the functions.
  4. Work on their UIs.
  5. Start closed beta test­ing for any­one interested.
  6. Lib­er­ally apply jQuery to improve user experience.
  7. Add com­ment­ing, pos­si­bly via DISQUS.
  8. Add proper user pro­files, gra­vatar sup­port etc.
  9. Get every­one I can find to try and break it.
  10. Release!  Open the flood-gates, and despair at the drib­ble I receive.

As I go I’ll be post­ing updates and hopefully-interesting insights here, and you can always check the site at athousandwords.org.uk to see how I’m get­ting on.