Category Archives: Business

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.


$99 tablets mean web dominance

It’s confirmed, Acer is going to market their Iconia B1 tablet for under $100. This means that touch-based, Internet access is becoming more broadly available worldwide, as the exponential rate of paradigm shift away from the Desktop PC to mobile devices continues. Will Acer try to position their software marketplace against Apple’s or Microsoft’s or Google’s?

No, of course not. Acer is in the commodity/clone business. They’re just trying to make a small margin selling hardware that runs open standards applications built chiefly with web technology i.e. HTML5, CSS3 and JavaScript. Oh yeah, there will be some 6%-10% of apps built on the highly fragmented, tough to target Android OS, by the very large & successful software houses. But the overwhelming, lion’s share of app development for tablets will continue to be in the lingua franca of mobile: web tech.

It’s a great day to be a web developer.


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


PyTexas 2012

PyTexas

Here’s a quick summary of my experience attending the 2012 PyTexas conference.

On Saturday morning, Mr. Powell discussed features of Python that make the language notable, like functional programming constructs, decorators, generators, and context managers. While each of these is fair simple to understand and could be accused being mere syntactic sugar, I think they make code much easier to read and maintain, than the acrobatics which would be required without having them in the language. So for example, any of these can be done in JavaScript much less elegantly. Elegance counts! ✰✰✰

For scientific & embedded systems programming, performance matters, and compiling script to native machine code is a good way to increase code execution speed. LVVM is a compiler, like GCC, but exposes its internals to Python as a library. Dr. Schnell’s talk explored how LLVM can by used from Python directly and introduced numba & bitey. ✰✰

Luke Lee explored dunder methods, explaining what they are, why they’re useful, and how they contribute to the overall design of a fully Pythonic object. ✰✰

Tomo Popovic explained what the popular Scrum software development process is and how it works. It is an iterative and incremental agile development method for project management and software development. ✰✰✰✰

On Sunday, Gabriel Grant’s talk on Building Rich Applications with Django and Ember.js was dense. ✰✰

John-Michael Oswalt’s talk on “Finding the Balance Between Micro-Coding versus Macro-Coding” was astonishing in intelligence and candor about the challenges of developing for systems that scale well under bandwidth load and big data in the real world. ✰✰✰

The lightning talk on how to revise code to make it more readable & powerful with python-specific features was delightful; it showed me how truly kind and friendly the Python community is in Texas.  The conference was enjoyable because the people have chosen python for their livelihood are so amicable.  They may be fewer in number, but I have found that it isn’t numbers that counts when you need help understanding something; usually one or two friendly persons make all the difference.


And The Web Grows Round II

Microsoft’s era of browser dominance brought a much needed plateau on the ascent of the new era of electronic communications.  Companies figured out the web was here to stay. Upstarts faltered and those who failed to create value faded away, as the dot-com gold rush winners became ensconced.

Development of web standards at the World Wide Web Consortium was moving at a snail’s pace.  Frustrated with this stagnation, some web pros at Mozilla, Apple, & Opera formed together in 2004 as the (WHATWG) Web Hypertext Application Technology working group. In just three years, their proposals earned the acceptance of the W3C as the direction of the future.  And so what we know as the HTML5 movement started an exponential increase in momentum.

2007 also witnessed the advent of a personal mobile product which would rock the world: the iPhone. Apple built this new palmtop computer on a derivative of the venerable Macintosh operating system, and laid the Mobile Safari web browser at its base.


And The Web Grows Round

When I started weaving web at Fort Worth in 1994, only enlightened IT companies hired a “Webmaster.”  I was thrilled when companies decided their website needs were important, and added a System Administrator (SysAdmin) and Database Administrator (DBA) to pull those responsibilities out. The world wide web continued growing in scope & momentum; they added a Writer and Graphic Designer to the team, further specializing the Webmaster as merely a “Developer.” Ecommerce firms added project managers and/or business analysts to the team as executives realized the web could cut costs or raise revenues. One of those became a client relations specialist, as companies moved their internal information, data, and communications infrastructure to the web department.

When the Internet bubble popped, the browser wars ended, and the decade of Microsoft Internet Explorer dominance began.  Web was legit, things were stable, and there was a time of peace for progress & prosperity.

Then Apple invented the phone. This initiated the mobile browser wars, which would overthrow Microsoft dominance and revolutionize the way we use the web.