The joy and problems with iCloud Photo library

The first digital picture I have in posession was taken on January 1st 2001 with a FujiFilm FinePix6800 ZOOM. It had a resolution of 3 megapixels and weighed 360 kilobytes.

Behold!
Yes, my first digital image was of a wooden copy of the TinTin moon rocket.

Since then, I have shot my way through 15 years of life with a small array of cameras, totally adding up to around 160.000 images of different size and quality. Many of them tagged, named and managed with the now defunct (alas!) Aperture.

Consistency hell

Up until recently, I had an unhealthy, unhinged Lightroom library (I never managed to get that program into my fingertips or workflow), an offline Photos library converted from Aperture, and an online Photos library consisting mainly of iPhone pics.

But then I bought a Sony RX-100III as a travel camera, and started transferring pictures to my iPhone via WiFi while on the go. When back at my computer, I imported the remaining pics from because it was easier to manage everything from one location. I also decided to copy some of my more memorable albums from Aperture, as trips and places often pop up in conversations, and that it’s cool to be able to say “Check this out”

So over just a couple of months, inconsistency and redundancy issues arose. Having librarian tendencies, and having tried (and hated) the Adobe / Lightroom cloud, I decided I would — once again — make the leap of faith with Apple. This time more so because of the completely nonsensical Adobe Cloud1 than Apples solution being best. So I started moving all of the photos into the iCloud Photo library.

Enter Magic

My Aperture library alone held over 120.000 images and ticked in at about 800Gb. It was harder than I imagined to get them all into the same library2. Also – with only a 15MB/s uplink it literally took weeks to upload all the data. But little by little, all of my pixelated history — from the wooden rocket image from 2001 until yesterdays street shoot started popping up on all my devices.

And this actually felt just like the kind of “magic” Apple sometimes overuse in their presentations. While this is really easy to understand as a concept, it is hard to explain how incredibly transparent and nice it is when it “just works”. Not only did I now have I access to every photo and video I ever took at an instant (tags and albums help a lot while searching DSLR/P&S pics without GPS), but I was also still be able to shoot images and hours of HD video without ever running out of space.

Seriously — using Dropbox or Google Photos to “empty” your phone for photos from time to time doesn’t even come close, at least not on an iPhone. With iCloud Photo Library, it’s all there and not there at the same time. I could now browse, watch, edit and upload the RAW photo from the Canon 5D 50mm@1.4f image I took in 2012 with nearly as much ease as the one that was taken seconds ago.

In addition to instant access to over a terabyte of images and videos, I always have ±16Gb free space on my iPhone. This really feels magical. Although the transition had a lot was lost moving from Aperture and Photos is lacking several important features — moving my images to iCloud is one of the best “digital decisions” I have made. If that is a thing.

But as the library grew bigger, weird stuff started happening. Or rather — stuff stopped from happening at all.

Exit Magic

I first met the problem with my present go-to photo editor Polarr, that just wouldn’t load at all. I tried reinstalling, but while I could get into the tutorials fine, it wouldn’t let me load any images without crashing. And yet — although the app itself crashed on launch every time, its extension for Photos.app worked just fine.

But why?

I started checking other photo apps, and while I was documenting the issue on Polarrs GitHub, a pattern started emerging. Excerpt from one of my comments in the GitHub comment-thread:

In Instagram, I just tried selecting an album with ±20.000 images. This took around 1,5 seconds or about 13.000 images / sec. Extrapolating this to cover to my 160.000 images (yeah, there are really that many, and many are DSLR combo JPG/ RAW files, tot size around 1,2Tb) in the “All Images” category, should then take 12 seconds, and it does.

This was on a iPhone 6 128Gb. Upgrading to an 128Gb iPhone 7 plus didn’t help. Although not entirely consistent, load takes just about the same time. I started testing some of my most used photo apps, and here were my first results:

  • Polarr: Unresponsive. Crashing on launch after 21 seconds.
  • AfterLight: Crashing on launch after 21 seconds.
  • Instagram: Stream works fine. Uses 12 seconds to load image picker from within app.
  • SnapSeed: Uses 8-14 seconds to load custom image picker.
  • VSCO: 8 seconds
  • Tadaa: Unresponsive, but doesn’t crash.

Correlation

So there was (at least some) correlation!

My temporary conclusion was that this could have something to do — either with the apps implementation of something related to the selection of images, and perhaps Apples UIImagePicker itself. Further tests indicated that it didn’t seem to have to do with the size of the files, but rather the library’s total number of images.

While I’m not a programmer (anymore), it could easily seem like the apps ImagePicker routine was to iterate through the dataset, caching it in an array of sorts, and then populating everything at the same time in a gigantic 160.000 pictures long timeline. The first comment in the GitHub thread suggested things along the same line.

But then of course came apps that didn’t behave like this at all:

Causuality (or new correlations)

Pixelmator, Filterstorm and SnapSeed all share the more generic Apple-y picker (the one that lets you chose between “Moments”, “All Photos”, “Favorites” and albums), which is the fastest method with a near to zero lag. But both Darkroom and Prisma use their own design, which might prove it is not impossible to design a picker that both is customized and fast.

Conclusion

At first, I thought this problem was Apples fault — that while they had expanded their storage tiers to 2TB, really hadn’t updated iOS APIs for persons with image libraries spanning hundreds of thousands images. Now they seem it seems to be the different implementations that are to blame, and that the makers of Instagram, Polarr, SnapSeed, VSCO, Tadaa etc. needs to follow suit and update their apps with best practice.

Hoping for the best!

  1. Storage capacity is only 20Gb, so it is really only a storage space for best pics + stuff in edit. I wanted more of the _library_ functions, less editing (I have much faster, more intuitive apps for that on my phone)
  2. Lightroom can only sync the cloud with _one computer_ at a time. Which is a incomprehensibly big deal breaker. I thought I was doing it wrong, but it turns out it is how it is ment to work.
  3. I luckily have come to terms with the fact that I’m a hobbyist photographer, and happily consider myself a consumer.
  4. I remembered all the hours of agony, trying to adapt to Adobes clunky interface, and that I’m much more happy using almost any of the awesome editing tools on my iOS devices. (I have a strong love/hate relationship with Adobe. I have been using them all for my whole life, but even if the apps are all more or less pro, they have always managed to make them incredibly cluttered and illogical to use.)

  1. My four reasons for not choosing Adobe: 
  2. Merging turned out to be the biggest problem. I looked at this MacWorld article, and used the iPhoto Library Manager for the merging task. But I warn you, it isn’t really made for really large libraries, and I now have a few duplicates that even top dollar duplicate finders like the 19$ Duplicate Photos Fixer Pro or Gemini can’t seem to figure out. 

Also published on Medium.

Published by bonka

Director, ex-computer programmer, photographer with a passion for storytelling and old cameras.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.