iPhone 6S Plus Camera Resolutions

Apple iPhone 6S Plus camera resolutions.  At some point, I need to great a full grid of camera resolutions.  The iPhone camera app has two camera modes, "Square" (1:1 aspect ratio) and "Photo" (4:3 aspect ratio).  Both of these modes apply to the front and rear facing cameras.


"Photo" mode

Rear-facing camera - 4032x3024 (4:3 aspect ratio) (12 megapixel)

Front-facing camera - 2576x1932 (4:3 aspect ratio) (5 megapixel)

"Square" mode

Rear-facing camera - 3024x3024 (1:1 aspect ratio) (9 megapixel)

Front-facing camera - 1932x1932 (1:1 aspect ratio) (4 megapixel)


SkyMode One Touch Offer Card Preview

Via an iframe, a SkyMode "One Touch Offer" Card can be embedded into any web site such as this one.

<iframe src="https://rocksideranch.transacteverywhere.com/embedoffer/35354" width="700" height="175" frameborder="0" scrolling="no"></iframe>

YouTube Video using their embed iframe code.

<iframe width="560" height="315" src="https://www.youtube.com/embed/GWd0HO0P-gU" frameborder="0" allowfullscreen></iframe>

Analyze SSL traffic using Charles Proxy and any iOS device

SSL is NOT safe, because a simple man-in-the-middle setup can decrypt SSL traffic from any iOS device. Yes, it even works with native iOS apps including Safari Mobile.

Download Charles Proxy and install it on a desktop computer.


 (NOTE: These screenshots are from a Mac OS X 10.10.4 (Yosemite) 

On any iOS device, make sure that it is connected to a wi-fi network that is in the same subnet as the desktop computer running Charles Proxy.  Make note of your desktop computer IP address.  In my case, it is

On the iOS device, open "Settings" --> "Wi-Fi"

Tap the info icon next to the connected "Wi-Fi" SSID.  Scroll to the bottom of the next screen to the section labelled, "HTTP PROXY" (screenshot #1)

(screenshot #1)

Set the "Server" value to the IP address of your desktop computer and the "Port" to 8888 (default TCP port for Charles Proxy)

At this point, open up Safari Mobile and surf your favorite site.  You should notice a popup on Charles Proxy (screenshot #2) requesting permission for the remote IP address of your iOS device.  Accept the permission request.  You should be able to see all requests from your iOS device in real-time.

(screenshot #2)


All SSL requests and still encrypted and you will only see the request being made, but the contents of the requests is still not readable.  Assuming your iOS device is still proxying all requests through Charles Proxy, on your iOS device make a request via Safari Mobile to:


NOTE: Even though this is a charlesproxy.com public domain request, the request is actually handled by your local install of Charles Proxy.  

Your iOS device will prompt you to install the certificate (screenshot #3).  You will need to perform this step in order for the iOS device to proxy SSL request that can be decrypted by Charles Proxy.

(screenshot #3)

Once ceritifcate is installed correctly, you will see green color text that reads, "Verified" (screenshot #4)

(screenshot #4)

Now, all SSL traffic proxied through Charles Proxy will be human readable.


iPhone 6 and iPhone 6 Plus Resolution

I am happy that Apple didn't change the aspect ratio and went with industry standard (16:9)

1920x1080 = 1.78 (iPhone 6 plus)

1334x750 = 1.78 (iPhone 6)

1136x640 = 1.78 (iPhone 5)

960x640 = 1.5 (iPhone 4)


480x320 = 1.5 (iPhone 3G)

Responsive Media Player Embed Code

After many iterations, we figured out that the following is the best for a responsive layout.

Scout.com embedded video

Just copy-n-paste the iframe markup like so:


<iframe src="http://www.scout.com/mediaplayer/1335391" frameborder="0" scrolling="no" allowfullscreen="true" width="500" height="400"></iframe>

iOS AirPlay Mirror on Windows

I am huge fan of Apple's AirPlay, as my primary smart phone is an iPhone 5 and I have AppleTVs connected to all my home televisions.  AirPlay is incredibly responsive, even when mirror your device.  On a 1080p display and AppleTV (version 3), mirror is near flawless.

Even though AirPlay is an Apple technology, Apple has licensed the technology for third parties to implement.  One of those companies is AirSquirrels and it allows an iOS device to be mirrored on a Windows desktop.


How to determine Android app permissions

Android apps have a sophisticated permissions model.  You will see this in action when you download an Android app from the Google Play store, as a user you are presented with a screen like so:

Google documents the complete list of permissions and permission groups.  But each Android device could support only a subset of these permissions, so the easiest way to confirm which permissions and permission groups are supported by an Android device is to use adb shell.  Once you have shell'd out to the Android device issue the following 'Package Manager' pm commands:

$ pm list permissions
All Permissions:



Permission groups
$ pm list permission-groups                                    
permission group:android.permission-group.DEVELOPMENT_TOOLS
permission group:android.permission-group.CALENDAR
permission group:android.permission-group.AFFECTS_BATTERY
permission group:android.permission-group.STATUS_BAR
permission group:android.permission-group.DISPLAY
permission group:android.permission-group.LGT_CONTENT

You can even see the friendly text that is only seen by an end user at the time of app installation from the Google Play Store.


$ pm list permissions -s                                       
All Permissions:

Development tools: access external storage of all users, force background apps to close, modify secure system settings, change system display settings, enable app debugging, send Linux signals to apps, read sensitive log data, limit number of running processes, retrieve system internal state


Affects Battery: allow Wi-Fi Multicast reception, prevent phone from sleeping, control flashlight, control vibration

Status Bar: expand/collapse status bar

Other Application UI: draw over other apps

LGT Contents: LGT Contents

Camera: take pictures and videos