Chris Banes

I work as an engineer in the Android Developer Relations team. This is my personal blog and any views expressed here are mine, and mine alone.

Android Libraries

Android-BitmapCache… the rebirth.

A while ago I wrote Android-BitmapMemoryCache, a cache based off of LruCache which would cache Android Bitmap objects in memory in a clever way. You can get the full details from this earlier post [http://www.senab.co.uk/2012/07/01/android-bitmap-caching-revisited/], but the bottom line is that it knew when a Bitmap was no longer being used, and so would recycle it. I left it like that the past 5 months and I knew it worked. I was aware though, that developers were looking for something a littl
Chris Banes
PhotoView, Android Libraries

PhotoView v1.1

As you may or not know, I released a small library as part of the work I did for photup (it was actually created before that) which contained an ImageView which could be scaled, dragged and double-tapped. Even though I released it onto GitHub about 2 months ago, I haven’t really maintained it since. Until now. I’ve spent a good few days improving it, making it better and easier to use, and I think I’ve achieved both in today’s release: v1.1. Sample Application I’ve uploaded the sample app to Go
Chris Banes
Android App

photup v1.x

It’s been a while since I posted. Since then, photup has been release to Google Play, and after some initial slowness has slowly been gaining traction. That was until last week, when two things happened: Facebook’s Android app updates, and I released a dodgy update. The Facebook Android app update doesn’t really worry me that much, it doesn’t do everything I want and I think photup feels much more intuitive anyway.  The dodgy update (v1.5.2) has a bit of a balls-up from me, basically I enabled s
Chris Banes
Android App, PhotoView

photup v0.9 beta 2

After releasing the first beta [http://www.senab.co.uk/2012/07/09/photup-v0-9-beta-1/] a couple of days ago, I’ve been busy at work on the second beta. Changelog: * Much improved Facebook Session resilience. * New Login Screen, with logout. * New Flow to picking photos (checkmark icon at top right to select, press to view photo). * New Upload Tab (with Swipe-to-Dismiss completed items) to see which photos are uploading. * Improved Notifications. Using Progress Bar for ICS, BigPictu
Chris Banes
Android App

photup v0.9 beta 1

If you’ve seen my Twitter lately you’ll probably have seen that I’ve been working on a new app called ‘photup’. The basic premise of the app is to share your photos to Facebook, nice and simple!  The easiest way to think about it is that it’s a Android port of Facebook’s Camera [https://www.facebook.com/mobile/camera/] app, just without the unnecessary News Feed. Just to be clear, this is not connected in any way with Friendcaster or OneLouder. There is no common code between the apps (other t
Chris Banes
Bitmap

Android Bitmap Caching… revisited

You may have read my last post [http://www.senab.co.uk/2011/12/28/image-caching/] on my techniques in Friendcaster for caching Bitmaps. In that post I argued against using LruCache and instead advocated the use of a thin cache based on SoftReferences. The main reason I argued against LruCache was because of this: > There is a nice callback in the cache called entryRemoved which gives you the item after it’s removed, and you would think here is the perfect time to call Bitmap.recycle(), but do n
Chris Banes
Raspberry Pi

Raspberry Pi: Media Server Pt. 1

Now that I’ve got my Pi working a bit more efficiently it’s time to actually start putting it to use: a media server. This post will detail the initial steps in getting your Raspberry Pi serving media files from an external drive via DLNA. Mount External Hard Drive The first thing we need to do is get the external hard drive mounted and read-able. When you plug in your hard drive Debian will not do anything with it, so you have two options: mount it manually each time or setup Debian to automa
Chris Banes
Raspberry Pi

Raspberry Pi: Overclocking

The Raspberry Pi is pretty easy to overclock due to an inbuilt config file. This morning I decided to see how far I could push my little Pi. You can see the full list of options for the config file here [http://elinux.org/RPi_config.txt]. Just to make clear, overclocking shouldn’t cause any damage to your Pi (meaning your warranty is fine), overvolting on the other hand probably will damage it over time. If you use the overvolting options then a one-time-programmable bit is set, and your warra
Chris Banes
Raspberry Pi

Raspberry Pi: Initial Setup

After receiving my Raspberry Pi this weekend, I’ve finally had some time to have a play with it. My end goal for the little device is to convert it into a NAS serving media files across my home. For now though I’m just trying to optimise the Debian image Raspberry Pi distribute. Enable SSH First off, I enabled SSH Server so I could connect to it wirelessly. sudo /boot/boot_enable_ssh.rc Optimise fstab There is a swap partition by default in the image, but it’s not used. This is good as SD Ca
Chris Banes