-
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
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 January 26th, the rumored date for Apple's rumored tablet unveiling draws near, the hype and anti-hype keeps getting more and more over the top:
Five Ways Apple's Tablet May Change the World
The world doesn't need an Apple tablet, or any other
and the inevitable
3 Reasons A Microsoft-HP Tablet PC Would Trump Apple
If you want to keep up to date on the rumors, Gizmodo has a regularly updated run-down here.
There are a couple of places that have more informed speculation and insightful commentary - I'd recommend these three in particular:
Antacid Tablet by ars technica's John Siracusa:
... There's also the popular notion that Apple has to do something entirely new or totally amazing in order for the tablet to succeed. After all, tablets have been tried before, with dismal results. It seems absurd to some people that Apple can succeed simply by using existing technologies and software techniques in the right combination. And yet that's exactly what Apple has done with all of its most recent hit products—and what I predict Apple will do with the tablet. ...
So how will an Apple tablet distinguish itself without any headline technological marvels? It'll do so by leveraging all of Apple's strategic strengths. Now you're expecting me to say something about tight hardware/software integration, user experience, or "design," but I'm talking about even more obvious factors:
• Customers - Apple has over 100 million credit-card-bearing customer accounts thanks to the success of iTunes.
• Developers - Over 125,000 developers have put over 100,000 iPhone OS applications up for sale on the App Store. Then there are the Mac OS X developers (though of course there's some overlap). Apple's got developers ready and able to come at the tablet from both directions.
• Relationships - Apple has lucrative and successful relationships with the most important content owners in the music and movie businesses.These are Apple's most important assets when it comes to the tablet, and you can bet your bottom dollar that Apple will lean heavily on them. This, combined with Apple's traditional strength in design and user experience, is what will distinguish Apple's tablet in the market. It will provide an easy way for people to find, purchase, and consume all kinds of media and applications right from the device. It's that simple.
Thoughts on what an Apple tablet should be – or not by Andy Ihnatko
Apple always asks themselves simple and stupid questions like “How will this device be used?” and “Will this be used by human beings with, I mean, arms and hands and fingers?” and stuff like that.
The iPhone UI isn’t a desktop user interface where a pen takes the place of a mouse ... which is the model that previous smartphones followed. It was designed to be held in one hand and tapped with your thumb. Occasionally you’d use the index finger of the right hand to key things in.
You want to try to figure out the UI of the RAT? Go get yourself a comic book, or any other rectangle that measures roughly 10” on the diagonal. Hold it as though you’re reading what’s on the surface.
You see the problem? Your fingers get in the way. Think about how big that surface is, too. That’s a lot of acreage to scan, looking for the right buttons to push.
While you’ve got it in your hands, imagine that it’s a sheet of thin steel. That’s heavy, isn’t it? Hard to hold up for long periods of time.
Think about how a user interface would have to incorporate those observations. Now imagine that you’ve been doing this experiment for four years and not four minutes.
That’s a very long list of observations. If you didn’t come up with a workable solution, don’t worry: I think Apple has.
and
The Tablet by Daring Fireball's John Gruber.
... The way Apple made one device [the iPhone] that did a credible job of all these widely-varying features was by making it a general-purpose computer with minimal specificity in the hardware and maximal specificity in the software. And, now, through the App Store and third-party developers, it does much more: serving as everything from a game player to a medical device.
Do I think The Tablet is an e-reader? A video player? A web browser? A document viewer? It’s not a matter of or but rather and. I say it is all of these things. It’s a computer.
And so in answer to my central question, regarding why buy The Tablet if you already have an iPhone and a MacBook, my best guess is that ultimately, The Tablet is something you’ll buy instead of a MacBook.
Gruber's a bit more gung ho than Ihnatko or Siracusa, but they both make a pretty compelling case that something very interesting is about to happen over the next year.

Topics: apple tablet, iPad, iPhone
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 »
Although I’ve seen so many players rise and fall over the years, what has inspired this post is the irony of what is happening to Microsoft. In the early years of my technology career it was Microsoft’s ownership of the PC O/S market that primarily allowed other compatible hardware manufacturers to create innovation and eventually marginalize IBM’s dominance of that market.
In the early years of PCs, the applications on top of the O/S weren’t even Microsoft applications. It was only later that Microsoft started developing their own applications and with them the predatory practice of squeezing out other application providers to rule the desktop.
It's been a while since I've been desparate enough to had a chance to do a nice "what's in your toolbox" kind of post. In honor of the iPhone 3.0 upgrade, and Steve Jobs' liver, let's do an iPhone-toolbox post.
I'm unabashedly happy with my phone, because it's strengths and weaknesses mesh pretty well with my actual needs. It's not that great a phone, but I don't use the phone that much. On the other hand, there's never been a better gizmo for whiling away a long train commute.
So, here's some stuff I use:
Instapaper has probably changed my web reading habits more than any other app since I started using RSS readers. It's so simple that its almost hard to believe how useful it is. When I come across an article on the web I want to save for later, I click a bookmarklet. Later, launching Instapaper on the phone, the article shows up, with the images stripped away, and the text presented in a reader friendly format. (Sometimes you can help Instapaper out by invoking it from the printer-friendly version of a page...)
Using Instapaper has become kind of second nature -- I always have a few articles ready to go. The Pro version adds a few nice features, including control of the display font and the ability to scroll the article by tilting the phone. The tilt-scroll sounds like you'll need to be a gymnast or something to read an article, but in practice it's a super-clean interface for reading long articles and letting the text scroll at your reading speed. Great app.
Very well designed little app for what seems like a dumb use case -- saving drafts of posts intended for Twitter. I mean, how much do you need to polish that tweet about the ham sandwich you had for lunch, amirite?
But, if you are trying to do a tip a day on Twitter (@railsrx), then having a nice place to store up ideas for future tips is great. The app also works as a slightly structured note-taking app, since it can email it's existing draft population back to you.
The two leading general-purpose eBook readers, both of them are easy to use, and manage the task of making text readable on an iPhone. It'd be nice if there was some consistency in formats between the two apps, and also if you could buy books directly from the Kindle App (presumably that's coming).
Obviously only if you are a baseball fan, but the app gives you access to live box score and play-by-play data, live audio stream of radio broadcast, video highlights, special goodies like condensed game videos a few hours after games and, plus live video streaming on a currently limited basis. That's a lot of stuff. Add in the fact that the app is pretty enough to have won an Apple Design Award, and it's a pretty fabulous package.
There are something like a zillion Twitter clients on the iPhone at last count, and which one to pick is basically idiosyncratic. It's a mark of how fast iPhone development is going that Twitteriffic 1.0 won an Apple Design Award in 2008 and was completely blown away by newer clients six months later before regaining strong status with the 2.0 release. I find this has a nice blend of features and interface. (Tweetie, which is my desktop client, is also very good on the iPhone).
Of course, this all sounds serious -- the big winners on the iPhone have all been games, there are all kinds of inexpensive, addictive little games I play. Here are a few: Defender Chronicles, The Creeps, Drop 7, Flight Control, Frenzic, Galcon, Peggle, Strategery.
Related Services: iPhone Application Development
Topics: iPhone