Categories
bitching maintenance

Why am I ignoring you? (Sorry, I didn’t know you’d called)

I just discovered something rather annoying: people have been leaving voicemail on my cell phone. Please don’t. I can almost guarantee that I’ll never receive the message.

Normally, this doesn’t happen: I have a recorded message explaining:

  • don’t leave a message – I won’t receive it. No, really. Don’t leave one “just in case”: you’re being self-delusional. I WILL NOT receive it. (It’s amazing how many people struggle with this concept :)).
  • if you need to contact me, you should already have my email address; if you don’t even have my email, then you shouldn’t have my phone number in the first place
  • if it’s urgent, you can try sending an SMS, but if I wasn’t answering the phone, it’s probably switched off or out of cell reception, so I might not see the SMS for a while either (but at least I’ll see the SMS as soon as I’m back in range / switched on)
Categories
amusing security

A Spam a day keeps the madness at bay…

Every now and then I scan through my auto-spam folder and see what’s in there. Sometimes the subject lines are hilarious. Other times they teach you about new kinds of phishing attack that are being attempted.

Mostly, they just say depressing things about what it is to be a human in the 21st century.

All the following were yanked from spams I received in the last few weeks (I just did a subject line sort for what was left since the last mass-deletion). I have to say … the depressing, “makes you want to kill yourself if this is the kind of email you receive and respond to” ones have mostly disappeared, which is good. But the ones about MEGADICK that used to make me LOL have sadly faded away :(.

Lost in translation? (aka “WTF?”)

Be a bedroom business master!
Make your hose’s radius great
Fertilize your male tree
From now you don’t need a crane to lift your instrument up!
Come now, pay less!

Sounds painful…

Your manhood will come back to you like a boomerang
Load into her like a geyser!
With a bigger tool you can break not only hearts but splits
Hammer your pile in her
Pills of lion stamina
Make her your rod’s slave
Best doping for night monster
Replace your pant snake with python!

Someone call the cops?

Your drawbolt will go deeper in
Pound her, more and more
Make your love gun active and effective!
Good shells for your love gun
Find how to drill her better

There goes my self esteem

Your instrument is so tiny she barely finds it in bed?
You have no stamina any more to satisfy your loved one
Greatness is measured by the size of your manhood
This watch will add some elegance to your taste
Losing your popularity as a man?
Get a diploma for your career!
Masters degree with no efforts
Show your girlfriend that there can still be a lot of flame in your bed
Feeling unneeded in bed?
What does a frog want with you?
With a monster device you will feel like a man
From now you will be able to satisfy every size – queen!

Telling it like it is, man

Man empties gun at car, victim survives
Why lie? I need money
Bacterial infections are stopped by Amoxicillin

“Optimism” (aka “O, RLY?”)

We cure anything from headache to cancer
Worldwide delivery instantly to your home
Go here for guaranteed boner
If you can’t beat CEOs … join them

Kindness

Free money
Wanna beer?
Sexually aroused
I can help you
We go to cinema tonight

… and threats

Fucking fill this form
I wanna worry you
Universal decision for men who want to stay men
We will not let your manhood die … call us
You are disqualified!
Get a degree
Suck it
List of conditions
Get your nice hair returned to you
Your friend in trouble
Click or cats gonna die

The men from UNCLE

Erase message after reading
We’ve found your car
Don’t settle for less than 15x power!
Respond, please
Medications that you need

Bad day

We canceled the exam
We canceled the conferences
Forgot keys, forgot phone

Story time

What’s this?
Shocking! Rihanna was cursed
A giant outside
Sitting by the well playing

To Much Information

That shit made my day
Celebrate independence day with a hard boner

Categories
iphone

May 2009: Survey of iPhone Developers

There’s 45 million iPhones out there, and tens of thousands of iPhone Apps – we know this, and we know that the top-10 apps make millions of dollars each. But what about the developers, the people *MAKING* these apps – do you have any idea who they are?

There is/was no widely available info on who these people were, how they worked, etc, despite the many companies making strategic decisions on this stuff right now. The small teams, especially, are largely on their own, and even if someone did a big, expensive, report they don’t have the money to pay for it (I include myself in that group).

At the start of May, I created an online survey to find out some more info about “who” the people are that are currently developing for iPhone – from one-man-bands through teams of part-time friends to large development studios.

Categories
databases programming

Export spreadsheet to plain XML with OpenOffice 3.x (works!)

Microsoft Office:

  1. Costs stupid amounts of money
  2. Isn’t very good
  3. Is only available on windows
  4. …but “usually” works

OpenOffice:

  1. Is completely free
  2. Is an almost exact clone of Microsoft Office circa Office 2000/XP
  3. Is open-source (so that sometimes you can easily fix it yourself, quite surprisingly!)
  4. …but apart from the Microsoft Word part, “often doesn’t work”

I’ve been using OpenOffice’s Word clone as a complete replacement for Word for the past 3 years, and it’s been perfect. Previously, I used to use Word *and* OpenOffice, because the latter had some big bugs left in it.

Sadly, OpenOffice’s Excel clone is … often shockingly buggy. I won’t go into the details. But this post is about one missing/broken feature in particular: OpenOffice by default saves / exports XML which (for most people, and all simple uses) is unusable/unreadable – and is very hard to convert with XSLT. Read on for a script that will fix this for you…

Categories
PHP programming

Now I remember why PHP is so easy to hate…

(aka “why do my include/require/include_once/require_once files not work / seem NOT to be included, even though they are?”)

PHP has a mechanism for including files inside each other. The architects of PHP didn’t really think much about what they were doing with a lot of the core language features (witness the foolishness over Register Globals), and file import/include/require is a classic example.

This is one of the most fundamental features of the language, and it’s screwed up. It “seems” to work, so long as you write simplistic enough / small enough apps. The bigger your app, the more likely it is you’ll discover how poor this part of the language is.

Categories
conferences education photos

The audacity to believe

Do you live in San Francisco? Or, have you ever been there, for a conference, perhaps, or a holiday? (since the games industry’s biggest annual conference takes place in downtown SF, literally adjacent to and physically underneath the memorial)

Have you been to the Martin Luther King memorial?

No, not the famous one(s) elsewhere that are all over the web in arguments and rantings about costs etc. I mean the small, quiet, semi-secret one hidden in the heart of San Francisco, in the Yerba Buena Gardens.

Categories
conferences games industry international iphone massively multiplayer

5-year predictions (2009 to 2014) for the MMO/Online Games industry

Last week at the LOGIN conference I sat on a panel with three far more smart/successful/famous people than myself entitled “Online Games 2014: Twelve Spoilers for the Future” (I think I was there as “the argumentative one” ;)). The real value of the panel was the four of us arguing^H^H^H^H^H^H^Hdiscussing each other’s predictions, and the audience suggestions afterwards, but the predictions themselves were pretty interesting alone, just to compare and contrast.

I couldn’t liveblog this session (obviously) and it looks like no-one else did, so – until the slides go up on the conference website – here’s what I can remember of the predictions (I may get some of these wrong, apologies!):

  1. There will be tonnes of cheap rackspace; anything that uses Cloud Computing will be very successful thanks to low cost base
  2. iPhone will become the dominant gaming platform
  3. We’re heading into a big recession that may do well for the MMO industry
  4. Browser-based MMOs will disappear in favour of iPhone/SmartPhone-based MMOs
  5. South Korean MMO Publishers will vanish as a major player in the MMO industry, eclipsed and swallowed by Chinese and SEA MMO Operators (“non-publishing” backgrounds)
  6. Europe will get its first successful Europe-wide MMO publisher, and that company will quickly rise to dominance over the more fractured USA MMO publisher market
  7. Advertiser-sponsored Virtual Worlds will be huge in number and variety
  8. A small percentage of advertiser-sponsored VWs will succeed – but will dominate the mainstream MMO market, since for them “profit is optional”
  9. Traditional game developers will be blindsided by the advertiser-sponsored MMOs
  10. Most PC MMOs (IIRC “90% or more”) will become F2P
  11. Console development-studios will become dominant in the MMO market since they are best at “polish” and very high quality user-experiences
  12. …and one more I’ve forgotten (!). Actually, some of the above I suspect I’ve misinterpreted – have to wait for the slides to be posted to check…

I’ve never before engaged in these kinds of generic future predictions, because I have so little confidence in either my own ability to describe them, or in my ability to understand other people’s ones in a useful fashion. I joined this session because the opportunity to argue them against other people was a lot more interesting. As stated above, I think our conversations on the panel were a lot more valuable than the actual predictions themselves.

Of course, when it comes to more narrow, specific predictions, well … if I really knew the answers there, I wouldn’t be telling you, I’d be making billions out of knowing :). And anyway, at that point you’re effectively asking me what the precise strategy is of my current employer (whoever that may be), which I’m generally not going to be able to reveal :).

FYI the speakers on the panel:

  1. David Edery, previously Worldwide Games Portfolio Manager for XBLA
  2. Charlie Stross, author of Halting State, Accelerando, etc
  3. Tarrney Williams, previously General Manager of Relic Entertainment
  4. + me, of course
Categories
computer games design games design

Bartle explains himself

Richard has often been accused of being “arrogant”, “insane”, and even, simply, “wrong” for his comments along the lines of:

  1. He hasn’t “played” an MMO in decades (possibly “ever”) … because he can’t stop himself from interpreting as he uses them
  2. Surprisingly many MMOs are just WoW by another name
  3. He only needs to play the first few levels of a new MMO to see if it’s really new; he needn’t bother with the rest of it

He’s explained before, in abstract terms, why this is all true *to him*, and pretty much left people to stew if they don’t understand that (while always actively engaging them in conversation to try and explain further).

Now he’s blogged a concrete example of what goes through his head when playing a particular quest-chain / zone: WoW’s STV. If you’ve ever wondered, and/or been confused/horrified/dismayed/insulted by Richard’s statements online and haven’t had the chance to speak to him about it all in person, then I’d highly recommend reading it. I suspect that this concrete analysis will elucidate to a lot more people most of the meaning that the abstract explanations failed to convey. Well, we’ll see…

Categories
Uncategorized

LOGIN 2009: Middleware Roundup

Moderator: Joe Ludwig (JL)
Patricio Jutard (PJ), Three Melons
Chris Dyl (CD), Turbine
Rick Lambright (RL), Gazillion
Mitch Ferguson (MF), Carbine

Summary

A lot of nice little anecdotes about MMO middleware experiences – but it would have been nicer to have had a lot more detail on them (not easy to do in panel format).

The panellists briefly touched upon several few sacred cows – such as “Is it absolutely essential to have the full source code to exernally-licensed middleware?” (which I’m glad to hear being questioned – with server middleware especially the developers are hopelessly underqualified to understand huge chunks of source, even at a debugging level (e.g. the many cases where the devs simply cant practically debug distributed-system source)). There are good reasons for having source (and the other sacred cows) but more questioning and more critical thinking from developers about what they *really* need and especially what they’re going to *do* with it would be good for everyone, I think.

Any mistakes understandings and misattributions etc my own fault. My personal comments in [square brackets]

Talk

If you were going to make a new engine/MMO today, what middleware would you use?

PJ: we focussed on web based games when we started. We decided to use Unity, no royalty sharing made it a very attractive pricing model.

CD: hypothetically … I’d make substantial use of middleware, although we didn’t really at Turbine because it wasn’t there when we started.

RL: we look at what’s going to be unique about the game design we’re starting, and then look for middleware that matches well with the uniqueness of the individual game, whatever gets us a good chunk of the way towards that.

MF: we’ve decided each time to just do it ourselves.

How do you deal with the risk of using middleware code that’s never been used in a shipped MMO, that you’re the first major user of / the other major users haven’t shipped yet?

PJ: make sure you have the source code (although we couldn’t afford the more-expensive source-code license for Unity), make sure you have good support and responsiveness from vendor Tech Support.

CD: make sure the vendor is committed to the vertical business space, that your success is part of their core product strategy

JL: being first shipping user can get you a big price discount from the vendor

RL: with BigWorld we don’t have all the source. You have a limited number of engineers who’ll be skilled enough to do anything meaningful with that source anyway, and they could quit, leaving you in trouble. We have a commitment that if something exceptional comes up then we have the *possibility* of the vendor giving us source access temporarily, with their engineers physically present at all times, but we hope not to need that.

MF: any middleware that includes game design / game-logic elements is highest risk. I’ve had low-risk pieces of middleware fail, but that’s quite easy to workaround because it’s got relatively little effect on the overall project. I don’t want to name vendors in particular examples, because it’s not necesssarily their fault.

JL: we used SpeedTree for a couple of years, but eventually didn’t ship with it, because it couldn’t integrate with our art pipeline. Not a bug in that, just unfortunate accident of how it works and how we worked.

CD: we had the same problem with ST.

CD: the two scariest middlewares we used at Turbine were having Physics, and Kynapse for path-planning. Do we de-stabilise our live servers by integrating this cutting edge middleware new version in? As an MMO operator you really want to be able to keep an old version in situ for a long time – maybe a lot longer than the middleware vendor actually wants you to have it there.

[ADAM: that’s an extremely interesting problem…]

We had a big problem with a middleware engine where the provider just went out of business. We got some support from our publisher there to work through it, but what do you do about that?

CD: source code escrow is a good thing, for the absolute disaster scenario. But it’s really no different from other catastrophic business risks. Make sure you have one (more than one) person who’s been over the source in detail with the vendor at least once, so understands it well enough to pick up if they vanish, etc.

RL: escrow is mandatory, including all the required libraries, correct verisons etc.

[ADAM: nb: same speaker who doesnt have full source for some aspects of BigWorld]

JL: we didn’t escrow Alchemy, too naive to realise we should, but we got someone to send it to us as they were going out of business. Just getting it to build was a huge problem, we found.

[ADAM: our industry is still cursed by the fact that almost no-one has a great build system in place :) ]

MF: with Renderware we had source for the main thing, but there were dev tools that we had no source for, and so we couldn’t fix bugs in the tools, it was a nightmare. Very fine Modularity of your middleware – which doesn’t really exist yet – would be a real saver in this area. A hyper-modular middlware, I think that would make the risk much lower. Then if the company did go out of business, you could replace those building-blocks one at a time. I think that modularity is very important, or as close as you can get.

[ADAM: ha. I fought hard at the tech level to keep exactly that as one of the top 3 features of our server middleware back in 2002, but unfortunately back then (my naivety in assuming developers understood more than they did) no game developer had anywhere near enough understanding of the problems to realise how valuable that was. Ultimately, it was a waste of money for us as a company, because no customer understood it enough to place the value on it that would pay for how much it was costing us to achieve and maintain it. I’m not convinced that’s changed enough to make it profitable enough for MMO providers – even if developers now see the theoretical value, I don’t think they are able to really afford it]

Audience: Given how heavy the sales process is … is there a role for open source (OSS) in this?

MF: I think OSS is actually necessary for our industry to remain profitable, to reduce the cost of development. If I say bad things about middleware it’s not because I want it to fail (I really want it to succeed, I think it’s critical for us), but because I’m so disappointed with the current state of it.

RL: how many games have Python in them? Well, that’s an example of OSS that’s now heavily in use. We have an enormous amount of OSS we use inside the backend systems / servers.

What are the packages are you using for service side?

CD: we use a 3rd party billing system, that I wouldn’t actually recommend. We chose it many years ago, and it isn’t really right for what we do now.

(audience): there’s big advnatages to using external billing provider, e.g. benefit of having someone else as the merchant of record, isn’t there.

[ADAM: personally, I think that’s short-sighted, because in many ways the last thing in the world you want to have happen, as a service provider, is be disengaged from the customer’s wallet. Never let someone else come between “you” and “your customer’s money”; they can handle it, facilitate it, but not take over the CRM]

What about internal middleware? A lot of companies form Core Technology teams, creating a culture of making MW for internal use, re-use in other titles, etc

CD: D&D and LoTRO have the exact same codebase on the platform level because of our internal middleware. We ported the LoTRO DirectX 10 layer as a full working initial Dx10 directly into D&D, without changing it.

RL: the question comes down to whether you have a very specific target for what you’re doing. If you try to make one engine for all your games, and/or all your studios (if you’re multi-studio) then that’s a route to huge difficulties and disasters. At the same time I’ve seen companies that have huge in-house expertise in their internal wide-use engine and are able to churn out new games easily. But I think it’s a really really difficult problem to solve that way.

CD: we can have a full game prototype from zero to running in 3 months because we have all this internal re-usable code. For a relatively low investment we can build a small portion of a world to try out new game concepts.

[ADAM: I’m guessing the caveats there are simple that the content-cretion costs are of course still directly proportional to how much you want to show – hence “build a SMALL portion” etc]

MF: It was painful sometimes when the company was going down that they weren’t helping on the games themselves directly, but when Perpetual folded, the core tech group, the reusable code, was the one part that they managed to sell off. Clearly it has a lot of value, even if it’s painful getting there.

PJ: I think it makes sense to have one team on gameplay and building things, and one focussed on technology, because it’s different expertise for the staff to have.

What about MMO Middleware on consoles? Will midleware bring MMOs to consoles finally?

CD: it’s absolutely helped the transition, you’ll see stuff very soon where it’s facilitated console MMOs.

RL: stuff that’s provided to you multi-platform is a huge win from using middleware.

Questions from Audience

Q: sounds from what you’ve said here today like the state of the middleware industry today is fragile and embryonic?

MF: I agree. I think it’s a difficult industry. Business model is tough, it’s sales heavy, hard to get your cash in when people go under –

JL: – that’s what happened with Intrinsic, they had agreements with lots of companies paying a small amount each month towards the license fee, and when a few of those went out of business, the sudden cashflow damage killed Intrinsic

Q: what are your experiences with the multi-platform engines?

RJ: we tried most/all of the flash stuff. We’ve found Unity to provide the most-productive pipeline, fast and easy to prototype with, works nicely with our dev methodology (scrum).

RL: the more MMO development you do, the more you realise it’s all about the tools. The content-creation tools etc become more important, ultimately, than the engine itself.

CD: the cost of developing an MMO is never the technology, four or five times that cost is the cost of the content-generation. So the more efficient your tools are, the quicker you can get final game-content being made, that’s key.

Q: (from MF) does middleware “help” or “hurt” innovation?

MF: I feel it could hurt quite a lot. e.g. Some years ago, I could not find any middleware that would support instances, so we couldn’t use it.

CD: agreed. I think something monolothic like BigWorld could be particularly limiting, but the piecemeal approach of lots of little parts, increased productivity, actually I think helps innovation because it helps on your dev-resource costs a lot.

Q: are any of your perspectives on middleware non-technology centric, it’s been very tech-centric so far? I’ve seen a lot of recurring frustration with middleware. What kind of heuristics do you use to establish whether middleware is the right choice?

RL: you should never take a fully-staffed team and then dump in middleware on them. The two should be built hand-in-hand; middleware changes your hiring needs, and vice versa.

CD: Tech is always both an enabler and a limiter.

Q: as a vendor looking-in … we see particular teams (art vs code vs design) a lot more vocal than others, and the decision to use/not-use it gets skewed.

RL: the purchase decision is often lead by the lead client engineer, server stuff gets ignored, which is clearly wrong.

Categories
computer games games design games industry marketing massively multiplayer

A better way to review video games

Reviewing video games is hard. In some ways, it’s an impossible mission: a reviewer has too many conflicting interests:

  1. please the publishers or else be denied access to the materials they seek to review
  2. please their editor or else don’t get paid; but the editor’s primary source of capital is often advertising … from the publishers
  3. answer the consumer’s main question in a way that earns their trust: should they purchase this game or not?
  4. stand out from the crowd of a million game players who decide to write about their hobby

Who’s your Daddy?

This has been a problem for as long as I can remember (20+ years of game playing and reading game reviews); the consumer *believes* that the reviewer is answerable to them – but it has been a very long time (10 years now?) since consumers were the paymaster of reviewers; nowadays, it’s advertisers (which usually means: game-publishers).

Of course, consumers still wield huge power. The virtuous value circle – the only circle that matters – is driven by consumers:

  • A reviewer has a “readership” of consumers who are influenced in their purchasing decisions by those reviews
  • Publishers therefore court the reviewer to try and curry favour with the consumers and increase sales of the publishers’ products (to those readers, and anyone they themselves influence – friends, family, colleagues, etc)
  • Reviewers earn more money, and get deeper access to development teams (courtesy of the publishers), so produce more reviews

But that power is – clearly – both indirect and hard to quantify. A consumer – even many of them – threatening to “stop reading a reviewer’s reviews” is not particularly effective.

Publications like Edge helped along the indirection of consumer-power when they decided to go out of their way to obscure the identities of their individual reviewers, turning reviews into as much of a crap-shoot as buying games was in the first place. Since the web rose to prominence, it’s been eroded at the other end – there’s now so many reviewers around that, well … who has the time to remember who any individual reviewer is?

Qui custodet custodes?

But if journalists/reviewers are supposedly there as a watchdog on the publishers’ marketing depts, supposedly helping the consumer determine which are the (non-refundable) purchases they ought to be making, then who’s checking that the journalists themselves are honest?

No-one, really. And that’s where the rot begins. The storms of outraged public opinion are nothing new: examples of journalists writing reviews of games (reviews both scathing and rejoicing) they hadn’t even played go way back into the 1980’s.

A case study in lies, damn lies, and video game journalism

In case you hadn’t heard, this week a “staff writer” from Eurogamer (a games review / news site) ripped to pieces one of the most recently-released MMOs – Darkfall. At which point Aventurine, the developer of Darkfall, responded with increasing anger and dismay.

But the really interesting thing here is that Aventurine didn’t merely rant “you bastards! Our game is Teh Awesum!!!111! STFU, Beotch!” (well, they did that as well) … no, they dropped a little A-bomb in the middle of their reply:

“We checked the logs for the 2 accounts we gave Eurogamer and we found that one of them had around 3 minutes playtime, and the other had less than 2 hours spread out in 13 sessions. Most of these 2 hours were spent in the character creator”

Pwned. MMO developers *actually know whether your journalist played the game before reviewing it*. What’s more … they have proof…

The EG reviewer (whose “references and background are immaculate”, according to the editor – but from reading his only two EG reviews, I’m afraid it does rather sound like he knows little about MMOs), responded (via his editor) with the claim:

“the logs miss out two crucial days and understate others, … and he insists he played the game for at least nine hours”

It would seem that someone is lying (and it could be either party). Worse, someone is being particularly stupid. Because the journalist is claiming “your computers lie”, and the developer is claiming “your journalist is a lier”; either way, it’s not a subtle, small, mistake – whoever is wrong, if they get discovered, they’re going to create themself a good amount of long-term trouble (bad reputation).

Lots of MMO developers write shitty server code, and honestly don’t know what the hell is going-on inside their own game-world (but fondly imagine that they do – and proudly boast to the press (in the vaguest terms) that they do). But the rule of thumb is that devs who don’t know … don’t even know what it is they ought to be claiming that they know. The specificity of Aventurine’s claims suggests that they do have the stats, and those stats are mostly correct.

(I say “mostly” because there is a bit of vagueness about what – precisely – the reviewer was doing in-game. That reeks of holes in their metrics/logging. They clearly know when the player was logged-in, and what they did/said in chat, and how many characters were created – but apparently not what they were doing in the client, e.g. how long did they spend in character creation? Implicitly: unlogged; unknown)

Whereas it’s quite likely that a non-knowledgeable journalist, accustomed to buggy games, would assume that they could safely claim “your server is buggy, those figures are wrong”.

Unfortunately for any such journalist, server logs are generally either correct, or absent entirely – there’s rarely any middle-ground. If he knew a bit more about MMO tech he might know this; very few journos (any of them?) know that much about the games they review, though.

So … based on nothing but casual observation and intimate knowledge of the tech issues (and several decades of reading game reviews…), I’m leaning in favour of Adventurine and against Ed Zelton. My guess (pure *guess*) is that he’s been caught out being either incompetent or perhaps a bit lazy as a reviewer, and he’s thought he could get away with blaming it on buggy code. From reading the review, I get the impression he wishes he were Ben “Yahtzee” Croshaw (from Zero Punctuation) – although he clearly isn’t funny enough – but he seems to like saying “it’s shit; you’re shit; you’re all shit; STFU” instead of reviewing the game, and seems to think that’s good enough. As an MMO player, my feeling was that the review was, well … useless – without even playing the game, there is so much more I would want to hear in a review, and so much of his wanky whining that I couldn’t care less about. As an MMO developer, it felt downright insulting, as if he’d made no effort at all to play the game as a game. Actually, it felt like he’d hardly played MMOs in his life, and didn’t really know what they were.

(NB, from the review: his apparent ignorance of some of the most important *and best-selling* RPG + MMORPG games of all time – the Ultima series – suggests that he really isn’t much good as a game reviewer. YMMV.)

Reviewing the reviewers

Up-front I’m going to point out that I don’t believe all MMO developers are currently capable of doing this – many people would be amazed to discover the true state of metrics collection in this industry – although *all* modern MMO developers ought to, and it’s not too hard to add-on later (add it to the list of “things MMO developers ought to do as standard practice, but many of them don’t do”). But it’s a general thing that I think we should move towards.

MMO developers (well, actually, the Operators, but that’s getting pedantic) are in an excellent position to help guard journalistic honesty, in a way that traditional game developers have never been able to. I would like to start seeing the following published by *every* MMO developer each time their game is reviewed:

  1. What level the account(s) started at
  2. What level the account(s) peaked at
  3. How many hours the reviewer spent at the lowest levels, levelling-up manually
  4. How many hours the reviewer spent at the highest levels
  5. What percentage of time was spent on each of the different primary character classes and factions
  6. Which areas of the game / aspects the reviewer actually engaged in (hours of combat, hours of crafting, hours of chat, etc)

…but, honestly, this isn’t so much about “journalistic honesty” (I used that phrase tongue-in-cheek above) as it is about starting a virtuous cycle of developers being more cognizant of what, actually, players “do” in their games – preferably *before* gold launch. In particular, if publishers (developers) started supplementing reviews with this info (as a matter of course), I think we’d see a sea-change in industry staff appreciating three key things about metrics:

  1. How little metrics they’re actually collecting compared to how much they think they’re collecting
  2. What metrics actually matter, and/or are useful?
  3. How players actually play the game; by extension: how fun is the game, really, and which parts suck horribly?

Does this work / matter?

At NCsoft, I got into the habit of asking prospective partners, hires/employees, and external studios which MMO’s they played (fair enough) … and how many characters they’d got to the level-cap with / what level their characters had reached. It started as an innocent question, but I quickly noticed how often it gave early warning of failures of honesty among individuals, and how much it presaged the problems they would have in the future.

The two worst problems were “complete ignorance of the MMO industry (either of pre-existing design practices, or tech practices)” and “personal self-deceit about what the person knows, and what they don’t know”. The latter tended to be a far worse problem: when someone is deceiving *themself*, it’s doubly hard to re-educate them, because first you have to get them to accept their own deception.

Of course, it turned out to lead to a lot of defensive responses and a spew of self-justification, which made us both uncomfortable. In those situations, it can easily lead to making assumptions that certain people’s opinions are “worth less” because, say, you know for a fact they’ve never really played an MMO – at least, not in the way that most of that MMO’s players would/will/do play it. I hate that tendency, since it’s part of a snobbishness that lies at the root of a lot of oyster-like, head-in-sand behaviour in our industry. On the other hand, it’s important and useful to know when someone’s ideas are random conjecture and when they’re based on fact (and very few people in a design meeting or publisher/developer meeting will honestly tell you their ideas are conjecture :)).

On the whole, though, it turned out to be a really useful line of questioning – even bearing in mind the additional (smaller) problems it created. There are obvious problems that come from the statistical supplementing of free-form prose game-reviews – but I’m confident that these will be outweighed by the advantages (and the problems that will be shrunk).

PS:

Despite the TLC of good friends, I’m still weak and sapped of all energy from my month of illness. I’m triaging like mad to deal with urgent issues, but there’s plenty of highly important stuff that’s been pending on me for a while that I still haven’t had the time + energy to deal with. So, if you’re still waiting … I’m sorry.

Categories
games industry iphone

Free stats on iPhone developers: who are they?

I’ve been looking around the web and it seems no-one has any good, FREE stats on who the different iPhone developers are, and what they’re doing.

So … I’ve made a 40-question survey (its all yes/no or multiple-choice-answer questions, hopefully it shouldnt take too long to fill out – sorry), and I’ll send the results to everyone who fills out the survey :) (remember to fill in a valid email address if you want a copy!). The idea is to get some aggregate stats on the different developers, how big they are, what they’re doing, etc:

http://www.surveymethods.com/EndUser.aspx?BB9FF3EEB9FAECEB

I’m hoping to get at least a few hundred people to fill this out, so we can get some meaningful information (without having to pay market research firms to get it). As well as sending the detailed stats to anyone who replies, I’ll post the main highlights publically, so anyone can see them.

I’ll be posting it in a couple of forums and sites, and hopefully I’ll get a wide range of responses. Feel free to share the link with any other iPhone developers you know!

Categories
international

Getting paid in Dollars with a UK bank: don’t use PayPal

Introduction

I travel to the USA frequently, both for conferences and for business/meetings. On each occasion, I spend anything from a few hundred dollars to a few thousand (sometimes the hotels are paid in dollars, sometimes part of the airfares, plus all the spending for the duration of the visit).

Over the years, I occasionally received payment from USA companies, although in the past year this has become more frequent. Obviously, it’s stupid for me to pay the exchange rate premium twice (once in each direction) AND pay commision (twice!) AND pay any bank-specific charges for the priviledge – when I’m actually guranteed to spend those dollars sooner or later as actual dollars.

I asked my UK bank (Halifax) about opening a dollar account. They claimed to have never heard of such a thing, and had the temerity to open a browswer window and go surfing on Google to try and find out if it’s a service they offer (they offer at least three different services along those lines – Halifax’s head office should probably put a call through to the Brighton branch-manager and ask why they have untrained staff manning the branch at the moment).

So I went looking into the alternatives myself. The main things I need are:

  1. Deposit money in dollars (preferably by transfer from other people’s USA accounts)
  2. Deposit money in sterling (I’d avoid this, but it might be necessary if I have a lot of USA spending to do at some point)
  3. Withdraw dollars from ATMs in the USA
  4. Transfer money in dollars to other people’s USA accounts (payment for services etc)
Categories
maintenance

Normal service will resume shortly

…but I’m only just finally recovering from the second chest infection + lost voice from GDC.

Also, if you were expecting an email from me at any point in the past 6 weeks and haven’t received it yet, that’s why.

Categories
bitching Web 0.1

Thunderbird on OS X: I give up. This is untested crap

The title says it all really; for whatever reason, the Thunderbird developers appear not to have tested TB on OS X. So much of the basic functionality doesn’t work in the latest beta – this isn’t even alpha-quality code (on OS X). I’m sure it works fine on Windows (or else you’d have thousands of people complaining long and loudly).

I had this suspicion with Shredder 2 (the last alpha), where basic features – like sending emails, and viewing messages in a folder – would regularly crash the OS X build. Even for an alpha that should have been unacceptable, or fixed very rapidly. Where’s the regression testing?

But I hoped I was just being cynical, and so I moved on, and forgot about all that. My experiences over the past couple of months with the beta have recreated that suspicion, and cemented it. For instance, I lost a couple of hours of work today because TB on OS X has major bugs in its synch code. I watched as it silently deleted all the changes from the activity manager. No errors. Nothing. Just … gone. Even without ever having read TB source code, I can think of two or three obvious coding errors that would cause such behaviour, and none are things I’d exepect to get into a project as popular and well-known as TB.

So … what gives? What’s wrong with the OS X builds of TB? Why are they so very, very bad? Why do they have so many dataloss bugs?

Sigh. At least I can fairly rapidly re-do all the work I lost. Time to start looking for a new email application. Maybe I can find a version of Mozilla Mail that still runs on OS X? (FYI: Mozilla mail was the thing that Thunderbird was based on / supposed to replace. Unlike TB, it actually worked. It was faster, had more features, but looked a lot uglier. I’ll happily sacrifice “good looks” if it gets me “supports basic email features from 10 years ago”)

Categories
Web 0.1

Web 0.1: Atlassian

Good

You offer your enterprise software for $5 (renewable!) for a couple of days

Bad

Your website is so poor it is hard-coded to reject valid email addresses

Stupid

You’ve added an error message that explains you “are sorry” for the fact that it’s rejecting valid email addresses, and that you intend to “fix this soon”.

Result

You’ve got an extra licensee – but you don’t have my email address. You now have, in your database, a spam address on a famous spam-eating website, one that *no human will ever read*.

Congratulations: You just gave away free value, but lost the option to send me any emails in the future. And made sure that my very first impression of you – before I’ve even tried your product support – is that you’re, well, a bit incompetent when it comes to web and internet technology. That’s not a great start considering your only products are … expensive, licensed, web and internet technologies.

That’s Web 0.1 :).

EDIT: for clarification, the problem was that my email address contained a plus symbol.

Categories
games design games industry GDC 2009 social networking

GDC09: Red Ocean or Blue Ocean

This talk was all about a theory of innovation/finding new markets known as Blue Ocean Strategy, from a book published in 2005. I first came across this book/theory when I joined NCsoft a few years ago (apparently, the CEO and board in Korea were very keen on it), which is quite ironic given NCsoft’s international activities of the past few years.

It was a good talk overall, with lots of honest and insightful comments from the panellists. The best bit was probably Q&A at the end – which I had to miss :(. Not everything they said was great, there were some dodgy bits, and I missed most of the second half, but it was clearly worth going to.

Bear in mind, though, that on the morning of this talk I was already considering an opportunity I’d seen that seemed to replace traditional games publishers and was looking like it might work extremely well. So … this talk was accidentally of a lot more relevance to me than I’d realised it would be :).

My own commentary in [ square brackets ], any mistakes/misunderstandings my own fault :).

Categories
entrepreneurship games design games industry iphone networking social networking web 2.0

Will iPhone save the (free) Internet?

Wifi and internet at all is a priviledge – but Free Wifi is something that in our modern society, and the society we’re set to become, needs to be treated as a right. When I started writing this, I was looking at the benefits we have yet to see (ubiquitous free wifi); in the week I’ve been offline with jetlag, the preceding benefits we already have that would make them possible – flat rate internet – are being ripped away from us, and . Both are understandable, but … yikes.

Casual, assumed, free internet access is now ubiquitous (even if the access itself isn’t as operationally ubiquitous as services assume). I can’t even access half my music collection any more unless I’ve got a wireless high-bandwidth connection available (Spotify). The other half lives on my MP3 player (iPhone) – but is static, unmeasured, unconnected, and unshareable.

This is a problem. Right now, sitting in San Francisco, the city of a thousand broken, crashing, low-bandwidth, pay-per-minute (min charge 24 hours) wifi connections, next door to Silicon Valley, a world center of innovation that only exists because the right infrastructure here and the wrong mistakes elsewhere allowed it to form, it’s particularly on my mind. SF is a great example of what will push the next Silicon Valley to happen elsewhere. A lot of people ought to be worried by that – and doing a little more about it.

In Brighton, my current (temporary) home city, the first repeated free wifi hotspots were set up – as I understand it – effectively as an act of charitable benevolence by “a couple of guys” (looseconnection.com/Josh Russell). They weren’t even rich, or old – just some kids doing something cool, and useful. Anyone could do this. Too few actually do. I’ve heard it suggested again and again (where are the mesh networks that were supposed to be ubiquitous 4 years ago?) by people in the UK – especially in and around Cambridge, in tech the UK’s closest replica of Silicon Valley – but always with excuses about why they aren’t doing it yet, aren’t able to until someone else does something else to make it easier for them. That’s crap. Just do it. Do it this weekend; what better are you doing right now?

Will Apple single-handedly save Wifi? Maybe. It could be the biggest gift of iPhone: that it finally turns the rest of the world on to building bigger, better, and above all FREE, wifi networks. Everywhere. Ironic, considering that’s exactly what will kill the fundamental device that drives the iPhone: the “cell” phone. Does anybody else remember that before we had cell phones we had hotspot phones, back when cells weren’t good enough, and were so expensive to use? So we go full circle, but this time with an ecosystem and a tech interconnection system (API’s, protocols, layers) big enough to support the worldwide rollout of such hotspots (well, and that’s what mesh was supposed to be about, right?)

But why would this happen? It doesn’t make sense … does it?

Skype is a great example. Sadly, it’s also overloaded with additional meaning that clouds the issue – because Skype is an internet app (good) that is mostly about phone calls (bad / confusing the issue).

Skype is now available on iPhone, and it’s a great, highly polished, iPhone App. It *works* (as well as anything can on iPhone – with the current version of iPhone Apple does not allow *anyone* to have their app listen for incoming connections and auto-start, so you can only “receive” Skype calls on your iPhone if you are not using any other app and instead are currently inside the Skype App.

But … the voice part only works over Wifi. This is the concession it took for Skype to be “allowed” on iPhone (NB: Apple allegedly forced the network operators to give away free / flat rate data in return for being “allowed” to sell network-locked iPhones; if Apple had also allowed Skype-on-3G/EDGE/cell network, then they would have caused people to stop paying call charges en masse. Although this is the natural future of cell phones, and everyone knows this, the network operators would probably assassinate Steve Jobs if he tried that today).

So, Skype is – effectively – a “wifi-only” application.

20 million devices cannot be ignored

But wait … there’s more. The iPhone platform has an installed userbase of almost 40 million handsets as of first quarter 2009 (yes, that’s only 20% less than the entire global sales PS3 and 360 combined; the iphone is already one of the top games consoles in the world; Sony (Computer Entertainment) is doomed, and Nintendo’s cash days are numbered, even though they’ll make loads of cash for the next 3 years – the DSi was defunct due to iPhone *before it launched*, so after those few years, the cashflow will drop off / vanish).

But … around half of those are not iPhones, but iPod Touch’s. This is very important to understand: the two devices are compile time identical, and *almost* feature identical. They are more similar than almost any pair of cell phones in the world, even ones from the same manufacturer. And by default all iPhone developers are writing code that runs seamlessly on the iPod Touch – it doesn’t (usually) “break” on iPod Touch if it uses an unsupported iPhone-only feature … rather, that part of the app silently is ignored.

So … nearly all those iPhone developers are actually also iPod Touch developers. Many of them deliberately steer clear of using iPhone-only features. Some of them (myself included) write their apps to cleverly detect whether they’re on an iPod Touch, and work around the limitations (it’s not hard – e.g. if I can’t upload scores to the game server because I’m on a Touch that isnt in wifi range, I save it and upload it next time the phone is online. As a bonus, this makes my games work “better” on iPhone when the iPhone has to go offline, e.g. when it goes on an airplane).

NOT “iphone App”, but “Wifi App”

Back to the point… There aren’t many Wifi-only Apps out there on iPhone … yet.

But there will be. More and more of them. And this summer, when Apple brings out the 3.0 update for iPhone, making ad-hoc discovery much easier (i.e. my phone will be able to auto-detect / find your iphone when they’re in the same room), wifi-local Apps will blossom.

A simple example: real-time fast-action games.

e.g. a Racing Game, that works like this:

  1. I persuade you to download the free version
  2. We each click on the icon on our own phones
  3. The phones magically discover each other, without either of us doing anything, within a couple of seconds
  4. We start playing a high-speed racing game – e.g. Need for Speed, or Midnight Club – over the local wifi network
  5. The net code works beautifully, there’s no lag, everything updates very fast and smoothly
  6. When we finish, the free version you downloaded pops up to say “you played with your friend because he/she had the paid version. If you want to play with different friends, one of you will need to buy the paid version. Click here to buy (one click, instant download)”.

All that is possible, and relatively easy, come summer 2009. You *can* attempt to do it over a 3G network, but it’s hard. But as a wifi-only app it becomes easy. Guess what’s going to happen?

The future of local free wifi

I predicted around 30-40 million iPhone* devices sold by now, and Apple’s 37 million official figure made me look clever (although admittedly it was only a 6 months extrapolation and a 33% error margin I quoted there ;)). I predicted around 75-100 million sold by the same time 2010, and I’ve noticed a lot of other people have come up with the 100 million estimate for 2009 since the official 37 million figure came out.

So, although I think it’s optimistic to expect 100m by the end of the year, I’m confident it’s going to be close. 100m wifi enabled game consoles sitting in cafes, restaurants, bookshops, trains, buses, hotel lobbies, city squares, pubs, etc.

Oh, and don’t forget – that iPod Touch, with no “network contract” to pay for, is a perfect gift for kids. Plenty of people have lined up to tell me that kids can’t afford them; the market research that consistently shows under 18’s as the second largest demographic for iphone* ownership suggest that’s an ill-informed opinion. So there’ll be a lot of those devices sitting in the hands of bored children / used to keep them occupied while parents are doing other things. And we all know how strong a child’s “pestering power” can be.

Monetize local wifi? Screw that; who can be bothered to monetize it when it becomes as essential a driver of custom to your store as having coke/pepsi/coffee on the menu (even though you’re actually, e.g. a bookstore…). Re-think how that affects the “monetization potential” of local wifi (hint: look to the already vast field of *indirectly monetized* Freemium / F2P for inspiration)

So, I’m optimistic. And rather than focus on how “iPhone is going to destroy the cell phone / network operator hegemony, and bring around fair pricing for consumers”, I’m focussing on how it’s going to usher in the long-envisaged era of high-bandwidth, low-latency, high quality console games and apps that focus on the local area. I’m happy with that: I’ve spent almost a decade learning how to make online games for millions of players where the core experience takes place in the local group, so I feel extremely qualified to do well out of this. What about you? What will you be doing with it?

Categories
advocacy dev-process entrepreneurship games industry startup advice

What I believe in, for Quality of Life

The furore[link] over the IGDA’s failure[link] to live up to it’s own precepts continues to snowball[link] [link] (as I suggested it would, if the IGDA Board didn’t ‘fess up and take a stand[link] against the unethical practices they were being implicated in).

(I’ll do a summary later this week; personally I’m aware of 6 different unique forum threads and several separate bloggers speaking out on the topic, each with their own comment threads – we’re gradually seeing the message spread, which is good. But it also means it’s getting hard to keep up)

One commenter, perhaps playing Devil’s Advocate for those at fault, has repeatedly posed the question: “What would you *like* the IGDA’s stance to be on this topic?”

There are all sorts of reasons that’s a dumb thing to ask, and it essentially misses all the points being made here by the unhappy IGDA members, but I thought it was a good question to answer anyway, philosophically.

Quality of Life for the Games Industry: Adam’s stance on “Crunch”

NB: this is only covering the crunch/working hours/overtime issues; there’s more to QoL than that, but it’s definitely the headline aspect.

(and hopefully you’ll also have a look at Darius’s stance on this and other related topics, since he’ll be standing for election to the IGDA Board next year, and he’s got my vote already ;))

  1. the term “crunch” is a euphemism for “unpaid overtime” used largely to disguise the true nature of what’s being described. No-one should ever use the term “crunch”. Everyone should actively encourage others to call it what it is (unpaid overtime). “unscheduled overtime” is NOT an acceptable alternative; it is simply another, slightly less positive, euphemism.
  2. no employer gets an opt-out from responsibility for Quality of Life issues, neither charities nor startups. Quality of Life is about the relationship between employee and employer, independent of individual industries, organizations, or projects
  3. the company must at all times actively discourage staff from doing unpaid overtime; if the company wishes to support overtime, it should be supporting *paid* overtime only
  4. no programmer, artist, or designer should ever stay late in the office “because it’s quieter then, and I can get more work done when everyone else has gone home”; if the office environment is that poor, the company needs to fix it, fast
  5. the MOST EFFICIENT (for the company) number of weekly office hours for programmers, artists and game designers lies somewhere between 30 and 50 hours a week.
  6. the MOST EFFECTIVE/DESIRABLE (for the employees) number of weekly office hours for programmers, artists and game designers lies somewhere between 20 and 60 hours a week.

Why does this even matter?

Most workers in this industry live to work, instead of working to live; this makes the industry especially prone, and the employees especially vulnerable, to abusive employment practices.

It also means that – handled correctly – most people ought to be happy and healthy. This topic has the potential to improve the lives of thousands of people; that it will almost certainly also improve the quality of the games they produce is a secondary (although highly desirable) side-effect.

Details / explanations

1 – Terminology

Cynically, I’d like to point out that to many young males (the bulk of the workers in the game industry), the term crunch probably initially conjures up images of the painful gym exercises that build the widely desired abdominal muscles.

i.e. the base assumption of an English speaker is that Crunch is something that “hurts now, but is good for you, and in the long run you will appreciate it”.

Actually, I don’t think that’s even all that cynical, looking at the companies that actively use the term: I think they’re extremely happy to have got such a positively-connotated word used as the main term to describe their unethical business practice.

2 – Opt-outs

Several people (such as Erin Hoffman (EA_Spouse) EDIT: my mistake – sorry, Erin! – see comments below) have claimed that startups are “special”; too fragile to be held accountable to the same standards that ordinary companies are held to; that they could never adhere to sane and ethical working practices and remain in business.

As a previous founder, co-founder, or C-level exec in 5+ different startups, and a consultant or external adviser for a further 20+ startups, it is my personal opinion that this is absolutely not true.

Further, I believe it is deeply insulting to most entrepreneurs to imply that they are so incompetent that they need to be allowed to break with ethics or law in order to succeed. The majority of successful entrepreneurs I know are awesomely competent people, and have earnt (*earnt*) their wealth not merely through “having a good idea” but through being better and smarter and wiser than their equivalent salaried employees. They need no leg-up.

Of course, there’s also plenty who simply got lucky. But that’s another story.

3 – Working late in order to work better

There are two issues here.

Firstly, if someone is doing unpaid overtime, the company needs to either reward it or try to persuade them to stop; anything else is unfair. Simply taking the proceeds of the free work and paying nothing in return is perfectly legal (although arguably, since the work falls outside of the contract, if the company’s employment contract isn’t good enough the company could find themselves not entirely owning the output of that work), but unethical.

Secondly, unless the employees have strong legal protection against coercion (both explicit and implicit) then the claim that staff are “voluntarily” working unpaid overtime is often going to be a lie that – in practice – is almost impossible to uncover. A nice, comforting lie, but a lie all the same. I have many times worked with people in the games industry who have openly claimed their unpaid overtime was voluntary – until they buckled from stress a few weeks later, or got drunk, or met up outside the office, and admitted the true reason(s) they were doing it. Generally those were “to keep my job”, “because everyone else on the team says I have to”, or a variant on those. i.e. to satisfy the employer, or to satisfy peer pressure.

This is true even in Europe, where employees have fairly strong legal protection – but in many cases don’t realise the full extent of the protection. Generally speaking, only the inexperienced, younger staff are ignorant of the basic laws here. Within 5 years they normally see at least one friend or colleague go through some situation which uncovers the laws involved, and they gain a basic understanding of what their own rights are, under the law.

4 – Optional isn’t always optional

I’ve worked with many programmers who felt forced to work late hours because of this, and a few artists. I haven’t worked with any designers yet who were *seen* to, but I know plenty who have done it – they simply went home and worked from home instead.

The main reason programmers show up with this problem more than others is that they are entirely dependent upon the tools at their desk to get any work done (software, hardware, office systems, etc). It’s *not* that they are the only ones who work hard and have to concentrate to get good work done!

5 – Efficiency

As far as I know (please correct me!) … no-one currently knows via research what the MOST EFFICIENT weekly office hours are for programmers, artists, and designers in the games industry; the research I’ve read summaries of, and in a few cases read myself, from other industries and anecdotal evidence, plus the experience of skilled game developers, suggest that it lies somewhere between 20 and 40 hours.

Further, the majority of research from other industries and evidence and experience strongly support the claim that values over 60 hours are less efficient than ANY value between 25 and 60 hours.

6 – Quality of output, quality of life

As far as I know (please correct me!) no-one currently knows via research what the IDEAL (for the staff work/life balance) weekly *working* hours are, but assuming 14-16 waking hours a day, i.e. 70-80 waking hours a week, and assuming a work/life split somewhere between 30/70 and 70/30, you get between 21 and 56 working hours per week

Categories
PHP programming security

PHP: Anti-spam CAPTCHA using photos

I’m just finishing up a quick PHP project at the moment, which allows anyone to register an account – so as the final step before launching it, I needed to add some form of CAPTCHA system. I tried a couple of 3rd party ones and source code ones and none quite worked for me. This post gives full source for a simple user-friendly photo-based CAPTCHA in PHP. Use at your own risk – but it’s short and easy to integrate.

NB: this was more a quick-and-dirty practice exercise than a serious attempt at a CAPTCHA. I don’t believe in CAPTCHAs, generally – but if you ARE going to use them, it’s best to have a lot of them in the wild, so it’s harder for crackers to do “crack once, spam everywhere”. See the section at the bottom for links to suggestions for other people’s CAPTCHAs that I reckon would be better for production use if you can get them to work :).

Categories
bitching dev-process fixing your desktop iphone programming

Unity: First impressions

I had to do some iPhone prototyping recently, and we had a trial copy of Unity to hand. I thought this was a great excuse to try using it. First impressions of the editor/IDE/environment – at least on OS X – are not good.

NB: In general, in terms of what can be done with it etc, I’m a fan of Unity. But I’ve never developed with it directly myself, and I’m now finding it surprisingly painful / steep learning curve.

Need to know basis

None of the built-in tutorials work, flat out, because the startup code has apparently changed substantially since they were written. The tutorials keep talking about things like “create a new project; by default it will X and Y and Z” but Unity no longer does any of those by default. Sadly, the tutorials don’t tell you how to get any of those manually – because, you know, they’re done for you by default, why would you ever need to know how to do them by hand?

File Association Theft

I was also *extremely* unhappy to discover a short while later that Unity has stolen the file association for PHP files. Under OS X (thanks, Apple) managing file associations is a surprisingly irritating business, as bad as with Microsoft Windows (Apple deems users too stupid to be allowed to simply edit associations – but applications are allowed to overwrite each other with absolute trust from Apple, and no user intervention allowed), so this is a pain to fix. In particular, I have an entire *suite* of applications and IDE’s for doing web editing, including a specialized high quality PHP IDE. Not any more; Unity has clobbered that with a crappy text editor that does nothing more than basic syntax hilighting. This is pretty offensive: firstly, don’t steal my files without asking, and secondly – give me back my IDE!

NB: I have no idea how it has done this, but Unity appears to have overridden OS X’s systems for file association management – following the standard procedure (e.g. here) has no effect, and Unity keeps stealing control of the files immediately that you confirm you want to give the assocation to some other app.

At this rate, if I can’t find out what it’s done to my OS and undo it, I’ll be uninstalling and deleting Unity with extreme prejudice in the very near future. Sure, this is partly Apple’s fault for assuming all apps are perfect and all users are not, but at a simpler level I just cannot afford to have a non-functioning development computer just because of one badly behaved application.