LockMe by Paulo Fierro

Lately Niqui has been having some issues with her iPhone 5's lock button. It works now and then, but you have to press it 6-7 times before it actually locks the screen which is quite annoying.

You can set phone to Auto-Lock after a minute but sometimes you want to lock the screen at a particular point in time.

Enter LockMe.


LockMe is a tiny app that simply locks the screen and quits. It uses an undocumented function called GSEventLockDevice which does just that. Its part of the private GraphicsServices framework so the app can't be submitted to the App Store, but it does the job until she can get her phone fixed.

There's a few ways to use private frameworks but I found the simplest route was to load it dynamically at runtime. The meat of the app is just ten lines of code.

That's pretty cool if you ask me.

So if you or someone you know has the same issue, grab the app from our GitHub repository, build it for them and be a hero :)

Getting data to work with an iPhone with an AT&T GoPhone SIM by Paulo Fierro

So we are in San Francisco for WWDC and want to avoid roaming costs. Our inital plan of using HolidayPhone failed as they forgot to add credit to our SIMs.

After much back and forth I finally got data working on our AT&T GoPhone (Pay As You Go plan). The people at the store assured us this would not work and is not possible, but they're wrong. We paid $10 for the $2 per day unlimited plan SIM. Unfortunately this plan no longer supports a data add-on so you have to upgrade it. There's a $25 per month plan with minutes and texts and a $50 per month one with unlimited everything. I don't care about the minutes or texts, but you may want to compare the two.

  1. To upgrade it, first you have to add money to your account. You can do this in store or online, I went to myprepaidrefill.com.
  2. Click on Login
  3. You probably don't have a password, so click on the forgotten password link for Pay As You Go
  4. Enter in your phone number and you'll get a text with the password. Now login.
  5. Click on Add Features, select Refill and add $25. You can look at the Data Packages section but you'll see a warning triangle. Hovering over it will tell you that a data plan is not supported on the Unlimited $2 per day plan.
  6. Once you've added money to the account, log out. Unfortunately you can't upgrade your plan on the site (or I couldn't find it) but you can go through an automated voice system by calling 1-800-901-9878. You want to upgrade to the $25 plan and this happens instantly. Trying to do so without enough money in the account doesn't work which is why we added funds first.
  7. Once that's done, log back in and you should see that your plan's changed. Now you can go back to Add Features, select Data Packages and select one. I went with $5 for 50MB just to test that this works.
  8. On your iPhone, hop on a wifi network visit unlockit.co.nz, go to Custom APN and select United States and "AT&T PAYG". Don't select plan "AT&T" - it didn't work for me. Then click "Create Profile" and it will install itself on the phone.

Now disconnect from the wifi and hopefull you'll have data working. It does cost a little bit ($10 for the SIM, $25 for the upgrade and then $5 or more for data) but its worth it.

Note: On the AT&T site you'll notice oddities like not being able to paste in your credit card number, you can set the State to "Foreign" when entering in your address but the Country can't be changed from "United States". It doesn't support non-US postal codes either so in my case I had to enter "BN13W" instead of "BN1 3WB" but it still works.

If you want to avoid the hassle you can go with T-Mobile, but then you're stuck with Edge unless you're near the Moscone center where they are apparently testing out 4G.

Reflection + Keynote = iOS demoing awsm sauce by Paulo Fierro

I just bought Reflection about 20 minutes ago and its awesome. It allows you to AirPlay mirror your iPhone 4S or iPad 2 to any Mac running Snow Leopard or later over WiFi. This is fantastic because in the past we had three options:

  1. Use the Simulator, but there are certain features (gestures, accelerometer, etc) that are hard or impossible to demo. Yes there may be tools to help us with some of them, but its a pain
  2. Set up some sort of camera rig to film what it is we're demoing. The nicest one I've seen is Heiko Behrens' CamHolder. I saw one of his earlier prototypes at Beyond Tellerand last year and its a great idea, but it means extra stuff to carry.
  3. Bring an Apple TV with you, hope the projector supports HDMI or buy an HDMI to DVI/VGA converter and AirPlay mirror to that. But then there's the issue of swapping displays, the time lag while swapping and hoping the projector is up to task. And you have to bring it with you.

Those days are long gone! This is what I will be doing in the future:

Step 1: Set up Reflection

Download the app, install and run it. Now ensure your Mac and iOS device are on the same WiFi network. If there is no WiFi available, create a wireless network on your Mac or share the wired connection. Now connect your device to this newly created network.


On your iOS device, double tap the home button, scroll all the way to the left and tap the AirPlay button. Select your Mac from the list of available options and select the Mirroring option.

You should now see a mirror image of the iOS device on your Mac. Finally enter full screen mode (Device > Enter Full Screen) or press CMD+F. Reflection will go into its own full screen space thing.

Step 2: Set up Keynote

Open up Keynote and any presentation. Go to Preferences > Slideshow and enable "Allow Expose, Dashboard and others to use screen".

Step 3: Awesome

Now for the fun part. Enter full screen mode in Keynote and then hit Play to start the presentation. Three finger horizontal swipe on your trackpad to swap to the Reflection app, showing your iOS device in full screen. Three finger swipe back to go back to your presentation.

How freaking cool is that? No swapping displays, no lag, no lugging extra kit with you, just ultra-smooth swipy goodness.

Yeah, I like this a lot.

PS: I have only tested this on Mountain Lion. I assume it works on Lion, no idea about Snow Leopard.

Update: Mike confirms it works on Snow Leopard in the comments. Wicked!