Articles on Mobile

Jonah Williams

Jonah Williams

iPhone Distributed Computing Fallacy #7: transport cost 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 #6: there is one administrator

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 #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

Jonah Williams

Jonah Williams

Continuous integration for iPhone projects in TeamCity

Carbon Five has been using TeamCity as our continuous integration server for most of our recent projects, including our iPhone work. Out continuous integration environment monitors the git repository used by each project, runs the project’s tests each time a change is pushed to the repository, and can automatically produce an ad-hoc build of an

Jonah Williams

Jonah Williams

UIView Frames and Bounds

All UIViews have frame and bounds properties which define their dimensions. The similarity of these properties can cause some confusion when attempting to determine which property to use to calculate view sizes or reposition views. The frame of a view is given in the coordinates of its superview so a view controller’s view’s frame will

Jonah Williams

Jonah Williams

Testing iPhone View Controllers

I have been writing tests around my iPhone apps’ view controllers in order to follow the same TDD practices we use in other environments. Writing tests first has changed the way I structure my code in a couple of ways which I think offer immediate and emergent benefits for my applications. Most of an iPhone