Posts tagged Apple
A Quick Analysis of EXIF data from Apple’s iPhone 4S Camera Samples
Nov 7th
Motivation
In the course of doing smartphone reviews for AnandTech, I’ve taken a lot of photos for the expressed purpose of comparing camera quality. I don’t have an exact number, but it’s an absurd number of images, and of those, maybe 20% or so actually get published. We reviewed the iPhone 4S and discussed its camera at length in our review, but one of the things that piqued my attention was Apple’s claim that they had were sharing untouched, direct-from-the-iPhone samples online (at the bottom). In case you want all of the images, I’ve uploaded a zip here locally.
What’s interesting is that by default, iOS captures geolocation data on each image capture unless you decline the location services request on initial launch. I was curious to find out just how untouched these images were and whether all the EXIF data was left intact, including the GPS location data. Clearly these photos were taken at places that are either some engineer’s favorite hideouts, or possibly much more. Also, there’s that ever looming question of when they were taken, and whether there’s any chance anyone could’ve seen Apple employees taking photos with an unreleased iDevice at some scenic location.
You can analyze EXIF data in any number of image manipulation packages, and increasingly desktop OSes are exposing this data directly (Finder, Explorer, e.t.c.) but for quick analysis I turned to exifdata.com which does a nice job visualizing everything. Alternatively one can just dump the EXIF data using libraries like the very popular exiftool.
Image 1 – IMG1031
Here’s the dump from one of Apple’s demo images, “IMG_1031.JPG” which is the squirrel photo shown during the announcement event. There’s all the standard data included in the full headers, and you can see specifications such as focal length, exposure time, ISO, model, and the software (iOS 5) used. There are some other fields as well.
SubjectArea I believe corresponds to either where the face detection routine selected an AE/AF target with highest confidence value (most likely to be a face), or where the image was focused using tap to focus. The iPhone 4S also includes some new fields at the very bottom such as 35mm equivalent focal length, field of view, hyperfocal distance (at half this distance, all objects and further meet image plane blur criterion and appear in focus – this half trips people up), and even circle of confusion diameter (blur size/circle of confusion). These values at the very end appear to be specific to the iPhone 4S (and possibly its H4 ISP) and aren’t part of the JEITA EXIF 2.2 specification.
ExifTool Version Number : 8.68 File Name : IMG_1031.JPG Directory : . File Size : 3.1 MB File Modification Date/Time : 2011:10:05 01:43:44-07:00 File Permissions : rw-r--r-- File Type : JPEG MIME Type : image/jpeg Exif Byte Order : Big-endian (Motorola, MM) Make : Apple Camera Model Name : iPhone 4S Orientation : Rotate 180 X Resolution : 72 Y Resolution : 72 Resolution Unit : inches Software : 5.0 Modify Date : 2011:08:24 13:13:33 Y Cb Cr Positioning : Centered Exposure Time : 1/286 F Number : 2.4 Exposure Program : Program AE ISO : 64 Exif Version : 0221 Date/Time Original : 2011:08:24 13:13:33 Create Date : 2011:08:24 13:13:33 Components Configuration : Y, Cb, Cr, - Shutter Speed Value : 1/286 Aperture Value : 2.4 Brightness Value : 6.992671928 Metering Mode : Multi-segment Flash : Auto, Did not fire Focal Length : 4.3 mm Subject Area : 1631 1223 881 881 Flashpix Version : 0100 Color Space : sRGB Exif Image Width : 3264 Exif Image Height : 2448 Sensing Method : One-chip color area Exposure Mode : Auto White Balance : Auto Focal Length In 35mm Format : 35 mm Scene Capture Type : Standard Sharpness : Normal GPS Latitude Ref : North GPS Longitude Ref : West GPS Altitude Ref : Above Sea Level GPS Time Stamp : 21:08:30 GPS Img Direction Ref : True North GPS Img Direction : 346.4727273 Compression : JPEG (old-style) Thumbnail Offset : 908 Thumbnail Length : 12311 Image Width : 3264 Image Height : 2448 Encoding Process : Baseline DCT, Huffman coding Bits Per Sample : 8 Color Components : 3 Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2) Aperture : 2.4 GPS Altitude : 1222 m Above Sea Level GPS Latitude : 37 deg 44' 10.80" N GPS Longitude : 119 deg 35' 58.80" W GPS Position : 37 deg 44' 10.80" N, 119 deg 35' 58.80" W Image Size : 3264x2448 Scale Factor To 35 mm Equivalent: 8.2 Shutter Speed : 1/286 Thumbnail Image : (Binary data 12311 bytes, use -b option to extract) Circle Of Confusion : 0.004 mm Field Of View : 54.4 deg Focal Length : 4.3 mm (35 mm equivalent: 35.0 mm) Hyperfocal Distance : 2.08 m Light Value : 11.3
If you look at this data a few things pop out. There really is GPS location data inside, and just like before the iDevice also encodes what direction the phone was pointing (compass data) when the image was captured.
This first photo was captured in Yosemite National Park on August 24th 2011, a full one month and 10 days before its announcement on October 4. Interesting.
Image 2 – IMG1664
This second image is of some waves breaking on a rocky beach and shows very nice detail. Just like the first image, it too includes GPS data and the creation date.
Make : Apple Camera Model Name : iPhone 4S Orientation : Rotate 180 Date/Time Original : 2011:08:29 18:50:23 Create Date : 2011:08:29 18:50:23 GPS Latitude Ref : North GPS Longitude Ref : West GPS Altitude Ref : Below Sea Level GPS Time Stamp : 02:27:00 GPS Img Direction Ref : True North GPS Img Direction : 357.1590909 GPS Altitude : 0 m Above Sea Level GPS Latitude : 38 deg 26' 28.20" N GPS Longitude : 123 deg 7' 36.00" W GPS Position : 38 deg 26' 28.20" N, 123 deg 7' 36.00" W
I’ve truncated the exported data for this image since the same format as the previous one. Note zero feet above sea level, indeed this checks out.
This photo was taken at goat rock beach on August 29th, five days after the first image, and one month 5 days before the announcement. What’s intense about this image is that if you study the google satellite view enough, then take into account the pointing direction, you can actually see the rock in the photograph.
Image 3 – IMG0032
This image is a landscape photo with a waterfall in the distance.
Make : Apple Camera Model Name : iPhone 4S Orientation : Horizontal (normal) Date/Time Original : 2011:08:25 09:27:36 Create Date : 2011:08:25 09:27:36 GPS Latitude Ref : North GPS Longitude Ref : West GPS Altitude Ref : Above Sea Level GPS Time Stamp : 17:26:10 GPS Img Direction Ref : True North GPS Img Direction : 254.5312024 GPS Altitude : 1192 m Above Sea Level GPS Latitude : 37 deg 44' 38.40" N GPS Longitude : 119 deg 35' 30.60" W GPS Position : 37 deg 44' 38.40" N, 119 deg 35' 30.60" W
This one also includes the GPS location and pointing data.
Upon inspection, we can see this photo was taken also at Yosemite National Park and on August 25th 2011. It seems very likely this was taken by the same person who took the squirrel photo, given the fact that it’s a day later and in the same region in the park – perhaps a camping trip or something?
Image 4 – IMG1295
This image is of a person holding a flower up to the camera showing shallow depth of field and some serious bokeh. The subject is the same as shown in the 1080p video sample Apple provides, and appears to lack GPS data of any kind, but was taken on August 29th.
Make : Apple Camera Model Name : iPhone 4S Orientation : Horizontal (normal) Date/Time Original : 2011:08:29 15:54:02 Create Date : 2011:08:29 15:54:02
Image 5 – IMG0945
This image looks almost like a test scene, and includes some potted herbs, drawers, fruits, lemons, and a bunch of different knick knacks. The EXIF data for this one includes GPS data.
Make : Apple Camera Model Name : iPhone 4S Orientation : Horizontal (normal) Date/Time Original : 2011:08:30 14:01:03 Create Date : 2011:08:30 14:01:03 GPS Latitude Ref : North GPS Longitude Ref : East GPS Altitude Ref : Above Sea Level GPS Time Stamp : 13:25:21 GPS Img Direction Ref : True North GPS Img Direction : 21.31747484 GPS Altitude : 342.1 m Above Sea Level GPS Latitude : 50 deg 55' 6.60" N GPS Longitude : 14 deg 3' 24.00" E GPS Position : 50 deg 55' 6.60" N, 14 deg 3' 24.00" E
So far the images we’ve seen have been from just inside the US – this image is from the Königstein Fortress in Germany of all places, and was taken on August 30th.
This one is particularly interesting since it’s a great demonstration photo but also is the only sample image not taken in the US.
Image 6 – IMG1401
This image also has no GPS data, which means it possibly was taken by the same iPhone 4S as number 4 (and this user disabled location services for the camera app), or just someone else who was likewise cautious to not include position. This image is a macro of some flowers.
Make : Apple Camera Model Name : iPhone 4S Orientation : Horizontal (normal) Date/Time Original : 2011:08:29 17:30:26 Create Date : 2011:08:29 17:30:26
This image was taken on August 29th, however.
Image 7 – IMG1720
Likewise, this one also lacks GPS data, but shows a beach at dusk (thus, west coast) and appears to have been taken likewise on August 29th in the evening.
Make : Apple Camera Model Name : iPhone 4S Orientation : Horizontal (normal) Date/Time Original : 2011:08:29 19:28:56 Create Date : 2011:08:29 19:28:56
Image 8 – IMG0940
The last image shows the same hot air balloon as shown in the 1080p video sample, and includes GPS data. We can see where this video (and likely image 4) was taken.
Make : Apple Camera Model Name : iPhone 4S Orientation : Rotate 180 Date/Time Original : 2011:08:30 10:33:45 Create Date : 2011:08:30 10:33:45 GPS Latitude Ref : North GPS Longitude Ref : West GPS Altitude Ref : Above Sea Level GPS Time Stamp : 18:48:01 GPS Img Direction Ref : True North GPS Img Direction : 270.9027778 GPS Altitude : 31 m Above Sea Level GPS Latitude : 38 deg 30' 13.20" N GPS Longitude : 122 deg 46' 21.00" W GPS Position : 38 deg 30' 13.20" N, 122 deg 46' 21.00" W
Oddly enough image 4 and image 8 were taken on different days, so this possibly is a different location. That said, the location appears to be the Kendall-Jackson winery right off the 101.
Like the beach photo, this is just up the coast from San Francisco. The photo was taken August 30th as well.
Conclusions
Apple took sample images for its iPhone 4S presentation between the dates of August 24th and August 30th, a little over one month before the public unveiling. It’s interesting to note that had you been fortuitous enough to be in Yosemite National Park on the 24th or 25th, you might have by chance seen an iPhone 4S snapping photos of scenery and squirrels. Other locations near San Francisco seem logical given Apple’s location in Cupertino, CA, leaving the photo from Germany an odd outlier.
It seems that for all the scrutiny placed on bars surrounding 1 infinite loop, being in picturesque locales one month before an iPhone unveiling is quite possibly another logical strategy for spotting an unreleased iPhone.
I have to come full circle and say that I’m impressed Apple really didn’t scrub data from its sample images. This is something even I do to provide some location anonymity in the course of uploading sample images, though as of late I’ve become sloppy with scrubbing all the GPS data from EXIF for each sample image.
iPhone OS 4.0 – How close was I?
Apr 8th
A few months ago, I made a post about what changes I would love to see in iPhone OS 4.0 when it rolled around, if it ever rolled around. Flash forward to today, where iPhone OS 4.0 is an officially announced, almost ready for release platform update. In the spirit of conclusion, let’s see how much I wanted that actually made it into the update:
1 – Google Voice Integration: No Go
This still remains a no-show. Apple and Google relations have only continued to sour, despite the Steve-Eric coffee shop PR stunt meeting that was hugely popularized a few weeks ago. In fact, because Apple has repeatedly demonstrated no motivation to popularize any Google services anymore, it’ll likely never happen. This is yet another unfortunate artifact of the ongoing Google and Apple divorce process, and it just ends up stifling innovation. Apple and Google both give end-user focused experience an awful lot of lip service, up to the point where they have to integrate with other competitors offerings.
Google Voice is just one such example, but there are others. Mail on the iPhone still lacks support for Google’s unique organizational methods, and for the same token, Google refuses to this day to make their own iPhone OS gmail client. It works both ways, and both are equally guilty.
Back to that lip service I was talking about, you can really see just how far that philosophy goes from both companies actions – they still speak louder than words. As an end user, I don’t care about corporate bickering or what the political reasons are for Google not making a Gmail app for the iPhone, or Apple not integrating Google Voice – I just want the best experience.
2 – Google Latitude: Maybe
I’m not sure how to mark this one down. On one hand, there is indeed multitasking present in the operating system, as well as the ability to have certain applications periodically get location through location services. Thus, it’s finally possible for some enterprising third party developer to make their own google latitude updater, or for Google themselves to do it. We’ll probably see the former much earlier than the latter for the reasons I mentioned in part 1.
Of course, the software to do continual scheduled Google latitude position updating already exists through the Cydia store. It’s called Longitude, and it work fabulously. I’m relatively puzzled by Apple’s claims that getting a full GPS fix requires too much battery, since I already run Longitude on a 15 minute update interval and have experienced negligible battery degradation. In fact, even with updating set on a 10 minute schedule, there was no perceptable difference in battery life.
I really have to wonder whether location services through Skyhook without using AGPS (eg only WiFi triliteration augmented with cellular positioning data) will be accurate enough for services like Foursquare. Time will tell, and arguably GPS won’t solve everything since users that are already inside those locations can’t get a GPS fix anyways.
3 – Better Gmail Integration: Sort of
So the Mail application is getting a definite overhaul in this new revision of iPhone OS – more than one exchange account, faster switching between each inbox, unified inbox, and support for threaded conversations. These are long overdue features that the competition has had almost forever. WebOS has had it, BlackBerry is famous for it, Android has it alongside even a Gmail-specific version, and even Windows Mobile had multiple exchange account and fast switching integration.
So it’s nice to see everything finally getting revamped. Apple’s interface still is minimalist though; there’s no font settings or style options to be found.
4 – Notification Overhaul: Nope
This is probably the most sorely lacking area, and simultaneously the most inexplicably neglected. Every single other mobile platform has better notifications than iPhone OS. Every one of them, even old and exiled Windows Mobile. In fact, during the Stevenote today Apple showed off some local application notifications (from applications running in the background) that still resulted in annoying centered blue bubbles – and touted them as being a good thing!
I don’t know what more there is to say here other than that with a more robust multitasking framework needs to come a better notification framework. The two go hand in hand completely: if you lack the screen real estate to show more than one thing at a time, but can still run it on the hardware, get information to the user effectively. That shouldn’t still equate to pausing and interrupting the current interaction with a gigantic blue popup that needs to be dismissed before interaction can continue.
5- Background apps done right: Yes
Apple needed to nail this one, and they did. There’s no arguing that the multitasking framework they’ve demoed is the way things should be. I’ve argued a few times with developers that the best way to deliver multitasking without sacrificing performance is to open APIs for the most common use scenarios. Apple enumerated all of them: music in the background, task completion, location-specific scenarios (turn by turn GPS, Google Latitude, e.t.c.), and a few others. This is effectively what I’ve heard described as a secondary “lite” binary running the core services in the background, using fewer resources and a few background specific APIs the OS can manage. That way, the background experience is consistent across use scenarios.
I think that this will work really well in the long run. In fact, Apple really did have little choice but to adapt a scheme employing lite binaries; they’re limited to 256 MB of RAM on the 3GS and iPad. Steve Jobs gets it – giving the user a task manager might appeal in the short term for how much control it offers, but it’s just too much. If the user is honestly expected to micromanage application launches and closes, they’ll eventually forget and nuke the battery. It just happens.
6- Better App organization: Yes
Thank goodness this is finally being addressed. I’ve almost reached the 180 application limit for the iPhone 3.x’s page specific interaction schema, and getting to applications on pages at the very end is as frustrating as it is time consuming. Finally getting some high level organization in the picture, even if it isn’t forward thinking, revolutionary, or something new, still is valuable.
7- Better power management: Nope
Definite no, in fact, we’ll probably never see this, at least on the iPhone OS. This particular platform is all about lowest common denominator usability – it’s simultaneously what makes the platform so alluring and magical, and the subject of so much griping. You can’t build something a baby can use, and then expect them to understand how to manage their power.
At the same time however, the option should be there for those of us that are knowledgeable about it. I realize I’m asking too much, but it’d be amazingly cool to see hardware reports on projected battery longevity, current draw from individual hardware components, and a trend of power use.
Conclusions: 4/7 ~ 57% Nailed
So Apple implemented 4 out of the 7 things I outlined, if we’re pretty generous about our criteria. You know, on the whole, 57% isn’t bad, but it simultaneously isn’t a slam dunk on my part.
In fact, that’s what makes this industry so interesting. Unlike the desktop, we haven’t yet settled on a paradigm user interaction model – each major platform is actively innovating and evolving, and it’s happening rapidly. Even in the last two years, we’ve seen Android go from being an iPhone OS wannabe to a seriously polished, worthy competitor. We’ve seen that cross carrier availability is hugely important for success (people just don’t want to switch, and they’ll convince themselves that their network is best). We’ve seen that none of the platforms have it all worked out. Apple’s iPhone OS platform is too closed, while Android’s might be just too open (a-la Windows Mobile). It’s a rapidly evolving market out there folks; I’m enjoying scrutinizing every bit of it.
7 Wishes for iPhone OS 4.0
Jan 26th
Tomorrow’s big unveiling will likely be focused around the much-hyped, illusory tablet (whose name nobody even knows), but a large part of its launch will be iPhone OS 4.0.
Much debate has taken place regarding whether the tablet will run OS X, iPhone OS, or something in-between. Thanks in large part to an errant comment by the McGraw Hill CEO on MSNBC, I think it’s safe to assume that iPhone OS was the right guess all along.
Or was it? It’s likely that instead of releasing the tablet running the 3.x line OS, apple will launch a 4.x fork to bridge the handheld iPhone/iPod Touch experience with that of the tablet, and in so doing bring the mobile OS closer to its desktop counterpart. It makes sense considering keeping two disparate app stores running could cause a colossal flustercuck.
Since its launch in March of 2009, OS 3.x has begun showing some signs of age, especially compared Android 2.x. Here’s a list of what I think OS 4.0 needs to really keep the platform competitive:
1- Google Voice integration
Although Google just launched an HTML5 version of the google voice interface (no doubt specifically targeted at the iPhone and WebOS platforms), it still pales in comparison with how seamless Google Voice integration is on Android. Users of that platform can completely transition to their new number.
Plus, let’s be honest, using a web based version is just hackety compared to being able to use a much more responsive app without having to jailbreak. Until the day comes, I’ll stick with using the still-banned GV Mobile.
2- Google Latitude integration
This is the one that actually started the whole Google – Apple divorce, in case you have forgotten. It’d be amazing to finally see latitude integrated into the maps app the way it should have been the same month latitude launched.
Even better, the maps application (maintained by google) on BlackBerry OS and Android allows for seamless background position updating. As it is right now, iPhone OS users have to go to an HTML5-based version of the same application to update their position. Or jailbreak and use a solution like longitude (some screenshots/info here) and have it done on a schedule by a persistent background process. This is the solution I ultimately decided on
Perhaps this functionality isn’t allowed because of “duplication of functionality” with Mobile Me? Whatever.
3- Better gmail integration in the mail app
Let’s just come out and say it, the mail app on the iPhone is extremely barebones. Coming from Windows Mobile, I was kind of shocked at how barebones, in fact. No ability to change font, underline, bold, italicize, or do anything regarding formatting. As it is right now, the best you can do is some copy paste.
ArsTechnica really did a good job highlighting a number of subtleties that I’ve noticed in their article here. The most annoying of which is that folders aren’t fully synchronized until you go into them. For example, opening a sent folder will cause all the sent emails to load chronologically. This can get frustrating if you’ve sent a lot and just want to look at one; instead, you’ll have to wait for all of them to load. I can do without a unified inbox or unified messaging app, because honestly I view that as a more of a nightmare to be avoided than a feature.
But those aren’t my main gripe, it’s that there isn’t a gmail app (like what Android has) that supports Labels, Stars, or any of the features that make Gmail integration with email clients over IMAP or Exchange difficult. It’s that whole decision they made to not use “folders” and instead use labels that drives me crazy, and to this day, I’m lucky if I can find any sent email in my google apps account.
Forget about background and push, just fix the email client.
4- Notification customizations for SMS, scheduling
Even though the platform has good customization for ringtones, the alert sounds for system events such as email and new SMSes are surprisingly limited. In fact, at first, I assumed I was “doing it wrong” and failing at finding the proper way to load them. Nope, turns out, what you have is what you have, and what you will have forever.
That default “Tri-tone” sound is what everyone uses, and it’s annoying as hell to have it go off in a crowded room and watch 8 people all go for their phones (myself included). Allow some variety, without the need to jailbreak.
A lot of the other platforms also have alert profile scheduling. Namely, you can specify whether you should be alerted audibly, with vibration, or not at all, on a time schedule throughout the day. I’ve defaulted to always leaving my phone on vibrate simply because this is missing.
5- Background apps done right
This is probably everyone’s #1 wish for OS 4.0. Multitasking done right. Sure, you can jailbreak and do it, but it doesn’t lend itself to having a nice task-switcher. Instead, you’re left using what amounts to a task manager, which is completely the wrong way to do it.
Every other platform has it, only one platform (WebOS) has done it right so far. Can you, apple?
6- Better App organization
If you’re like me, you have 9 pages of applications that you’ve tediously organized. But sometimes, categories that are logical don’t come in sets of 16 (how many you can fit on one ‘page’). The real solution is to allow some sort of management. Be that folders, a menu, or something else.
Also, there’s no reason that people should be limited to 4 apps on the bottom row just for aesthetics when you have the room for 5. I couldn’t live without having 5 anymore.
7- Better power management – centralized reporting, on/off, scheduling
Something that I think Android really executed properly was the centralized power management screen. HTC has added this to virtually every single device in recent memory as well. That feature is centralized management of radio hardware and other large current draws.
This is something that, if executed properly, could also be a selling point for making hardware “green.” Hell, as a potential EE, I’d be absolutely in love with a screen showing current consumption from all the chipsets in the hardware that report it, plots of use vs. time, and more intelligent prediction of how much life I’ll get out of the device with current use.
But on a more basic level, what we really need is a feature that allows users to schedule the hardware itself. Imagine you’re on a trip without your charger; odds are, you don’t need the radio hardware on while you’re sleeping, but you do need the device on so the alarm works. Allowing users to schedule power events lets you balance use ahead of time.
But a feature I think is really needed is a so-called “last legs” setting. Basically, after the battery has crossed a user-defined threshold (say 15-25%), the software automatically does everything it can to preserve battery life; WiFi is turned off, 3G is turned off in favor of EDGE, screen brightness is reduced to 20%, push services are put on hold, email fetch intervals are doubled or quadrupled, background processes are killed.
The hardware and software essentially would work together to squeeze every last minute of use out of the hardware when battery gets low. This is especially important for when you cross the threshold while the phone is in your pocket, when you probably don’t even know it’s dangerously close to death.
Conclusions
Historically, Apple delivers products that have extremely polished, working features. Essentially, they err on the side of only releasing features that work, always work, and work well, instead of releasing features that don’t always work, or lack polish.
That said, a lot of the market has caught up since 2009. It’s time to address all of those gripes, and I’m hoping OS 4.0 fills some of the glaring holes in the feature set tomorrow. We’ll find out soon.







