Category Archives: Consulting

Agile Websites

Agile Software Development methodologyMany of the sermons from the Texas JavaScript 2013 symposium were about what we value, how we build, and where we’re going with this whole web thing. They caused me to dig down to the bedrock of how and why we do things. And when I go there, I revisit The Agile Manifesto.

What does it mean to build responsive, mobile first apps & websites in an Agile way? Well, as we’ve been doing it, and teaching others to do it, we’ve been uncovering better ways of developing sites & apps; through this work we have come to value:

  • Individuals and interactions over processes and tools
  • Working websites/apps over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

To learn more about how these values work out, in the way we approach product design, client relations, building deliverables, meeting milestones, et. al., read the principles of Agile, and let’s have a discussion.

Dialogue is a good way to unpack the meaning encoded in the language of the twelve principles, and I always love a good thread on Twitter, comments on my blog, or talking over some good coffee and/or beer. I’m persuaded we’ll learn more, and be enriched through conversation.

Advertisements

Use Base 36 for transaction ID’s

After the transaction with your website, your customer needs a ticket number of the purchase/reservation/vote/et.al for tracking purposes. When it comes to making that a number your customer can easily write down on a piece of paper, why limit yourself to just the top row of the keyboard —why not use letters, too?

It turns out this is an easy way to cut the size of tracking codes in half. So, change the radix of your number to something higher than, base 10…

Since there are 26 letters in the alphabet, how about adding 10 + 26 = 36. The base 36 numbering system effectively uses all of the easy symbols on a keyboard which are also easy to repeat to customer service over the telephone.

Let’s use 36 as our radix. Here is how in JavaScript:


var x=+new Date,
y=x.toString(36),
z=parseInt(y,36);
console.log(x+" » "+y+" « "+z);