Skip to main content

Benjamin Oakes

Photo of Ben Oakes

Hi, I'm Ben Oakes and this is my geek blog. Currently, I'm a Ruby/JavaScript Developer at Liaison. Previously, I was a Developer at Continuity and Hedgeye, a Research Assistant in the Early Social Cognition Lab at Yale University and a student at the University of Iowa. I also organize, ICRuby, OpenHack Iowa City, and previously organized NewHaven.rb. I have an amazing wife named Danielle Oakes.

Welcoming the Xamarin team to Microsoft

by Ben

I am pleased to announce today that Microsoft has signed an agreement to acquire Xamarin, a leading platform provider for mobile app development.

Source: ScottGu’s Blog – Welcoming the Xamarin team to Microsoft

Sunsetting Parse

by Ben

Beginning today we’re winding down the Parse service, and Parse will be fully retired after a year-long period ending on January 28, 2017.


First, we’re releasing a database migration tool that lets you migrate data from your Parse app to any MongoDB database. During this migration, the Parse API will continue to operate as usual based on your new database, so this can happen without downtime. Second, we’re releasing the open source Parse Server, which lets you run most of the Parse API from your own Node.js server. Once you have your data in your own database, Parse Server lets you keep your application running without major changes in the client-side code.

Source: Michael Tsai – Blog – Sunsetting Parse

Android Auto, Apple CarPlay on many 2016 Chevy models

by Ben

From their press release, the following Chevy models will have Android Auto and Apple CarPlay support:

For those unfamiliar with Android Auto or Apple CarPlay, it lets you replace or supplement the infotainment system that comes with your car.  For example, you could use a music or navigation app running on your phone, rather than using the software that came with the car.  This will be especially interesting 10 years from now (2025!), when you might really wish you had a more up-to-date infotainment system in your 2016 model-year car.  These Android and Apple systems make it much easier to update how your car works, especially compared to physically removing part of your dashboard and replacing it.  Personally, I’ve been thinking it would be interesting just to leave an old smartphone in the car, charging over USB and loaded with music and maps that were downloaded over WiFi.

I’m especially intrigued by this because I’ve been considering a replacement for our 2003 model-year car, and it’s important to think 10 years ahead for such a big purchase.  (After all, we’re using a 2003 model-year car in 2015.)  While Android Auto or Apple CarPlay support isn’t likely to make or break our decision, it definitely has its benefits.

Android and iOS apps on Windows: What is Microsoft doing—and will it work?

by Ben

Android and iOS apps on Windows: What is Microsoft doing—and will it work? | Ars Technica.

The way Microsoft presented the Android and iOS support on stage last week wasn’t particularly encouraging. The way that Projects Astoria and Islandwood—the codenames for Android and iOS app support, respectively—were promoted in the keynote presentation, one might think that the Android and iOS support were pretty solid substitutes for the Universal Windows Apps that are native to Windows 10 on all the hardware form factors it will support. It seemed like porting apps from those platforms would be an effective alternative to any plans to develop native Windows applications.

This is pretty crazy: Windows will support Android and iOS applications through compatibility layers.  I don’t really see the iOS layer getting a lot of traction just because it takes a lot of work, but the strong Android support is going to further entrench Android as a platform you can deploy to almost anything (second only to HTML5).

Chrome 42 Beta for Android Brings Powerful Developer Features

by Ben

Chrome 42 Beta Brings Powerful Developer Features.

The web is quickly becoming as powerful as native apps and Chrome 42 beta brings a number of huge features for developers to Android devices.

First, it brings a new “App Install Banner” that allows websites to show a prompt to users that asks if they want to add your site to their home screen. The idea is that Google wants to encourage users to start pinning the sites they frequent to their home screen, just like apps.


Chrome 42 also brings push notifications to the web, thanks to a new Push API that allows them to send a system notification. Your website can now send a full notification, even if Chrome isn’t open.

Happy to see the mobile web — or at least Chrome’s version of it — is catching up to “native” apps in terms of supported features. Let’s hope Safari and Firefox make the Push API a priority!

Pixel Dungeon, a quality open-source dungeon crawler

by Ben

Pixel Dungeon – Android Apps on Google Play.
Pixel Dungeon – F-Droid.
watabou/pixel-dungeon – GitHub.


Traditional roguelike game with pixel-art graphics and simple interface.

I randomly came across Pixel Dungeon today, and it was well timed because I was recently thinking about re-playing Diablo, a very well known take on the “rougelike” concept. However, though I kept thinking it would better on a tablet. (I played it a little on a Windows XP tablet. Yes, there was such a thing, and I had one… though I didn’t have the time to sit down and enjoy it back then.) Unfortunately, Diablo isn’t on Android, and from what I can tell, it’s not worth the trouble of trying to get the Windows 95 version up and running under emulation.

I found NetHack, famous for being one of the oldest continually developed games, which has some okay Android ports with some okay tilesets. I was hoping for NetHack with higher fidelity, maybe some retro-styled graphics, maybe some sound effects, and if I was lucky, some decent music. I found all of that in Pixel Dungeon. It’s definitely a gem of open-source mobile games; I’d recommend trying it. I haven’t played it much yet, but it’s definitely worth sharing.

Side note: it turns out Michael Toy was one of the original authors of Rogue, in addition to also a main part of the Netscape documentary called Code Rush that I watched recently. That’s quite a coincidence!

Why open source and open standards matter on Android

by Ben

Google has a mixed history with their product offerings. Though they were once the poster child of open source contributions and open standards, they are now shutting down well-liked, standards-based services to move users to applications that are more tightly integrated in the Google ecosystem, allowing them to more closely track users and collect more data for advertising purposes. As examples, Google Reader (which used the RSS and Atom standards) was shut down in favor of Google+, CalDAV access was limited for Google Calendar (though I think they partially reversed that decision), and they’re in the middle of shutting down Google Talk (which uses XMPP, the same as Facebook and others) in favor of Google Hangouts. The writing is clearly on the wall for FeedBurner and maybe even IMAP access to Gmail. The idea of Google killing off IMAP seemed far fetched a couple of years ago, but now that “Inbox by Gmail” is their vision for email’s future, it certainly seems possible in a few years.  All of this means that Google will have much more control over how and when we can use our data.

It’s no secret that Google is continuing to migrate Android from being an open source smartphone to an OS to host its proprietary apps and services. That said, Android is still the most open of the mainstream mobile platforms. Compare that to Apple’s iOS, which is very unlikely to ever receive a version of Firefox that isn’t just a skin for Safari and specifically bans code from the App Store if it uses certain types of open source licenses, like the General Public License (GPL).

Thankfully, open source and standards-based solutions are available on Android. They don’t have a “kill switch” for any one company to flip.  The important thing is to use them.

Given the above, if you’re not the fondest of relying on Google for yet another service and would like to know if open source, standards-based apps exist for your need, these are some good sources to consult:

Should you only use open source applications? Well, it might not be that enjoyable of an experience on mobile today… and although open source matters, open standards might even be a more important distinction to consider as we move more and more towards cloud computing, considering that products will continue to appear and disappear over time.  Certainly, if you have a choice between a closed-source app that uses open standards and a closed-source app that uses the opposite (i.e., proprietary APIs), it would likely to be in your own best interest to strongly consider the former, given the long term.

The list of sources is just a starter set, but worth a look the next time you’re looking for software.  If open source and/or open standards aren’t on your list of considerations, there might not be much software that use either in the future.

Update: I’m happy to know I’m not the only one who feels this way.  Dan Bernier shared this related post with me: Your App Is Not Better Than An Open Protocol.

How do I view source in the Android browser?

by Ben

html – How do I view source in the Android browser? – Android Enthusiasts Stack Exchange.

As a bookmarklet: javascript:document.location='view-source:'+document.location;

How to allow auto-update of apps in Play Store only when plugged in?

by Ben

4.1 jelly bean – How to allow auto-update of apps in Play Store only when plugged in? – Android Enthusiasts Stack Exchange.

My answer:

The closest I’ve come is combining two settings. I do this on two devices, one running Android 4.4.4 (KitKat) and another running Android 5.0.2 (Lollipop).

  • System Settings → Wi-Fi → Advanced → Keep Wi-Fi on during sleep → Only when plugged in
  • Play Store → Settings → Auto-update apps → Auto-update apps over Wi-Fi only

It seems to pick up updates at least a little more often when it’s plugged in. It’s not perfect, but it’s not a bad half-solution, and it doesn’t require Tasker or rooting.

Microsoft to invest in Cyanogen, which hopes to take Android from Google

by Ben

Microsoft to invest in Cyanogen, which hopes to take Android from Google | Ars Technica.

A Microsoft investment in the company would be the latest in Redmond’s ironic ties to Android. Microsoft is thought to make more from Android patent licensing fees than it does from Windows Phone, and through its purchase of Nokia, the company even briefly sold Android-based handsets. Now, according to the Journal, Microsoft will become an investor in a company that sells an Android distribution.

This is good news for AOSP, and hopefully Android as a whole. Having more Android investment from companies other than Google is a good thing.