Category: reviews

Game Maker Studio Automatic Updates Failures (and workaround)

YoYoGames has been releasing updates to Game Maker Studio at a very fast pace lately. For a while now, new builds have been released every few days now, and it seems like every time I fire up the development environment, it’s got another update for me.

The last two or three of these have been extremely problematic, with very slow downloads, and repeated silent failures of the updater to run when the download shows that it is completed and the update is ready to install.

In the past, I have found that (on Windows 7, at least) one or two things might make the update process a little more reliable: launch Game Maker using “Run as administrator”, and exit the main Game Maker program while running the updater app. I’m not sure if these really do make a difference or not, but in the past when I tried these measures it seemed to help. But last night none of this made a bit of difference.

Yesterday, I spent many hours patiently waiting for the latest update to download. Each attempt took an hour or more, and when the updater indicated that the update was complete and ready to install, nothing would happen — it would fail silently, and on next launch, prompt me to re-download the same update again.

I tried looking for an alternate way to download the update, and it was difficult to find a direct link to the file — the only way to obtain it seems to be through the YoYoGames store. Eventually, I found a link that someone provided in the Game Maker Community forums, and began downloading it with Google Chrome.

About an hour later, I saw the download terminate as though it had completed successfully, but when I checked the file size, only about 50MB of the 93MB I was expecting was there. Obviously, an incomplete installer won’t work, so that appears to have been the culprit all along.

It’s clear that auto update fails due to heavy server load causing the download connection to fail, resulting in an incomplete download. When the program tries to run the update, it fails silently when it detects that the downloaded file is incomplete. When it tries to re-download the file, it starts over from 0% rather than resume from where it left off. These re-try attempts only add to the server load, and users re-trying but never succeeding only end up exacerbating the problem.

Even with the direct download link, if YoYo’s server is under heavy load, the download would fail when I tried to initiate download using Chrome. At times that I’ve had problems running the update, I’d get speeds of ~14kbps, which is terribly slow considering I’m on a cable modem that routinely tests at 20mbps. Under normal circumstances, this download should take a minute or two, not an hour.

Game Maker Studio seems to be a victim of its own popularity. YoYoGames needs to add server capacity to address this issue. Some mirrors or a CDN (content delivery network) would alleviate the problem. But the updater is to blame as well: It should not fail silently when the download fails and it has an incomplete file. By telling the user that the download is complete and the installer is ready to run, the user is mislead and does not have any way to know what the problem really is.

It would also help a great deal if the Auto Updater supported resuming partial downloads, rather than discarding a failed download. That way, users could complete the update after several attempts, rather than continue re-trying and starting over, and continuing to place a high demand on the server. After they complete the update process successfully, they’ll no longer place demand on the server, and it will become more available to others who need the download.

When the server was under heavy load, the only way I was able to complete the download was by using Orbit Downloader to handle the download. Orbit is a specialized download tool for Windows with robust capability to resume downloads. With it, I was able to successfully complete the download where Google Chrome and the Game Maker auto update feature both failed. Once downloaded, I ran the update manually, and everything worked as it normally should.

A bit of warning, I consider Orbit to be an annoying application, borderline malware. The installer wants to change your web browser’s default homepage, which it has no business doing, and it wants to install a toolbar. It is somewhat intrusive in the way it tries to integrate itself with the operating system and any browsers it detects. It’s nice that it has those capabilities, if you want to completely replace your normal downloading with Orbit, but if you don’t, it still wants to insinuate itself so that it always downloads anything you ever want to download.

It also has various social network integrators which have no point (what, am I supposed to Share with my friends on Twitter and Facebook everytime I download something, what it was, and let them know the link? Get real!) Also, it will — without asking — scan your computer to check for out of date applications, and notify you of available updates. Unfortunately, while it sounds like this would be a useful feature, it does not actually make downloading the updates any easier, and is frequently error prone as to what the latest version number is, leading to some false positives.

However, Orbit’s core feature of downloading anything faster and more reliably than just about anything else is good, as long as you can keep the rest of the junk that they’ve built around it tamed. Just be careful when installing the program to say no to most of the stuff it wants to offer you.

Otherwise, try to download updates during off-peak times. Early morning (6-7AM) if you’re in UTC-05 (Eastern US) seems to be good currently.

Currently, the form of the direct download link is:

http://store.yoyogames.com/downloads/gm-studio/GMStudio-Installer-1.0.exe

(I’ve been informed that this url will always contain the most recent build.)

Hopefully if users start using the advice above, it will help reduce the load on YoYoGames’ server, making the experience of updating better for everyone.

Game Review: Home by Benjamin Rivers

Last night I attended Akron Film + Pixel‘s Indie Games: Play and Discuss, and (among other things) played a game called Home, by Benjamin Rivers. As it turned out, it seemed that there was a bit more Play than Discuss at this event, so I thought I’d review it the day after.

This game held my interest enough to play through it once, which was all I had time for. I don’t know that I’d play it again, although I gather from the ending that if I did play it again, it would be a different experience of a different story, assuming I made different choices.

Unfortunately, I didn’t find the choices to be all that interesting. Do I pick up the gun or do I leave it where it is? Do I pick up the key or do I leave it where it is? Do I pick up my wallet now that I’ve found it, or do I leave it where it is? Do I flip the switch or do I leave it alone for now, only to come back later and flip the switch because that’s the only way forward? Do I look at the thing that automatically highlights when I walk by it so I can get another element of the story, or do I no longer care and just want to continue walking until I get to the end of the game? I DON’T KNOW, ALL THESE DECISIONS ARE TOO MUCH FOR ME! WHAT WOULD YOU DO?!

This and many other decisions like it await!

Apparently if you make different choices, the story that unfolds in flashback as you walk through this amnesiac world trying to put the pieces together and figure out if you’re a murderer or not changes. Not that your decisions affect the future, but that your decisions somehow retroactively affect the past, such that, as you recall in flashback what happened before you blacked out, what you recall will be different based on what you did or didn’t decide to do in the present.

This might make it seem interesting, but when all the story elements are as boring as they are likely to be (based on the ones I actually saw when I played through it), probably you don’t care what other stories you might have crafted had you made different decisions enough to actually go back and make those different decisions in order to find out. After your play-through, there’s an invitation to share your story on the game’s web site, so if anyone actually does that, I suppose you can find out how things worked out differently for them based on their choices, but it all seems so boring an uninteresting that I really have to question the sensibility of anyone who’d actually spend time describing what they’d been through on a web site, other than as a to warning to others. Ahem. Like this.

Home bills itself as a horror game, but the only thing horrible about it might be that it could have been interesting and immersive, but wasn’t. Each play-through feels very linear (despite the fact that you can make choices that change what you remember happened in the past), provides no danger or challenge or conflict, every bit of blood in the game has already been shed before you begin playing, and the tension that rises as the story unfolds while you re-discover your recent past never sufficiently pulls itself into the present moment. The apparent climax, when you decide whether you find the body of your wife in your cellar, or whether you don’t find her and realize that she must have never actually existed except as a delusion, leaving you with even more unanswered questions that never get answered, is the textbook definition of anticlimax.

As I played, I kept expecting to run into someone else — anyone — maybe my girlfriend/wife, maybe someone (a familiar friend? a stranger?) I’d need to rescue or team up with in order to survive, maybe the killer(s), or even the police — would they keep me safe? Would they arrest me? Would I have to convince them of my innocense somehow? Were these items I was picking up going to incriminate me? Did picking up the gun protect me from the murderer finding the gun and using it against me, or did it implicate me in the murders that had already happened, whether I’d actually perpetrated them or not? There were so many ways which the plot could have developed that would have made the game vibrant and interesting. But none of that ever happened.

What else can I say about it? The pacing is slow. There’s no run button, no jump button, no way to go any faster through the game. There’s a tiny bit of exploration offered, but it’s not terribly interesting. The pixel art graphics are OK to pretty good, and I do like pixel art, but when blown up to fullscreen, there’s so much jpeg artifacting (or what looks like it) that it ruins the work put into it.

Worst of all, there are parts where I wanted to go backward, and was prevented from doing so by the game telling me “You don’t want to do that.” I think I should be the one who decides what I want! I guess I should thank it for sparing me from wasting time going back to someplace that will not advance the game, but it’s much better to provide an external reason, as it does in certain parts of the game, than a “you just don’t feel like it, sorry” reason that is total bullshit.

And there are so many unanswered questions: What happened to everyone? Who was the killer? Is anyone still alive besides you? Why do you need a flashlight everywhere you go, even outdoors, or indoors in places where there should be light?

In fairness, I did not get to play the game with sound, so it could be that I’m missing out on some crucial elements that would have made the experience more enjoyable, even worthwhile. And to be honest, I didn’t find myself hating the game so much while I was playing it, as I did after once I had been through everything and realized that that’s all there was. It just built up to something that it never delivered. I did continue playing it, hoping that the plot would deepen until it got better. It just never did. Home tries to offer an interesting interactive narrative, and while it does contain a good bit more narrative than many videogames, that doesn’t make it good narrative, or a good videogame. Other narrative art forms give you way more (read any halfway decent book!) and other video games give you more as well (pick your poison).

I don’t get it. There are plenty of positive reviews for the game. Is it possible that I simply made all of the most boring choices possible, resulting in an anemic plot where nothing drastic actually happens, in spite of copious dead bodies found nearly everywhere, without sufficient explanation other than maybe you did it? Or is this some kind of “art game” that is great art because it turns the notion of a game on its head, and offers for your consideration that a game can be boring, thereby challenging your notions about what games are about?

I won’t recommend staying away from Home if you are in the mood for reliving the experimental 80’s text adventure genre in a rather dull implementation that offers barely any puzzle beyond how to navigate around the screens and no interesting choices or decisions. If you absolutely have to play every game in this genre, then so you shall. Otherwise, there’s probably something better you could do with your time, like trim your toenails or perhaps watch an aquarium full of snails.

Game Review: Superbrothers: Swords & Sworcery EP

Yeah, way late to the party on this one (as usual — I’m quite patient these days when it comes to to getting around to playing games, and I don’t have to be the first kid on the block to play something. I’ve grown immune to hype and appreciate bargain sales.)

Speaking of which, Humble Bundle 5 is out, and as of this posting you have about 7 days left to buy it for $NameYourPrice. I really suggest you do. First, because naming your own price is awesome. Second, because the games are so worth it: Bastion, Amnesia: Dark Descent, Psychonauts, LIMBO, and Superbrothers: Swords & Sworcery EP. [Update: They just announced the addition of Braid, Super Meat Boy, and Lone Survivor to the Bundle!] Thirdly, they’re DRM-free. Fourth, they’re cross-platform, playable on Mac OS X, Windows, and Linux.

Of the five titles in the Bundle, so far I’ve only played Superbrothers: Swords & Sworcery EP, or S:S&S EP as it’s commonly abbreviated. I’d longed to play it since I first heard about it, but considering it was launched as an iPhone game and I do not own an iPhone, that was kindof hard.

The EP release was an enhanced version released for PC/Windows, and I feel it probably made the transition from touchscreen and tilt sensors to traditional PC reasonably well –although since I still have never played the original platform version, it’s hard for me to say. Still, it’s a very enjoyable experience to play it on a PC.

Despite not being all that challenging, I’ve really gotten into Superbrothers’ Swords & Sworcery EP, I guess mainly due to the flavor and vibe of it. While disarmingly crude at first, the minimalist beauty of the pixel art graphics is charming and evocative, providing incredibly vivid mood and atmosphere, the audio effects and music is absolutely excellent (who is Jim Guthrie?!?), and the sense of adventure is there.

It has a bit of the feel of a tabletop RPG come to life. There’s no dice-rolling, no stats and leveling, and very little hack and slash, but something about it reminds me of children making a game out of telling each other quasi-medieval fantasy stories, and figuring out weird puzzles that they’re making up on the spot as they go along. That sense of adventure, and I’ve never had it so full-flavored in a computer program. The anachronistic text narration and “regular guy” voice acting amplifies the effect, perfecting it.

The game does not focus on combat, which is rudimentary yet satisfying, and instead the game seems mostly to be about exploration and puzzle solving. The puzzles, once I got a feel for the first few, have actually been quite easy, so far, but it took me until about 30% completion to actually figure out how to see what I’m supposed to do.

Once I caught on, they became rather fun to solve. The early puzzles were more frustrating than challenging, with lots of staring at the screen and wondering wtf I’m supposed to do, while clicking, tapping, dragging around all over like mad until I finally accidentally do something, then puzzle out the rest of it from there. But as soon as I learned the idioms of the interface and became immersed, I was hooked. From that point, the puzzles still weren’t all that challenging, but were delightful and satisfying to solve anyway for some reason.

The way the story is presented, using variously camera pans and zooms, music, visual cues from the in-game characters gesturing or barking at you, on-screen text, is very well thought out and executed nearly flawlessly. It’s a highly polished indie game and the developers’ artistry is fully realized.

Overall as I played, I felt relaxed and like I was having a pretty good time. The fights gave me a little bit of tension, but only a little bit. There was a certain feeling of dread and pressure, but after dying a few times and realizing that the consequences of doing so weren’t too bad, and got a feel for how the combat system works, I was able to calm down again. The game never punishes you excessively for failure, which makes for a soothing and relaxed play experience. I don’t think I’ve ever played a game where the combat system is both turn based yet fluid and time sensitive, and where patience, anticipation, and timing is more important than reflexes and rhythm.

If you are lucky enough to have enjoyed the 1991 classic Another World [US Title: Out of This World], I found that I had a very similar emotional experience with this game. And that’s a very high compliment.

Game Maker Studio 1.0 Launched

Today YoYoGames announced the launch of Game Maker Studio 1.0. This long-awaited release finally gives Game Maker developers the ability to build games that run natively on Windows, OS X, iOS, Android, and HTML5. I’d heard some time ago that there was a Symbian module in the works as well, but I don’t see any mention of it in their releases — I doubt that it will be missed. Also announced today is that Game Maker HTML5 is no longer a standalone product, and has been folded into Studio.

I participated in the HTML5 beta as well as the Studio beta, and reported a fair number of bugs. While I’m enthusiastic, I think it remains to be seen how successful the new Studio will be — the impression I’ve gotten from my limited work in HTML5 is that the differences of each platform impose constraints on a unified project, and often during the beta I found that stuff that worked in a Windows build didn’t in HTML5. Hopefully that’s all just part of the beta. I definitely like the direction YoYoGames has been headed in, and as long as they execute, it should be a good time to be a Game Maker developer.

The highlights of Studio:

  1. Multi-platform build targeting
  2. Source Control
  3. new built-in Physics features

Game Maker’s proprietary language, GML, is going through some redesign as well, but we probably won’t see the full vision for a time, until Game Maker 9 is released. With Studio 1.0, it seems that YoYoGames has started deprecating certain functions, in order to drop Windows-specific stuff and embrace a more platform-agnostic approach, which should mean that developers won’t have to worry about whether a given instruction makes is supported or makes sense on the OS they’re targeting. Hopefully this will encourage cross-platform application releases and make them the norm rather than the exception.

With the launch, YoYoGames announced pricing, and it’s a little different from what I expected. The base Studio Core (giving you Windows and OS X build capability) is $99. Considering that Game Maker Standard was $40, roughly doubling the price to give you access to OS X seems reasonable.

The HTML5 module is an additional $99. $199 was the original price of HTML5, so for $198 you get Studio with the HTML5 extension. I think a lot of Game Maker users were shocked at the price jump, but when you consider how cool it is to have the capability of distributing your games through the web with no extra plug in or extension needed to run, it’s awfully nice.

The mobile platform modules are another $199 each for OS X and Android. This means the full Studio suite will run a developer almost $600, or 15 times what it costs for Standard. YoYoGames justifies this by saying that these are optional modules for professional developers, and I’m sure it costs them lots of money to develop the runner for these platforms. It’s a bit odd to think that for just $200 you can reach 3 major platforms, but to get another two platforms it triples the price. In any case, the idea seems to be that the ease of selling on the mobile markets makes it worth the cost of the tools, and I’m glad they tiered their pricing rather than force everyone to pay full price all or nothing. Starting out at $99 or $200 is a lot more reasonable, and buying the mobile modules later takes a bit of the sting out of the price. Compared with Unity Pro, which is $1500 for its base, and an additional $400 each for iOS and Android, it’s still quite inexpensive as a professional developer tool.

Game Maker HTML5: First Impressions

[Editor’s note: Be sure to read the follow-up to this article.]

I’ve only been a Game Maker user since August 2010, but I have found it very easy to pick up and learn quickly — so much so that by February 2011, Packt Publishing noticed my blog and asked me to contribute technical review on their upcoming Game Maker Cookbook. Game Maker has its quirks, but it has one of the gentlest and most accessible learning curves of any programming environment that I’ve tried so far. It has its detractors, and it does have some weaknesses, but overall I like it a lot.

YoYoGames is giving away licenses for their still-beta Game Maker HTML5 for participants in Global Game Jam. Kudos to them. What a great way to support indie game developers! Considering that the beta for GM-HTML5 is $100 for a license, and Global Game Jam is free, this is a rather good deal. I happen to be participating in Global Game Jam this year, so it provided me with a code that allowed me to download a copy of the software for use with a time-limited license key.

Wasting no time, I spent the rest of the evening producing a quick demo game to get familiar with the new program, and learn how it works. I was able to build a mostly-working Space Invaders clone in just a few hours.

Here, then, are my thoughts on the product so far: (more…)

Follow the Leader: Firefox 5 and the State of the Browser Wars

Mozilla released Firefox 5 yesterday. I upgraded on one of my systems already, but haven’t done so on all of my systems due to some Extensions that are lagging behind in compatibility. These days I mostly use Chrome as my default browser, so I’m less apt to notice what might have changed between FF4 and FF5, and looking at the change list it doesn’t look like a huge release, which is another way of saying that Firefox is mature and can be expected to undergo minor refinements rather than major uhpeavals — this should be a good thing. FF4 seemed like a pretty good quality release. I’ve been a Firefox user since the early 0.x releases, and have been more or less satisfied with it, whatever its present state was at the time, since about 0.9.3. And before that I used the full Mozilla suite, IE4-6 for a few dark years when it actually was the best browser available on Windows, and before that Netscape 4. I actively shunned and ridiculed WebTV ;-). And I’d been a Netscape user since 1.1N came out in ’94. So, yeah. I knows my web browsers.

These are pretty exciting times for the WWW. HTML5 and CSS3 continue slowly becoming viable for production use, and have enabled new possibilities for web developers.

Browsers have matured and become rather good, and between Mozilla, Chrome, Opera, Safari, and IE, it appears that there’s actually a healthy amount of competition going on to produce the best web browser, and pretty much all of the available choices are at least decent.

It seems like a good time to survey and assess the “state of the browser”. So I did that. This is going to be more off the cuff than diligiently researched, but here’s a few thoughts:

After some reflection, I’ve concluded that we seem to have pretty good quality in all major browsers, but perhaps less competition than the number of players in the market might seem to indicate.

Hmm, “Pretty good quality”: What do I mean by this, exactly? It’s hard to say what you expect from a web browser, and a few times we’ve seen innovations that have redefined good enough, but at the moment I feel that browsers are mature and good enough, for the most part: They’re fast, featureful, stable. Chrome and Firefox at least both have robust extensibility, with ecosystems of developers supporting some really clever (and useful) stuff that in large part I couldn’t imagine using the modern WWW without.

Security is a major area where things could still be better, but the challenges there are difficult to wrap one’s head around. It seems that for the forseeable future, being smart, savvy, and paranoid are necessary to have a reasonable degree of security when it comes to using a web browser — and even then it’s far from guaranteed.

There has been some progress in terms of detecting cross site scripting attacks, phishing sites, improperly signed certificates, locking scripts, and the like. Still, it seems wrong to expect a web browser to ever be “secure”, any more than it would make sense to expect any inanimate object to protect you. It’s a tool, and you use it, and how you use it will determine what sort of risks you expose yourself to. The tool can be designed in such a way as to reduce certain types of risks, but the problem domain is too broad and open to ever expect anyone but a qualified expert to have a hope of having anything resembling a complete understanding of the threat picture.

That’s a can of worms for another blog post, not something I can really tackle today. Let’s accept for now the thesis that browser quality is “decent” or even “pretty good”. The WWW is almost 20 years old, so anything other should be surprising.

In terms of competition, we have a bit less than the number of players makes it seem.

Microsoft only develops IE for Windows now, making it a non-competitor on all other platforms. Yet, because its installed userbase is so large, IE is still influential on the design of web sites (primarily in that IE forces web developers to test for older versions of IE’s quirks and bugs). By now, we’re really very nearly done with this, one would hope the long tail of IE6 is flattening as thin as it can until corporations can finally migrate from Windows XP. Even MS is solidly on board with complying with w3C recommendations for how web content gets rendered. It seems that their marketshare is held almost exclusively due to IE being the default browser for the dominant OS. Particularly in corporate environments where the desktop is locked down and the user has no choice, or the hordes of personal computer owners who own a computer but treat it like an appliance that they don’t understand, maintain, or upgrade. I suspect that the majority of IE users use it because they have no choice or because they don’t understand their computer enough or have the curiosity to learn how to install software, not because there are people out there who genuinely love IE and prefer it over other browsers. I’m willing to be wrong on this, so if you’re out there using IE and love it, and prefer it over other browsers, be sure to drop me a comment. I’d love to hear from you.

Apple is in much the same position with Safari on Mac OS X as MS is with IE on Windows. Apple does make Safari for Windows, but other than web developers who want to test with it, I know of no one who uses it. Safari is essentially in the inverse boat that IE is in on its native platform: a non-competitor on every other platform.

This leaves us with Opera, Mozilla, and Chrome.

Opera has been free for years now, though closed-source, and has great quality, yet adoption still is very low, to the point where its userbase is basically negligible. There are proud Opera fanboys out there, and probably will be as long as Opera sticks around. But they don’t seem like they’ll ever be a major player, even as the major players always seem to rip off features that they pioneered. They do have some inroads on embedded and mobile platforms (I use Opera on my Nokia smartphone rather than the built-in browser, and on my Wii). But I really have to wonder why Opera still exists at this point. It’s mysterious that they haven’t folded.

The Mozilla Foundation is so dependent on funding from Google that Firefox vs. Chrome might as well be Google vs. Google. One wonders how long that’s likely to continue. I guess as long as Google wants to erode the entrenched IE marketshare and appear not to be a drop-in replacement for monopoly, it will continue to support Mozilla and, in turn, Firefox. Mozilla does do more than just Firefox, though, so that’s something to keep in mind. A financially healthy, vibrant Mozilla is good for the market as a whole.

Moreover, both Chrome and Firefox are open source projects. This makes either project more or less freely able to borrow not just ideas, but (potentially, from a legal standpoint at least) actual source code, from each other.

It’s a bit difficult to be able to describe to a proverbial four year old how Mozilla and Chrome are competing with each other. If anything, they compete with each other for funding and developer resources (particularly from Google). Outwardly, Firefox appears to have lost the leadership position within the market, despite still having the larger user base, they are no longer driving the market to innovate. Firefox largely has given that up to Google (and even when they were given credit for it, much of what they “innovated” was already present in Opera, and merely popularized and re-implemented as open source by Mozilla. And with each release since Chrome was launched, Firefox continues to converge in its design to look and act more and more like Chrome.

It’s difficult to say how competing browsers ought to differentiate themselves from each other, anyway. The open standards that the WWW is built upon more or less demand that all browsers not differentiate themselves from each other too much, lest someone accuse them of attempting to hijack standards or create a proprietary Internet. Beyond that, market forces pretty much dictate that if you keep your differentiating feature to yourself, no web developers will make use of it because only the users of your browser will be able to make use of those features, leaving out the vast majority of internet users as a whole.

Accelerating Innovation

After releasing Firefox 4, Mozilla changed its development process to accomodate the accelerated type of release schedule that quickly lead to Google becoming recognized as the driver and innovator in the browser market. Firefox 5 is the first such release under the new process.

This change has met with a certain amount of controversy. I’ve read a lot of opinion on this on various forums frequented by geeks who care about these things.

Cynical geeks think that it’s marketing driven, with version number being used to connote quality or maturity, so that commercials can say “our version number is higher than the competitor, therefore our product must be that much better”. Cynics posited that since Chrome’s initial release put them so many versions behind IE/FF/Opera that this put Google into a position of needing to “make up excuses” to rev the major version number, until they “caught up” with the big boys.

While this is something that we have seen in software at times, I don’t think that’s what’s going on this time. We’re not seeing competitors skipping version numbers (like Netscape Navigator skipping 5 in order to achieve “version parity” with IE6) or marketing-driven changes to the way a product promotes its version (a la Windows 3.1 -> 95 -> 98 -> 2000 -> XP -> Vista -> 7).

Some geeks, I’ll call them versioning “purists,” believe that version numbers should “have integrity”, “be meaningful”, or “stand for something”. These are the kind of geeks who like the software projects where the major number stays at 0 for a decade, even though the application has been in widespread use and in a fairly mature state since 0.3 and has a double-digit minor number. The major release number denotes some state of maturity, and has criteria which must be satisfied in order for that number to go up, and if it ever should go up for the wrong reasons, it’s an unmitigated disaster, a triumph of marketing over engineering, or a symptom that the developers don’t know what they’re doing since they “don’t understand proper versioning”.

From this camp, we have the argument that in order to rev the major number so frequently, necessarily this must mean that the developers are delivering less with each rev, which thus necessarily dilutes the “meaningfulness” of the major version number, or somehow conveys misleading information. So much less is delivered with each release that the major number no longer conveys what they believe it ought to (typically, major code base architecture, or backward compatibility boundary, or something of that order). These people have a point, if the major number indeed is used to signify such things. However, they would be completely happy with the present state of affairs if only there were a major number ahead of the number that’s changing so frequently. In fact, you’ll hear them make snarky comments that “Firefox 5 is really 4.1”, and so on. Just pretend there’s an imaginary leading super-major version number, which never changes, guys. It’ll be OK.

Firefox’s accelerated dev cycle is in direct response to Chrome’s. Chrome’s rapid pace had nothing to do with achieving version parity. In fact, when Chrome launched in pre-1.0 beta, in terms of technology at least, it was actually ahead of the field in many ways. Beyond that, Chrome hardly advertises its version number at all. It updates itself in about as silently a manner as it possibly can without actually being deceptive. And Google’s marketing of Chrome doesn’t emphasize the version number, either. It’s the Chrome brand, not the version. Moreover, they don’t need to emphasize the version, because upgrading isn’t really a choice the user has to make in order to keep up to date.

Google’s development process has emphasized frequent, less disruptive change over less frequent, more disruptive. It’s a very smart approach, and it smells of Agile. Users benefit because they get better code sooner. Developers benefit because they get feedback on the product they released sooner, meaning they can fix problems and make improvements sooner.

The biggest problem that Mozilla users will have with this is that Extensions developers are going to have to adjust to the rapid pace. Firefox extensions have a built-in check which tests an Extension to see if it is designed to work with the version of Firefox that is loading it. This is a simple/dumb version number check, nothing more. So when version numbers bump and the underlying architecture hasn’t changed in a way that impacts the working of the Extension, the extension is disabled because the version number is disqualified, not necessarily because of a genuine technical incompatibility. Often the developer ups the version number that the check will allow, and that’s all that is needed. A more robust checking system that actually flags technical incompatibilities might help alleviate this tedium. But if and when the underlying architecture does change, Extension developers will have to become accustomed to being responsive quickly, or run the risk of becoming irrelevant due to obsolescence. Either that, or Firefox users will resist upgrading rapidly until their favorite Extensions are supported. Either situation is not good for Mozilla.

Somehow, Chrome doesn’t seem to have this problem. Chrome has a large ecology of Extensions, comparable to that of Firefox. Indeed, many popular Firefox Extensions are ported to work with Chrome. Yet I can’t recall ever getting warned or alerted that any of my Chrome extensions are no longer compatible because Chrome updated itself. It seems like another win for Chrome, and more that Firefox could learn from them.

I have to give a lot of credit to Google for spurring the innovation that has fueled browser development in the last couple years. The pace of innovation that we saw when Mozilla and Opera were the leaders just wasn’t as fast, or as influential. With the introduction of Chrome, and the rapid release schedule that Google have successfully kept up with, the entire market seems to have been invigorated. Mozilla has had to change their practices in order to keep up, both in terms of speeding up their release cycle, and in adopting some of the features that made Chrome a leader and innovator, such as isolating browser processes to indivual threads, drastically improving javascript performance. Actually, it feels to me that most of the recent innovation in web browsers has been all due to the leadership of Chrome, with everyone else following the leader rather than coming up with their own innovations.

In order to be truly competitive, the market needs more than just the absence of monopoly. A market with one innovator and many also-rans isn’t as robustly healthy as a market with multiple innovators. So, really, the amount of competition isn’t so great, and yet we see that the pace of innovation seems to be picking up. Also, it’s strange to be calling this a market, since no one at this point is actually selling anything. I’d really like to see some new, fresh ideas coming out of Mozilla, Opera, and even Microsoft and Apple. As long as Google keeps having great ideas coupled with great execution, and openness, perhaps such a robust market for browsers is not essential, but it would still be great to see.

Games: 5 Colors Pandora looks cool

I love graphical minimalism, and this game by Jordan Magnuson takes it pretty close to as minimal as you can get. The graphics are so low res, and only use about four shades of grey for the most part, yet you can tell exactly what stuff is supposed to be, because the shapes and animation suggest and the brain fills in the rest. Caves, buildings, cars, doors, are all readily apparent.

“You” are just a 3-px line, yet it’s enough to convey “person”. Foreground/background objects are conveyed through how dark/light its color is. I have little idea what’s going on plot-wise, yet, but it looks like you go around exploring a world trying to figure out puzzles to take you deeper into the world. Musical cues seem to communicate something about what’s going on, but that’s all I can make of it so far. Stylistically, I really like it.

It reminds a bit of Terry Cavanaugh’s Don’t Look Back because of the low-res graphics + atmospheric and evocative background music. The gameplay is a bit simple and could use a little more elements to this basic formula, maybe, but I’m not sure what just yet. Mostly you explore these large, empty areas and it seems like there should be more things populating these spaces in order to make them more interesting. You get a good sense of travel and exploration, and figuring out how to navigate and get around obstacles is an interesting puzzle that will take some time to figure out, but once you get past that, there’s not much more to engage the player. Items to collect and use, creatures or other people to encounter would make it more interesting. I could see it being developed into a deeper game with a story, maybe. Certain aspects of the game remind me of so many different titles that I like — everything from Pong, Adventure, Zelda II, Mario, Don’t Look Back.

Built with GameMaker, the developer is even distributing the source for it, which is very awesome. I might have to tinker with this a bit…

Get it here

GET LAMP

Today a long-awaited treat arrived in my mailbox: copy #858 of Get Lamp, a film by Jason Scott.

I’d already seen an early cut of this film from when Scott did a midnight screening at Notacon 7, but now here it is in my hands, two discs representing thousands of hours of work by hacker historian Jason Scott. I’ve been waiting for this for… almost a year?

If you used a computer in the 80’s, then likely you are familiar with text adventures. As a gaming genre, text adventures have all but disappeared, but at one time they were among the most popular software products available. There is nothing like them today, except maybe in some very tiny niches. They were games that required literacy and imagination, off the wall problem solving skills, a sense of humor, a love of fantasy, and could suck a player in for hours, even days at a time. It seemed like you could do anything in these games, all you had to do was figure out the right command to type in.

To my knowledge, I only ever played one actual text adventure on a computer: Zork. I might also have played Colossal Cave once. I was maybe about 10 years old, perhaps a bit younger. I don’t remember a whole lot about the experience other than being amazed that a world so rich could fit inside a computer, and that the computer could actually (well, seemed to, anyway) understand what I typed into it, allowing me to interact with it in a manner not unlike my experiences playing pen-and-paper role playing games. Growing up, I didn’t have a computer in the house for many years; all we had was an Atari 2600 gaming console, and later, a Nintendo Entertainment System, and an SNES. I only got to play text adventures if I was lucky enough to get a little time on a computer at school, or at my mom’s friend’s house. One time at my grandma’s house I got to play on a computer (I think it was an original Compaq portable) that my uncle brought home with him from college. When I couldn’t play on a computer, I spent hours reading and re-reading Choose Your Own Adventure books, and looking for people to play D&D with.

By the time we got an a computer in the house, an Apple //gs, text adventures were already falling out of fashion, and hybrid text/animation adventures like the King’s Quest series from Sierra Online were the new big thing. Graphics were here to stay, and it seemed no one really missed text-only games.

There really can be no way to adequately quantify the influence that these experiences collectively had on me during my formative years. Suffice it to say that I could not have been who I am without them playing the role in my life that they did. I can’t thank Jason Scott enough for investing the last four years of his life, thousands of dollars, hours, and miles to produce this wonderful documentary and DVD, and to the people who donated to his kickstarter fund to allow him to devote himself to this project.

This post isn’t going to be a proper review of the DVD, as I have barely had time to pull the shrink wrap off, let alone explore all the special features on it. But I have seen the documentary, and if you have any fond memories of afternoons spent trying to puzzle through the arcane puzzles and mazes that made these game such an obsession, or if you’re just curious to know something about a forgotten bit of computer history, you definitely should order a copy of Get Lamp.

On the death of Google Wave

I read today that Google pulled the plug on Wave. This shouldn’t matter, since Wave was always supposed to be open source from the beginning. I don’t know if Google actually kept that promise or not, but if they did, then Wave should live on.

Even if it doesn’t, I believe that the future will look more and more Wave-like.

Perhaps Wave needed to happen to give us a clear picture of what the future ought to look like. I have little doubt that the concepts of cross-app integration and direct collaboration are definitely going to stick around.

Wave was ahead of its time. I remember when it was first announced, my first reaction was “WTF is Wave?” After I watched the video and understood the concept, I thought, “Wow, what a great idea.”

That’s about as far as I, and many other people, it seems, got with it.

The problem I had with it was I never had a reason to work in Wave for any document I was authoring solo, which, it turns out, is better than 90% of the documents that I author. The few times I had occasion to suggest to a group that we look into trying out Wave, we never got off the ground with it. Either there was a question of did everyone have an invite, or if that wasn’t the problem, then no one really knew how to get things started in Wave in order to kick off a project.

There seems to be something about working collaboratively on mentally-intensive (particularly creative) endeavors that makes it a struggle for most people, especially people who don’t already know each other well and have fallen into roles that are familiar to them, where everyone knows what they’re doing and what’s expected of them. Wave might have been a great tool for us, but in order to have had a chance it needed a Wave Evangelist, someone familiar with the tool and who had leadership qualities and would be effective at delegating tasks to team members. I’ve always found that working in a group is not much fun without strong leadership. By which, I mean, someone who knows what the group needs, and has a clear vision for how to accomplish that goal, and who can communicate effectively with everyone else.

Human teaming factors aside, I think that Wave didn’t stand much of a chance because it didn’t offer people a “gateway drug” kind of experience. If you’ll pardon the metaphor, Wave needed some way to get users’ toes wet, and encourage them to wade into it until they developed the skills necessary to swim. It never managed to do this.

Despite this, I think that Google was on to something when they announced Wave. Like many great ideas, it came ahead of its time. In 10 years or so, we’ll look back and see that it paved the way for a new cloud-centered, collaborative way of working with documents, with information, with other people. Eventually, Wave will happen. But it will not happen as a big announcement with an hour long introductory video to explain it. Instead, it will seep in gradually and immerse us all until we suddenly realize that the tide has come in. (Again with apologies for the extended aquatic metaphor.)

What I mean by that is this: Wave was all about integration of existing technologies that we’re already familiar with: word processing, calendaring, instant messaging, email, web browsing. Google’s mistake with Wave was thinking that they needed to convince everyone that the old tools should be cast aside in favor of the new Web 2.0+ hotness that Wave represented.

When a oceanic wave crosses a point on the surface, there are two ways that it can first reach that point: trough first, or crest first. Google’s approach, essentially, was a crest-first approach: Wow everyone with this new concept and generate a lot of buzz so that people would be excited and want to use this new, cool technology. Apparently this was needed in order to get everyone to ditch their old, pre-Web 2.0 ways of doing things and give Wave a try.

It failed. People are comfortable with their old tools, and didn’t know how to transition to Wave. And until their friends were all on Wave, they would likely never have a reason to.

But consider if Google had taken a “trough-first” approach. Rather than inundating the world with an hour-long video explaining just what Wave is and how you can’t live without it, they start simply by adding Wave-like features into the existing suite of Google applications. The convergence of gTalk and gMail is an excellent example of this. Gradually, Google extends all of their existing web-served apps until users realize they’re waist deep in Wave. Maybe it’ so immersive by then that it hardly even needs its own name. No one would have been asked to throw away their old tools. No one would have had to have been the first to dive into learning some new, strange tool, and try to get their friends or colleagues interested in trying it out. It would have just grown up around us, rolling in like a rising tide. That approach would have worked.

And indeed, I believe that it will happen, eventually. And it will happen just as I’ve outlined in the above paragraph. A combination of cloud storage going mainstream, plus open standards for data formats, plus extensible feature sets in applications is all that is needed. Given these three things, add time, and it will happen.

Why I <3 my laptop bag

I don’t really travel a lot. At least, I haven’t until recently. But in the last month, I attended The Next HOPE hacker conference in New York City, and PyOhio 2010 in Columbus, OH.

Because of this, I’ve come to hold a deep appreciation for my Targus laptop bag.

I don’t intend to turn this blog into a product review site, but I’m not averse to speaking well of products that I use when they deserve it. Having used the case as an all-day carry-all for not just my laptop, but all my “stuff” that I need to survive at a tech conference, I couldn’t be happier with this thing.

After realizing just how much I liked what I’d previously thought of as “just my laptop bag” I felt compelled to find out what model it is, so I could properly credit it. I couldn’t find anything identifying the model on the bag itself, so I browsed google image search results until I found it. It took me a while, because Targus has probably produced hundreds of different bags over the years, but I finally managed to ID it as a Targus Brilliance TBB001US.

Anyhow, I bought this bag back in 2007 when I bought my current laptop, a Lenovo Thinkpad T61p (which also deserves a plug as it has been a very reliable everyday computer for me over the years, and still feels like it has plenty of life left in it). I needed a new bag because my previous bag for my previous laptop wasn’t big enough to hold the new one.

At the time, I didn’t really care too much about what I got, I just wanted something cheap. A few weeks after I bought this bag. It was a super deal, I think I paid like $15 for what is normally an $80 bag. And while I’ve never been disappointed with the purchase, I never fully appreciated it until I basically lived out of it for a weekend, carrying it with me all day long, and constantly opening it and looking through it for something I needed.

I don’t believe that I’ve ever owned a more thoroughly thought out product. This thing has more pockets than I can count, it seems like every surface has a zipper or a flap on it, and each pocket seems to have another pocket in it. Despite this, the pockets are well-placed, sized appropriately for their intended purpose, and are quite easy to get into, even with only one hand free in most cases. It’s a little bulky compared to a lot of notebook bags — with just the laptop in it it feels almost empty — but if you need the space it’s probably the most efficient way to carry everything you need. It even has a mesh bottle holder that zips away when you don’t need it.

It is very easy to carry, with a suitcase-style handle, a messenger bag style shoulder strap, and backpack straps. However is most convenient at the moment, I can carry it that way. It’s comfortable, too. All carrying methods are well padded and don’t dig in even after standing around with it for hours.

I’ve actually walked around with it all day, carrying TWO laptop computers, chargers, a 25′ ethernet patch cable, various papers, tickets, my cell phone, and a digital camera, a paper notepad, and various pens and pencils, a couple of t-shirts, and some other schwag, and a 350-page book, and it never felt like a burden. Most impressively of all, I could get at everything in the bag without everything else feeling like it was in the way.

It really helps out when you’re traveling to have the ability to carry everything you need, comfortably, and have all be readily available and convenient to access.

I’d love to have some insight into Targus’s product design process, to learn how they came up with such a great solution. I have to imagine that they must have done their homework, figuring out all the different things that most people typically carry with them, and prioritize based on how often they need to access each thing, and then design a bag that can carry everything in a compact, organized, ergonomic fashion, and protect any delicate items, and on top of everything else, be comfortable.