Solution for the iPhone Facebook problem

FacebookFacebook on the iPhone is a profoundly dissatisfying experience. The Facebook iPhone app is no good (at least it’s free), the iPhone-optimized Facebook website (http://iphone.facebook.com) is no good, and using the regular Facebook site on the iPhone is not exactly optimal either. Come to think of it, the regular site has its problems even when you’re viewing it on a computer.

But I’ve found a solution. There is, of course, one more way to access Facebook: the “standard” mobile version that gets served up to the mobile browsers in more feeble cellphones than the iPhone. Turns out you can access the mobile site from an iPhone, and it offers a lot of features that the iPhone-optimized site lacks. I suspect Facebook has abandoned further development on the iPhone-optimized site given that they’re also developing a full-fledged iPhone app, but since the app sucks, it’s a lose-lose situation for iPhone users.

As I said, you can access the regular mobile version from your iPhone, but if you just go to its main URL — http://m.facebook.com — from an iPhone, it automatically redirects you to http://iphone.facebook.com. So you have to trick it, which isn’t hard. Here’s the magic URL you’ll want to bookmark in Mobile Safari (and maybe on your computer as well):

Enjoy.

Best Google Doodle yet

If you’re a regular user of Google, you probably know that Google likes to occasionally honor historical events by changing its logo for a day, in a way that symbolizes the event it’s honoring.

These are usually interesting (if for no other reason than simply what events the Google team deems worthy of their recognition), and sometimes quite artistic. But today’s Google Doodle is probably my favorite yet.

You see, today is the 25th anniversary of Tetris, one of the most iconic video games of all time.

And here’s the doodle:

Google Doodle: Tetris

Unadvertised Palm Pre feature: it’s a cheese slicer!

Yes, my iPhone love blinds me to the merits of other smartphones. And yet, it seems almost sacrilege to even call the iPhone a “smartphone” and categorize it that way. It’s so much more.

But then again, so is the new Palm Pre, coming out this weekend. For instance, here’s one thing it excels at that the iPhone could never do.

Source: Gizmodo (via Daring Fireball, of course)

How to not bother testing websites in Internet Explorer 8

Or: What Microsoft probably doesn’t really want you to do.

Internet Explorer 8 is supposed to be more standards-compliant. Ya-freakin’-hoo. (No relation to Yahoo!) I don’t especially care, and I’d like to think the best way IE8 could become standards-compliant is to not exist in the first place. But, it’s here, and when Windows 7 arrives later this year, we (the web designers and developers of the world) will have to get used to it.

I do have Windows 7 RC running in a virtual machine on my MacBook, so I can test IE8. But waiting for several minutes for it to log in (for some reason), I came to the decision that maybe it’s not worth testing in: maybe it’s best to just take advantage of its “IE7 Compatibility Mode” to not need to test in it. It’s not like IE8 being standards-compliant (yet, somehow, still not rendering pages like Firefox and Safari) is really going to save me any time, because I’ll still need to test in IE7 (and, God help me, IE6) for years to come. Why add a third Bizarro-world Microsoft browser to the mix?

IE8, brought to you by people who don't see anything wrong with this image.

Internet Explorer 8, brought to you by people who don't see anything wrong with this image.

So I googled ie8 ie7 compatibility mode and found a helpful, if slightly douchey, blog post from a Microsoft “developer evangelist.” Of course, his blog renders completely f’ed up in Firefox, and even if it didn’t it would probably still be displaying the hideous matted-to-white-transparent-GIF-on-a-dark-background you see here.

Nonetheless, he did still give me the code snippet I need. Stick this in the header of all of your pages (which, hopefully, means editing just one file, riiiight?), cross your fingers, bow your head in the direction of Redmond and, if all goes well, you won’t have to think about IE8 (ever?) again.

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

I’m going to try it out now.

Perhaps I went out on a limb when I referred to this blog post as douchey. Never mind the fact that the guy is a “developer evangelist” for Microsoft, which is enough in itself. The two d-bag moments for me were: 1) the opening couple of sentences: “As you all know, the Internet Explorer team has been working hard to make IE8 the most standards compliant browser around. Unfortunately, not all web sites confirm [sic] to these standards today.” In other words, Microsoft has undertaken a noble effort to build something perfect and wonderful, but all you apathetic and/or malevolent web designers out there are conspiring to destroy it. And 2) “Lastly, for those of you running Apache instead of IIS (shame on you!)…” Yes, shame on you for using the most popular and stable web server software in the world. Actually, yes, shame on you for running Apache on a Windows server. You’re an even bigger douche than he is.

Update: Adding this meta tag to a client site I’m currently working on didn’t seem to have any effect on IE8, but that may be because I had manually clicked the compatibility mode button in a previous session, turning it off. (So, in other words, I am positing that if the user has manually turned off compatibility mode, it will stay off even if the page tries to activate it.) Turning compatibility mode on manually did work — the rendering issues I saw with IE8 in its normal mode went away.

Now, the thing that concerns me about all of this is that my page should be pretty damn well standards-compliant: the doctype is XHTML 1.1, which is very unforgiving, and I’ve validated it. The page looks fine in Firefox and Safari. It’s possible that the source of the problem is my IE-specific CSS file, that is fixing IE7 problems that don’t exist in IE8 (and thereby introducing new problems there). The next step would be modifying the conditional comments so that IE8 doesn’t load the IE-specific CSS, and checking whether that solves the problems. The culprit may also be IE7.js, which I viewed as a lifesaver when I started using it about a year ago, but increasingly seems to be of little to no benefit.

Movie review: Star Trek

To say that I was excited to see the new Star Trek movie is an understatement. I first mentioned it here back in November.

So it should be no surprise that I went to see it on opening night, and I was not disappointed. The reviews are consistently superlative, and I agree. As someone who’s been a lifelong fan, albeit a somewhat tepid one, one who has approached the films in the series (my God, is this really the eleventh one?) with a degree of caution and/or passive disinterest (I’m not even sure I’ve seen all of the later ones), I know the characters well. I know the clichés and conventions (though I’ve never been to a convention — that’s not what I’m talking about). I know the difference between “Trekkie” and “Trekker” though I would not describe myself as either.

And then there’s the director, J.J. Abrams. I’ve heard good things about him, but believe it or not I’ve never watched a single episode of one of his TV shows, nor have I seen any of his movies. I’m not even sure what movies he’s done. Cloverfield, right? Anything else? (Yes, I know I could just check IMDb, but I’m trying to make a point.)

In short, while by all outward appearances I should be a hardcore fanboy for this, I’m not so much, really. And with that said, I can tell you I thoroughly enjoyed this movie (well, except maybe for the last few minutes), and that I think it will be equally appealing to both the serious Star Trek fan (Trekker, if you please) and to the summer blockbuster action-adventure watcher looking for a little over two hours of genuine quality entertainment. Perhaps the only people this movie will not appeal to are hardcore sci-fi aficionados who do not already like Star Trek. Though set in the future, and drenched in stunning futuristic visual effects, the movie is fairly light on the “sci.”

What it’s not light on, though, is intense action, an engaging story, great acting, and a near-perfect balance of plot, adventure and humor. It manages to be simultaneously reverent and irreverent towards the original series, in a way that reminds us that Gene Roddenberry’s ’60s version was both smart and silly, clever and clichéd, boldly original and drinking-game-worthy predictable.

Minor spoiler alert: if you want to be totally surprised when you see it, stop reading here.

The casting is first-rate. The actors have managed to evoke their original counterparts while simultaneously fully inhabiting the characters and making them their own. Chris Pine, in particular, is excellent as James T. Kirk. He’s probably doomed never to be as memorable or iconic as William Shatner, but he’s a lot more believable as the brash, reckless, brilliant, defiant soon-to-be captain of the USS Enterprise. I was less impressed with Zachary Quinto’s take on Spock, but that’s perhaps a bit unfair: in the context of this story, Spock is supposed to be somewhat abrasive and unlikable. The scene stealers, though, are definitely Karl Urban as McCoy and Simon Pegg as Scotty. I am hoping for some sequels if for no other reason than to see more of these two.

I could go on for pages about the details of the story, but I’ll let you see it for yourself. Suffice to say, time travel and alternate realities are involved, and I think that particular plot device was handled in a completely novel way. All of the requisite Star Trek tropes are here: Bones saying “Dammit, I’m a doctor not a…”; Scotty saying “I’m givin’ ‘er all she can take!”; Chekov’s ridiculously over-the-top accent; and of course, the two most essential elements of Star Trek: Kirk making out with a green-skinned woman, and an anonymous “red shirt” dying on an away mission.

A true Trekker wouldn’t have it any other way.