Inception Plot Holes

Ok I realize I’m late to the party here, but I just saw ‘Inception’ and while I really enjoyed it, there were a few things that to me did not make any sense. For me it’s important for speculative fiction to be internally consistent. Let me know in the comments if you agree /disagree or if you have more plot holes to add.

SPOILER ALERT. Obviously this post is full of spoilers, so don’t read it if you are one of the few people who have not yet seen the movie.

  1. When Cobb’s crew first get to the level 1 dream we are told that if they die in the dream their brain will turn to mush since the chemist used some new ‘stronger’ prescription. Presumably this is to make the action sequences become meaningful. But – later on at the bottom level Saito is convinced to shoot himself in order to wake up. Why does his brain not turn to mush? Same applies to Ariadne killing herself by swan-diving off the building.
  2. When they first find out that Fischer’s mind has been weaponized and that dying in the dream will turn them to vegetables, why don’t they abort the mission and all fall over backwards to ‘kick’ themselves back to reality?
  3. Why does the chemist create the stronger, potentially mind-mushing chemical in the first place? Why does Cobb agree to use it?
  4. At one point Eames says ‘you have to dream bigger’ and pulls out a rocket launcher. If you can dream up new weapons, why don’t they whip out loony-tunes style machine guns a-la ‘The Mask’? For that matter, none of the action scenes make sense since it’s all a dream right? There are no laws of physics determining if the bullet hits you or not.
  5. If Saito has enough spare cash to buy an airline, why is he so threatened by Fischer’s corporation? Surely he could come up with a less risky plan than trying to incept the idea of ‘breaking up the company’. How does he know that part of the broken up company would not go on to beat him anyway? Also, why does Saito choose to go into the dream in the first place? You don’t get to be a billionaire by taking unnecessary risks.
  6. They never explain the technology behind the dream sharing device. Dreams within dreams – fine I buy it. But a suitcase with wires that telepathically links people’s minds? If such a thing existed, society would be radically different. And billionaires would presumably be aware of the threat of mind-melding and have some kind of defense system (a bodyguard or crash helmet perhaps?)

Processing.js Experiment – Noise Field

I built this demo by porting one of my old Processing sketches to the fantastic Processing.js. The demo draws particle trails using Perlin noise to direct the particle motion. Move the mouse to change the noise function and click to randomize the particle drawing parameters.

Processing.js is a JavaScript port of Processing that renders to the HTML5 Canvas tag. It was originally built by the same guy who built jQuery. It’s nice to have a framework for handling common drawing and math functions. As a bonus, if you are familiar with Processing you will be able to jump right in.

Three.js Experiment – Cube Explosion

Had a chance to play with Mr.Doob‘s excellent JavaScript 3D library three.js today and came up with this. Resize your browser down and Refresh to increase performance. Grab the code via ‘View Source…’.

I’m getting ~54 FPS on Chrome, ~43 FPS on Safari and ~30 FPS on FireFox. The iPad gives a sad 7 FPS. To run on IE you will need the Google Chrome Frame Plugin.

There’s definitely a lot of potential in this library.

How to Beat Apple – Get Serious About Product Design.

Andrew Kim's HTC 1 phone design render

Apple are unstoppable right now. Unbelievably, their market value recently surpassed Microsoft’s. In my opinion, the one reason Apple are in this position is because they understand the power of fantastic product design.

As a case in point, let me describe a recent trip to Best Buy. A couple of weeks ago my trusty MacBook Pro died. After hearing good things about Windows 7 and not agreeing with some of Apple’s recent policies, I decided to buy a new Windows laptop. After looking at every one in the store I realized that each one was more gaudy and plasticy than the last. From the strangely colored cases to the myriad of extra buttons, lights and nipples, they seemed like a collection of badly designed toys. I guiltily drifted over to the Mac area and checked out the the new MacBook Pro with its aluminum unibody, beautiful screen and minimalist controls. Eventually I walked out with one.

Apple understand that laptops and phones are the new watches and jewelry. We are using them majority of our waking life. They define us to the people around us. They need to be both functional and beautiful. Apple products have plenty of hardware and software issues, but people are willing to forgive them since the products are so nice to look at.

The amazing Android Phone Prototype above by Andrew Kim, shows the kind of phone that HTC need to build in order to knock the iPhone off the top of the most-wanted list. What happened to all the great Nokia and Erikson phones from a few years ago? Why are they not building Android phones? Why can’t Sony create a laptop as well-designed as the MacBook Pro?

Apple’s competitors need to get serious about design, both hardware and software. They need to invest in their design teams and hire the best and the brightest talent available.

Check Out Chompin – a great way to discover music on your phone.

Chompin is a sweet mobile app that allows you to discover new music on your phone. It’s currently available on Android with an iPhone version coming soon.

Basically it allows you to enter any band name and get a list of MP3s to stream on your phone or to ‘chomp’ (meaning to download to your SD card). The MP3s are pulled from the multitude of music blogs out there. It’s a little like the Hype Machine but in a slick mobile app form.

It’s a Good Time to be a Web Developer.

I think this graph from Google I/O says it all:

Webs Up!

With all the FUD around Flash and the iPad its easy to forget that we are living in a golden age of web development. The web is fulfilling all but the most outlandish predictions of its success from back in the 90s. Things are just starting to get interesting.

The other take-away I got from the I/O keynote is how a lot of HTML5 is basically HTML playing catchup with Flash. Many of the coolest new features have been available in Flash for years. This means all the skills you honed as a Flash developer are directly applicable to the newly emerging platforms of HTML5, Unity, Android and even iApps:

  • Creating animations and transitions that enhance static content.
  • Optimizing for performance and fast page loads (including preloading).
  • Handling rich media: video, audio and images.
  • Custom text layouts and font handling.
  • Asynchronously querying the backend.

Only the syntax has changed – the end result remains the same.