Articles on Software Design

Jonah Williams

Jonah Williams

iPhone Distributed Computing Fallacy #5: topology doesn’t change

Reviewing the 8 classic “fallacies of distributed computing” and how we can avoid them when writing iOS applications. The fallacies of distributed computing The network is reliable. Latency is zero. Bandwidth is infinite. The network is secure. Topology doesn’t change. There is one administrator. Transport cost is zero. The network is homogeneous.

Jonah Williams

Jonah Williams

iPhone Distributed Computing Fallacy #4: the network is secure

Reviewing the 8 classic “fallacies of distributed computing” and how we can avoid them when writing iOS applications. The fallacies of distributed computing The network is reliable. Latency is zero. Bandwidth is infinite. The network is secure. Topology doesn’t change. There is one administrator. Transport cost is zero. The network is homogeneous.

Jonah Williams

Jonah Williams

iPhone Distributed Computing Fallacy #3: bandwidth is infinite

Reviewing the 8 classic “fallacies of distributed computing” and how we can avoid them when writing iOS applications. The fallacies of distributed computing The network is reliable. Latency is zero. Bandwidth is infinite. The network is secure. Topology doesn’t change. There is one administrator. Transport cost is zero. The network is homogeneous.

Jonah Williams

Jonah Williams

iPhone Distributed Computing Fallacy #2: latency is zero

Reviewing the 8 classic “fallacies of distributed computing” and how we can avoid them when writing iOS applications. The fallacies of distributed computing The network is reliable. Latency is zero. Bandwidth is infinite. The network is secure. Topology doesn’t change. There is one administrator. Transport cost is zero. The network is homogeneous.

Jonah Williams

Jonah Williams

iPhone Distributed Computing Fallacy #1: the network is reliable

As iPhone and web developers we have a number of useful abstractions available for working with network requests. Unfortunately none of them can actually spare us from needing to consider the realities of an unreliable network, especially when working with mobile devices. Fortunately with a little foresight and a few good patterns we can build

Andy Peterson

Andy Peterson

Ew… you got CSS in my Javascript

The other weekend I test drove a little Javascript library to output CSS style rules from within Javascript. I took the most obvious Javascript-literal approach to get the most out of Javascript support in editors. I called it Csster (“sister”), and it looks like: Csster.style({ h1: { fontSize: 18, color: ‘chartreuse’ } }); All it

Alex Cruikshank

Alex Cruikshank

A few experiments with HTML 5 applications

I’ve had a long-standing interest in taking client-side programming beyond display logic and input validation. The new HTML 5 technologies are making full-scale application development in the browser increasingly practical. Unfortunately, the needs of Carbon Five’s clients generally exceed the capabilities of purely client-side solutions, so I don’t get to spend as much time developing

Andy Peterson

Andy Peterson

Javascript Testing Talk in Oakland

Next week at EBig Jonah and I are wrapping up our world tour of talking about Javascript testing. March 17th in Oakland: “Recent evolutions in Javascript testing frameworks now allow creating test suites, test-driving development, and running tests on a continuous integration server. This allows us to support more complex Javascript, have confidence in the implementation,

Andy Peterson

Andy Peterson

Test-Driven JavaScript with ScrewUnit and BlueRidge

Jonah and I are taking our presentation about Javascript Testing on the road next Tuesday at 6:30 in Palo Alto, at the SDForum The teaser for it… Recent evolutions in JavaScript testing frameworks now allow creating test suites, test-driving development, and running tests on a continuous integration server. This allows us to support more complex JavaScript,

Rob Pak

Rob Pak

Agile Modeling Techniques for Story Writing

At Carbon Five, all our projects begin with ‘customer facing’ meetings focused around determining scope and expectations. A core component of these early meetings involves one or more story writing sessions. The end goal of story writing sessions is to have most user stories in a project documented (i.e. in Pivotal Tracker) regardless of whether