Greg Shackles

Navigation

Caviar is Cavalier About Privacy

The "on-demand economy" is everywhere these days. With the tap of a screen you can summon a taxi or have food delivered from your favorite restaurant. Often these services even provide you with real-time updates on the location of the car or courier so you know exactly when they'll be showing up. From a user's perspective this is awesome, but there are pretty big privacy implications at play here for both users of the service as…

Create Modern Android Apps with the Design Support Library

With the release of Android 5.0, also known as Lollipop, Google introduced its new material design style. Material Design is a huge step forward for Android apps, bringing with it a total overhaul of theming, as well as a bunch of new UI components you can use in your apps. To make things even better, Google also released the Android Design Support Library, which allows you to take advantage of material design in versions of…

Solved with a Facepalm: Small Resolution Screenshots with Calabash

As I've mentioned on my blog before, I like to use Xamarin's UITest library (and Calabash, by extension) to help automate the generation of app screenshots. This allows me to reuse my existing UI testing code as well, making it incredibly easy to create the generation scripts. Earlier this year I ran into an issue where the screenshots being generated for the iPhone 6 and 6 Plus were coming out at a lower resolution than expected…

Determining the Correct String for UIFont.FromName

We use a lot of different fonts throughout the different apps on our platform, and often it can be a little bit of a chore to figure out the correct string to feed to UIFont.FromName() in order to properly instantiate a font from the files. One approached I've used in the past is to throw some lines in my app's startup code like this: foreach (var family in UIFont.FamilyNames) foreach (var fontName in UIFont…