Accessory Developers, Meet iOS 8

WWDC 2014 was packed with new features for developers to take advantage of in iOS 8.

Among them were technologies that present new opportunities for accessory manufacturers, but often the technical side of that development doesn’t get the coverage it deserves. What follows is a discussion of what accessory manufacturers should be excited about (we certainly are!) as we look forward to the iOS 8 release.

Effects of Android Application Termination

Digging into ActivityManagerService reveals a bit about how applications are killed.

Between process management of the system at large and user behavior, there are a handful of methods through which your Android application process may terminate. The additional effects on your application code (based on the method) may have consequences for you as a developer.

Intents and Extensions

I have been focused primarily on the Android platform for about 5 years, so the Intents framework is pretty much a part of my DNA at this point. When Twitter went aflame with “iOS has Intents! #WWDC” tweets during last week’s keynote, I sat up and took notice. Could it be? What follows are the things I have observed about what the two frameworks now have in common, and where they divide. … 

On the Edge of the Sandbox: External Storage Permissions

Much has been said lately about Android’s external storage in the tech press. I’ll be the first to admit that what we have now seems like a bit of a mess at first.

With all the interest focused on the subject, I felt it an opportune time to take a moment and explain in detail exactly how external storage permissions work, both in the past framework versions and today in KitKat.

Android Source Diving – Video Tutorial

The skill that separates good Android developers from great ones is the ability to understand how the platform works through an ability to efficiently navigate through the source.

Say what you will about open vs. closed systems and their associated pros and cons, but one of the most instructive tools that you have at your fingertips as an Android developer is the fact that the source code for the framework you are interacting with is readily available. You need look no further to answer the question “I wonder how they did that?”

Android’s New Launcher Paradigm

The ability to create a new Home/Launcher application for your Android device is not a new concept. There’s even a sample application in the SDK that shows you exactly what needs to be implemented in a 3rd party application that wishes to act as the Home/Launcher of the device.

Until now, we could expect that the Home/Launcher application on the Android images for the Nexus devices would be the open sourced Launcher package in AOSP (Launcher, Launcher2, or Launcher3 depending on Android version). But, when the Nexus 5 device shipped recently (and subsequently factory images for the rest of the Nexus line to get Android 4.4), all of that changed.

Bluetooth Smart for Android – Video Tutorial

Bluetooth Low Energy (or LE) is a very cool technology. The possibilities it enables for the connected world via mobile devices are simply amazing. Thanks to my friends over at NewCircle, we recorded a video tutorial for building this new technology into your Android applications.

Fastboot on the BeagleBone Black

When I first saw the BeagleBone Black, it was a no-brainer instant buy.  An open platform, powerful enough to run Android effectively, for under $50, with an onboard eMMC for storage!  That last piece was the prime driver.  Basically every platform out there today (even those used in many production devices) rely on an external SD/MMC card for storage rather than providing any capable flash on the board; and that really bugs me.  So when I saw the opportunity to do away with block-writing images to partitioned SD cards, I jumped. … 

What’s Changed in Android 4.4 KitKat?

The Android 4.4 release is packed with new APIs and features for both users and developers. This is my overview of the top ones to watch out for.

Watch That Baseline Alignment

Let’s go out on a limb and say that every Android developer at one point or another uses LinearLayout to build a row of elements. You may have also encountered this frustrating default setting that aligns text instead of views.