Archive

Posts Tagged ‘ios’

The Walking Dead: I’m Sorry Clementine.

January 10th, 2013 No comments

Much to the chagrin of many of my friends I haven’t really got into the whole Walking Dead craze that seemed to sweep the Internet over the past couple years, mostly because my wife went ahead and started watching them without me. Couple that with the fact that I’m a terrible reader (I only seem to find time for it on long haul flights) I have also given the comics on which the whole craze is based a miss. I tell you this because The Walking Dead game seemed to attract just as much fandom as the IP’s other incarnations but that was most certainly not the reason I decided to play it. Instead I had heard that Telltale Games had done well with this particular franchise and since their treatment of Sam & Max was pretty decent I figured the hype was probably well earned.

The Walking Dead Screenshot Wallpaper Title Screen

The Walking Dead takes place in modern day America with you playing as Lee Everett, a university professor who’s been recently convicted of killing his wife’s lover and is on his way to jail. On the way however the police car you’re in hits an unidentified person sending the car tumbling over the embankment and leaving you trapped in the car. After looking around it’s clear that something is amiss with the officer who was driving you rising from the dead and attempting to attack you. Things only seem to get worse from here on out as you struggle to survive and protect the few people you manage to team up with.

Whilst I haven’t played many Telltale games (although I’ve watched someone play through most of the Sam & Max series) I still got the feeling that their titles had a distinctive style and The Walking Dead certainly fits in with that idea. Due to the extreme cross platform nature of The Walking Dead the graphics aren’t particularly great but the heavy use of comic-book stylization (I’ve seen people say its cel-shaded but I’m not entirely sure about that) means that it still works well. The animations and sound effects are somewhat rudimentary but this is made up in spades by the voice acting which I’ll touch on more later.

The Walking Dead Screenshot Wallpaper Little Dairy Farm of Horrors

Whilst The Walking Dead is more like an interactive movie with game elements the core game mechanics are those of an adventure game coupled with a few modern innovations like quick time events to drive some of the more action oriented sections. If you’ve played other titles in the same genre like Heavy Rain then this style will be very familiar to you where the game play elements are there to serve as a break from the usually quite intense story sections. Of course decisions you make during these sections can also have an impact on how the story unfolds, something which The Walking Dead informs you of at the start of every episode.

Even for a modern adventure game the puzzles that are thrown at you are rather simplistic usually consisting of you tracking down a particular item or following the bouncing ball in order to progress to the next area. Some of the puzzles are also completely optional, as far as I could tell, as there were a couple times when I’d do things that didn’t seem to have any impact past the scene in question. For a game that is heavily focused on the story rather than the game play I can’t really fault it for this as hard puzzles usually only serve to break immersion and frustrate the player but if you were expecting The Longest Journey level brain ticklers than you’ll be disappointed.

The Walking Dead Screenshot Wallpaper Duck Thinks Youre Incredibly Awesome

What I was thankful for was the simplistic inventory system that shied away from having some form of combine or use one item with another item type mechanic that a lot of games like this have. Usually this just ends up in frustration as you try to find the right item combination in order to solve the problem, something that I’m not usually a fan of. Instead if you have an item that can interact with something in the world it’ll show up as an option taking a lot of the guesswork out of the equation. Sure figuring something out can be fun and The Walking Dead certainly has some satisfying challenges but playing inventory item roulette isn’t one of them.

The Walking Dead is, for the most part, bug and glitch free however I had several occasions when the game broke on me in one way or another. Typically this took the form of the keyboard or mouse simply not responding during an interactive section, rendering me unable to progress any further until I reloaded. This wasn’t usually a problem but sometimes it did mean losing a bit of progress, forcing me to replay through a section. By far the worst bug was when a particular cut scene somehow managed to double itself up with all the characters saying their lines twice over the top of each other and the animations attempting to do the same. Personally I’d put this down to the multi-platform release which means that the amount of time that Telltale could spend on QAing each platform was reduced significantly. In all honesty though I thought most of these bugs would be ironed out given the time since the initial release.

The Walking Dead Screenshot Wallpaper Lee and Clementine

Realistically though you wouldn’t be playing this game for the game mechanics, you’ll be playing it for the story. The Walking Dead tells you in no uncertain terms that the choices you make will affect the outcome of the game and that’s 100% true. Depending on the choices you make certain characters may or may not be alive, people might react to you differently or you might end up in a situation that you didn’t expect to find yourself in. At the end of each episode you’ll also be greeted with a statistic screen which shows how your choices lined up with the greater community and the results can be rather surprising at times.

What really got me initially were the small decisions that I’d make in the heat of the moment having drastic repercussions later on, sometimes right after doing so. Traditionally your choices in these kinds of games were almost irrelevant due to the complexity of creating multiple story arcs that have some level of coherency. The Walking Dead still has decisions like that at times during the game but it’s hard to know which one is which before you make it. I can’t tell you the number of times that I found myself wanting to go back and change something because the result wasn’t what I had expected but since there’s no quick save/load function (a deliberate omission) there’s really no way to do it unless you want to play the whole episode over again. Even then you might not be able to shape the story in the way you want.

The Walking Dead Screenshot Wallpaper Kenny Faces His Demons

I also want to give a lot of credit to the voice acting as it’s not easy to make something fully voice acted and have it come out as well as it has in The Walking Dead. Whilst there can be some strange fluctuations in tone should you choose different types of responses (Lee usually has passive, neutral and aggressive options) the sound bites themselves are well spoken and full of emotion which is probably one of the reasons I found it so easy to sympathize with the characters. There’s been quite a few games I’ve played recently that have been ruined by sub-par voice actors so The Walking Dead was a welcome change and one that I hope more game developers take note of.

The story was one of the great examples where I could hate everything that was happening but still felt a deep emotional connection to most of the characters. The relationship between Lee and Clem is a beautiful one and whilst I won’t spoil the ending anyone who’s been through it will tell you that it’s utterly heart breaking, to the point where I was just staring at the monitor, not wanting to accept what was happening. From what I can gather though this is what The Walking Dead franchise is all about and it does a damn good job of making you care for a lot of people before putting them through all sorts of hell, taking you along with them.

The Walking Dead is a great example of an episodic game done right as each of the sections stands well on its own but together they form something that is very much greater than the sum of its parts. The graphics are simple yet well executed, the voice acting superb and the story so engrossing that you’re likely to be thinking “what if” for a long time to come after you finish it. If you’re a fan of adventure games or The Walking Dead itself then there’s going to be a lot to love in this cinematic adventure game and I can recommend it enough.

Rating: 9.0/10

The Walking Dead is available on PC, PlayStation 3, Xbox360 and iOS right now for $24.99, $29.99, $29.99 and $14.99. Game was played on the PC with around 10 hours played and 100% of the achievements unlocked. 

Waking Mars: Who Knew What Wonders Lay Beneath!

December 21st, 2012 No comments

Us PC gamers are always slightly wary of ports. The reasoning behind it is twofold, primarily stemming from the fact that many ports are rush jobs, leaving us stuck with interfaces that were obviously designed for another platform and failing to take advantage of our PC hardware. It’s also partly due to our slight bruised pride from no longer being the platform any more and the issues with ports just seem to be yet another strike against us. Strangely enough though I’ve found ports from the portable market, mostly from iOS and Android, have actually been quite good with Galaxy on Fire 2 genuinely surprising me with how well it translated to the PC platform. Waking Mars is another title that found its fame on the mobile market and now, thanks to Steam’s Greenlight project, has found its way onto the PC.

Waking Mars Screenshot Wallpaper Opening Scene

Waking Mars is set in the not too distant future of 2093 where a team of scientists, including you playing as Liang, have been sent to investigate some of the caves that were discovered on Mars. You’re not going in blind however as some time before your team sent a robot, named OCTO (presumably because it had 8 legs), down to investigate and the pictures it sent back indicated there was life down there. However shortly after sending those pictures communications were lost and whilst his recovery wasn’t a prime directive it did necessitate the need to go down and investigate these life forms further and discover a whole new world that has been lurking underneath Mar’s surface for an eternity.

Unlike most of the adventure/puzzle/point and click adventures I review on here Waking Mars isn’t done in pixel art fashion. Rather its done in a hand drawn style, one that’s very familiar but I can’t place my finger on where I’ve seen it before. Whilst the animation is a bit wonky at times, for both your character and some of the NPCs in the world, it’s still quite passable. The colour palettes are also quite bright and varied which helps to make sure that you don’t get visual fatigue looking at the same sodden brown landscape for hours on end.

Waking Mars Screenshot Wallpaper ART

The core game of Waking Mars is a cross between exploration and puzzle solving. Primarily your aim is to increase the “biomass” of each section by making the various creatures and plants reproduce in the little section you’re currently in. Initially this just starts of with you planting seeds and watering them (which then makes them produce more seeds) but it grows into a complex puzzle of what you should plant where and managing the different types of soil in order to make sure you can produce the required amount of biomass. Once you reach the required level the door to the next level will open up, allowing you to dive deeper into the cave.

As far as puzzle mechanics go its pretty novel especially when you get further along when there are certain plants that will kill other plants which also spread voraciously if not kept under control. Each room obviously has an intended solution, one that if done properly will see you complete it with a minimum of fuss and waiting. This can be something of a blessing or a curse as early on you don’t have the right tools to undo your mistakes. Thankfully up until a certain point all the puzzles are designed to not block you until you get to a stage where you can generate any number of the right seeds you need, as shown below.

Waking Mars Screenshot Wallpaper Big Old Biomass Producer

This particular level also demonstrates the potential for emergent game play mechanics that can be lovingly exploited should you have the time to do so. In this particular area I had what I called a Yellow Seed Reactor (the ones that can grow in the acidic ground) where regular green seeds seemed to collect. Also in the same area was a couple of those life forms that eat the green seeds to reproduce and since the seeds will keep coming as long as I don’t pick them up they had a near infinite supply of food with which to reproduce. In the same area there was also one of the acidic plants that reproduces when it eats one of those little things so whenever I needed a couple of those seeds I’d simply travel back there and wait.

Indeed the way I completed that level was by simply sitting there and watching the reactor in progress as there really is no limit to the amount of times those little buggers can reproduce. It can also backfire horribly on you as they run away when you get near them and the collision detection gets a bit wonky when there’s 100 of them together, usually resulting in a mass suicide that drops hundreds of biomass in a second. I’d be lying if I didn’t say it was hilarious though because seeing them all explode out only to fall over and die is pretty bloody funny.

Waking Mars Screenshot Wallpaper Resevoir

Past a certain point however the puzzles start to feel very samey as you’re just repeating the same motions over and over again. Once you’re in the big chamber you have pretty much unlimited access to all the seeds you need which makes most of the harder puzzles moot but at the same time it also means you’re forever trucking back and forth between locations in order to get the right materials ready in order to progress through. This might not have been as much of a problem if I was playing it on my smart phone since I’d only be playing it for 10~20 mins at a time (and its broken up perfectly for that) but sitting down and playing it for a couple hours means the repetition gets to you and doesn’t make for compelling game play.

The story is also semi-interesting although it feels like it was lacking any direction. Your motives seem to wander from investigation to getting back to base camp to investigating random signals at different points on the map, all without a clear sense of direction. There’s heaps of additional objectives to do but there’s no driving force, either in upgrades or in terms of the story, to push you to do them. Again this feels like an artefact of its mobile origins where it was designed to be picked up and played for a bit and then put down again until the next session.

Waking Mars Screenshot Wallpaper OCTO

Waking Mars is fun and novel, exploring an idea that all my fellow space nuts would love to be true. The core game mechanic is certainly refreshing after all the exploration/puzzler games I’ve played of late but after a while it starts to look all the same. The so-so story that has troubles with direction and pacing doesn’t help this either but that doesn’t stop Waking Mars from being a game that’s worth a look in. I’d probably recommend it on Android or iOS as it seems to be well designed for that and whilst it doesn’t translate badly to PC I still think you’d have a better time elsewhere.

Rating: 7.75/10

Waking Mars is available on Android, iOS and PC right now for $4.99, $4.99 and $9.99 respectively. Game was played entirely on the PC with 3 hours played and 47% of the achievements unlocked.

“This Was Apple’s Plan All Along” Is Starting To Wear Thin, Guys.

December 17th, 2012 No comments

You don’t have to read far on this blog to know that the relationship I have with Apple swings from wild amounts of hate to begrudging acceptance that they do make some impressive products. Indeed I’ve been called everything from an Apple fan boy to an Apple hater based on the opinions I’ve put forth on here so I think that means I’m doing the right thing when it comes to being a technology critic. Of course that means taking them, and their fans, to task whenever they start getting out of line and it appears that the latest instalment of Apple fans going wild comes care of the iOS 6 Maps application which I’ve abstained from covering here previously.

iOS 6 Maps Icon

For the uninitiated Apple decided to give Google Maps the boot as the default mapping application on their handsets and tablets. The move was done primarily because their negotiated agreement with Google was scheduled to come to an end soon and Apple, for whatever reasons that I won’t bother speculating about, decided that instead of renewing it they’d go ahead and build their own maps application, including the massive back end cartography database. Now they’re no stranger to building a maps application, indeed whilst it used to say “Google Maps” it was in fact an Apple developed application that used the Google APIs, but the application was an unmitigated disaster. In fact it was so bad Apple even got Tim Cook do one of those “we’re admitting there’s a problem without admitting it” open letters pointing to alternatives that were available.

I held off on commenting on the whole issue because since I don’t use an iPhone any more I didn’t want to start trashing the app without knowing what the reality was. Plus I’m not one to bandwagon (unless I’m really struggling for good material) and it felt like everything that needed to be said had been said. I almost caved when I started reading apologist garbage like this from MG Siegler but others had done that work for me so re-iterating those points wouldn’t provide much value. However one bit of unabashed fanboyism caught my eye recently and it really needs to be taken to task over what they’re saying:

Situation: Apple cannot get Google to update its maps app on iOS. It was ok, but Google refused to update it to include turn-by-turn directions or voice guidance even though Android had these features forever. Apple says, “Enough” and boots Gmaps from iOS and replaces it with an admittedly half-baked replacement. The world groans. Apple has egg on its face. Google steps up it’s game and rolls out a new, free new maps app in iOS today that is totally amazing, I’m sure to stick it in Apple’s face… Ooops

Bottom line: Apple took one for the team (ate some shit) and fooled Google into doing exactly what Apple has been asking for years. Users win.

Time to get some facts on the table here. For starters way back in the day when Apple first wanted to bring maps to their platform they approached Google to do it however the terms that Google wanted (better access to user data was their primary concern) meant that an in house developed app was never to be. They could agree on good terms for the API however and so Apple developed their own application on the public Google API. This meant, of course, that they were limited to the functionality provided by said API which doesn’t include the fun things like turn by turn navigation (voice commands however are on Apple’s head to implement).

Instead of capitulating Apple decides to build their own replacement product which isn’t completely surprising given that they’ve done this kind of thing before with services like iTunes and the App Store. Claiming that it was done to fool Google into developing a better app however is total bollocks as if they were doing that they wouldn’t have spent so much money on in-sourcing so much of the infrastructure. Indeed the argument can be made that they could’ve bought/licensed one of the top map apps for a fraction of the cost in order to accomplish the same task. So no Apple didn’t do it to get Google to develop an application for them, they did it because they wanted to bring more applications into their ecosystem.

Google’s revamped map app proved to be extremely popular rocketing to the number 1 spot for free applications after just 7 hours of being available. I (in a slightly rhetorical/trolling way) put the feelers out on Twitter to see what Apple fans would have to say about that particular feat and was surprised when I got a reply within minutes. Whilst their arguments didn’t hold up to mild scrutiny (and I didn’t change their opinion on the matter) I was honestly surprised just how defensive some people can be of a product that even the company who developed it has admitted was bad. Especially when the replacement has been, by all accounts, pretty spectacular.

Apple’s trademark secrecy about its plans and intentions is what feeds into these kinds of wild theories about their overall strategy for their products and their highly dedicated fan base too often falls prey to them without giving them some routine fact checking. I don’t blame them in particular however, it’s hard to see fault with a company you admire so much, but this kind of wide-eyed speculation doesn’t do any good for them. Indeed give it a couple weeks and no one will care that there’s yet another map application on iOS and this whole thing will get filed alongside antennagate (remember that?).

Galaxy on Fire 2: Freelancer By Any Other Name Would Be As Awesome.

September 18th, 2012 2 comments

Space sims are one of my favourite game genres. Indeed my go to title whenever I find myself without an Internet connection is Microsoft’s Freelancer, a game released way back in 2003 that still manages to be home to a lively modding community who’ve extended the games’ life considerably. It’s been a while since I’ve seen something of that calibre though with many recent titles like DarkStar One and Sol Exodus not managing to capture me in the same way. Eve Online got close though I’m hesitant to make comparisons between a MMORPG and a single player game as the experience is wildly different. On the surface Galaxy on Fire 2 would be in another world yet again however it really did feel like Freelancer all over again, and that’s a good thing.

Galaxy on Fire 2 isn’t a PC platform native. Whilst its original versions were released for Java (something I’m having trouble finding out if that meant it was actually keyboard/mouse) I was first introduced it as a title that I could use to stress my then shiny new Samsung Galaxy S2 with. After fiddling around with ChainFire3D for a while and eventually getting the Tegra emulation to work properly I was able to play Galaxy on Fire 2 without a problem and really quite enjoyed it. However holding an ever warming handset for more than 20 minutes was a tiresome experience so I never got around to finishing it. You can then imagine my excitement when I saw the title was coming to Steam in all its spacey glory.

You play as space fighter pilot Keith T. Maxwell, out on a routine mission to hunt down pirates and then head back to collect your reward. Unfortunately during the fire fight your hyperdrive is damaged causing your ship to begin malfunctioning. The malfunction then propels Keith forward in time 35 years and far across the galaxy where he finds himself among a newly formed confederation that’s severed all contact from the rest of the galaxy. At the same time a new threat in the form of a wormhole capable species begins attacking at random which Keith, of course, gets roped into helping out with.

I feel like just commenting on how the graphics look on PC would be doing Galaxy on Fire 2 something of an injustice. Taken in the context that the above pictures are a pretty similar quality to what you see on a phone says something about how powerful today’s smart phones really are and just how good Galaxy on Fire 2 looks on them. For a PC sure they’re not that fantastic (the screenshots are done with all the settings on absolute maximum) but in comparison to other recent titles in the same genre they’re actually not that bad and in light of their origins they’re actually quite impressive.

Just like any true space simulator there are a few core components that make up Galaxy on Fire 2′s game play. There’s the full 3D space combat where you’ll battle other enemies in space ships, a commodity trading market (including everyone’s favourite mini-game: mining!) and a set of storyline missions that functions as both a tutorial in the beginning as well as a way to give you game changing pieces of technology in an organic fashion. This level of detail is undoubtedly the reason why I feel that Galaxy on Fire 2 is well above its recent competitors as others would do away with one or more of the aspects which meant a good section of the expect game play in the genre was gone with nothing left to fill the void.

The combat in Galaxy on Fire 2 is pretty decent although its mobile roots do show in its simplicity. In essence most dogfights are the exact same encounter: you’ll get shot at from a distance, find the enemy that was shooting at you then proceed to chase them as you wear them down. The AI isn’t particularly smart and will react in pretty much the same way every time and thus the only real increase in challenge comes from either tougher enemies or by throwing large numbers of them at you. In essence it’s challenging right up until you figure out how to cheat the AI (hint: they can only seem to predict motion in 1 plane of movement) and then after that you’re pretty much just burning time until they all go boom.

There were 2 issues with the combat that I need to mention. The first is the lack of any trajectory compensating reticle, I.E. a little targeting thing that shows you were to aim in order to hit the target that’s moving in front of you. It’s pretty much a given in any space sim (and pretty much anything with a flying component these days) so its absence feels more like laziness than something that adds challenge. Indeed initially it forced me to choose a different weapon type in order to make aiming easier (read: rapid fire) which I felt was extremely limiting. The second issue is the motion of enemies when they’re close to static obstacles. Instead of flying around them enemies will instead hit them, stick to them, and then track along them; that is if they don’t just fly directly through them first. Collision avoidance in space sims isn’t particularly difficult so I can only hope its absence is deliberate for one reason or another.

The trading section is pretty interesting as reading about it on some of the Galaxy on Fire 2 forums shows that it has supply and demand curves so you can create demands in areas and then fill them later on for a huge profit. I personally didn’t bother much with it until I got the blueprint for the Khador drive which requires about $40K worth of materials but retails for about 6 times that which sent me on a trading rampage to try and find the cheapest places so I could start churning these things out. I only ended up building 2 of them in the end and that was enough to get me a ship (a Groza, if you’re interested) that was more than capable of handling pretty much everything that was thrown at me, despite what the forums said to the contrary.

The missions, both the story line and I assume procedurally generated space lounge ones, are pretty simplistic in nature with most of them being not much more than a variation of the “Go here, kill that, repeat” kind of deal. They do mix it up a bit with some of them being disable, capture or raiding pirate base type affairs which helps to keep it interesting for a while but I’d be lying if I said it didn’t get repetitive after a while. Indeed I think this is a problem with most space simulators as the grind of working up to better ships and weapons often sees you repeating the same missions unless you find a shortcut of some description (like selling Khador drives).

The story of Galaxy on Fire 2 certainly isn’t bad but if you’re looking for something akin to a space opera like Battlestar Galactica you’re going to be left wanting. It’s fully voice acted with the actors doing a good job of making the dialogue lively but there really isn’t much to it apart from the wry humour and half assed romance plot. It’s enough to carry the game along and I did genuinely want to see Keith and his love interest get together but there was no lasting emotional impact which is usually how I judge a good quality story.

After saying all that you’d get the impression that I didn’t really enjoy Galaxy on Fire 2 but actually I quite did. Sure the graphics and gameplay are somewhat simplistic and the combat gets repetitive but Galaxy on Fire 2 is the closest thing I’ve had to Freelancer in a long, long time. That’s saying a lot as Freelancer was a game made with (I assume) a much bigger budget and was built for the PC from the ground up rather than coming to it after finding wild success on the mobile market. As a mobile game Galaxy on Fire 2 is an incredible demonstration of what the smart phone platform is capable of. On the PC its a great experience for those of us who cut our teeth on other space sims and hopefully Fishlabs will continue to release their titles (and expansion packs) for the platform.

Rating: 7.25/10

Galaxy on Fire 2 is available on Android, iOS and PC right now for $5.49, $4.99 and $19.99 respectively. Game was played entirely on the PC on Hard difficulty with 7 hours of total play time and 24% of the achievements unlocked.

 

iOS SDK: Lazy Image Downloading.

January 27th, 2012 No comments

I’ve had a couple people ask me for the code behind the image loading that’s referenced in my updates for fast scrolling post and I’m making good on a promise to post the code for everyone else to use. It’s shown below:

ImageDownloader.h

//
//  ImageDownloader.h
//  Lobaco
//
//  Created by David Klemke on 14/10/10.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import
@class Post;

@protocol ImageDownloadDelegate;

@interface ImageDownloader : NSObject {
	Post *post;
	NSIndexPath *indexPathInTableView;
	id  delegate;

	NSMutableData *activeDownload;
	NSURLConnection *imageConnection;
	bool downloadPostImage;
}

@property (nonatomic, retain) Post *post;
@property (nonatomic, retain) NSIndexPath *indexPathInTableView;
@property (nonatomic, assign) id  delegate;
@property bool downloadPostImage;
@property (nonatomic, retain) NSMutableData *activeDownload;
@property (nonatomic, retain) NSURLConnection *imageConnection;

- (void)startDownload;
- (void)cancelDownload;

@end

@protocol ImageDownloadDelegate

-(void)imageDidLoad: (NSIndexPath *)indexPath;

@end

ImageDownloader.m

//
//  ImageDownloader.m
//  Lobaco
//
//  Created by David Klemke on 14/10/10.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import "ImageDownloader.h"
#import "Post.h"

#define kImageHeight 75

@implementation ImageDownloader

@synthesize post;
@synthesize indexPathInTableView;
@synthesize delegate;
@synthesize activeDownload;
@synthesize imageConnection;
@synthesize downloadPostImage;

#pragma mark

- (void)dealloc
{
	[post release];
	[indexPathInTableView release];
	[activeDownload release];
	[imageConnection cancel];
	[imageConnection release];
	[super dealloc];
}

- (void)startDownload
{
	self.activeDownload = [NSMutableData data];
	//NSLog(@"%@",[post.data objectForKey:@"ProfileImage"]);
	NSURL *url;
	if (downloadPostImage)
	{
		url = [[NSURL alloc] initWithString:[post.data objectForKey:@"PostImage"]];
	}
	else
	{
		url = [[NSURL alloc] initWithString:[post.data objectForKey:@"ProfileImage"]];
	}

	NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:[NSURLRequest requestWithURL:url] delegate:self];
	self.imageConnection = connection;
	[url release];
	[connection release];
}

- (void)cancelDownload
{
	[self.imageConnection cancel];
	self.imageConnection = nil;
	self.activeDownload = nil;
}

#pragma mark -
#pragma mark Download support (NSURLConnectionDelegate)

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [self.activeDownload appendData:data];
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
    // Clear the activeDownload property to allow later attempts
    self.activeDownload = nil;

    // Release the connection now that it's finished
    self.imageConnection = nil;
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    // Set Image and clear temporary data/image
    UIImage *image = [[UIImage alloc] initWithData:self.activeDownload];

    if (image.size.width != kImageHeight && image.size.height != kImageHeight)
    {
        CGSize itemSize = CGSizeMake(kImageHeight, kImageHeight);
        UIGraphicsBeginImageContext(itemSize);
        CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
        [image drawInRect:imageRect];
		if ([self downloadPostImage])
		{
			self.post.postImage = UIGraphicsGetImageFromCurrentImageContext();
		}
		else
		{
			self.post.profileImage = UIGraphicsGetImageFromCurrentImageContext();
		}
        UIGraphicsEndImageContext();
    }
    else
    {
		if ([self downloadPostImage])
		{
			self.post.postImage = image;
		}
		else
		{
			self.post.profileImage = image;
		}
    }

    self.activeDownload = nil;
    [image release];

    // Release the connection now that it's finished
    self.imageConnection = nil;

    // call our delegate and tell it that our icon is ready for display
    [delegate imageDidLoad:self.indexPathInTableView];
}

@end

There’s definitely room for improvement in there (you can remove some of the application specific logic) but it works well and I never had an issue with it. Let me know if you run into any problems though!

Siri: Merely a Curiosity or an Interface Revolution?

October 18th, 2011 No comments

Voice controlled computers and electronics have always been a staple science fiction, flaunting with the idea that we could simply issue commands to our silicone based underlings and have them do our bidding. Even though technology has come an incredibly long way in the past couple decades understanding natural language is still a challenge that remains unconquered. Modern day speech recognition systems often rely on key words in order to perform the required commands, usually forcing the user to use unnatural language in order to get what they want. Apple’s latest innovation, Siri, seems to be a step forward in this regard and could potentially signal in a shift in the way people use their smartphones and other devices.

On the surface Siri appears to understand quite a bit of natural language, being able to understand that a single task can be said in several different ways. Siri also appears to have a basic conversational engine in it as well so that it can interpret commands in the context of what you’ve said to it before. The scope of what Siri can do however is quite limited but that’s not necessarily a bad thing as being able to nail a handful of actions from natural language is still leaps and bounds above what other voice recognition systems are currently capable of.

Siri also has a sense of humour, often replying to out of left field questions with little quips or amusing shut downs. I was however disappointed with the response for a classic nerd line of “Tea. Earl Grey. Hot” which recieved the following response:

 

This screen shot also shows that Siri’s speech recognition isn’t always 100% either, especially when it’s trying to guess what you were saying.

Many are quick to draw the comparison between Android’s voice command system and apps available on the platform like Vlingo. The big difference there though is that these services are much more like search engines than Siri, performing the required actions only if you utter the commands and key words in the right order. That’s the way nearly all voice operated systems have worked in the past (like those automated call centres that everyone hates) and are usually the reason why most people are disappointed in them. Siri has the one up here as people are being encouraged to speak to it in a natural way, rather than changing the way they speak in order to be able to use it.

For all the good that Siri is capable of accomplishing it’s still at it’s heart a voice recognition system and with that comes some severe limitations. Ambient noise, including others talking around you, will confuse Siri completely making it unusable unless you’re in relatively quite area. I’m not just saying this as a general thing either, friends with Siri have mentioned this as one of its short comings. Of course this isn’t unique to Siri and is unlikely to be a problem that can be overcome by technology alone (unless you could speak to Siri via a brain implant, say).

Like many other voice recognition systems Siri is geared more toward the accent of the country it was developed in, I.E. American. This isn’t just limited to the different spellings between say the Queen’s English and American English but also for the inflections and nuances that different accents introduce. Siri will also fall in a crying heap if the pronunciation and spelling are different as well, again limiting its usefulness. This is a problem that can and has been overcome in the past by other speech recognition systems and I would expect that with additional languages for Siri already on the way that these kinds of problems will eventually be solved.

A fun little fact that I came across in my research for this post was that Apple still considered Siri to be a beta product (right at the bottom, in small text that’s easy to miss). That’s unusual for Apple as they’re not one to release a product unfinished, even if that comes at the cost of features not making it in. In a global sense Siri really is still beta with some of her services, like Yelp and location based stuff, not being available to people outside of the USA (like the above screenshot shows). Apple is of course working to make them all available but it’s quite unusual for them to do something in this fashion.

So is Siri the next step in user interfaces? I don’t think so. It’s a great step forward for sure and there will be people who make heavy use of it in their daily activities. However once the novelty wears off and the witty responses run out I don’t see a compelling reason for people to continue using Siri. The lack of a developer API as well (and no mention of whether one will be available) means that the services that can be hooked into Siri are limited to those that Apple will develop, meaning some really useful services might never be integrated forcing users to go back to native apps. Depending on how many services are excluded people may just find it easier to not use Siri at all, opting for the already (usually quite good) native app experience. I could be proven wrong on this, especially with technology like Watson on the horizon, but for now Siri’s more of a curiosity than anything else.

Virtualized Smartphones: No Longer a Solution in Search of a Problem.

September 1st, 2011 No comments

It was just under 2 years ago when I wrote my first (and only) post on smartphone virtualization approaching it with the enthusiasm that I do with most cool new technologies. At the time I guessed that VMware would eventually look to integrate this idea with some of their other products, in essence turning user’s phones into dumb terminals so that IT administrators could have more control over them. However the exact usefulness was still not clear as at the time most smartphones were only just capable of running a single instance, let alone another one with all the virtualization trimmings that’d inevitably slow it down. Android was also somewhat of a small time player back then as well having only 5% of the market (similar to Windows Phone 7 at the same stage in its life, funnily enough) making this a curiosity more than anything else.

Of course a lot has changed in the time between that post and now. Then market leader, RIM, is now struggling with single digit market share when it used to make up almost half the market. Android has succeeded in becoming the most popular platform surpassing Apple who maintained the crown for many years prior. Smartphones have also become wildly more powerful as well, with many of them touting dual cores, oodles of RAM and screen resolutions that would make my teenage self green with envy. With this all in mind then the idea of running some kind of virtualized environment on a smartphone doesn’t seem all that ludicrous any more.

Increasingly IT departments are dealing with users who want to integrate their mobile devices with their work space in lieu of using a separate, work specific device. Much of this pressure came initially from the iPhone with higher ups wondering why they couldn’t use their devices to access work related data. For us admin types the reasons were obvious: it’s an unapproved, untested device which by rights has no business being on the network. However the pressure to capitulate to their demands was usually quite high and work arounds were sought. Over the years these have taken many various forms, but the best answer would appear to lie within the world of smartphone virtualization.

VMware have been hard at work creating full blown virtualization systems for Android that allow a user to have a single device that contains both their personal handset as well as a secure, work approved environment. In essence they have an application that allows them to switch between the two of them, allowing the user to have whatever handset they want whilst still allowing IT administrators to create a standard, secure work environment. Android is currently the only platform that seems to support this wholly thanks to its open source status, although there are rumours of it coming to the iOS line of devices as well.

It doesn’t stop there either. I predicted that VMware would eventually integrate their smartphone virtualization technology into their View product, mostly so that the phones would just end up being dumb terminals. This hasn’t happened exactly, but VMware did go ahead and imbue their View product with the ability to present full blown workstations to tablet and smartphones through a secure virtual machine running on said devices. This means that you could potentially have your entire workforce running off smartphones with docking stations, enabling users to take their work environment with them wherever they want to go. It’s shockingly close to Microsoft’s Three Screens idea and with Google announcing that Android apps are now portable to Google TV devices you’d be forgiven for thinking that they outright copied the idea.

For most regular users though these kinds of developments don’t mean a whole lot, but it is signalling the beginning of the convergence of many disparate experiences into a single unified one. Whilst I’m not going to say that anyone one platform will eventually kill off the other (each one of the three screens has a distinct purpose) we will see a convergence in the capabilities of each platform, enabling users to do all the same tasks no matter what platform they are using. Microsoft and VMware are approaching this idea from two very different directions with the former unifying the development platform and the latter abstracting it away so it will be interesting to see which approach wins out or if they too eventually converge.

Google’s Android Review: The Best of Both Worlds.

July 18th, 2011 2 comments

For the past year I was somewhat of an anomaly amongst my tech friends because I choose to get an iPhone 3GS instead of one of the Android handsets. The choice was simple at the time, I had an app that I wanted to develop for it and needed something to test on, but still I copped it sweet whenever I said something positive about the platform since I’d usually be the only one with an Apple product in the area. When it came time again to buy a new phone, as I get to do every year for next to nothing, I resisted for quite a while, until one of my friends put me onto the Samsung Galaxy S2¹. The tech specs simply overwhelmed my usual fiscal conservativeness and no less than a week later was I in possession of one and so began my experience with the Android platform.

The default UI that comes with all of Samsung’s Android handsets, called TouchWiz, feels uncannily similar to that of iOS. In fact it’s so familiar that Apple is suing Samsung because of it, but if you look at many other Android devices you’ll see that they share similar characteristics that Apple is claiming Samsung ripped off from them. For me personally though the Android UI wins out simply because of how customizable it is allowing me to craft an experience that’s tailored to my use. Widgets, basically small front ends to your running applications, are a big part of this enabling me to put things like a weather ticker on my front page. The active wallpapers are also pretty interesting too, if only to liven up the otherwise completely static UI.

What impresses me most about the Android platform is the breadth and depth of the applications and tweaks available for the system. My first few days with Android were spent just getting myself back up and running like I was on my iPhone, finding all the essential applications (Facebook, Twitter, Shazam, Battle.net Authenticator, etc) and comparing the experience to the iPhone. For the most part the experience on Android is almost identical, especially with applications that have large user bases, but some of them were decidedly sub-par. Now most would say that this is due to the fragmentation of the Android platform but the problems I saw didn’t stem from those kinds of issues, just a lack of effort on their part to polish the experience. This more often happened for applications that weren’t “Android born” as many of the native apps were leaps and bounds ahead of them in terms of quality.

The depth of integration that applications and tweaks can have with the Android platform is really where the platform shines. Skype, for example, can usurp your outgoing calls and route them through their network which could be a major boon if you’re lucky enough to have a generous data plan. It doesn’t stop with application integration either, there are numerous developers dedicated to making the Android platform itself better through custom kernels and ROMs. The extra functionality that I have unlocked with my phone by installing CF-Root kernel, one that allows me root access, are just phenomenal. I’ve yet to find myself wanting for any kind of functionality and rarely have I found myself needing to pay for it something, unless it was for convenience’s sake.

Android is definitely a technophile’s dream with the near limitless possibilities of an open platform laid out before you. However had you not bothered to do all the faffing about that I did you still wouldn’t be getting a sub-par experience, at least on handsets sporting the TouchWiz interface. Sure you might have to miss out on some of the useful apps (like Titanium Backup) but realistically many of the root enabled apps aren’t aimed at your everyday user. You still get all the benefits of the deep integration with the Android platform where a good 90% of the value will be for most users anyway.

Despite all of this gushing over Google’s mobile love child I still find it hard to recommend it as the platform for everyone. Sure for anyone with a slight technical bent it’s the platform to go for, especially if you’re comfortable modding your hardware, and sure it’s still quite usable for the majority who aren’t. However Apple’s platform does automate a lot of the rudimentary stuff for you (like backing up your handset when you sync it) which Android, as a platform, doesn’t currently do. Additionally thanks to the limited hardware platform you’re far less likely to encounter some unknown issue on iOS than you are on Android which, if you’re the IT support for the family like me, can make your life a whole lot easier.

Android really impressed me straight from the get go and continued to do so as I spent more time getting to know it and digging under the hood to unlock even more value from it. The ability to interact, modify or outright replace parts of the underlying Android platform is what makes it great and is the reason why it’s the number 1 smart phone platform to date. As a long time smart phone user I feel that Android is by far the best platform for both technophiles and regular users alike, giving you the usability you’ve come to expect from iOS with the tweakability that used to be reserved for only for Windows Mobile devices.

Now I just need to try out a Windows Phone 7 device and I’ll have done the mobile platform trifecta.

¹I’m reviewing the handset separately as since Android is available on hundreds of handsets it wouldn’t be fair to lump them together as I did with the iPhone. Plus the Galaxy S2 deserves its own review anyway and you’ll find out why hopefully this week ;)

My Windows Phone 7 Dilemma.

April 28th, 2011 No comments

You know I was pretty hyped about getting a WP7 handset after having a short play with one in the store. The slick interface and overall usability of it was so high that I thought it was worth a shot and I had really nothing to lose since my work would be paying for it. The NoDo update was on the horizon however so I decided that I’d hold back until it made its way into production so that I wouldn’t have to deal with the same frustrations that day 0 customers had. Most notably this would be the inclusion of copy and paste, but there were also a few other fixes that I thought would be good to have and worth the wait.

The problem is however that unlike regular Windows patching there’s a gate keeper between me and Microsoft’s patches for their new mobile platform. You see the patches have to pass muster with the carriers first before they can be distributed to the handsets although Microsoft had said in the past that they were working with them to make the process as quick as possible. Unfortunately for us Australian customers looking for a WP7 handset you really only have one carrier to go with: Telstra. Now this wouldn’t be so much of a bad option normally since Telstra had to start playing straight after their retail and wholesale arms were broken apart but it seems that they’re not up to the job of testing WP7 updates:

Universal availability of the copy-and-paste update to Windows Phone 7, codenamed NoDo, is almost here, according to Microsoft’s latest schedule update. The final unpatched phone available in the US market, the HTC Surround sold by AT&T should start to receive its updates within the next ten business days. The network’s other two handsets, the Samsung Focus and LG Quantum, have been receiving updates since last week.

European carrier Deutsche Telekom (which includes T-Mobile UK) has at last finished its testing, as has Australian carrier Optus. Updates from phones on these networks should also appear within the next ten business days or so. This leaves only two carriers still delaying the updates due to “testing”: Telefonica, in Spain, and Telstra, in Australia.

This was the one area where I was expecting Microsoft to shine through since their bread and butter products have depended so heavily on their patch services for well over a decade. Sure the vast majority of the blame should be leveled at the carriers since they’re the ones causing the delays, but Microsoft isn’t innocent of incurring delays either. Of course the original iPhone and Android handsets weren’t immune to problems like this either but I had expected Microsoft’s late coming to the party to be at least coupled with a strong patch and feature release scheme so they could play catch up quickly.

It might seem like an extraordinarily small gripe considering the rest of the platform looks solid but when minor feature releases like this take so long to get through the pipeline it makes me wonder just how long I’ll have to wait for the next update, codenamed Mango, to drop. Amongst other things Mango will bring full HTML5 support to WP7 something which it currently lacks in its browser. Whilst the IE9 implementation of HTML5 does leave some things to be desired (my newest app idea uses HTML5 bits, and IE9 mangles it) it is a lot better than not having it at all, especially when so many mobile versions of sites rely on HTML5 functionality. With speculation now brewing that this update might slip to next year that’s starting to put WP7 at a serious disadvantage, unless some enterprising browser developer ports to WP7 ala Opera et al.

I’m still planning to nab myself one of these handsets if only for the few times I’ll want to try my hand at developing an application for it but with such delays piling up on each other I could very well see myself changing to Android or back to iOS until they’re finished playing the catch up game. I’m sure as time goes on they’ll develop a much better relationship with the carriers and hopefully they’ll be able to leverage that to remove some of the roadblocks to getting patches and updates out to us consumers. Until then however WP7 users are going to be at the whim of the carriers, even more so than they are normally.

The Future of Windows Phone 7.

March 31st, 2011 4 comments

Whilst the only current smartphone platform I’ve had any decent experience with is Apple’s iPhone I’m still not completely tied to it. Sure the platform is great and I’ll always be keeping an iOS device around for as long as I keep developing for the platform but my next handset purchase is more than likely not going to be another Apple device. The case is strong for a Windows Phone 7 handset thanks to its great tool set and general esoteric-ness (I don’t yet know anyone who’s bought one) but that same air of mystery is a double edged sword. Sure most of my general applications will be available on it, like Twitter and Facebook, but past that there’s not a whole lot of interest in the platform.

It’s not surprising really considering that slice of the mobile market pie that Microsoft commands is only a mere 5.5% according to the IDC, which includes all handsets that come under the Windows umbrella. The nearest rival to them is RIM (creator of the Blackberry handset series) who nearly triple their share at a whopping 14.9% and even they don’t seem to command a 3rd party developer army comparable to that of Android or Google. Still with them sealing the deal on a partnership with Nokia recently the IDC has reported that Microsoft’s WP7 platform will begin to surge ahead, overtaking iOS and being second only to Android.

The intial reaction to this was of course, utter disbelief:

In the close to six months that WP7 has been available, it has failed to set sales on fire. In fact, Microsoft hasn’t provided any metrics on how many WP7 handsets have been sold. Also, the 5.5% market share that Microsoft has now represents both WP7 and the old Windows Mobile 5.x and 6.x systems, which are still being sold on enterprise handhelds.

Further, Microsoft has stumbled badly with the first two system updates for its smartphone platform. First by delaying it for nearly two months, and second by bungling the actual delivery of the updates. Things are not going so smoothly for Microsoft. Heck, WP7 champion Joe Belfiore actually wrote a public apology to its WP7 customers about the whole update debacle.

Zeman makes some good points about the WP7 ecosystem and the troubles Microsoft has faced in dragging their Windows Mobile platform into the modern age. The sales figures aren’t that impressive when you compare them to iOS and Android, heck they’re not even that impressive compared to single handsets on either platform. Still this ignores the fact that WP7 is still a nascent platform and it will be a while before it reaches the maturity level that everyone’s expecting of it. If we’re fair and compare the initial WP7 sales to the initial release of Android you’ll actually find them quite comparable with the G1 selling some 600,000 handsets in the first couple months and WP7 cracking 1.5 million in its first 6 weeks. It took quite a while for Android and even the iPhone to hit the fever pitch that they have today so the current market share of WP7 devices shouldn’t really come as a surprise.

I can’t provide an excuse for their botched update schedule however. Apple seems to be the only major competitor that’s nailed this completely with Android and WP7 both suffering from the same carrier induced delays and fragmentation problems. It’s actually one of the reasons why I haven’t already lashed out for a WP7 handset since the main carrier of them here in Australia, Telstra, is still testing the pre-update update and has no schedule for the release of the coveted Nodo update. Since there doesn’t seem to be any way to route around the carrier and install the patch manually (although I’ll admit I haven’t done a ton of research on this) it means I’m wholly dependent on someone other than Microsoft to get my handset updated. With Telstra’s track record that doesn’t exactly inspire much confidence in the platform.

Both Android and iOS faced similar problems in their infancy and I’m sure WP7 will be able to overcome them in the future. Whether it will become the second most popular platform though remains to be seen as whilst the Nokia relationship means they have a strong possibility of gaining some serious traction it’s not a sure bet that every current Symbian customer will convert over to WP7. With Microsoft being particularly coy about their sales figures its hard to get a good reading of how their new mobile platform is trending but it will definitely be interesting to see how their market share changes as Nokia begins releasing their WP7 handsets.