Saturday, December 31, 2011

Knights

Given the delightful news of Jony Ive's ennoblement, I guess we should brace ourselves for a chorus of WTFs — most originating, more than likely, from a certain errant former colony over yonder westwards — decrying as anachronistic the British honours system. But to do so is to misunderstand the very important role which Knights — and, of course, Dames — play in matters of National Security. Let me explain.

Traditionally, the role of a knight has been to act as advisor to the monarch and, during times of war, as an ad hoc general. Much like Jedi, only with a better chance of getting a table at the Ivy. There were many other duties performed as well, mostly involving Questing and rescuing princesses from eg. dragons, orges, trolls, less-attractive family members, etc.. The low number of minor royals being abducted by mythical creatures over recent years attests to what an excellent deterrent the Honours System continues to be. But while still important, these knightly duties are receiving less attention these days. For instance, during the Knight Camp training session in the Scottish Highlands which all the newly elevated must attend, only a single day is now given over to jousting (although this is still fairly intensive, covering as it does not only traditional horse-back jousting, but also jousting on motorbike — both standard and with sidecar — and while hung out of the window and / or sunroof of a wide selection of motor vehicles). The role of the modern knight is that of inspirational figurehead.

Once upon a time, a knight's place on the battlefield was right in the thick of things. This wasn't a bad thing for your average knight, since the excess cash which came with his privileged position would allow him to invest in the latest greatest kit. So while everyone else had only particularly crusty sackcloth to protect them from the business end of a bec de corbin, the knight, encased as he would have been within state-of-the-art tincannery, was free to wander about at his leisure, guisarmes and voulges bouncing off him like gentle spring rain. The advent of the professional soldier was responsible for killing off the gentlemanly sport of Amateur War. Blame ol' wart-face Cromwell. What it meant to be a knight had to change with the times.

The wars of the future won't be fought in the traditional manner. But don't go getting all excited. The wars of the future won't be fought in what we used to call CyberSpace, either. No, the wars of the future will be fought on home ground, in shopping centres, car parks and chain restaurants, against zombies or aliens — or, in one particular nightmare scenario, zombie aliens. It is these wars which your modern knight is being equipped to lead. Their role is to shape whatever ragtag group of disparate survivors they stumble upon into a unstoppable fighting machine. Imagine the scene: A church hall, sometime after dark. A handful of villagers shelter inside, while outside they can hear their former neighbours shuffling around and professing their very real desire to consume brains. A door opens. Who can it be? Only bloody Sir Michael of Caine, that's who. "Alright, lads," says he. "I know we're in a bit of a spot, but don't worry, I've got a plan." Game over for Johnny Zombie.

Seriously, Rest Of The World, when the alien motherships are hovering over our capital cities, who will you have to turn to? Politicians? Celebrities? Mouseketeers? Because we'll have Captain Picard and Gandalf.

Wednesday, December 28, 2011

Lexical: A Retrospective

Since it's coming to the end of the year and I'm feeling a little nostalgic, I thought I'd revisit Lexical, the first iOS code I ever snuck into the App Store. This was released back in the heady halcyon days of October 2009, and since then has been downloaded literally dozens of times.


The visual style is minimalist, inspired by Bauhaus. I like to think that it had a direct influence on the design of the Windows Phone 7 / Windows 8 Metro UI, but then I'm prone to vast delusions of grandeur. Whatever, it's probably long past due a bit of a revamp.

I originally wrote Lexical in a couple of weeks, mainly so I could experiment with Core Animation layers. This time I'll be using Cocos2D/3D for the same reason. And since I've already worked out all the tricky game logic stuff, it should take far less time.

(Why, yes, those do sound an awful lot like famous last words to me.)

Tuesday, December 27, 2011

Topman Generation

Another thing what I wrote: the iOS version of the Topman Generation digital magazine. "But," I imagine I hear you scoff, "surely that's just a couple of web views pointing at the magazine site?" At which point I begin to cry, wishing it was that easy. Feature creep — including the one simple little word "caching" — turned this one into a bit of a nightmare.


And don't get me started on having to work with web guys. Seriously, don't. I mean, individually they're all lovely blokes, but once they start cranking out those scripting languages of theirs... You see that big grey area in the screenshot above? That's the result of removing the page headers and footers. You'd think it would be easy enough to have the rest of the page resize to fill the window, but no. Mind you, if you saw the mess of machine-generated markup it was trying to manipulate you'd probably realise why.

And as for load times... 112 requests and 3Mb just for the main page. Sigh.

Sunday, December 04, 2011

Mobile is not the Future

The future is — always has been — ubiquitous computing. Users will live among an unseen ecosystem of intelligent agents who will anticipate and respond to their every need. Mobile is important because it's a large step along the path to this future. But we're not there yet. Performance, power consumption, and connectivity have come a long way, but we're still computing through a device — we still need to carry the box in our pockets, take it out when we want to use it, look at and interact with its relatively tiny screen. Some day we'll look back on these mobile years with wonder. Apps will seem as archaic as the command line on the desktop — but maybe also as fondly thought of as the clockwork workings of a watch.

Mobile isn't the future, but, for the time being at least, it is still the now.

Monday, November 07, 2011

The iPhone 4S

I've had an iPhone 4S for a few weeks now. It's unusual for me to get a new phone this soon after its launch. I took the plunge this time mainly in order to diversify my development devices. I plan to keep my old 4 on iOS 4.3 for compatibility testing and use the 4S as my main dev device — as well as my everyday phone.

There's not really much left for me to say about the 4S which other people haven't already said. Like Marco Arment, I can't say I've really noticed much of a speed improvement. This probably says a lot about the power of the iPhone 4. Certainly on paper the 4S should be noticeably faster. I usually shy away from having the fastest device available as my day-to-day development device from a — more than likely misplaced — feeling that by not having to worry about performance I end up writing inefficient code. I guess it's hard to shake my assembly language roots.

I must admit that I haven't got much use out of Siri so far. We had fun with it — I'd love to say 'she', but over here they've made Siri a bloke — over lunch one time, but that's about it. I guess I just feel too self-conscious talking to my phone.

And the only other new stand-out feature of the 4S over the 4 is the rattle somewhere at the top of the device near the mute switch. But I'm not sure that's a standard feature.

Sunday, October 16, 2011

On Creativity

I've been an Apple fanboi since back when the company was doomed. Up until the mid-90s I'd been an Atari fanboi. You can guess how big a fanboi I was by the fact it took until the mid-90s for me to finally accept that the platform was dead and that it was time to jump ship. I bet I was one of the very few people to ever own a Falcon030. While I started playing around with programming on the BBC and Spectrum, it was on the ST that I really cut my coding teeth. When I got my first Mac — a PowerMac 8200/100, since you ask — I also got Code Warrior. I made some half-hearted attempts at learning the Toolbox, but somehow it wasn't quite the same — maybe what was missing was that magic which came from knocking around at the assembly level with a single, well-known hardware platform. It wasn't until several years later and Xcode under OS X on an iBook that I really got back into programming, and then what drove me wasn't so much the technology as the community.

"Style over substance" — or something with similar connotations — has been the default insult levelled at the Mac since the beginning. Variations of it were used time and again by detractors to describe the applications available for OS X, especially during the rise of the Delicious Generation. The Mac couldn't host anything like the extensive software catalogue of Windows — especially in wake of the platform's abandonment by most of the big name companies which had previously supported it — but what it did have was a number of well-made applications from numerous small independent developers. Indie developers were craftsmen, and this was reflected in the thought, the time and effort, which went into producing their products. This was the community I wanted to join.

I never did, of course. Time and circumstance conspired against me. The challenges involved in first creating, and then marketing, a product seemed too great, and I shied away from them. And then the iPhone was released. At first, the connection between this amazing new product and the Indie community didn't exist, but eventually the SDK was released and the App Store opened — and the independent developers who had supported the Mac for all these years were there at the front of the queue.

Despite the many stories of small developers striking it rich over night, I never really imagined that I'd be able to produce a smash hit app. I knew that to do it properly I would need to work with others who would fill the gaps where my skills were lacking. The couple of apps I made were to back up my claims of being a proper grown-up developer. I made a few false starts at finding collaborators online (to my eternal shame, I managed to mess a couple of people about, as well as getting messed about — and royally screwed-over — myself), but eventually I gave in and went for one of the many suddenly flourishing iPhone developer jobs.

(I have to thank Steve Jobs, not only for creating tools which I want to use above all others available, but — most of all — for creating the environment where people will actually pay me to use them. It was almost impossible to get a job as an Objective-C programmer in the UK before the iPhone, but now — even today, a couple of years on — there is still a growing demand.)

I had hoped to join a team where I'd be part of the creative process, joining in the back-and-forth and contributing. In the main this has happened. I've worked with some excellent creative people, and — since being subsumed into the world of advertising — some excellent Creatives, but I can't shake the feeling that I've always been the junior member, there on sufferance, tolerated for their technical knowledge but otherwise to be seen but not heard. In short, that I wasn't creative like those others involved in the design process. (One colleague would constantly make comments along the lines of "…even people, like you, who aren't creative…" — they cut me every time.) Sure, I didn't have any formal creative training, but then I didn't have any formal programming training, either.

I guess that there's a broader question here: Is programming a creative endeavour? Certainly it's creative in that it is the means by which an end product is created. But how much creativity goes into that process? I realised a long time ago that as far as my creative colleagues are concerned, the answer is none — that all I do is basically typing maths. (In a particularly grim low moment I changed my job description on the office intranet to read "Typist".) I'd argue against this. While programming is ultimately a form of engineering (although this is mostly an American affectation, nerds who sit in chairs all days wanting to be classed with the guys who get to wear hardhats and build bridges), that doesn't mean that it is rigid and inflexible. The skill — the craft — comes from choosing the best, most elegant solution to the problem at hand. If not an artist, I am, at least, an artisan.

I got into a minor Twitter tiff with superstar designer Sarah Parmeter at Update Conf. As part of her presentation she told a story about talking to developer friends about what the iPhone could and couldn't do in terms of sending SMS messages, and suggested as one of her top tips that designers should find out about device capabilities. I expressed surprise on the back channel that any designer should need to be told this. But, looking back, I shouldn't have been surprised at all. Too many people involved in the design of apps seem to see discovering the abilities — and, more importantly, limitations — of the devices they're designing for as some kind of check on their creative freedom. (To be fair, at the moment this seems to be more prevalent among the ranks of mangers who now seem to be charged with designing apps — wire framing, as if this were some unimportant step in the design process — than with any of the actual big-"d" Designers I work with.) This strikes me as being akin to a sculptor not being interested in discovering the various contrasting properties of marble, brass and wood. And it casts the developer, who has to step in and say no, this can't be done, in the role of killjoy naysayer.

(And we now reach the point where clients are unwilling to pay for app design time, so could we put everything that their web designers need to know about designing for apps down in an email, thanks very much…)

Anyway. Sorry. Another unfocused rant. Tomorrow I hand in my notice. After than I contract for a while. And after that — if the comfort of contracting money and the fear of failure don't get the better of me, which there's a very good chance they will — I'll start up a development shop of my own. Maybe I'll be able to convince some of my Creative friends to come and join me. But I have some strong ideas of my own about app design, and I'm not sure how palatable they'll find them.

Saturday, October 15, 2011

Boots Treat Street Trolley Dash

Another thing I made at work. Pink, isn't it?


This was the project I was using Corona for, as mentioned previously. So technically this is also my first ever Android app, although that side of things was really an afterthought — and a whole world of hurt with it.

The project had originally been pitched to the client as a Tiny Wings clone (because original ideas are hard), but it ended up more closely resembling Canabalt, with the simple tap-to-jump mechanics. Only the zoom-out on max height jumps remains to hint at the original 'inspiration'.

Graphics were chiefly the work of m'colleague Chloe (with sister Rosie helping out on faces). Trivia for the day: Chloe also provides all the vocals. One day I will set up "Naughty Doggie!" as her new e-mail alert sound.

Sunday, September 04, 2011

A Few Thoughts on Cross-Platform Development with the Corona SDK

I'm writing the first draft of this on a train, heading — by an admittedly circuitous route — for Update Conf. As part of the programme we'll be treated to a presentation on using the Corona SDK for cross-platform (iOS and Android, although I believe there are rumblings about Windows Phone 7 support) development. Since I've just (almost — flipping clients) finished a project using Corona, I thought now would be as good a time as any to reflect on the plus points and pitfalls I found while using it — if only to get straight in my mind whether, when I run into Ansca'a representative, I should offer to buy him a drink or give him a slap.

The obvious first question is, Why did I choose Corona? The project — a fairly simple game for a major high-street brand, which hasn't gone live as of the time of writing and which I therefore cannot name, so well call it Basket Bash for now — needed to be developed for both iOS and Android in a short time frame (or at least, that was the original intention. Our deadlines have a habit of slipping…). There was also going to be a certain amount of design iteration along the way (meaning that we didn't actually know what we were making when we started. Again, standard operating procedure). After wasting some time trying to put together a simple 2D GL engine of our own, I gave up and started looking for something a little higher level. Cocos2D was considered, since there is now an Android port, but this would mean writing two versions of the game, one in Objective-C and the other in Java. What we really needed was a write-once solution, and this is what Corona ultimately offered us.

So would I recommend Corona? With certain reservations: yes. Much as I enjoy writing code just for the satisfaction and challenge of it, there's a lot also to be said for simply making stuff, and occasionally limiting or inelegant as it is, Corona generally gets out of your way and lets you concentrate on doing just that. The development language is Lua, which if you've never used before you'll find is simple, easy to pick up, and does just about everything you need it to do with a minimum of fuss.

My main reservation in recommending Corona — probably because I was bitten by it only very near the end of development and so the memory is still painfully raw — is Android device support. As of a few months ago, Corona does not support Android devices running ARMv6 CPUs. As of only a few weeks ago, this was not mentioned anywhere obvious in the documentation, such as alongside the Android v2.2 requirement. Since ARMv6 phones include the HTC Wildfire S, apparently the cheap handset de jour which I'm seeing advertised just about everywhere at the moment, this could be a problem. (I'll admit that I share the fault for not discovering this earlier. When builds wouldn't install on our test Wildfire, I put it down to a combination of un-optimised assets and my inexperience with Android. If I'd taken the time and dug deeper I would have found this enforced limitation — which at that stage would probably have lead us to abandon Corona, although for what alternative I have no idea.)

My other reservations probably come from the way the Lua runtime is implemented. Lua has a rich library of code available to it, but Corona will not work with any of the many binary libs. In our case, this lead to us having to abandon interfacing with a web service using AES encryption. In general, you are restricted to whichever advance features the development team have included and exposed. This includes OpenFeint, Flurry, and an older version of the Facebook Connect library. For Twitter or Facebook using OAuth you'll have to roll your own solution (unless I decide to share mine…). There is support for a selection of native widgets, although this is naturally less fully-featured than that available through the native SDKs. I have yet to attempt to use Corona to build an app with a native UI look and feel.

Be warned that debugging can be a nightmare. The SDK comes with its own simulator, which simulates the differing screen sizes of iPhone, iPhone 4, iPad and half a dozen Android devices. (You'll probably find that supporting different screen sizes is the biggest challenge in cross-platform development. Corona is pretty helpful here, if you're willing to cede a certain amount of control. It offers a number of content scaling modes and supports automatically loading assets based on the scale factor between an arbitrary content size of your choosing and the actual screen size of the device. This is basically the iOS-style @2x, only far more flexible, allowing you to specify many different asset sizes.) The simulator provides console output and a debugger. It cannot, however, run native UI widgets such as web views. For these you will have to build the project for either the iOS simulator or a handset. Which is where things get complicated. I've been unable to get console output from any of these devices. You think debugging with printf() statements is fun? Try debugging with pop-up alerts.

Builds are carried out on the Corona servers, meaning you need an internet connection at all times. For Android that's all you need (saving access to the SDK later to allow you to create a distribution key pair), but for iOS you'll need Xcode 3 installed. A paid subscription is technically only required to build App Store or Market versions of the final app, but I'd probably recommend getting it as soon as you've decide to commit to Corona, since it also gives you access to the daily builds, which in my case fixed a few compilation problems I came across.

In general, I think Corona is a great system for doing a certain subset of cross-platform development. It has the enormous potential to allow you to quickly assemble and test projects and deploy them for both iOS and Android. It's probably not a good fit for apps — as opposed to games — although I say this more out of the opinion that native apps should be built with native SDKs, rather than any kind of hard-won experience. If you are aware of Corona's limitations and manage expectations accordingly, you should find using it to be an incredibly productive experience.

Monday, August 22, 2011

Everyone Else has it Easy

I forget what we're blaming for diminishing attention spans these days. Is it still television? Or have we shifted the blame on to Twitter yet? Are we even still decrying the general inability to concentrate on one thing for more than a few minutes without our minds wandering, fingers and eyes not far behind, or is it just taken as a given that anything more substantial than bite sized chunks will go untasted?

I'm a writer, and those who practice every single other kind of artistic expression have it so much easier than I do. Among the finger painters designers I work with, Dribbble is becoming more popular. I am deeply envious of both it and them. I wish I could get feedback in a similar manner. Images lend themselves to quick inspection and comment. The visual is visceral, it elicits an emotional reaction (or lack thereof) immediately. Sure, a great first line does the same, but then you've got to follow it up with a second, and a third, and keep going until you've got where you want to take the reader. And let's face it — reading takes a lot of time and effort.

It's often been commented on on Writer's Cafe — my sometimes literary haunt of little choice — that the only writing that gets reviewed is the poetry. This isn't surprising. Poems tend to be short, hardly more than a single sparsely-covered page, and therefore quick to read, to form an opinion of, to finish with, sum up, and move on. (It doesn't help that the site is populated with writers — rather than readers — but that's another complaint.) There are few art forms which require such an investment of time from their consumers as the written word.

I publish the few things I write in order to get feedback so that I might become a better writer. I write short fiction because it allows me to experiment quickly, and I had hoped that the shorter form would encourage more reading and more feedback. That doesn't seem to have happened. So what's the solution? Simply, to go long. My one full-length piece of work has received more downloads — paid downloads, no less — that all my short pieces together. I'm sure there's some interesting psychology at play here: maybe by taking the time to publish to a store, and make the decision to charge, you're signalling to the potential reader that what you've written has value and is worthy of their precious time.

Maybe. Whatever. So it looks like I'm bringing my plans forward, skipping over the remainder of the learning to write through dozens of short stories part, and going straight to the first novel. Well, probably a novella. Let's not go crazy. And maybe I should actually write it, rather than writing about it...

A Quick Walk

I went out for a quick walk yesterday. Since my new route home from work has been taking me over the canal at the edge of Regents Park, I thought I'd take the time to have a wander and explore it. I headed west, arriving after a short while — and a single, rather confusing detour away from the canal side — later at Little Venice.


There I left Regents Canal curving southwards and followed the Grand Union further west, passing this collage / mural along the way.


My target was an intriguing patch of green which had previously leapt out at me from the map. Named "Meanwhile Gardens", it of course couldn't hope to live up to its name. Long and narrow, like most areas of communal land in London it featured rough tracks meandering through green hummocks. There was a concrete bowl of a skatepark, various assemblages of adventure playgrounds with swings and climbing frames, and a series of stagnant ponds, falling in steps of thick green weed. There was also this handy plaque, showing you where you were — spatially, in relation to the planets, and chronologically, in relation to the dinosaurs. Handy.


I followed the tow path further west, to the next easy exit point, which happened to be close to Kensal Green cemetery. Now, say what you like about the Victorians, but they certainly knew how to do death. The weather was just on the wrong side of bad for it to be really atmospheric, but there was a pleasing dampness in the air which leant a spring to the dark, pine-covered earth and brought out the green of the moss coating the granite tombs.


Then it was down Ladbroke Grove — somewhere I know chiefly through the writing of Michael Moorcock, and which had until then been as unreal to me as Tanelorn — and then home.


"The Worlds of Mervyn Peake"

The British Library has put together a small exhibition, The Worlds of Mervyn Peake — about a half dozen display cases against the far wall of the Library's cavernous atrium — to celebrate the author and illustrator's centenary. It presents a chronological tour through Peake's eventful life and work — from his early years in China, his work as a war artist, his time in London and as member of a artists' commune on Sark — using material including his own workbooks and correspondence. The later includes a few surprises, including a firm-but-fair assessment of the first draft of Titus Groan from Graham Greene, and a note from Caitlin Thomas wondering if Dylan couldn't borrow a decent suit.

I must admit that I knew little about Peake beyond Gormenghast, so the emphasis placed on his drawings came as a surprise. His work immediately after the Second World War, including sketches of those he found in Belsen, are particularly moving. Other parts of his work, such as his illustrations for an edition of Alice in Wonderland, I found a little disappointing — in this case, although technically brilliant, I thought they were a little too like the more famous ones by Tenniel. The sketches to the left come from an idea he had for a television programme which was never produced.

In all, well worth a look, whether or not you're familiar with Peake's work.

Sunday, August 14, 2011

Garden Barge Square at Downings Road Moorings

If you've ever ventured down to the south side of the Thames just east of Tower Bridge, past the Design Museum, you can't have failed to notice a cluster of long boats and barges, sprouting intriguingly incongruous greenery, moored there. This is Garden Barge Square, and for years it has held a casual fascination for me as one of those private-but-in-plain-site parts of London, there for all to see but non-the-less inaccessible. Last month, as part of the National Gardens Scheme charity open day, the veil was lifted, so I went along to have a nose around.





I'm sure that it would make a wonderful setting for a scene or two in one of the London Novels which I'll probably never get round to writing. In the meantime, the sensation of standing among a traditional English cottage garden, with borders full of rose bushes, while being buffeted by the swell of a passing tourist boat, will stay with me for some time. I don't think I've ever felt seasick in a garden before.

Sunday, July 17, 2011

Timesink Tower

I've been spending a stupid amount of time over the last couple of days playing Tiny Tower (thanks, Chloe, for introducing me to it. I must find some way to repay the favour...) so I thought I'd write up a quick analysis in a futile attempt to pretend that all those hours haven't been completely wasted. (And also because, due to my current project at work, I've been spending quite a bit of time recently thinking over what makes a game addictive and fun.)

The first thing to note is that Tiny Tower isn't a game. There is no way to lose, no "Game Over" state, and although you can make progress — we'll see how important this is in a moment — there is no way to win, to beat it. Instead, Tiny Tower is an entertainment, in the Farmville mould.

Gameplay (yes, I'll still call it "gameplay", despite the proceeding paragraph) is simple. You build a tower from either residential or business floors. "Bitizens" live on the residential floors and are assigned jobs in the businesses. Each has a set of stats matching their skills against each of the categories of business. Matching a bitizen with a job they're good at makes them happy — which I presume increases their efficiency somehow, maybe with faster restock times or better sales, I haven't been able to tell which.

There are two currencies employed in the game. One is coins. You use this to buy stock for the businesses and to purchase new floors for your tower. It's generated by the businesses selling their stock. The other currency is towerbux, and it has a far more insidious role.

It's perfectly possible to play Tiny Tower without ever using towerbux — but it would make for a slow, tedious process. In short, what towerbux do is they make the game fun. You pay towerbux to shorten the drawn-out processes of building floors, of restocking businesses, and of selling that stock. Sure, there are occasional bonus lift users who will perform these tasks, but their random appearances cannot be relied upon. (And, yes, you can leave the game and come back later to see how things are going — the app giving the appearance of running in the background — but that isn't the point.)

You get towerbux in one of two ways. The first is as a — often random — reward for performing some task, such as locating a bitizen or taking someone up in the lift, or as a bonus when purchasing a new floor. The second is by buying it through in-app purchase. Yep, we're in the land of freenium here.

So while you're playing the game — while you have the app open in your hand — what will you be doing? A small amount of your time will be spent on hitting the buttons to order more stock for your shop, but most of it will be taken up by pointless make-work tasks, predominately moving bitizens about in the lift. You earn a small amount of coins for this, but ultimately all it is doing is providing you with something to keep you busy while you're waiting either for some long task (restocking, building) to complete, or while you're waiting to earn enough money to buy your next floor.

So why have I been playing it so much? Why have I checked it a dozen times during the writing of this piece? Why will I continue playing it for the rest of today, and probably get caught checking it during work tomorrow? I wish I could put my finger on exactly what it was. There is a satisfying sense of achievement as you hear the money clinking in and watch your tower grow. There's something which makes you want to see what you can build next. There is something, ultimately, rewarding in the experience.

À la Recherche this Japanese Pupet Thing from When I was a Kid

Among the seemingly random collection of memories of my early years which have stuck with me are brief fragments of a TV show. It was SF, performed with puppets, and very definitely Japanese in style (although I wouldn't have recognised that at the time). There was a big red robot which was formed when some spaceships combined. My most abiding memory was of some bearded guy being killed by a space bug — I think this carried an emotional impact, which would explain why it stayed with me. For years I tried to find out what the show was called. And then came the Internet. One quick question of a TV forum and I had my answer: Star Fleet (X-Bomber in the original — we'll stick with Star Fleet, if only to avoid me making bad X-Bob-omber jokes).

So one trip to LoveFilm (whom my over-consumption of American content makes me want to keep calling "Netflix") later, and I've got the DVD of the first six episodes to watch. And I have to say I'm impressed. The visuals hold up well, with their distinctive styling and cartoony special effects. The continuing story arc is something I've always preferred over purely-episodic TV shows. Sure, the writing is sometimes cheesy, and many of the usual manga tropes are present, but it still tells an interesting story. Oh, and the synth rock. You mustn't forget the synth rock. In all: brilliant. I can't wait for the other discs to show up. What can I say? Six-year-old me had excellent taste.

[Image from Tim Maughan's Review]

Thursday, July 07, 2011

"(I am not a) Creative"

There isn't a day which passes when I don't offer a silent prayer to the Powers That Be that things haven't got so bad that I've started writing poetry... What you see below are song lyrics — admittedly ones which voice will never share. They're the lyrics to "(I am not a) Creative", the song which went viral for Erin from "Internet Famous". Imagine them sung by a slightly kooky young chanteuse with an acoustic guitar, filmed on a webcam, and then uploaded to YouTube. (In fact, if anyone would like to, please feel free.) It's all part of the world-building. I might try my hand at writing "Geeky Girlfriend" next...

I took this photo
To immortalise your smile,
You won’t see it on a box
Down some supermarket aisle

I shot this movie,
It shows our lives in a beam
Of light upon a wall,
Not some kitten-based meme

I didn’t brainstorm this idea,
I can’t show you any scamps,
But my brand message is clear,
It’s you and me and romance…

I painted your picture,
Captured your soul in every stroke,
A gesture to make you want me,
Not to make you want a Coke

I told you this story
Because I thought that it was funny
And that it would make you laugh
Not make you part with your money

Now here’s my call to action,
Move your body over here,
Can you feel the attraction?
Hold me and kiss me, My Dear…

I composed this tune
To lift your mood,
To brighten up your day,
Not to sell anyone fast food

I wrote these words,
Poured my soul on pages blank,
A missive from my heart
Not a circular from your bank

I sang this song because I wanted to sing,
It wasn’t sung to sell anything,
Except for me to you,
You know I do, love you, love you, love you…

Wednesday, July 06, 2011

"Internet Famous"

I wanted to say something about the difficulty in making a living from the Internet under the prevailing culture that everything should be given away for free. It's a position usually fervently espoused by, typically, a particular type of author — the type with a publishing contract and their own ad network — the type who can happily give away digital versions of their books because they've already got the five-figure advance sat in their bank account. (Mentioning no names...)

I'm not sure how much of that survived. In the end, Erin and Cal sat down, started talking, and sort of hijacked proceedings. If ever a writer complains to you that they're at the mercy of their characters, don't treat them like their mad — treat them like someone in an abusive relationship, or like the jewellery store clerk who's apologising for the shop being closed in the middle of the day while frantically mouthing "We're being robbed".

Sunday, July 03, 2011

"Kirstie & Phil: House Hunter"

(No, I have no idea why "Kirstie & Phil" are a "House Hunter" singular. I gave up trying to discern any logic behind this project in about mid-January.)

The latest iOS application I wrote for my day job — Phil & Kirstie: House Hunter — was released last week. For those of you keeping count, that's two so far this year. Yeah, I know what you're thinking: "Slow down there, Stu. It's because of prodigiously productive sods like you that I have to wade through thousands of titles looking for that one fart app which is right for me." Point taken. I'll try to pace myself a little more slowly for the rest of the year (although I may have to medically-induce a coma to do so).

I won't be offering any insight into the development of the app, because if I tried I'd probably get very unprofessional very quickly and start using phrases likely to denigrate web monkeys who think they'll have a go at designing iPhone apps, not to mention the general "just do us a copy of this other app" mentality which seems to prevail these days. Instead I will simply link to this video and leave it at that.

(The app also has its own Twitter account — @HouseHunterApp — but I won't be following it. The app and I don't really have much to say to each other. It knows why.)


Still, one of the nice things about working on something so comparatively high-profile is you get featured in the App Store — although they could have gone with a more interesting image. I wanted one of my Creative colleagues to sex it up by PhotoShopping an explosion into the background, but they refused. (Or rather, they just ignored my e-mail. Typical. I mean, come on, ladies. How long would it have taken one of you? It's probably just a single button click.)

Saturday, July 02, 2011

"Poems from a Notebook [#6022]"

As I mentioned in the comments accompanying Poems from a Notebook [#328], under the Many Worlds interpretation of quantum mechanics, there were a near-infinite number of ways in which that story could have been told. So here's another of them. It's the last, I promise.

The plot differences here reflect one of the alternates I considered when planning the previous story. The character of Dr. Antonov is older than in #328, and here he is morning a dead wife rather than going all emo over a bad break-up. I think, in reflection, this combination is far more in keeping with the kind of Golden Age feel I was originally aiming for.

CSI: Elsinore

HAMLET
Act II, Scene II

HAMLET

More relative than this: the play's the thing
Wherein I'll catch the conscience of the king.

HORATIO

It's time to put some cheese —

He doth don dark spectacles.

— in this mousetrap.

MINSTRELS

Yeeeeeeeeeeah!

Sunday, June 26, 2011

Illogical Songs

My attempt to live according to the lyrics of obscure songs has hit something of a logical hiccup. On the one hand I'm told that "Nothing that's worth having comes without a fight", and on the other that "Nothing that's forced can ever be right, if it doesn't come naturally leave it". Oh, what's a boy to do?

Saturday, June 04, 2011

Josephine Hart

The news of the death of Josephine Hart was a blast of cold air on an otherwise beautifully warm English summer Friday afternoon. The announcement came in a company-wide e-mail — Lady Saatchi being the wife of one of our founders — popping up in my inbox incongruously alongside the mammoth, on-going "where shall we go for drinks after work?" exchange.

I never met Josephine — we were once, briefly, in the same room: our little glass-walled meeting room on the 3rd floor: I ran in, jabbed a key on a laptop to make it behave itself, then ran out again; she was on the phone in the corner the entire time — but I had hoped to. I'm sure no-one will mind me mentioning that we were in the early stages of planning an app based on her West End Poetry Hour. I had badgered everyone I could find to be allowed to work on it, and was looking forward to the experience. (I secretly hoped to impress by suggesting the app be entitled "These Fragments". I also hoped to be able to argue her into including "The Fire Sermon" in place of "A Game of Chess". She would doubtless have been able to see instantly through my paper-thin knowledge of modernist poetry.)

The article on her passing on the BBC website ends with her quoting a quote by Yeats. The full quote runs, "Art is a social act of a solitary man". I had never heard this before, but I think it perfectly captures the dichotomy present in the process of creation.

Sure, Deadlines Suck, But…

My first thought on reading Marcus Zarra's post — and Jeff LaMarche's follow up — on the iOS development community's response to the release of The Daily app was to Tweet "Whoa. So The Daily app was basically written by the iOS dev equivalent of The Travelling Wilburys?". My next, well...

I am a salaried iOS developer working for a reasonably big-name company. (I won't name them here, but if you're really interested in who they are — perhaps you'd like to take a shot at getting me fired — you can find out with only a couple of clicks. And if I write the post I'm planning for later today, you probably won't even need to do that.) I have worked on apps for some fairly well-known brands and personalities. I'm not sure there's one of them I'm totally happy with — which couldn't have been much better if only I'd been given more time to polish, or if certain design decisions hadn't been made. I'm going to be attending a couple of iOS dev conferences later in the year and I really hope there's some kind of amnesty scheme in place because otherwise I'm likely to get a well-deserved slapping from the likes of Matt Gemmell or Mike Lee. So I can understand where Marcus is coming from — I imagine what he had to put up with was an order or two of magnitude worse. But...

This is the bit I have to qualify by saying that I've never used The Daily app. It isn't available in the UK and I don't have a US iTunes account. But I read the same press coverage as everyone else, where people whose opinion I respect mentioned that there were certain flaws with the app. I also read that most of these were fixed in later updates. Great.

The iOS-slash-Mac developer community is, as Marcus observes, a wonderful thing. It's most of the reason I got involved in the first place. (It wasn't until the iPhone came along that it was actually possible for me to turn this into a full-time job.) It is a community of craftsmen, each more than happy to share trade secrets with their peers. But what it has never been — and it's possible that I'm accusing Marcus of having rose-tininted specs here — is some kind of uncritical, mutual appreciation society. There has always been criticism. Bad design and bad implementation has always been called out. If the only notable difference your app offers over its dozen competitors is that its window smokes while it's working, you will be openly ridiculed.

If there were problems with The Daily app, falling standards of politeness within the community shouldn't be blamed for attention being drawn to them. The buck always stops with the developer. So instead of complaining, admit things could have gone better. Maybe explain a little about the kinds of pressure you were under to deliver — those of us who are in the same boat will nod along in understanding, while those who get to work without deadlines and idiot management can feel glad they're not in your shoes. And then knuckle down to making the 1.1 as best you can, given the same constraints of time and resources.

Wednesday, June 01, 2011

"Poems from a Notebook [#328]"

This is a quick (at least by my sluggish standards) attempt to write something with a golden era feel to it. I think I got close — I nailed the paper-thin characterisations, anyway. I've had the idea rattling around for a while, but it was pushed to the fore by my trip to the Out of this World exhibition at the weekend. Well, it was either this or work out how quickly an iPhone 4 could calculate the nine billion names of god. An hour on Wikipedia gave me a selection of names and terms to throw into the mix, so from a distance it might look like I know what I'm talking about.

And in case you were wondering about the "[#328]" — well, under the Many World interpretation, this is just one of a near-inifinite number of ways in which this story could have unfolded. I considered at least a half dozen other causes of the narrator's pathology before choosing this one. Maybe I'll come back one day and — in a Warhol-esque manner — write up and publish some of the others. Who knows, one of them may even be worth reading.

Saturday, May 28, 2011

"Out of this World" at the British Library

The British Library is currently hosting an exhibition of Science Fiction entitled Out of this World — running until the 25th of September; discovered via a re-tweet by Neil Gaiman — so in an attempt to fool people into thinking I do something with my life I went along to take a look.

First impressions were poor. There was a talking heads video looping just within the entrance — but audible pretty much throughout the space — which was both unnecessary and distracting. (I'm of the general opinion that authors should be read and not heard.) The space itself is best described as crepuscular. I'm not sure if the low lighting was necessary — there were some old manuscripts on display and I don't even pretend to play an ancient documents expert on the internet — but the lack of illumination became a problem in the furthest corners. I wouldn't complain about the interactive exhibitions — such as the 'design an alien' thing — if only they'd actually served their purpose and kept the kids out from under foot.

As far as the content went, the exhibition's subtitle — Science Fiction but not as you know it — tells you what to expect: if you're an actual SF fan, you won't be surprised to see the whole gamut of the genre, from Swiftian tales of fabulous lands to literary SF by the likes of P.D. James and Kazuo Ishiguro, covered. There are some interesting finds — particularly in the form of early works in languages other than English — but generally it came across as a non-SF fan's idea of surprising SF. ("Some of these books don't have space ships in them! Who knew?")

There were also a couple of what were, to my mind at least, odd choices. Sure, the whole "what counts as SF" debate continues to rumble on, so you may disagree here, but including Gaiman's (without question excellent) Sandman, even in the section on dream states, seems a bit of a stretch. And then there was yonder blue box. I must admit I somehow managed to walk past it at least once before realising what it was. (In my defence, it was kinda awkwardly situated.) Does a TV show have a place in an exhibition on literary SF? Especially one which appears to want to highlight something other than the mainstream? (Oh, sod, it. Why the hell not? I'm always as happy as the next nerd to see the TARDIS. Plus, there was also a steampunk K9 — this one, I think — made of wood and brass and win.)

So is it worth going to see? In general — and at the price: free — I'd say, "yes". If you strike it lucky and get there when the kids are elsewhere and there are just a smattering of idiots to get in your way, you'll find a lot of interesting items. The original manuscript pages from, among others, Arthur Clarke and J.G. Ballard, complete with corrections in the authors' own hand, are well worth viewing on their own. (I does make me wonder, however, what current authors will be leaving for future exhibitions. In one hundred years time, will crowds gather to view the actual genuine thumb drive China Miéville had biked to his publisher?) I was also pleased to see that both Iain Banks' Culture and Kim Stanley Robinson's Mars trilogy were given case space.

Final verdict? Take a quick spin around, then buy the accompanying book by Mike Ashley (£16.95 from the gift shop) to enjoy from the comfort of your favourite reading chair.

Tuesday, May 24, 2011

"The Endless Sleep"

So here we have my homage to Raymond Chandler, with a little bit of H.P. Lovecraft thrown in for good measure. I know what you're thinking: "that's an awful lot of casual, era-authentic racism to squeeze into one story" — but I think I've managed it.

(And I've also started putting the links to the story before the spoiler-tastic discussion. Go me! It's almost a shame that no one ever reads these posts.)


So I hope you're all familiar with The Big Sleep, and the little piece of attendant lore concerning the death of Owen Taylor, the Sternwood's chauffeur. The story goes that the writers working on the screenplay adaptation — including Leigh "I'm the reason Empire is the best film in the trilogy" Brackett — wrote to Chandler, asking for confirmation as to who killed Taylor. Chandler thought about it for a while and then wrote back that, to be honest, he wasn't quite sure himself.

I'd been wanting to tackle this mystery for five or six years, but it was only at the end of last year that how to tackle it — with the Lovecraftian angle — occurred to me. I'll admit that my main inspiration there came from Neil Gaiman's A Study in Emerald, which does something similar, introducing Sherlock Holmes to the Great Old Ones.

I hope I've managed to give the narrator something of a Chaldler-esque voice without straying to far into pastiche or parody. It runs pretty close at the beginning, but I think I reined it in by the end.

I also hope that you all found the startling reveal at the end as enjoyable to read as I found it to write.

Sunday, May 22, 2011

My Year So Far

It's almost June and so far this year I have released exactly one app which I have worked on end-to-end. That app is My Royal Wedding. Yeah. It's been that kind of a year so far.

Saturday, May 21, 2011

"It Coulda Woulda Shoulda Been a Wonderful Life"

Despite the title, this didn't turn out to have much in common with It's a Wonderful Life beyond the broad theme. Which just goes to show what happens when you don't plan what you're going to write before you sit down and start typing. There are many directions in which you can take the 'suicidal person looks back on their life' idea, and I'm sure it won't be long before I try out some of the others.

This story also contains a couple of references which probably won't age very well at all.

"Of Mice and Men and Midnight"

I wanted to write something Gaiman-esque. (Chicks dig Gaiman, right?) So here is a slight spin on a classic fairy tale.

"A Rather Commonplace Debut"

The title comes from The Picture of Dorian Gray, spoken by Lord Arthur on the occasion of Dorian falling in love with an actress. The choice of title, the rough theme, and the line "You cried yourself to sleep last night. It broke my heart" came together ten or so years ago. The multiple layers of framing narrative coalesced maybe five or six years ago — after I'd lived in London for a little while and grown to love walking the streets of the City, especially during the deserted weekends. But I'm ashamed to say that the similarities between Dorian's picture and the posters of Tess didn't occur to me until very recently, after I'd finished the first draft.

I'm well aware that to properly tell this story the way I want to is far beyond my current abilities. The multiple tenses employed and the way the narrative flits between them should probably not be attempted by anyone. But at least I can say I tried. I may come back to this story in a few hundred thousand words time and try again.

A Rather Commonplace Debut would also make a great title for a first collection, don't you think?

"Unreal City"

I'm really, really not happy with this title, but it was all I could come up with at the time. [EDIT (16/3/2012) This story was originally called Seeing is Believing — like I said, I wasn't happy with the title. This is the "cracking title" I allude to below. And, hey, you can't really go wrong with an Eliot quote, can you?] I think the story as a whole illustrates the problems I currently have with sustaining a structured narrative. Still, I managed to get in a few digs at a former employer, along with the names of a couple of friends (because naming characters is another one of my not strong suits). One day I'd like to revisit the Holmes and Watkins partnership, possibly in something novel-length. I have a cracking title worked out for that one.


EDIT (29/5/2011) — To my eternal shame, I've never read Heinlein's "The Moon is a Harsh Mistress", so it wasn't until I visited the British Library's Out of this World exhibition that I discovered that it too featured a computer intelligence named HOLMES. How embarrassing. Still, at least we know where whoever named the Home Office system really got its name from.

"The Time Traveller's Companion"

I don't think that there can be much doubt as to the inspiration for this one. I guess there are worse things than being accused of writing fan fiction — Stephen Moffat hasn't done too badly out of it, after all — although that was never my intent. Honest. That's me: misunderstood from the get-go.

Author's Note

I like the meta. Stuff about stuff, about how it works, how and — even better — why it was created, fascinates me. I prefer the mythology to the making of. I'm not really interested in how, technically, a certain shot was achieved, but I love to hear how wired / juiced / hungover the cast and crew were when they filmed it, who was screwing / not talking to whom. I love Author's Notes and the context they provide. I love reading which celebrity friend the author was staying with when they wrote a particular work. There's something undefinably glamourous about writing done in foreign hotels rooms, in secluded rural retreats, in rehab. Even a simple dateline — say, London, April 1969 — is enough to provide that little frisson of hermeneutics.

Recently, I've been writing more than ever before. Or maybe it's fairer to say that I've been finishing more, managing to get past the first paragraph without giving up in disgust. (Not sure why this is. There's just a chance I may have found my muse.) This leads to another problem (because it wouldn't be me if there wasn't another problem) — getting read.

(Digression: writing which is never read: is it Zen, like the sound of one hand clapping, or are we talking more along the lines of trees falling in a forest with no-one there to hear them? Discuss.)

I've been posting to Writer's Cafe (my profile's here, since you asked), which seems far less tacky and/or filled with emo teenagers (like I can talk…) than any of the alternatives, but is still far from ideal. The main problem seems to be that members are more interested in writing their own stuff than reading and reviewing other peoples'. Which I can understand. I feel the same way. And it turns out that writing constructive reviews is hard (harder than, say, just re-writing that person's piece yourself, which is what I feel like doing most of the time). The fact that the site's review system doesn't allow for any kind of back-and-forth — it doesn't work like a standard blog comment thread, for instance — doesn't help.

(I'm lead to bemoan, once again, how easy those who practice other art forms have it. It only takes seconds to get someone to take a look at a drawing, or listen to some music, while reading, on the other hand, well that takes time and requires concentration and ooh! look! kittens!)

So I'm going to start posting links to things I write here, along with a little bit of background explaining how particular ideas came about, in a vain (double meaning, there) attempt at grabbing a few more eyeballs. Unfortunately, I won't be able to offer much in the way of exotic writing locations. (The early pieces were written while living in a rat-infested garret in Whitechapel, by which I mean a top-floor studio flat occasionally visited by a couple of mice. Boy, I miss those little guys. Best audience I ever had.)

Book Review: The Long Arm of the Templars

What we have here is, basically, the Grand Unified Conspiracy Theory. The author takes a semiotic grand tour of which Umberto Eco would be proud and ends up proving that the Knights Templar assassinated JFK and that the Holy Grail is an alien artefact.

(And now you don't have to read the book. You're welcome. But should you still wish to do so, it's available in the iBooks Store, and from Lulu, for 99p.)

For me, the most interesting thing is the author himself. Now no longer with us, the forward to this first English edition hints at a few brief months of fame in Europe at some unspecified date (late 70s? early 80s?), a murky, possibly questionable past, and a mysterious death. I think I'm intrigued enough to do a little digging into Sig. Moretti.

SimCap in the Mac App Store

A few months ago (sorry, I am a neglectful blogger), my iPhone Simulator video capture application, SimCap, was accepted into the Mac App Store. Sales are roughly two to three times what I was seeing before, selling from the company website and taking payment through PayPal. This may be in part due to the small drop in price (from $15 to $9.99), but I suspect the more likely explanation is the increased visibility listing in the App Store brings.

In all, I think that this has been a good move.