Recent Films

Welcome to the Jungle

Mid-Afternoon Sessions

Will4Point9

EKS Aberdovey Visit
Recent Photos
www.flickr.com
This is a Flickr badge showing public photos and videos from ctr. Make your own badge here.

Friday, July 30, 2010

GameKit, iPad and iPhone

Filed under: Coding, iPhone — Chris Ross @ 8:33 pm

To get an iPad and an iPhone talking to each other you will need to implement the optional delegate method:

- (GKSession *)peerPickerController:(GKPeerPickerController *)picker sessionForConnectionType:(GKPeerPickerConnectionType)type {
return [[[GKSession alloc] initWithSessionID:@"ApplicationSessionID" displayName:[NSString stringWithFormat:@"iPad - %@", [[UIDevice currentDevice] name]] sessionMode:GKSessionModePeer] autorelease];
}

Otherwise they will not find each other as they are different application. Hope this helps, had me scratching my head for a while.

Friday, May 28, 2010

iStarWarsPad

Filed under: It's funny. Laugh., iPhone — Chris Ross @ 3:20 pm

Just… brilliant.

iPad – 24 Hours Later

Filed under: iPhone — Chris Ross @ 2:11 pm

Am I pleased I got one: absolutely.

Initial thoughts: When using my iPhone I’m constantly darting to the Twitter or RSS app to see what has changed, normally I will push links to Instapaper for later consumption. With the iPad, I have no such urge. I very much have enjoyed browsing sites, reading RSS and catching up on Instapaper. The iPhone is for quick bursts of consumption, the iPad for more considered and deliberate ingestion.

Below are a set of thoughts that I would usually bombard Twitter with but I am not going to as I don’t wish to bore/piss people off.

  • The screen is pretty much the right size. Anything smaller and it’d invade the iPhone, anything larger and you’d start to think a laptop is the right tool.
  • The screen does end up with finger prints all over it. This isn’t a surprise and the same happens to every other touch device I’ve used. The only reason it feels jarring is because the iPad screen is lovely to look at and putting a finger print on it feels somehow wrong. I expect this to change as it becomes less new.
  • iPhone apps look horrid on the iPad. They either look stupidly small, or pixelated at the 2x resolution. The only things that don’t look retarded are fast moving – non delicate – games. I’ve managed to replace most applications with iPad counter parts, but not all. Stares at Remote, TuneIn Radio, Skype, OmniFocus and last.fm.
  • Mail on the iPad is much more usable, I can actually use my email rather than just triage as I do on the iPhone.
  • Twitter clients that have iPad counter-parts mostly suck.
  • Apple claim that the browsing experience on the iPad is magical. As I’m neither five years old, a camp old gentleman nor in marketing, I wouldn’t use the word magical. I would say it is very nice. You have screen real estate with great touch feedback and pages render quickly.
  • The iPad is much faster than my iPhone.
  • My iPhone now feels cramped, slow and claustrophobic.
  • Maps on the iPhone is useful, maps on the iPad is excellent.
  • Signing up for 3G data worked very easily – plug in details and sign up. No need for credit check, sitting on hold or talking to other human beings.
  • I like having 6 icons across the bottom on the dock – my common applications now all live there.
  • Choosing to go for the 64Gb seemed like the expensive choice. It was the right choice. After sync’ing my music library and about 10 full films and various applications, I’m still left with about 15Gb of space.
  • Typing in portrait is pecking at the keyboard iPhone style. Landscape, after a little practice, can be done at speed comparable to a normal keyboard.
  • The weight of the iPad is surprising. It is heavier than you’d expect but the device feels solid so it doesn’t feel unnecessarily heavy. Using it with one hand comfortably requires cradling it from the back. Holding it with two hands you’d hold it like a book.
  • The iPod app is good and makes use of the screen real estate, it would be nice however to have a list – as well as an icon – view for albums.
  • For universal applications – those written to run both on the iPhone and the iPad – generally feel a lot nicer on the iPad over the iPhone.
  • The battery is excellent – after using it for about 4 hours solid, the battery had only gone down by ~15%. This seems to genuinely be a device you can charge, use all day and not worry about running out of juice.
  • Bluetooth support for keyboards is excellent and finally gives me a reason to keep my Apple bluetooth keyboard for travelling where extensive typing might be needed – for example a trip to Sweden for a few days. (I use a Microsoft Natural Pro keyboard for my desktop).
  • It is absolutely not a laptop replacement for myself. It will do 90% of the things I do on my laptop in a faster, more enjoyable fashion, but this will unlikely to become a code machine. (That being said, IronMonger might come out to play again – my Cocoa Touch port of ferite – for a bit of hacking fun.)
  • Instapaper is absolutely spot on. Excellent app.

All in all I’m really pleased.

Now I just need to sort out a car charger for it and my iPhone (the current iPhone one doesn’t work for the iPad due to the power demands of the iPad), and a case (I had ordered a neoprene case from amazon.co.uk who emailed me the day after it was due to ship to say it has been delayed).

Got An iPad

Filed under: iPhone — Chris Ross @ 8:56 am

Pretty damn good.

Thursday, April 29, 2010

What Makes iPhone OS Devices King (For Me)

Filed under: iPhone — Chris Ross @ 10:45 am

I often hear people touting features that make device A or device B the best. Whether it is the screen size, processor speed or any other metric that is easily comparable in a spread sheet. The problem is that actually the hardware isn’t what is important to me. I don’t care that it might be slower, the screen resolution might be smaller, it doesn’t have a front facing camera. What does matter to me is how the software platform makes my life easier.

10 years ago I was exceptionally happy to hack away at code, configurations, themes and installed software to find out what it could do. 10 years ago I was at university with plenty of time on my hands. 10 years ago I was still trying to work out what was important to me.

Now I work. That is 8 hours every day for five days that I sell to the company I work for. Given that I am only awake for 16 hours – that leaves me with 8 hours for myself. I have, at maximum efficiency, half the time I used to have (given that I rarely went to lectures and spent most of the time doing what I wanted to do). The result? My time is more valuable. If I am going to tinker with something then it has to be something I want to tinker with, something that has value. I take my mountain bike to the bike shop to get it fixed, serviced and issues resolved. Not because I’m incompetent but because I want to ride my bike and it works out more efficient to pay someone to do the job whilst I work.

This thought process is what has led me to being a Mac OS X user: it worries about all the parts I don’t care about (~95% of the system) but is UNIX enough for me to worry about the bits I want to worry about as a developer. It makes my life easier. I don’t have to worry about unstable software. I don’t have to worry about messing about with configuration files. Life is easier for me.

So where does iPhone OS fit into this?

I own two desktop macs, a laptop and an iPhone. Soon an iPad will be joining the ranks.

The feature I covet more than any others with the iPhone is synchronisation (and, by proxy, backup). I have a MobileMe family subscription with my wife. I use it to synchronise. I don’t use any of the other features, just synchronisation. I have my contacts and calendars syncing over the air almost instantly as changes are made. Yet these are the obvious places for syncing ones that are features Apple push. There are three other uses that are invaluable:

1: I use OmniFocus on my desktop to manage tasks that I need to be doing. Using the iDisk on MobileMe, I have the software syncing across two iMacs (27″ i7 and 20″ G5), a macbook and my iPhone. This means that what ever device I am using I have access to my tasks and can keep track what and when I am supposed to be doing things.

2: Bookmarks. This is the best kept secret. Bookmarks are synchronised over the machines I have and my iPhone. This means I can use my 27″ iMac to search, find and manage interesting sites and get access to them on the phone. The most common use of this is to work out routes in Google Maps, bookmark the route and then opening the bookmark on my phone and it popping open within the Maps application.

3: Music but specifically podcasts. I love that I can listen to a podcast at my desk. Pause it, synchronise my phone and then continue to listen where I paused it whilst I walk to the shops or take on a vehicle based adventure.

All this synchronisation makes iPhone OS not just another device but an extension on how I operate. The ease at which data flows between my devices means that I don’t need to worry about where the data is – I know it is at all my computer terminals. I don’t have to worry about it. I don’t have to tinker with it. It just works. Purchasing an iPad is an easy decision, I plug it in and it is setup to operate within moments within my own personal computer ecosystem.

So where does this leave me? I will continue to buy into iPhone OS mobile devices until someone can provide this level of integration in a way that just works. This means data flow without corruption, between multiple devices without me having to even think about it.

Unfortunately this is a hard problem – so I wont be holding my breath.

Monday, June 8, 2009

Whilst I am blogging.

Filed under: Coding, iPhone — Chris Ross @ 9:55 am

I made a few more tweaks and changes to the demo browser for the iPhoneFerite engine. It now does “fake” bookmarks and expands on nib file usage. The UI has been tweaked and a bookmarks button added. The button, when clicked, will slide up a modal view controller to show the bookmarks. Tapping on a bookmark will load it.

Loaded darkrock.co.uk from a bookmark

"fake" bookmarks

To show the user interface being built in Interface Builder:

Interface Builder Designs for the Browser

The next demo is a basic RSS feed reader.

Sunday, June 7, 2009

A Better Browser

Filed under: Coding, iPhone — Chris Ross @ 9:52 am

I’ve managed to put in place the code to allow nib files to be loaded – thanks to some excellent documentation from Apple on what happens. As such, I’ve managed to not only reduce the code required to write a web browser in iPhoneFerite, but also provided some extra functionality at no extra cost.

Firstly the code:

class NibTestOwner extends UI.NibFileOwner {
   object webview;
   object textfield;
   object button;
   object view;
   object activity;

   function buttonClicked_( object sender ) {
      .activity.startAnimating();
      .textfield.resignFirstResponder();
      .webview.loadRequest(
         NSURLRequest.requestWithURL(
            NSURL.URLWithString('http://' +
               .textfield.text())));
   }
   function webViewDidFinishLoad_( object sender ) {
      .activity.stopAnimating();
   }
   function textFieldShouldReturn_( object sender ) {
      .buttonClicked_(sender);
      return false;
   }
}

object app = UIApplication.sharedApplication.delegate;
object owner = new NibTestOwner();

if( NSBundle.mainBundle.loadNibNamed_owner_options_("NibTest", owner, null) ) {
   owner.view.setFrame(app.canvas.frame());
   app.canvas.addSubview(owner.view);
   app.tabBarController.setSelectedIndex(0);
   owner.textfield.becomeFirstResponder();
}

The advantage of this approach is that it is a) quicker, cleaner and faster, b) the way you do it if you were using the Objective-C SDK and c) allows you to get pixel perfect control layout and configuration:

Interface Builder constructed UI

The next set of challenges involve the ability to inherit Objective-C classes and override existing methods. I think I will have to write some code that automatically builds Objective-C classes from the functions declared within a ferite class. I’ll provide some updates at the next junction.

Monday, February 23, 2009

Ok, I’ll admit it…

Filed under: iPhone — Chris Ross @ 8:31 am

… have cursed the other Twitter clients on the iPhone apart from Twinkle. I decided to try Tweetie. It appears that it is quite good and I was surprised and pleased to see that it did location aware tweeting (by this I mean looking for tweets done locally rather than adding ones’ location to a tweet) which is one of the killer features of Twinkle.

The things I would like to see are:

- Counts on replies. It appears that if someone sends you a reply tweet, and they are not in your follow list, they only show up on the Replies tab. That is fine and a good mechanic to avoid tweet spam, however there is no obvious way to track if there are new ones there without looking.

- Ability to re-arrange icons at the bottom. I’d like to swap the ‘Favourites’ tab for the ‘Nearby’ tab.

- There is an annoying little gap at the top of searches and some pages which I don’t understand.

Apart from that it is really nice. And fast. Doing what it says it does.

Saturday, January 10, 2009

iPhone Gaming

Filed under: Gaming, iPhone — Chris Ross @ 9:41 am

Further to my previous posts about gaming on the iPhone, I continued to look for games that might sate my need for mental interaction. (Especially given that my laptop is dead meaning that my usual avenue of code tinkering no longer is viable.)

Tilt controls are out. Most games fail to have a calibration tool or a sensitivity dial. The assumption is that the player will be sat or stood vertically, with the device out in front at them, at a 45-50 degree angle. This kills the abilty to lie down and play the game (bed, sofa, hammock) which is usually the places I want to play (at least on this holiday this far). The sensitivity thing is also important. What works for the developer using the software every day isn’t going to work for joe average who has yet to build the motor functions. I also want to be able to dull down the sensitivity if I am on a train compared to a chair at home.

3D games are out. First person shooters and the like are out. Having tried a couple of the higher rated 3D times and found the frame rates to be jerky, I am just not interested.

So what does that leave me with? I want games that exercise my brain, have some pacing and urgency about them and can be played for 5 minutes to several hours.

So far the two games that have drawn me in are Sol Free and Bejewelled 2 (the later rapidly becoming what I feel epitomizes a really good mobile game). I looked at all the poker games but none captivate me, it would be really cool if pokerroom.com had a client.

If there was a geometry wars style game that would be excellent.

Saturday, December 27, 2008

An update

Filed under: Kiting, Life, iPhone — Chris Ross @ 11:11 am

I am currently sat waiting for breakfast so thought I would write some thoughts down!

Brazil is excellent, my kiting has improved and Emma is now able to water start and travel a healthy distance on the board. It is fair to say that she can kiteboard. The next thing on the list of things to nail is staying upwind which should be no issue as she can do it on land and snow. I have some things I want to try like 360 inverts, backloop kiteloops (can almost land them) and a whole host of unhooked shenanigans! The water here is nice and warm and the wind good but part of me does miss Littlehampton beach for a punchy epic flat water session :D We have been really lucky to have great accomodation and really nice people to hang out with. It has been funny showing them land kiting videos and watching their eyes pop put of their head (having never seen it before)

Christmas was good albeit different. A group of us had various meals out with the pinacle of the day being spent hanging out at the beach by the lagoon drinking coconuts and eating ham and cheese sandwiches! I would, as my twitter feed suggested, be a liar if I said I didn’t miss a traditional Christmas dinner with all the trimmings! As for presents, Emma bought me a share in Apple Inc. which is pretty damn cool. The certificate will arrive when we are back home. Emma loves a good massage so I got her two deep tissue massages for when we return and various massage related items for when we are here.

I still think my iPhone rocks. I have however stumbled across a curious situation. Gaming. I love playing games. I love my iPhone. It is therefore safe to assume that I would love gaming on my iPhone right? Not exactly. I have various games on here and a whole selection of games I’d like to buy but I just don’t play them. There is some mental barrier that seems to stop me seeing the device as a games machine. This will probably pass but it is a curious gate that I want to get past. I think what doesn’t help is so many games extolling the virtues of tilt controls when they make control soft, soggy and down right frustrating to play. A bit like trying to tie shoe laces with boxing gloves.

Hope everyone that reads this is having a great holiday!