The Friction of Exporting Live Photos, Portraits and RAW Images From iOS

Wednesday, 1 January 2020

A fresh new day of a brand new year has come, so you might want to check the pictures you took during the celebration of the New Year’s Eve. If you have iCloud Photos enabled then it’s all fine, your data is saved as is, including your Live Photos and Portraits. However, the trouble comes if you want to export your pics right from your iOS device to some third-party storage service like OneDrive, Google Drive and Dropbox.

When you upload an image from your iOS device using the apps of these mentioned services, they convert your Live Photos or RAW images into a JPEG files, removing all the important content of the picture. This is unbelievable!

If you still want to save your pictures in those services and keep the full range of data, you need to use the Mac Photos app, and it requires you to have one Mac available. The biggest advantage to use Photos is to extract the very own content of the media with the option of “Export Unmodified Original File”, so Live Photos would be extracted as a still image and its corresponding video, RAW images would be a RAW file and a JPEG counterpart be generated, and so on. Portrait is different case though, the metadata is not saved in a different media file. But, for a trip, would you bring your Mac along just for that?

The issue here is not the iOS itself, but the laziness or lack of priority of these services to provide this feature in the app.

Programmatically speaking and digging to the Photos API, we can find two classes called PHAsset and PHInternalResources. They are basically the classes that handle medias on iOS.

This first snippet below is a normal image. As you can see it’s a JPEG file with only one resource, so only one image is extracted from this asset.

<PHAsset: 0x105521bb0> 6D5E7526-BF88-4AC5-8570-6A453816F181/L0/001 mediaType=1/16, sourceType=1, (3024x4032), creationDate=2018-11-16 15:09:21 +0000, location=1, hidden=0, favorite=0 
	<PHInternalAssetResource: 0x282f64ab0> type=photo size={3024, 4032} fileSize=1683098 uti=public.jpeg filename=IMG_4111.JPG assetLocalIdentifier=6D5E7526-BF88-4AC5-8570-6A453816F181/L0/001

This second asset is Live Photo and it contains two resources, an HEIC image and a video. This allows us to extract two files.

<PHAsset: 0x1055216d0> 30584E6D-21BD-43AD-9EE4-0746077EFDCB/L0/001 mediaType=1/8, sourceType=1, (3024x4032), creationDate=2018-11-17 15:53:43 +0000, location=1, hidden=0, favorite=0 
	<PHInternalAssetResource: 0x282f6f690> type=photo size={3024, 4032} fileSize=1527095 uti=public.heic filename=IMG_4232.HEIC assetLocalIdentifier=30584E6D-21BD-43AD-9EE4-0746077EFDCB/L0/001,
	<PHInternalAssetResource: 0x282f646c0> type=video_cmpl size={0, 0} fileSize=2450384 filename=IMG_5392.MOV assetLocalIdentifier=30584E6D-21BD-43AD-9EE4-0746077EFDCB/L0/001

And this third asset is RAW image. It will generate two files, a CR2 RAW image and a JPEG image.

<PHAsset: 0x105522770> ABCFBBA5-2B4E-4EEE-97E0-1771F5A6B46D/L0/001 mediaType=1/0, sourceType=1, (6000x4000), creationDate=2018-11-17 15:48:29 +0000, location=0, hidden=0, favorite=0
	<PHInternalAssetResource: 0x282f7fc30> type=photo size={6000, 4000} fileSize=4449694 uti=public.jpeg filename=IMG_3317.JPG assetLocalIdentifier=ABCFBBA5-2B4E-4EEE-97E0-1771F5A6B46D/L0/001, 
	<PHInternalAssetResource: 0x282f685a0> type=photo_alt size={6000, 4000} fileSize=28951621 filename=IMG_3317.CR2 assetLocalIdentifier=ABCFBBA5-2B4E-4EEE-97E0-1771F5A6B46D/L0/001

All of this made me realize that it’s not our iPhones and iPads that have this limitation, but those companies’ apps are poorly implemented.

Sadly, it does not stop there, the very own camera or editing apps does not support it either. With my favorite camera app Halide, you can only export one RAW File at a time and there’s a whole to-do list to follow; open the image, tap on the RAW tag in the top right corner and then export it. Now imagine hundreds of RAW pictures you took during a trip and you have to go through those steps for every single of them.

The only ones that I have found so far that do the work a little bit better is Adobe’s Lightroom and ProCam. Both of them allow you to export several RAW files in a single share, but they lack support for Live Photo and RAW + JPG exportings.

Using AI to Improve Breast Cancer Screening »