Photo of Jamie & Lion

The personal site of Jamie Knight, a slightly autistic web developer, speaker and mountain biker who is never seen far from his plush sidekick Lion. View the Archive

iPad mini - First Impressions

I started my new job this weekend and i picked up an iPad mini as a little present to myself.

This article contains my first impressions after a few hours of use. I’m curious with how it compares to the iPad 3 and the iPhone 5.

Size & Weight

I’m a big fan of the iPad mini’s design. Its simple and elegant, thin and light. In use it feels lighter than the iPhone 5.

The light weight means it’s more comfortable to hold over long periods. Unlike the iPad 3, I can easilly sit holding the iPad mini in one hand.

It works really well for reading in bed!

Screen

At launched much was written about the iPad minis lack of a retina screen. And it’s true. The non retina display is kinda jarring.

However after an hour or so I have adapted. I’m sure (like with my 11” Air) I’m going to be keen to upgrade when the retina model lands but this screen works fine.

With my glasses on and the iPad on my lap, I cannot make out any pixels. When reading the web i’m using tap to zoom to bring the font size up then hold it further from my face. This has proved to be comfortable to read.

Typing

I vastly prefer the typing experience on the iPad mini. The full iPad is a little to large for me to type on with my thumbs. This mini works much better, I found myself instantly picking up the layout. I have not tested it back to back but right now I feel quicker typing on the mini than the full size iPad

One things which has got me thrown is the ratio of the keyboard to status bar, on the iPad mini the status bar feels really skinny. I have gotten use to it now, but at first it felt really inelegant.

Performance

Performance is my biggest disappointed so far. The iPad mini feels slow and clunky compared to an iPhone 5.

Routine operation on the iPad mini has a slight lag, it’s not huge but it is noticeable. This has manifest most in safari mobile. Even on a fast connection the iPad mini shows a noticable rendering delay.

On complex pages I can see tiles being rendered as I scroll and its easy to over scroll and need to wait for the page to catch up. It’s much like scrolling on the iPhone 3G.

This does surprise me, the same CPU in the iPad 3 and iPhone 4S seems capable but here it seems easy to overload. Further to this I frequently see web pages reloading after I swap apps. On my iPhone I have becomes accustomed to being able to leave tabs open. But on the iPad mini tabs seems to be reloaded every time I switch apps.

Value for money

Performance commentary aside, I’m pretty impressed with this little box of tricks.

I brought the base model with a view to a quick upgrade next year. At less than half the cost of my last iPad its a relative bargain. Arguably, it’s a less capable device, but overal i prefer the smaller form factor and lower price.

Obstensively the iPad mini is using “old tech”, however it is very usable. I feel the iPad mini provides good value when you take into account the content and app ecosystem.

Finally

So in short. The design is elegant, the screen is workable, the performance acceptable, but it’s price is perfect.

Published: 11 May 2013 | Categories: , Permalink

The Clifford Engine.

I havn’t mentioned it here yet, but i have just got a new job at the BBC. I’m moving to the frameworks team to stretch my enginnering skills and explore how other parts of the business operate. This post is not about that move though, it’s about the technical test they asked me to complete. The Clifford Engine.

As part of the interview process i was asked to solve a problem in a language of my choice. The problem is known as a clifford engine. In short, the task is too build an interpreter for a very basic stack language called “Clifford Code”.

I really enjoyed the test. I don’t often get to write algorithm based stuff so it was nice to have a problem outside of my normal domain. It was complex enough to be fun, but easy enough to build in one sitting.

I felt that the code might be useful to others, perhaps people who are exploring how to use prototypes, or jasmine tests and have put the code up on github.

I have also reused the problem to test my knowledge of rust and put an implementation of the clifford engine in rust on github too.

The clifford engine test was alot of fun and seems to be quite effective as a hiring tool. I feel the following characterstics make it good:

I enjoyed the clifford engine test. I think its a great example of a small but non trivial interview task.

Published: 14 April 2013 Permalink

Concepts and DOM bashing.

Recently I have come to realise there are two fundemental ways to build Javascript applications. DOM Bashing and concepting.

DOM bashing is the simplest method to build a JS application. Effectively, you just keep bashing at the DOM to get the page to look how you want. You show stuff, hide stuff, copy stuff, get data over AJAX and you store all the state in the DOM.

Immagine a simple app which is a list of items. If your DOM bashing you push stuff around the page to get the look you want. You don’t model the data, you just worry about the pixels on the screen. You click add, a box appears, you close it goes away again. Simple.

Concepting is another approach, rather than starting with the DOM, you start by modeling your concepts into objects. So you may have the concept of an item, and an item may include the concept of a tag etc. You write code which manipulates concepts and at some point updates the DOM to reflect the state of your current object graph. The state is in the JS, the DOM is just a view. You may have a render method which draws the current data structure to the users screen.

I’m sure both of these approachs have thier proper names. As i have learnt more about Javascript i have found myself dealing with concepts more often. Especially as applications get bigger and more complex.

Published: 10 April 2013 Permalink

Older Articles