Intel NUC Case final photos

Remember that case I designed a while back, well, I made it! I made it a while ago, I just haven’t gotten around to posting about on here yet.

I’m pretty happy with how it turned out, the power button could do with an easier way to get to, and the bolts holding it together could do with a slightly better area to thread into, but apart from that it came out as planned!

3/4 angle


Intel case design competition

Apologies to all the avid readers (hi Simon!)  for the off topic post, but I felt the need to record my success.

I entered a competition a few weeks ago run by and intel.  It was to design a case for Intel’s Next Unit of Computing (NUC) which is a new series of super small motherboards they’ve brought out.

This is the design I came up with.

A few days ago I made the cut into the top 5, yay! I now get sent all the parts to make a useable NUC (motherboard, ram, ssd, wifi adapter) and have 10 weeks to create my case design, after which it will be showcased at an Intel event with the other top 5.  There may also be a best of the best contest too, so more prizes could be in there way!

I also have to keep a build log for the project, so check here for updates .
Link to project log

Android interview questions / tips

Just back from another (I make it sound like I’ve had so many!) Android Engineer Interview. Very different format to the last one, no getting stuck in a room by myself for a couple of hours to do an online test, yay!

Three of us went off for a chat at a nearby cafe, we ordered some drinks and the 2 guys fired up their George Foremans.  Again(did I mention it last time?), I did no programming revision for this interview.  I went in and hoped my knowledge would hold up.  This was probably a bad idea, as my brain goes into “do not disturb” mode in these kind of situations.  Note for future self: Brush up on general programming terms!

They threw at me these questions.

What’s an array?

What’s a HashTable?

Difference between mutable and immutable objects?

What’s Polymorphism?

I did ok with these, not as well as I would have liked, the last one stumped me more than it should have, as judging by the definition on wikipedia, I use it all the time.  I probably should have been able to figure it out just by the word, instead my brain was going “hmm that word sounds familiar” and tried to recall some knowledge from my university days, but it couldn’t find the keys to the locker cabinet where those files are kept and said “sorry, buddy, your on your own!” anyway, being able to use these or any concept is more important than being able to explain what they are, but that’s not so easy to demonstrate in a chat with someone so learn what’s what!

General questions you might get asked

How would you improve/what would you add to our product XYZ? This is probably a good question to prepare for in most product companies, as coming up with a good answer on your way home afterwards is probably too late (“you should be able to buy hats! lots of different types of hats!”)

How did you solve a recent issue you’ve had? Preferably an issue related to what your applying for.

What particular area within your field of work are you interested in?

Android Engineer Interview Questions

I’ve just come back from an interview for a Senior Android Engineer position at a company based in London, and thought I would share my experiences as looking online before didn’t really prepare me for the questions that would be asked.

My research on this topic before hand turned up some fairly useless questions they “might” ask such as, what is Android, what is the Android SDK, and other trivial questions that are not likely to be asked as what’s the point?

My interview was broken up into two parts, the first I was shown into a meeting room with a single computer, a browser open and the start of an online test screen.

I had 90 minutes to code up solutions to 3 programming problems.  I wasn’t informed when starting how many questions there would be, I was thinking a lot more and maybe some other type of questions coming up later.

I had access to the internet and was left alone for this period, so I did some googling for 2 of the questions and found some good answers straight away. The third I did myself as it seemed pretty straight forward, and not so easy to Google!

I feel I should get some credit for being able to find solutions to the issues, because A) no one does these kind of problems in a day to day role. B) who doesn’t have access to the internet when their working? And C)why solve a problem that’s already been solved?

Anyway after solving the 3 questions and seeing the end of test message appear and the fact I had 40 odd minutes left, I realized I probably could have spent the time and solved these myself, which would probably have looked better to the interviewers.

If you’re curious the 3 questions were as Follows

1 – Find the number of unique absolute values in a list of integers.

2 – Is a string an anagram of a palindrome?

3 – A pawn moves through an array K such that K[n] = x then K[n+x] is the next value to move to. Find out how many jumps it takes till the pawn is out of the array or if it never exits.

These were all worded a lot more complicatedly in the test, but did have some useful examples of what they meant if you were unsure of what a palindrome/anagram/absolute number was.

At the end of the test someone came along with my answers printed out and we proceeded to go through my solutions.  If you go the route I did (googling for answers/help) make sure you know how your solution works!

We went through this for 5 minutes, I explained that I did some searching for answers, walked him through the last one just to prove that I did write it.

Then came the Android/Java specific questions.

Things you should know!

Async Tasks

What they are used for, what the different methods are (doInBackground, onPostExecute, onProgressUpdate)

Services/Intent services

Differences between the two, what would you use them for?


Issues with multithreading and solutions (data concurrency, synchronization, locks)


How would you communicate between the activity and fragment, both ways?


Merge layouts, include, viewstub, 9 patch

Final, Finally, Finalize

What are their purposes? What does final do on an object/class/function etc.

This is all I can remember being asked, but these are the types of questions you’re likely to be asked in a technical interview.   I can imagine some other topics for questions would be

Activity/fragment lifecycle.

Content providers/ shared preferences

Handling rotations


That’s it for now!


Professional app mockups in powerpoint?

ppt mockup
A few months ago, I tried making some Android wireframes using photoshop and some assets created by Taylor Ling the assets were in the form of a PS file and all the different Android UI elements layed out in seperate layers. This would have been perfect if my PC could handle it, unfortunately the large number of layers made it run so slowly I couldn’t really use it.

Before discovering these assets I had been making my wireframes in powerpoint, just because I had that tool available (I didn’t have photoshop at the time) and I find everything pretty straight forward in PPT and overly complicated in tools like photoshop and GIMP.

Case in point: I once tried making a smooth ring/donut in GIMP for my Circulo logo, firstly I had to track down some tutorials to make a ring, as it wasn’t obvious, and after trying 3-4 different methods, plus my experienced GIMP using friend giving it a go, all we could produce were unround jaggedy looking rings. I eventually fired up PPT and made a smooth ring without the help of a tutorial in less than a minute.

Back on track, as the PS resources weren’t panning out for me, I decided to start making my own powerpoint resources. As I was getting started I decided to have a quick search online to see if anyone had done something similar. Taylor Ling to the rescue again, he had already made exactly what I wanted! I recommend checking out what he’s made here Android UI Design Kit PPT. The image above was made all in powerpoint using the linked resources.

Google Play Game Services

leaderboardI was working on my own leaderboard system for Circulo these past few weeks, I wrote my own web service, linked it in with facebook for logging in and getting unique names, pictures and what not ( this was after the google plus integration didn’t work very well ).

I was going to do a nice post for you on how to do this too. But Google have beaten me to it! I knew they were working on an iOS Game Center type thing, but didn’t think it would be ready quite so soon.

The feature let’s you easily add multiple score boards and achievements to your application, and lets the user signin using there Google login, which everyone with an Android phone and access to the current play store will have, so there is no signup or typing of details to login, which is nice.

achievementsIt came out a couple of days ago and I’ve jammed it into Circulo already. It’s really easy to setup and add in. The time consuming part is coming up with Achievements for the game and working in the logic to keep track of them in your app. You have to have at least 5 achievements before they will let you use the service, which I kinda like as it forced me to come up with some, and let’s face it we all love unlocking achievements.

I had a few issues setting up the service, was mainly down to the signing certificate (it suggests one to you when linking your game which you assume is right, it’s not). And then I set it up with my Debug certificate which is what it suggested to do, so I had it all working when I was testing, then I signed the app ready for the store with my Circulo specific certificate and it obviously didn’t work. I switched over to my Circulo one it still didn’t work not sure why though, it took a lot of fiddling and I eventually got it working. If you have any issues let me know, I might be able to help out.

New version of Circulo

Increasing downloads for your Android apps.

Good news, Circulo has passed 100 downloads, and it’s currently on 70 active installs and  zero reported crashes.  I released the app on the 7th of March, and it is sitting on 114 downloads.  That’s just over 2 downloads a day, which isn’t a lot!

The download rate for apps seems to have gone down a lot since I released Smiley Tap in late 2010.  Smiley Tap had a lot more than that when it was first released,  this was mainly due to the fact that apps used to appear in a newly released section of the app store,  this doesn’t happen anymore.  Only games with a high rating and a good amount of downloads already will show up in one of the play stores categories.

This makes it tricky when releasing your app to get any sort of user base.  For the first 6 weeks or so of Circulo’s release I was sitting on around 25-30 downloads, the bulk of these were from people I knew.

I shot up to 114 downloads thanks to my friend Daryl (Dazzy G) Gent posting a review of my app on his site Daryl’s Blog, and then this only worked well because another one of his blog posts was featured on the Android weekly blog.

In summary,  if you want people to download your application, you need to promote it in some sort of way, through blogs, review websites, facebook, twitter.  The more readers, friends, followers you have the better.  If you don’t have many of these then read up on tips on how to get more!  Also you want to look at keeping your downloadees as users of your apps, not people that download and uninstall after the first go, do this by improving your app, people normally leave handy comments in the comment section, listen to what they say!

That’s all for now.