[Home | Contact | What's New? | Products | Services | Tips | Mike |
Living with Schizoaffective Disorder

Please to Forgive

This site totally sucks when viewed on a smartphone.
I'll fix this Real Soon Now.

Custom Software Development by
Solving the Software Problem

Get better results for your customers, your company and your investors
by allowing experienced developers write your application for your firm.

Solving the Software Problem offers software consulting services. For a reasonable price we can bring your product idea from your concept to the market.

We write many kinds of code; click the links below for more information.

Ethical Search Engine Optimization

We can contribute to the success of your business, your cause, your idea or your political candidacy through means you'd be proud to tell your own Mother about.

Mac OS X Apps

Our test-driven software development process ensures that the products we write for you will be reliable and trouble-free, thereby reducing tech support costs and improving your company's reputation for reliable software.

Mac OS X Device Drivers

Open your hardware device, filesystem or network server to new markets by having experienced developers write your Mac driver for your company.

iPhone App Development - also for the iPad and iPod Touch

The Objective-C Programming Language, Cocoa Touch Application Framework and the Interface Builder Visual Layout Tool are deceptively simple, in that anyone who knows even very basic programming can get their very first iOS App up and running in a matter of hours.

In reality, it is incredibly difficult for new developers coming to the iPhone Platform from other operating systems or APIs - even from the conceptually similar Cocoa on Mac OS X - to code a program for iOS that does anything really interesting or useful, that at the same time works reliably and robustly, is easy and intuitive to use, and has no bugs or usability problems that could lead it to lose end-user data.

To see this, visit the App Store, then study the customer reviews of a dozen or so randomly-selected iPhone, iPad or iPod Touch Apps.

This is best done from iTunes; from the Store Menu, Select Home. In the black navigation bar across the top of the iTunes window, just below the header with the audio controls, click on App Store. From there, click on the icon for any App at all.

Now scroll towards the bottom of the App's product description page. Just below the Screenshots are the quite refreshingly uncensored Customer Reviews.

From the Sort By drop-down menu on the right, select Most Critical, then read some of the reviews to determine whether any consisten pattern turns up for that App.

The vast majority of iOS Apps in the App Store have multiple Customer Reviews that report that the Apps consistently crash, fail to work as designed, or even fail to launch at all!

We find this quite puzzling, given that Apple's own stated policy on product defects in iOS Apps has always been quite clear: they are not permitted in the App Store. If that's the case, why do so many iPhone Apps crash so much? It's not just that so many Customer Reviews report buggy programs; that is our own experience with Apps that we have installed on our own devices, even those we paid good money for.

To read the App Store Review Guidelines directly, you will need to register for an iOS Developer Account. Once logged in to your account, visit the App Store Review Guidelines public page, then click the link entitled App Store Review Guidelines for iOS Apps. Scroll down to the Table of Contents, then click the Functionality entry.

Study carefully what you find there:

2. Functionality

2.2 Apps that crash will be rejected

2.3 Apps that exhibit bugs will be rejected

2.4 Apps that do not perform as advertised by the developer will be rejected

We have installed many Apps on all three types of devices, running firmware releases all the way back to 3.1.2. It is our sad experience that very few of the Apps we have actually tried ourselves work at all well. Even among those that are not outright buggy, the designs or feature sets of most are so poorly thought out or implemented so as the make the product completely useless to the customer.

It doesn't have to be this way.

To that end, we are working to give other coders the benefit of our experience in part by writing detailed, well-researched, insightul and clear articles on How to Write iPhone Apps that Actually Work.

We have quite a lot of work ahead of us to document what we have learned during Warp Life's development. So far we have:

assert() is the Documentation that Keeps on Testing

I came very close to calling this article "Source Code Comments Considered Harmful" but that's an essay unto it's own.

Stress-Testing Software with Error Injection

We can stress-test hardware by injecting errors into, say, automobiles. Slam a crash-test dummy laden car into the rear end of a Ford Pinto.

[Home | Contact | What's New? | Products | Services | Tips | Mike]