SSL proxying with Charles

Charles is a great development tool for inspecting HTTP traffic. Here are the steps to enable SSL proxying with a Genymotion Android emulator and Charles 3.10:

  1. Proxy the emulator traffic to the host machine
    1. Long press “WiredSSID” and choose to modify the network
    2. Create a manual proxy with host 10.0.3.2 and port 8888
  2. Enable SSL proxying in Charles
    1. Proxy > SSL Proxying Settings… > Enable SSL Proxying
    2. Add hosts for the traffic you want to inspect
  3. Install the Charles certificate on the emulator
    1. Go to charlesproxy.com/getssl in the emulator browser
    2. Name the certificate and select Wi-Fi credential use

A PIN lockscreen is required to install the certificate in 3.1. Note that 10.0.3.2 is a Genymotion-specific IP for the host machine. Setting up a physical device is similar. Just make sure the machine running Charles is on the same network and use it’s IP address in 1.2.

TV Critic

There are large-format displays dotted all around the SoundCloud offices. They’re used for everything from API graphs to news about who’s visiting from out of town. Teams customise the content of nearby displays. We have a few pages rotating in the Android corner:

  • CI build status
  • Mobile API graphs
  • Google Play reviews

I created the app review dashboard to bring our team closer to our users. TV Critic is a tiny web app that pulls the latest reviews from the app stores and formats them as HTML for the big screen. It supports Google Play and Apple App Store.

tv-sudoku
TV Critic pointing at android/com.jdamcd.sudoku

The display is an information radiator for user sentiment – clearly highlighting ratings. The reaction has been extremely positive. It’s a motivation boost when the board lights up green, and it provides useful clues when things aren’t going so well. Most importantly, it spreads empathy for our app users and reminds us why we’re building the product.