Contact

Please feel free to email me:

fraser@speirs.org

Search
My Stuff
Navigation

Entries in ipad (10)

Saturday
Jul312010

Moving a Mac App: Viewfinder for iPad

Viewfinder for iPad shipped a couple of weeks ago. It's been insanely busy since then but I finally found some time to reflect on the process of moving a Mac OS X application to iPad.

Mission Statement

In most talks you hear from Apple employees about designing for iPhone and iPad, they always suggest that you develop a 'mission statement' for your app. On Mac OS X, Viewfinder's mission statement was simply:

Easy photo search and download for Mac OS X

For the iPad version, that statement was radically overhauled to say:

Easy photo search and download for iPad

The entire point of Viewfinder has always been to solve the problem that it's way too hard to find and use good quality, correctly-licensed photos on the internet.

Translation

When moving an application or its general concept to iPhone, the rule has always been "find the core functionality and translate that to the iPhone". It's still true of the iPad but the difference is that the iPad increased processing power and screen size invites you to bring a much larger feature set.

As I was working on bringing the core functionality of Viewfinder to the iPad, I took a three-step approach:

  • Eliminate the features that are impossible to translate
  • Simplify the features that can be done, but in a reduced manner
  • Focus on a polished, native experience for the rest

Eliminate the Impossible

As it stands, Viewfinder on Mac OS X is a fairly tightly focused application. It doesn't contain a lot of superfluous features, but there were a few features that couldn't be brought to iPad because of the limitations of the iOS platform.

Viewfinder on Mac OS X can automatically add a downloaded photo to the current Keynote document. This feature is implemented on Mac OS X using Automator, which doesn't exist on iOS, so it couldn't be brought over. There's no equivalent cross-application automation technology on iOS, so it had to go.

Similarly, the feature that allows Viewfinder to set the Mac OS X desktop picture directly is also not possible on the iPad. There's simply no API to do this on iOS. Gone.

Finally, Viewfinder supports a "Search in Viewfinder" service on Mac OS X. As with the other features, Mac OS X services have no analogue on iOS so the feature had to go.

Similar but Simpler

Developing for iOS devices is developing a highly resource-starved environment. Many fewer, slower processor cores; slower graphics hardware, dramatically less RAM and, on 3G, much slower and less reliable networking. I find it a source of constant wonder that we squeeze the performance that we do out of these devices, and often wonder why Mac OS X machines feel so slow by comparison.

Viewfinder is an application designed to show large numbers of photos. Without care, this is potentially a difficult thing to do. Photos are some of the largest data blobs an iOS app will handle, so it's important to manage that precious memory carefully.

On the Mac, Viewfinder has a dynamically-resizable thumbnail view. It responds to the user's intention by automatically loading ever-higher resolution images as the thumbnails grow. The internal architecture of this feature is something I'm really proud of, and I think it's a great feature.

The idea of transparently hitting the network for ever larger images doesn't translate well to the iPad. Particularly in this new world of mobile data caps which are "unlimited*" - the asterisk being the international symbol for "if you take this literally you're a sucker" - being more conservative with data usage is important.

So, for Viewfinder on the iPad, I built a thumbnail view with similar core functionality only simpler. The thumbnails are fixed at a maximum width or height of 100px and, instead of zooming them to a larger size, you enter a full-screen mode similar to the built-in Photos application.

Another feature that I personally love in Viewfinder for Mac OS X is the ability to filter the search results by the size of the largest available version. This is a really important feature on the desktop, where you may be looking for photos to fill a 27" display or a high-resolution document.

On the iPad, I decided to leave this feature out. I left it out for two reasons. One is that using the original full-size image on the iPad is often difficult because of the incredibly large file size that some modern DSLRs produce. Secondly, you don't need a massively high-resolution image for most purposes on the iPad. The screen is only 1024x768. Viewfinder still supports searching by the full range of Creative Commons licenses.

Polish The Rest

So, what's left in Viewfinder? There are a core set of tasks that make the application:

  • Set search options
  • Begin a Search
  • View a set of thumbnails
  • View a larger size
  • Download photos
  • Inspect and copy information about the photo

Too many iOS applications aspire to "brand" themselves. It's sometimes appropriate, of course, but I took my inspiration from two system apps that Apple provides: Safari and Maps.

The thing I most love about Maps is that there is almost no UI. It's an incredibly powerful application that delivers everything through a small number of UI elements:

  • A toolbar with two buttons and a search field (two fields in Directions mode).
  • A popover with details about locations
  • A page-curl view to set options
  • An alternate full-screen UI for Street View

The rest of the display in Maps is given over to the main function - showing a map. Viewfinder endeavours to be similarly minimalist.

Not the iPhone

The typical approach to bringing an application to the iPhone was really three steps:

  • Identify the core functionality of the app
  • Remove everything else that isn't essential
  • Polish the user experience

I think the iPad is different. I've written before that I believe the iPad is a true productivity platform and not just the "content consumption" toy that some lazily claim.

Instead of looking for some kind of barebones set of core functionality, I decided to see how much of the desktop app I could bring to the iPhone. I'm delighted with the result and I encourage my fellow developers to push the iPad as far as it can go.

For the rest of you, why not visit the App Store and check out Viewfinder for iPad?

Saturday
May292010

Of 3G iPads and MiFis

Today I asserted on Twitter that a 3G iPad is far superior to a WiFi iPad paired with a MiFi device. To save myself answering the "why do you say that" question twenty times, here's the tl;dr version.

Let me say that a MiFi makes perfect sense if you have multiple, WiFi-only devices that you want to get online. If you take issue with my claim, please save yourself time and stop reading now, happy in the knowledge that I have not been Wrong On The Internet.

My computing life consists of an iMac, an iPad and an iPhone. That's all I own. I also have a 3 MiFi. Let me explain why I vastly prefer the integrated 3G in the iPad over a WiFi iPad with a MiFi (hereinafter referred to as an iPad/MiFi for ease of typing).

Reason 1: call it User Experience, or Connectedness or Ceremony.

When using the 3 MiFi, there is too much setup involved for casual use. A lot of this is down to the poor design of the 3 MiFi. Here's what you do to get online:

  • Power on the MiFi
  • Wait for it to acquire the network (20 seconds, in my absolute-best-case experience - usually much, much worse)
  • Turn on the WiFi radio - another 10 second operation
  • Turn on the 3G radio - 10 seconds to turn on, another 10 to get to 3G status
  • Unlock the iPad, get it associated with the MiFi, get an IP address - another 10-15 seconds

The MiFi will power off after a period of inactivity, so you're talking about a total of around a minute or so every time you want to connect. 56k dial-up modems didn't take that long to get you connected. When I was using an iPad/MiFi, I found that there were times when I wanted to use the iPad online but would just fall back to using the iPhone because it was already online.

Compare to the 3G iPad: you unlock it, you're online.

Reason 2: Battery Life

It's true that the iPad 3G doesn't quite achieve the stellar battery life of the WiFi model, but you'll still get many, many hours of runtime.

With an iPad/MiFi you're only working online for as long as the MiFi can stay alive - in my experience, about two hours of continuous use. With a 3G iPad, your internet connection is hooked up to the iPad's impressive battery and you're online as long as your iPad is alive.

Reason 3: Less Stuff

Perhaps a minor point but in this new world of lightweight, minimalist computing perhaps relevant. With an iPad 3G, you just keep that baby charged and you're good. With a separate MiFi, you're taking an extra charger on holiday and you've got one more thing to remember to keep charged.

Reason 4: On-board Status

My MiFi is on the 3 network and that's not a great network around here (despite what the coverage checker says grumblegrumblegrumble). The MiFi has an incredibly poor signal strength indicator: green for "good" (not, surprisingly, always equivalent to "actually working" in my experience); yellow for "not that good" and red for "bet you're glad this is Pay As You Go, sucka!". At the same time as the MiFi is fluctuating all over the place, the iPad is still convinced that it's on a super-solid five-bars WiFi network.

Tricking the iPad into thinking its on WiFi does have some benefits, though: all the "you can only download this over WiFi" restrictions from the App Store and iTunes are lifted because all of those restrictions depend on the radio status of the device itself.

The downside is that, when the network goes away, the iPad doesn't know about it. All it knows is that packets aren't coming back. Instead of failing immediately because there's no IP, apps will keep trying and trying until they hit their timeouts. This sounds trivial but it's incredibly frustrating in practice.

On balance, I prefer to have the network status up there in the status bar on the device - with more than three guesswork colours to distinguish them - and to have the OS and apps know more about the network.

Monday
May032010

Back In

Last year, I wrote a piece entitled "App Store: I'm Out", which got a little attention. As strange as it feels to be in a position where I have to explain myself, I thought I should write about why I'm again working on an iPhone OS product.

If I wanted to have to constantly twist to justify the opinions of the past, I would enter politics. As it is, we software developers have the luxury of changing our minds as time and requirements dictate.

After the iPad announcement, I wrote a piece entitled "Future Shock", which got a lot of traffic. The reason I was so sure my take was solid was that I've spent a year working through my own future shock over the direction of Apple's platforms. The first piece I alluded to was my own future shock speaking: "They can't make us submit to app review! They can't reject our apps!".

Well, Apple can and Apple absolutely is. That ship sailed some time ago and I have reconciled myself to the idea that the old indie ways on Mac OS X are never going to be available on iPhone OS.

I do not intend to argue that the problems I enumerated about the App Store have gone away. They largely remain and, in some cases, are worse than they were when I first wrote.

The lengthy app review problem has mostly been solved. It's amusing to see tweets like "my update is taking more than 5 hours, haven't seen that kind of delay in ages". A year ago it was two weeks.

The problem of approval - as opposed to review - remains. In particular, the problem that you may be removed at a moment's notice with few channels to quickly remedy the situation is a significant business risk. Few businesses can afford to unexpectedly lose a week or more of revenue and make payroll.

The problem of app rejection - the idea that you build your app and only then find out if you can sell it - remains. It must be said that the number of apps falling foul of this is decreasing. However, it is not an insignificant problem, particularly when approval is not for life and can be withdrawn at any time.

The App Store continues to represent serious risk. However, in business, risk is the currency.

So, having said all that, why am I 'back in'?

When I first wrote  about my feelings towards the App Store, it was in the  arrogant and vain hope that it might have changed something. The direction of the iPhone OS ecosystem is now clear. To stick to an opinion regardless is to see the world as you would like it to be, not as it actually is.

Down that road lies the Free Software Foundation, and I have zero interest in finding myself in 2020 a bitter forty-something man fighting the battles of a decade ago.

The second factor in this was the iPad. When iPhone OS was just that - a phone operating system - it was obvious at the Apple future would be a combination of iPhone OS devices and Mac OS X computers. Post-iPad, that judgment is far from obviously sound. Having seen the reaction to the iPad from actual potential users, the secure future of the Mac OS as a general consumer computing platform is no longer as clear to me as it once was.

Be clear: I'm not saying OS X is dead, nor that Apple has no interest in improving it. I am saying that I suspect that the days of everyone buying a MacBook to get online are soon to be over. I've already written about how I see our three-Mac family turning into a one-Mac, three-iPad family over the next hardware cycle and I imagine that scenario repeated industry-wide over time. Already the ratio of iPhone OS devices to Macs is 5:2.

This feels like the settling of the wild west. The days of rugged individualism in computing are starting to close. The freedoms we had will still be possible but as with living in remote areas hunting and trapping your own food, few will care to accept those privations in return for the absolutes of liberty.

So where does that leave the small developer? In some ways, we have to shape up a bit. I don't want to say that we have to "become more professional" because, in large part, the Mac indie scene was one of the most professionally committed around.

What I think I prefer is the aviation analogy. We are no longer playing Burt Rutan and building our own aircraft. We're building components for the Boeing or Airbus ecosystems now. Nothing wrong with that - many people do a great job and make a very good living at that. What is lost is the software equivalent of the romance of flight.

I’m Scottish. Frying things and pessimism are our two main industries. It’s worth looking on the bright side too: the iPhone OS ecosystem has in its short life, brought a few incredible things too.

It’s undeniable that iPhone OS devices are incredibly stable. Last night I spent a frustrating hour trying to get my iMac to reboot into a functioning state after it crashed. That was an hour I had planned to spend in bed. In a post-iPhone, post-iPad world such failures feel even less acceptable than before.

iPhone OS is the first mass-market operating system where consumers are no longer afraid to install software on their computers (I’m not counting read-only media software platforms like games consoles here). In a conversation recently, a friend recounted a scene that he passed by in an airport. Four fifty-something women were sitting at a cafe table discussing the latest apps they had downloaded on their iPod touches. New software can’t break your iPhone OS device and, if you don’t like it, total removal is only a couple of taps away.

Finally, the devices are incredibly cheap by comparison with traditional laptop hardware. I could buy myself every iPad that comes out over the course of a three-year hardware cycle and still spend less than I did on laptops. The software is inexpensive too. There remain great strides to be made on discoverability and trials in the App Store. Still, it’s hard to ignore the fact that there’s now a large constituency of users just venturing into their first experiences of purchasing third-party software.

Simply put, I believe, the choice is this: the iPhone OS train is leaving the station in a big way with the iPad; much more so than when it was just for smartphones. I have to ask myself if there's a train that I would rather be on. I don't see one right now, and I don't see one coming down the track.

Monday
Apr262010

iPad, Two Weeks In 

Liz Marley of the Omni Group posted a short report about her experience of living off her iPad. The experience seems to have been good.

I thought I would follow up. Of course, I'll go into the excruciating detail, but my friend Matt Gemmell sums it up:

Want Xcode on iPad? No you don't. iPad comes with built-in work/life balance.

I have two jobs: teacher and software developer. 90% of the second job happens on my 27" iMac so I want to really address the first job and general "living with the iPad" topics.

Speed

The iPad is the fastest iPhone OS device that there has ever been. That's not exactly the same thing as "it's a fast device". For many tasks, yes, it is. However, there are some things that are noticeably slow.

HTML rendering seems very sensitive to the complexity of the page. Some pages snap into place, others take some time.

Switching into and out of the iWork apps is slower than I would like. Moving between documents in the same app is also kind of sluggish.

Having said that, there's so much about the device that is also crazy fast that it's hard to complain. One can imagine that this will get a lot better when iPhone OS 4 hits the iPad.

Workflow

I haven't hit too many workflow snags. I've been using a combination of Dropbox and GoodReader to get stuff onto the iPad.

The Dropbox app hasn't been updated for iPad yet, so I'm using that mostly as quick reference to my files rather than a serious work space.

GoodReader is proving useful as a tool to download documents - particularly PDFs - from the web and store them on the iPad. I would really prefer that Dropbox developed the ability to download a PDF into its own file space.

GoodReader has a WiFi file transfer method available, and it can play most audio and video media formats that the iPad supports. I find this really useful for putting the odd video file on the iPad to watch later without having to go through the hassle of putting the videos into iTunes and then syncing. Not sure if this works for DRMed iTunes media.

Killer Apps

For me the iPad is about reading. I tolerate the Kindle app for its vast selection and syncing with the iPhone, I love the reading UI in iBooks but I adore Instapaper. Instapaper turns the iPad from "a great thing to browse the web on" to a "space-age newspaper made from all the most interesting things on the internet".

The other killer app on the iPad is Safari. Quite honestly, every word of hyperbole that anyone on an Apple stage has said about the web on iPad is (almost) true.

The Flash thing? The Flash thing is that fig leaf that journalists reach for to give a glowing iPad review that veneer of balance. Given the HTML5 support on YouTube, the non-existence of Flash is completely irrelevant to my experience of the internet, except in one regard: BBC iPlayer still serves Flash to an iPad.

One Showstopper

There is one major workflow showstopper that I've hit so far and it's to do with online purchasing. Usually, at the end of a transaction, there's a page that you're invited to "print for your records".

On the Mac, I usually 'print' this page to a PDF and stick it in my Dropbox. On the iPad, this is the end of the road. There's no way to store this page.

The only workaround - and it's more of a hack - is to take a screenshot of the iPad display. There are several problems with this but they are principally: your receipt may span more than one page and you can't make a screenshot look like you really did print it (in case of later dispute).

I hope Apple will implement a "Send PDF of this page" feature in Safari that will convert the current page to PDF and email it off somewhere. That would do.

In The Hand

You have to talk about physicality with the iPad since you're handling it so much and so often.

Some people have complained about the weight of the iPad but I haven't found that to be a problem. I have, however, found the smooth texture of the back to be too frictionless for my leathery hands. I never feel like I have a good grip on the device.

Some kind of case is in order. Since the iPad hasn't been released in the UK yet, it's nigh-impossible to find any accessories. Even in the US, most of the popular cases and bags seem to be seriously backordered.

At The Desk

When working on iPad apps, and just to have it nearby, I'm using the Kensington Easy Riser laptop stand to prop up the iPad. It costs a few pounds from Amazon, holds the iPad solidly in both orientations and opens to four different angles to vary the rake of the device. It's not ideal since it takes up more desk space than I would like, but it's a fine stop-gap until better accessories make it to the UK.

At school, I appropriated an old wooden book stand from the library, which I love. It also collapses really small and neat!

Carrying

Again, due to lack of available accessories, I'm basically carrying the iPad around by hand, in the open. This is both risky (see aforementioned leathery hands) and annoying when you also have two kids to juggle.

The second problem with openly carrying an iPad is that you can't get anywhere quickly because .... whoa, is that an iPad?

When I'm taking the laptop too, I'll slip the iPad into the front pocket of my Incase backpack (where it just fits). Carrying a whole laptop backpack just for an iPad is both overkill and crazy-making. Crazy-making because, after years of owning laptops, I get the "OH NO MY BAG IS TOO LIGHT WHERE IS MY LAPTOP" feeling every five minutes.

I've ordered the Tom Bihn Ristretto for iPad bag, but it's also on a two-week wait.

In Use

Let's talk about the screen. I don't care a whit about fingerprints. I can live with that non-problem. I am having a serious problem with screen glare, though. The screen is just too shiny to be not-annoying.

I'm typing this on a 27" iMac with a glossy screen and I don't care about that, because I can arrange my office to be low-glare. With a mobile device, where you have to live with the lighting wherever you find yourself, there are just too many ways to hold the thing that catch a light somewhere.

The day and hour that Power Support USA ship an anti-glare film for the iPad, it's going on and it's never coming off. I've used their covers on my iPhone for a year or so and find them indispensible - particularly since I use my iPhone for GPS navigation in the car.

Let's talk about the battery. Actually, I'm not even sure it is a battery. It might as well be a tiny little nuclear reactor. It just runs and runs and runs.

Here's a simple formula: plug it in when you go to bed. Do that every night and you never have to think about your iPad battery again. Amazing.

In the UK

Since our iPad launch has been delayed, it's probably worth commenting on the ownership experience in the UK. Apart from purchasing the machine the additional costs were $120 shipping via FedEx and, later, a £98 import VAT charge.

The only thing that doesn't work for UK owners is the App Store. You can't access the App Store on the device when authorised with a UK account. You can access the iTunes store and use that to switch the device to a US account. Then, you can browse the App Store and iBooks store.

You can also use iTunes on the desktop to browse the App Store and purchase iPad applications in Sterling for syncing via USB.

A Standalone Machine?

Could an iPad be your only computer today? For all but the most basic of computer users, I have to say not yet. There are still a few things missing.

I will also say, though, that I can see the iPad being many people's only portable computer in quite short order. Indeed, I just sold my 15" MacBook Pro which has lived a rather sad and lonely existence in my backpack since the iPad arrived.

Saturday
Apr032010

Everything Changes

Today everything starts to change. None of us know yet whether it all changes for good or for bad but I feel fairly certain that the discussions we have about computing won't be like the discussions we had last year. The change won't be overnight, but it will come.

Amit Gupta wrote an interesting post comparing laptops to point-and-shoot cameras. His point being that the rank amateurs for whom they were intended are gravitating towards camera phones and the serious amateurs are being creamed off by low-end DSLRs.

Amit draws the parallel between desktop computers (DSLRs), laptops (point-and-shoots) and the iPad (cameraphones). The only wrinkle, I'd say, is that laptops aren't as squarely aimed at amateurs than P&S cameras, but I am aware that everyone I know who owns only one computer owns a laptop.

The analogy works for me because the power of desktop computers is edging downwards in price. Witness the 27" Core i7 iMac that I use daily for all my development work. People who provably need computing power can get it in a cheapish desktop machine. Those who need serious computing power can move up to the Hasselblad of desktop machines, the Mac Pro.

I'm a photographer of sorts too and, for years, I scoffed at camera phones. I was even more contemptuous of those who seriously claimed that a camera phone was "all they wanted". How could that be, when you couldn't fix colour balance, crop, retouch, etc.

It wasn't that cameraphone users didn't care, they didn't even care to learn enough about photography to know that such things were available to care about.

Today, I shoot more pictures with my iPhone than my EOS 30D.

An example which, I argue, may generalise quite well

At the moment, my family stock of computer hardware is as follows:

I use a 27" Core i7 iMac for development, photography and most of my computing life. I have a 15" MacBook Pro that I take to school and on trips and an iPhone 3GS.

The MacBook Pro is little more than a data cache: it has a copy of my Dropbox, a few cloned Git repositories, my synced OmniFocus database and that's it. I could recreate that setup in under 10 minutes on any Mac.

Carolyn, my wife, uses a 20" Core 2 Duo iMac and an original iPhone (her 3G met, shall we say, a watery end). She uses it for using the web, email, watching BBC iPlayer and producing the occasional flyer for her Mothers & Toddlers group.

April (age 5) has an iPod touch. I didn't exactly give it to her - it was at one time a development device - but it seems clear that it's now regarded as hers. She adores audio books and is quite partial to a game of Pickin' Time.

I can easily see us becoming a one-Mac, three-iPad family by the end of 2010. Carolyn's iMac will be gone. My 15" MacBook Pro will be gone. We'll both have iPads.

At School

When I go to teach, what do I use? The tools are surprisingly simple. I use Pages, Keynote, Safari, Preview to read PDFs. The only big thing I'll miss on the iPad is Apple Remote Desktop, but I can find an admin machine for that.

It'll be fascinating to see where the rough corners show up in using the iPad as a day-to-day teaching tool. I'll be writing it up here for sure.

On The Road

The iPhone has already changed my entire travel experience. In the Olden Days, the laptop was the most important thing to take, and everything was geared around finding ways to hook it up to power and internet during layovers between Glasgow and San Francisco. Those days have been gone for a while.

In the past year, I've found that I carry the laptop "just in case something happens", where that something rarely does.

I've needed a laptop in cases where I have to give a presentation. The iPad will handle that.

I've needed a laptop in cases where I have to reply to a lot of email. It certainly seems like the iPad will stand up to that better than the iPhone.

I've needed a laptop in cases where I have to code on the road. The iPad definitely won't handle that.

In all honesty, as my children have grown up, my trips are growing shorter. As my products and development processes have matured, I'm doing fewer emergency bug fixes. When I'm travelling, I'd really rather spend my time relaxing, hanging out with My People and occasionally keeping up with the world than holed up in a hotel hacking away.

The only time I've done Serious Work on the road in the past four years was during WWDC '08 when I was rushing to get Darkslide 1.0 finished for the opening of the App Store.

The one thing that I didn't have an answer about until today was The Photography Question. It turns out, though, that the iPad supports RAW images from digital cameras (I presume the same files as Mac OS X supports).

My most data-intense photography trip of the year is when I shoot the Scottish Ruby Conference. This year - last weekend - I came home with 873 RAW images from a Canon 7D and 30D. The 7D at full-bore produces RAW images around the 24MB mark. That's about 21GB of RAW images. That's not a huge chunk out of a 64GB iPad, and many modern DSLRs will now record a reduced-resolution RAW file that's more than fine if you're just going to Flickr (where 99% of my photos end up).

Assuming the iPad can actually handle that kind of load, performance-wise, then it could become a serious tool for review in the field.

The Future's Bright

As a user, I'm extremely bullish on the iPad. The iPhone turned into more than we ever thought it could be. The iPad will be the same.