-
Get a monthly update on best practices for delivering successful software.

This year's Day of Mobile had a number of interesting tracks, including the ever popular hack-a-thon.
In the hack-a-thon, developers worked alone or in teams to build applications that targeted any one of the mobile platforms (iPhone, Blackberry, Android, Palm, Windows Phone) and presented their applications to the attendees to win prizes.
Our own Mike Laurence, who won the in in the open source category for developing an iPhone application for the Lighthouse issue tracking service. In three hours.
How? By using our recently released Core Resource Framework, a local/remote resource management framework that accelerates the creation of API clients, our soon to be released DynamicCell project, and integrating with the Lighthouse API. Pretty sweet.
I talked to Mike about it afterwards, and here's what he had to say:
"Three hours is a pretty short time to develop an application, but this was a good chance to test out the Core Resource framework. I've been working on the framework itself for the last five months or so; for the hackathon I decided to see if I could actually make a working app in 3 hours. I ended up creating a Lighthouse account (bug tracking website) for the project, and because Lighthouse has a nice API, that's what I used as my source. I did get an app up and running in 3 hours, which was pretty exciting. It even looked decent, due to the other open source project I announced (DynamicCell.")
The Core Resources framework is available now, and look for an announcement on the DynamicCell project in the next week or so.
We're building a fair number of iPhone and iPad applications now, and it's great so have someone like Mike on the team and contributing back to the community.
Topics: iPad, ipad development, iPhone, iPhone Development, iphone framework, Open Source
Day of Mobile is happening this Saturday, and Pathfinder is proud to be sponsoring the event.
This should be a very cool event , and we're excited about interacting with other mobile developers in the Chicago area. We look forward to seeing you there!
Day of Mobile is an all day event for mobile developers and enthusiasts that will take place at IIT on March 6, 2010. The overall goal of the event is to better prepare both Chicago's application development community and companies with mobile initiatives for the upcoming mobile revolution. We will cover a myriad of different topics relative to mobile development and strategy such as platform SDKs, cross platform development, multimedia, CMS/SMS, mobile business models and many more. The event will begin with a breakfast at 8AM and conclude after a keynote speech and hackathon awards ceremony at 4PM. Throughout the day, there will be talks running concurrently with one another in two adjoining ballrooms.
There's still a lot of internet chatter about why you'd want a tablet anyway. I think there's a big space between the laptop and the iphone, and that in particular, the iPad, iPhone and iPod Touch will take over from a lot of purpose built devices that deliver specific high value functionality. Here are a few examples:

1. The daily commute. It's a simple matter of ergonomics here. I will use the iPad, sold with a cheap data plan when I'm sitting down on the El, rather than the iphone. Because it has a bigger screen, and it's already connected. I won't use my laptop, because it doesn't come with a data plan (or only an expensive one that I won't buy), and it's pretty uncomfortable to use in a cramped row of seats. I'll use it instead of a laptop because the form factor works much better, and because I will have bought the data plan bundled with the iPad.
2. The eBook reader. I'll use it instead of a Kindle because it will be good enough (or better), and I can do a lot more than read with it. My guess is there will be more people that read on the tablet than who buy a dedicated reader. (Just as there are more people who do photo sharing on facebook than on flickr.)
3. In the Kitchen. If I'm in a situation where a sealed, mess resistant device with a big screen is a big advantage (like a kitchen) then I will use the tablet. I will prefer it to the iPhone because it's bigger and I can look at it while I'm doing something else, and I will prefer it to a laptop because the keyboard will not get gunked up. There are already devices retailing around $300 to store and retrieve your recipes in the kitchen - an iPad with the right recipe app will run rings around that.
Continue reading »
Topics: apple tablet, iPad, iPhone, Mobile, purpose, purpose built devices, tablet
A few weeks ago, I wrote about the Skype Video Phone, part of a trend towards trading needless complexity for simplicity and ease of use. It's also on the wrong side of another trend: The trend away from single purpose mobile devices to flexible mobile platforms.


For a while there was a trend towards more and more purpose built digital products, from ebook readers to portable picture frames and pocket size digital cameras, all the way to to digital recipe readers ($299) and tablet pcs with tough cases, handles and barcode scanners for the medical industry.
The iPhone, the iPod Touch and the soon to be launched iPad signal a reverse of that trend. Apple has designed and built flexible platforms that combine the ease of use and simplicity that single purpose devices with the flexibility of general purpose devices, and that is proving to be a compelling value proposition.
On the iPad, for example, you can easily get as good or better a recipe reader experience as you would with the demy digital recipe reader, a better digital picture frame or slide show experience than with a digital picture frame, likely as good or better of an ebook reader experience, and likely as good or better of a bar code scanning medical tablet experience.
How is that last possible, when the iPad does not come with a bar code scanner? The solution will likely be through peripherals built into functional cases. As an example, take a look at the digital checkout devices like Apple's own EasyPay touch (used at Apple's retail stores), Verifone and Morphie - that combine a magnetic card reader, a bar code scanner and a battery in a case for an iPod touch.
Continue reading »
Topics: ease of use, iPad, iPhone, Kindle, Mobile, purpose built devices, simplicity
I remember my first real grownup and serious web project outside of the university environment. It was 1994 and SSL was a novelty. People were making insane predictions that one day up to $600 million (think Dr. Evil) worth of consumer goods would be sold on the web worldwide. In 2007, just Canadian B2C sales were US$12.9 Billion.
Some folks, especially startups and smaller companies, saw the web as an opportunity to shake up the established order and establish a new sales channel or an entirely new business model. They invested what they could in building the first of what became known as e-commerce sites. Among established players, and some more conservative smaller players, there was initial hostility toward the new medium. When in 1994 I proposed to Ameritech (now part of SBC/AT&T) that they bring their lucrative print yellowpages online, I was run out of Hoffman Estates on a rail.
A friend of mine from college is a physics professor who does a lot of stuff with the space station and the new Google Lunar X Prize, that awards up to $30 million for the first non-governmental organization to land a robot on the moon. He likes to get his students involved and has a gift for expressing things in terms they can immediately grasp. "The robot," he tells them, "can be small. Think of an iPhone with wheels."
When something has penetrated the collective consciousness the way the iPhone has, it changes the way we look at what is possible.
Topics: Google X Prize, iPhone
Laptops are a strange, inefficient tradeoff between an iPhone’s portability and a desktop’s capabilities. They don’t satisfy either need extremely well, but they’re much closer to desktops than they are to iPhones. The usefulness and portability gap between a laptop and an iPhone is staggeringly vast ... Ergonomics are awful unless you effectively turn them into desktops with stands and external peripherals. But they can do nearly any computing task that desktops can do, and they’re able to replace desktops for many people.
- Marco Arment, “The Tablet” and gadget portability theory"

One of Steve Jobs slides during the iPad announcement last week showed an iPhone, a macbook, and a space in between with a question mark. Was there room for a third device between a laptop and an iPhone?
If it's a small space, suitable for a few niche products like the Kindle, then the iPad hullabaloo is much ado about nothing. If the space is big, and eats into laptop market share, then this becomes a major turning point in how we interact with computers.
Apple is betting that the space is big, and that the future of computing will look a lot more like the iPhone than the Laptop. Let's think about what that means: If Apple's tablet, like it's smartphone, and it's music player before that, becomes the preferred and dominant device of it's kind, and that device starts displacing the preferred computing device of the current time (the laptop, which in turn replace the previous preferred computing device (the desktop computer), a market for which they currently only have 8.8% (although 91% of laptops above $1000) then they win really big.

Why would you replace your laptop (with it's bigger screen and it's moderately comfortable keyboard) with a tablet?
Both are portable, but a tablet is more portable, and more usable while on the go.
To realistically use a laptop, you need a large surface, enough room in front of you, and preferably a seat. Otherwise, you look like this.
A seat on the subway or in economy class on a plane is too cramped and uncomfortable for most people. You need at least some time.
For the times when you need a keyboard - when you're writing an email, or a document, or a presentation, or developing software - you can set your tablet up in a work environment, just like you do with your laptop - docked, or at least connected to a large display, a wireless keyboard and a wireless mouse. You can take the last two with you when you go home, or to a coffee shop, or your in laws house.
Those rare situations where you really need that full keyboard in that cramped setting without a work surface, you can either make do with the onscreen keyboard, or find yourself a flat work surface when you need a laptop.

Of course some people will not be able to do without even in those rare circumstances, like this fellow on a plane, or like those who cannot do without their blackberry, and those people will not switch (at least not right away.) The same way that many people bought desktops for a long time, and then eventually switched to laptops when the computing power difference and cost difference no longer outweighed the convenience factor.
But for the rest of the world (and I'm betting that's a much larger audience,) having a multifunction, always connected, portable computing device that I can use like a desktop or in truly portable fashion will be clearly preferable.
At that point, you've introduced a serious disruption to the personal computing market. People who don't buy your laptops but buy your iphones and ipods, now will have another reason to buy a device from you, that's a replacement for their current laptop (likely not a mac, but a windows box.) If that happens, Apple will have won not just the current battle, but the war with Microsoft and IBM that they fought and lost 40 years ago. If it happens, that's the business story of our time.

I just finished looking at a couple of live blogs on Apple's big iPad event, flipping back and forth between Macworld and Ubergizmo's coverage.
While initial reaction has been all over the map, mine is overwhelmingly positive. I think they hit a grand slam.
Here's why:
1. There are lots of reasons why a tablet is a better mobile device than a laptop or a netbook.
2. The price is right (Starts at $499, goes to $829)
3. The data plans are right (Wifi, 3G $14.95 to $29.95 for data plan coverage from AT&T, use at all wifi hotspots, no contract.)
4. iWork for $30. Web browsing, photos, vidoes, reading, games, email, word processing, spreadsheets and presentations - that's 95% of what 90% of people do with a computer.
5. Dock and Keyboard. Use it like a desktop, if you must.
6. iPhone and iPod Touch software works on it now, the SDK (iPhone OS) and emulator are released the same day, and units will ship in 60 days. That means iPhone developers like us will be pushing out new versions of those 100,000 apps as well as brand new apps out there as fast as we can design and code.
7. The app store model makes installing new apps a one click affair. I don't get any "Honey, can you help me" shouts from my wife with the iPhone, and I wont get them with the iPad either (especially since it doesn't have a camera;-)
In short, this is great news for those people yearning to trade away technical complexity for vastly increased simplicity and ease of use.
Sure there are things that a lot of people (smart, tech savvy analysts and developers all) will bemoan* and think are missing, but the same thing could be said of the iPhone. It's Apple's way (only release it if it kicks ass and makes them money) it works, and it will work here as well.
* I of course was hoping for front facing video camera for video phone support.
Topics: apple, apple tablet, iPad, iPhone, iPhone SDK, tablet, touch, touch screen
Anther interesting item from yesterday's earnings call:
Over 90% of iPhone apps are approved within 14 days of submission.
Given over 100,000 apps in the store from a wide variety of developers (from amateurs to experts) and a wide variety of topics, that's actually pretty good. Apple claims that most rejections are actually for bugs in code, which makes sense given the wide disparity in development quality and test coverage.*
* For example, are you testing your software for ipod touch as well? You should - applications have been rejected for working on the iPhone, but not the iPod touch.
Topics: ap store, iPhone, ipod touch, Testing
Macworld’s Coverage of Apple’s Quarterly Results and Finance Call had some interesting news on continued enterprise iPhone adoption:
Not bad given that Apple has only been in this business for 2.5 years.
This certainly jibes with a lot of what we are seeing from our customers, that the iPhone is the first choice for mobile application development and the first choice among consumers and corporate customers when given a chance. It also validates our recommendations from last year on which mobile platform to develop for.
Let's see what tomorrow's big announcement brings.
Topics: enterprise iphone development, iPhone
As an answer to those asking why we need a tablet anyway, there's a very funny set of pictures and comments at WTF Is Wrong with Laptop Users in the Media. The author went through the first 400 images (out of 28,886) he got on a search at Getty Images of "Using a laptop" and compiled the highlights. My favorites:





Now ask yourself, in which of those pictures would (a sealed, always on, always connected) tablet make more sense?
In all of them (although the beach one still seems like a bad idea.)
Topics: apple tablet, iPad, laptop, tablet
I've made my fair share of predictions, and this may seem to be a layup, but I think it's a prediction worth making anyway: mobile devices and applications will transform business and every day life in the next decade.
Why does this seem like such a layup? Well, look at the iPhone and the ecosystem of applications and companies springing up around it. Android and Blackberry are trying to jump in on the business and everybody and their brother is cooking up a connected mobile device. And yes, that's obvious. Mobile devices are going to increase in importance in 2010 and if you don't already have an iPhone app cooking to complement your other online channels, you're behind the times.
But if you're just thinking that more iPhone applications are going to be the end of it, you're in for a rude awakening. Businesses have just started consolidating after the disruptive years of the 90's and aught's, with the transformative effects of the web largely digested by the marketplace (the newspaper industry is still thrashing but will soon succumb). A new disruptive decade is dawning that may see the passing or fundamental transformation of industries as varied as telecom, credit card and broadcast television/cable. Prepare to take your business through a roller coaster ride every bit as challenging as the web revolution. Continue reading »
Topics: iPhone, Mobile, Predictions
Just got my hands on a copy of Android, Wireless Application Development by Conder and Darcey and have been working my way through the first three chapters (really, the actual development starts in chapter 3).So far so good. Some of the pseudo JVM (Dalvik) takes a little bit of getting used to, but it's not really that bad. I'd say that the real thing that pops out at me is that I want a way of developing iPhone and Android applications at the same time, without having to jump through hoops to do so.
I should have a full review of it up in a week or two.
Eric Smith from 8th light gave a hands-on TDD presentation at last night's Chiphone meeting, hosted at Obtiva's downtown office, (conveniently located near the the train).
There was a good crowd of people, most attendees have 'played around' with iphone development, 4 have actively developed apps (3 people have live apps in the store). From my quick survey of those that have submitted apps, it seems most of them were free utility apps or simple games, with at least one commercial app Dash for Confluence. It also seemed that no one had yet needed to do any animation beyond the basics, with just a bit of core-animation, but no need for more lower-level openGL or animation engines.
Eric started off by saying that he's given talks on iPhone testing, but that just telling people what to do is not the same as letting them experience it for themselves, so we did a Randori, where a pair starts working on some code, and every 3 minutes one person from the pair swaps out and chooses his replacement from the crowd.
What I liked about this was that I felt like I got to know the audience better, and actually watch people reason their way through the code or a testing/mocking issue. (You know how sometimes you go to a user group, and it can be hard to get a chance to talk to others, or sometimes there is a 'know-it-all' guy, and you just want him to shut up. Knowing that you are going to have to go up there and code is a great way to silence those types)
When it was my turn, there was an interesting issue with one of the tests that had us all stumped for a bit, but ultimately ended up being one of those problems where you need to deconstruct everything and build it back up. (The issue was that while we were trying to set fooController.textView.text = @"foobar", we hadn't instantiated a textView object, or set it on the controller yet.)
Continue reading »

I have a native iPhone application in development which requires me to interact with a server that uses a stateful protocol over a persistent connection to transfer messages over the wire. This is definitely not a trivial application to write, even though the UI itself is very simple.
Stateful protocols and persistent connections are often interrelated, but not by design. My first problem was to divide the original problem in two: how to manage the persistent connection, and how to handle the underlying protocol so that the stateful aspects did not bubble up throughout the UI.
Topics: iPhone SDK, NSURLProtocol, Objective-C