Hello, ComputerCraft!

Two years ago, I watched this video:



A couple minutes afterwards I bought Minecraft and have played ever since. On our multiplayer servers we've had some awesome builds, like ships and spaceships and cities and other cool stuff.



Today almost exclusively I play Tekkit, a multiplayer mod pack that adds a ton of 'industrial' components to Minecraft, like machines, power, oil, pipes, engines, computers, and much much more. With it we can build vast factories powered by nuclear reactors, or solar-powered processing plants. There are hundreds of new items in Tekkit that really make the game a more enjoyable experience, especially if you've done everything you can possibly do in vanilla Minecraft.

Minecraft has been explosively popular with people of all ages, including young kids, which makes me start to think about one specific mod included in Tekkit, ComputerCraft.



ComputerCraft is a mod that adds a 'computer' block to the game (among other things, like a computerized 'Turtle'), which you can interact with, run programs on, etc. This computer runs a variant of Lua, and all the 'applications' on the computer are Lua scripts - i.e. you can easily open them up and see their source code, edit them and learn from them. Even better, though, is this computer can be wired up to things in the Minecraft game world, allowing you to control real things inside the game.



You could, for example, easily wire up your house lighting (or your Tesla coil-based security system!) to the computer and with a little script you could turn it on or off, or with a little more practise and skill you could create complex contraptions using the in-game RedStone circuits and pistons or other machines.

If ever you wanted an excuse to teach your child how to program in an environment that they feel comfortable in, why not Minecraft? ComputerCraft is a fascinating thing to play and build with, and you'd hardly even notice you're learning how to program. There's so much potential here, but I won't go into detail right now; instead, check out this little video for the kind of things ComputerCraft can do:




2007's pre-M3 version of Android; the Google Sooner

When Google first showed off Android, they showed it running on a device very similar to Blackberries or Nokia E-class devices of the time. This device was the Google Sooner - an OMAP850 device built by HTC, with no touchscreen or WiFi. This was the Android reference device, the device they originally built the OS on.




Recently, I got access to a Google Sooner running a very early version of Android. With all the recent information coming out of the Oracle vs Google trial, I thought it would be interesting to take you on a brief tour of the OS. The build of Android this is running was built on May 15th 2007 - four months after the iPhone was announced; the first M3 version of Android was announced in November 2007, and Android 1.0 didn't come 'till a year later.


Hardware

The Google Sooner, aka the HTC EXCA 300, runs on an OMAP850 with 64MB RAM, and comes in two colors: black, and white. It has a 320x240 LCD screen (non touch) and a 1.3 megapixel camera sensor on the back, which supports video recording. Its curvy profile is surprisingly light and has a certain quality to it. It has a full QWERTY keyboard, a four-way d-pad, four system buttons (menu, back, home, and favourites) and call/end call buttons. Inside is a 2G radio, which is capable of EDGE speeds, but no WiFi or 3G. It has a mini-SD slot (not micro-SD), and a mini-USB port.







Software

This device runs build htc-2065.0.8.0.0, and was built on May 15th of 2007. This means it's much earlier than any previous look we've had at Android to date - a good six months before the milestone 3 (M3) version of Android, the initial release, was announced.

Home Screen

This is the primary interface to Android. You get a handful of Gadgets (a Clock, for example, and applications can provide their own), and a Google Search bar (that pops up when you hit the down arrow). There is no conventional homescreen with widgets - this is literally all you get when you turn on the device. It was an OS designed to search Google from the very start.




Apps

Hit the Home button and a drawer of apps shows up. This appears to be the shortcuts bar - any time you're inside an app you can hit the menu key and add the app to this. You can also add specific activities in an app to the favorites bar - for example Bluetooth settings, similar to those allowed on Windows Phone 7. You can also access your notifications and Cell/Battery settings from the shortcuts bar.



Hit the down arrow and the shortcuts bar expands to show all applications installed on the system. This acts just as you'd expect from a 2006-era non-touch device. There are no sorting or view options; what you see is what you get. The applications drawer appears as an overlay, so you can access it from any app without navigating back to a home screen.


Funnily enough, there's a second 'All Applications' screen, this time housed inside an app. It has a slightly different look and feel, but works exactly the same.

Future home screen

If you remember the M3 version of Android, as shown in the original announcement video, it had a very different home screen. This homescreen actually exists on this Sooner's build of the OS, but as an app. I imagine it wasn't finished yet, and as they prototyped this new homescreen they just left it as an app you can launch (similar to how you can have multiple launchers on Android today). Here you have the shortcut dock across the bottom of the home screen. Eventually, by the time Android was released, this became the traditional homescreen we know today.


Browser

The browser on the Sooner is based on WebKit [ Mozilla/5.0 (Macintosh ; U; Intel Mac OS X; en) AppleWebKit/522+ (KHTML, like Gecko) Safari/419.3 ] and seems to pretend to be a Mac (perhaps to help mask itself, since this is many months before Android was announced). Browsing is a painful and slow experience, even though rendering isn't too bad.




Gmail

A rudimentary Gmail app is included, with basic access to your email. This is a far cry from Gmail on Android today.





Google Talk

Google Talk is present and seems to work great (if you like green…).




Other Apps

Here are just a few of the included apps. Some work, some don't, and some work partially. All are very rudimentary at this stage. I'm not sure if this was before or after The Astonishing Tribe [re]designed Android, but I'm betting before. Although Maps, YouTube and Google Earth come on this device, I wasn't able to get any of them working to show you (Maps and YouTube launch, but neither seem to be able to access content. It's quite possible that the server endpoints they used for testing no longer resolve.

Note Pad


Address Book


Calculator


Calendar

This doesn't quite work in my build, but here is what the error looks like.


Camera



Text Messages



Wrap-up

It's quite clear that Android was being designed to a completely different target before the iPhone was released. What we see here would have fitted in perfectly with the world of Symbian and BlackBerry. This early build of Android is in fact even less capable and mature than the 2004 release of Symbian Series 90 (Hildon), the OS that runs on the Nokia 7700 and 7710 - Nokia's first, and only, pre-iPhone touchscreen smartphones. It's not hard to see that iPhone really changed the thinking across the entire industry, and caused everybody to start from scratch. Android, webOS, Windows Phone 7, Windows 8, BlackBerry 10 - all of these exist because of the iPhone, and standing on its shoulders they have made some amazing and unique contributions to the ecosystem.

As I mentioned in my Úll talk last week, the moment we saw the iPhone for the first time it was so clear that everything beyond this point would be completely different - it wasn't just about smartphones, it was about the future of computing. We live in a world that would have seemed distantly futuristic only 5 years ago, thanks to all these OSes. It's amazing how far we've come in such a short time, and I can't wait to see what comes next.

When is a Smartphone OS not a Smartphone OS?

If you're thinking purely in terms of 'smartphones' whenever you think of iOS, Android and Windows Phone, you've blown it. It's so incredibly short sighted to think of these OSes as a smartphone play - they are all so much more than that.

These are the three OSes going to power consumer devices (phones, tablets, laptops, desktops, TVs, etc) for the next 20-30 years, or be the template for such. Google recently bought Motorola, so many assume they'll be making smartphones and tablets under a Google brand. But a key thing being overlooked is that Motorola's smartphones are also PCs; starting with the Atrix, every flagship Motorola phone has had the capability to turn into a laptop or desktop PC, or media center with the requisite dock. You drop the phone in the dock, start using the keyboard and mouse on your big screen LCD, and you have an instant computer - one that was in your pocket seconds earlier.

This is as much a part of Google's strategy as devices; Google is poised to take on the 'PC' market, and Android is finally their vehicle to let them do this.

Many originally called ChromeOS a shot across Microsoft's bow; today, several years later it's unclear where ChromeOS fits into an Android-everywhere strategy. Maybe the two will merge in the future, or maybe ChromeOS is more a research project for 'future disruption', to steal a term from Nokia. I don't think we're ready for a browser-only platform just yet, and I don't think the browser is the final evolution of the web by any stretch. Apps are as much part of the web as websites are; the web won't always mean HTML/JavaScript. Some key problems to solve are compatibility and search across this new web, of course, but that's a whole other article.

With Windows Phone, many posit that Microsoft is moving everything to the Windows RT kernel (aka Windows 8); the phone could be as much Windows 8 as the tablet or desktop. Microsoft have been pretty candid about their duelling Metro/Desktop environments in Windows 8, but it starts to paint a familiar picture once all the information is in play. Your Windows Phone, which may run on ARM or perhaps x86, could dock and power a desktop display, with a mouse, keyboard, and even legacy Windows apps. In the future, I see no distinction between Windows Phone and Windows; for Windows Phone to fail, the entirety of Windows has to go down with it.

A whole new generation of computing, where everything can be powered by one device; that's where Microsoft and Google are positioning themselves. They are platform makers, this is the most obvious and inevitable possible platform play. If you extrapolate a little, it's quite clear that this goes beyond devices; if we're talking about dumb desktop shells that you dock into, why not the same for phones and tablets? What if the computer itself is something you always wear - a wristband perhaps. Wirelessly, it could beam its display to a blank shell of a smartphone in your pocket, or the blank shell of a tablet, or a desktop PC, or augmented reality glasses.

Of course, this won't happen tomorrow, but it could easily happen in the next five years. It's not something on the distant horizon, either. We will start to see more docking phones like Motorola's, or phone/tablet devices like Padfone, or Google's Glasses technology. Eventually the physical connectors will go away, and the docking will all be wireless - at that point, for how long will we still need distinct devices, CPUs, memory and data connections for each display and input mechanism in our lives?

Apple, unlike the other companies, is a device maker, and completely opaque. I'm not sure a single-device strategy would make sense for them, at least in the short term, but I do expect iOS to spread to more devices and form factors. We've already seen it with iPad and AppleTV, and I still feel that iOS and OS X are on a collision course for the desktop. All of these OSes are the mainstream personal computer platforms of tomorrow.

The personal computer hasn't yet come. One day we will be the personal computer. Current generation smartphone OSes are only the tip of the iceberg, and the big players understand this. It's a completely different game being played now. And this, more than anything else, is why companies who think they're just making smartphones (RIM, for example) will have no place in the world of tomorrow.

On Windows Phone 7 and Apps

Much has been said recently about the state of Microsoft's Windows Phone 7 re the lack of quality apps. In my mind, there are some pretty big reasons why these quality apps don't exist:

1) The Silverlight framework, used to build all current third-party WP7 apps, is incredibly slow. Because it's running in an environment far from the native code layer, you just can't pull off the same kind of experience you can on an iOS device. I regularly have performance issues in animation and layout code on WP7 that I haven't seen since the original iPhone, but you needn't take my word for it; check any number of apps on the store (Twitter apps, for example) and you will find that scrolling performance is ghastly, or that cells vanish as you scroll (reminiscent of webOS). There is a way to fix this - native code. All rumors point to Microsoft offering native code access to external developers at some point in the future, which should be a massive performance win. Perhaps WinRT is it, and WP8 apps will be code compatible with Windows 8, too. Of course, unless they have a powerful enough native framework to make great UI apps (like UIKit and co are on iOS), it won't make a difference. As an example, compare and contrast Path on iOS vs Path on Android. Good effort, but the Android version is a hollow shell of the iOS app, and that isn't by choice. On WP7, right now all you're going to get are hollow shells of iOS apps - that's all that's possible with Silverlight.

2) This may be a contentious point, but all the good developers and designers are on Mac OS X. This is why the Mac (at least on OS X) has always had the better apps of the two main OSes. This has always been the case, and remains one of the key differentiators on OS X.

These are also the developers and designers making top iOS apps; they likely will not even have a Windows license, a Windows machine, or any access to Visual Studio to develop and test a WP7 app. In short, asking them to use Windows to develop apps is abhorrent to many of them.

These are the people you need to create the great apps. This is also why there are no great apps on Android, either; they don't like Android or its design enough to invest effort in it (some notable exceptions, like DoubleTwist - whose head of design has worked for Apple, and Instagram). The almost universal response from these designers and developers, tho, is that they really like WP7. If I were Microsoft, I would really be paying attention to this: you're not going to get these people by offering money, you're going to get them by making it super easy for them to build apps. If that means you have to build or buy an IDE for OS X, then so be it. Having to reboot out of our native environment into Windows is enough of a deterrent; remember, these people don't need you, you need them. They won't flock to WP7 work to pay their bills, they'll flock to iOS.

These users are key; if you don't convince them to make apps, and provide a framework capable of making the apps they come up with, then your platform will never be good enough. It says a lot that the entire WP7 design team at Microsoft were iPhone users back when I first met them at MIX 2010. Don't squander that opportunity.

High Caffeine Content acquires Storyboards

High Caffeine Content is proud to announce that it has acquired the iPad app Storyboards from M Cubed Software.

Say hello to Storyboards, your new best friend for creating and watching back storyboard sequences. Whether you're working on a film, a presentation or a piece of software, Storyboards can help you lay out your idea.

Look for more information in the coming weeks about the future of Storyboards and the awesome things we have planned.

Until then, you can purchase Storyboards for the introductory price of $2.99 and have a free upgrade to version 2.0 when it launches later this year.

Find Storyboards on the App Store.

The Lotto Machine - A Random Number Generator with Physics!

The Lotto Machine was a project I started on a whim in October 2008; it was one of my first ever test projects for the iOS SDK and as such was a mess of code and hastily-Photoshopped UI. It created a series of ‘balls’, randomized their locations every second, and then chose 7 of them to show at the bottom. It looked awful, though I thought the idea would have been fun. I shelved it, and forgot about it until three years later.

Fast forward to 2011, and I had just started prototyping projects in Cocos2D, with Box2D physics - the usual physics-sandbox style games. One day while reminiscing over shelved or aborted projects, I came across my lottery number generator app. A lightbulb flashed on in my head: this prototype was missing a physics engine!

It didn’t take long before I’d integrated Cocos2D and Box2D into my lottery project, and suddenly I had an app. The Box2D physics engine was key - without it, the app could not exist. There were countless random number generators on the store, but none looked and felt anything like this. I thought I was on to something…

I spared no time in commissioning an awesome artist to turn my crummy prototype into something gorgeous, and as a result ended up with the stunning UI seen in The Lotto Machine. The balls bounce around the drum as you hold the button, and as soon as you let go a series of numbers will pop out of the chute and roll across the shelf. If you move your device about, the accelerometer will also affect the balls and give you a sense of control over the random selection. Not only is it fun to use, but it’s kinda addictive. Just between my first couple of prerelease users the drum was spun 676 times in just three days!

The Lotto Machine is available now from the App Store if you'd like to check it out. Let us know if you win anything with it!

Growing Up Geek

Welcome to Growing Up Geek, an ongoing feature where we take a look back at our youth and tell stories of growing up to be the nerds that we are. Today, we have a special guest: programmer, app designer, artist and geek, Steven Troughton-Smith.

If you've ever wanted to know that little bit more about me, Engadget's Growing Up Geek piece just went live! It's times like these I wish I posted more here.

Nokia N9 : Redux

A year ago, I was introduced to MeeGo at the MeeGo Conference in Dublin. A Linux-based OS backed by Nokia and Intel, it was full of potential, designed to be the future of Linux for netbooks, tablets, smartphones and other embedded devices. Several thousand developers and hackers rejoiced at the free tablets Intel gave out to get MeeGo hardware into peoples' hands.

Not long afterwards, that MeeGo was dead.

MeeGo, as we saw it, died the moment Nokia announced that they were choosing Windows Phone as their future smartphone strategy. Nokia, in fact, was the most important proponent of MeeGo, as it was to be their saving grace in mobile; quite simply, if Nokia didn't make MeeGo succeed they were going to be history. Instead, Nokia chose plan B, switching to another platform entirely, leaving Intel with a massive project that they had neither the skills nor the will to complete. A few months after Nokia pulled out, Intel announced they were moving MeeGo development to a new web-based OS and leaving the rest to open-source maintainers.

Yet Nokia still promised that they would create a 'MeeGo' smartphone. It would be their Qt halo device, the flagship phone for the development platform that was quickly becoming the primary platform for their Symbian devices.

Expectations were high; photographs of prototype devices had leaked and the hardware was handsome - aluminum and glass, with a keen likeness to Apple's MacBook Pro. We expected a nerdy developer device with a moderately cool open source and hackable OS, a true successor to the N900.

Instead, Nokia unveiled a "concept car", stunningly beautiful with an amazing OS that blends the gorgeous design and ease of use of iOS with a real, hackable, GNU/Linux core. This concept car was actually coming to market, and they called it the N9.

I've written about the N9 before, and what I think about the OS based on the N950 developer device I was given. Now, I have the final retail hardware on my desk, and it's every bit as awesome as expected. The polycarbonate unibody construction feels amazing in hand. What they characterize as an inky black screen looks phenomenal. What I expected to be a crummy door on the top (for the USB port and microSIM slot) is a really nice mechanism, solid with a spring to it. The microSIM door slides sideways and pops out in a really nice way. The speaker system fascinates me, as even when you cover the speaker entirely your music doesn't drop off in volume or muffle horribly - you won't accidentally silence video playback or games by covering it with your hand. It does indeed feel faster and more stable than the N950 developer hardware, and the software keyboard is way easier to type on. Accidental edge-swipes are less likely now with the curved glass screen, so the entire UI metaphor works wonderfully. In short, it takes your breath away.

As a concept car, Nokia are only doing a limited run of N9s - 100,000 or so. Their MeeGo Harmattan OS is receding back behind the curtains, hopefully to return in another concept device in the future, whatever that may be. It sounds like Nokia is going to cannibalize Harmattan and bring a lot of this UI and design sense back to their non-smartphones with a new Linux-based OS called Meltemi. Indeed, the winds of change are blowing in the right direction. The N9 hardware design is being improved upon and re-used in Nokia's first Windows Phone device, the Lumia 800. I really believe Windows Phone was the right choice for Nokia (and that's why every app in our portfolio is either already ported to WP7, or soon will be).

For now, MeeGo may be dead. Harmattan may never see the light of day again either. But I get to drive a concept car. For that, thank you, Nokia.

Take One for iPad

I'm a little late to the party, but High Caffeine Content is proud to announce the availability of Take One for iPad! Ok, we launched two weeks ago, but I've been so busy I forgot to post about it sooner.

Take One is a movie slate for the iPad that's perfect for the amateur videographer or budding filmmaker. It's super simple to use, with one-tap changing of scene, roll, take, a night mode, a color check screen, and easy navigation through your slates - you can thumb through them or just pick them from a list.

We built the app in conjunction with Cosmic Cloud Software who did all the art and design work. It's been a great project to work on and we can't wait to bring it to a broader audience soon (*cough*iPhone*cough*).

Take One is a multilingual release from the start; we've taken care to provide great support for French, Spanish, German and Japanese; you should be able to grab it from the App Store for $2.99.

Just to keep you informed - we are tracking two bugs currently (1.0, guys!): one is an audio clap sync bug on the original iPad, and the other is an odd bug with muted audio. If clapping the board isn't making a sound, try changing the Ringer/Alerts volume in the Settings app on your iPad. Rest assured that both will be fixed asap!

Lights Off Android/MeeGo - High Caffeine Content State of the Union

Lights Off has made the jump to two new platforms in the past month: Android and MeeGo Harmattan.

The Android version of Lights Off was teased no less than three years ago on this very blog. I had originally started porting work when Android 1.0 was new, before I first got my ADP1. Three years, nine OS releases and eight (!) Android device purchases later, we've finally launched!

More recently, Lights Off has become the first of our apps to launch on the Ovi store, for MeeGo devices (i.e. the N9). Built with Qt and QML, I really enjoyed working on this version and think it's one of our best yet. I'm really expecting to see iOS-quality apps for MeeGo, as it has a really sweet set of tools and (native!!) frameworks, and pipes everything through the GPU for amazing performance. From this MeeGo version of the app, I spent a Sunday morning porting it to Symbian; took only a few hours to do and virtually no code had to be changed: great success! Nokia says all their future Symbian and S40 devices will be 'Qt devices' instead, and if they can pull that off I expect to see great things from the final years of S60/S40 before it's entirely replaced by WP7 across the entire product portfolio.

This year has very much been a cross platform push for High Caffeine Content, a consolidation of sorts. We've launched our apps on Mac OS X, Android, Windows Phone, BlackBerry (PlayBook), MeeGo and, soon, Symbian. We also launched Grace v2.0, a major upgrade to our app that gives a voice to autistic children. That's no less than 10 apps in nine months! Not only that, but we have some more great iOS apps in the pipeline that you will see very soon. It's clear that the scope of our projects is expanding (you should see some of our prototypes in the lab!), and I really can't wait to show you more.

Nokia N9 - Meet MeeGo Harmattan

The smartphone market is crowded (or, 'healthy', you could say); we have iOS and Android in the top spots, and a range of competitors like Windows Phone 7, Symbian, BlackBerry 7, webOS, Bada, etc. iOS, Android, WP7 are on the ascendency, most other things are static or in decline.

What you often find though, is that you can tell the good ones apart by how consistent and pleasant to use they are. Pick up a webOS device, for example, and you instantly see a pretty OS with many great UI concepts. Use it for a little longer, and you start to see how shallow that veneer actually is - user experience nightmares, terrible performance, half-finished designs, etc. The sliding three-pane UI in webOS 3.x is a great example of this; drag the divider and the panes will judder across the screen, the main pane not resizing anything until you let go, at which point it snaps to the new position with no animation or feeling. Compare with the Twitter for iPad UI and how fluid it feels, and you would be appalled. It's such a pity, because webOS is a great concept and implementation - it just doesn't have the final 10% to make it feel like you're using something more than a pretty-looking webpage. I believe it's here to stay, however, unlike Symbian, BlackBerry OS, etc.

iOS is the king, so far, with consistency of user experience. You'd have to make a conscious choice as a developer to create an app that breaks the inherent UX niceties and animation in the OS. I like to call this the 'soul' of the platform. Android, on the flipside, is a hodgepodge of inconsistent UX, where even Google's own apps decide to feature new styles and concepts in between OS releases (the App Marketplace, for example, has been redesigned twice in recent history, with neither style matching the rest of the OS). Windows Phone 7 also has a quality UX, until you reach the third party apps, where everything degenerates (the third-party apps, being Silverlight, have no relation to the native software that comes on the phone, which is all C++ and using the same frameworks).

Recently, Nokia announced the N9, the first (and perhaps last) of their MeeGo smartphones. Where does MeeGo fit?

N9

Long awaited, the expectations were really high for this device - MeeGo was originally supposed to be the savior of Nokia, their modern smartphone OS to replace the aging Symbian. When Nokia announced in February that they were instead going to move to Windows Phone 7 as their primary platform, most took it as a sign that MeeGo was simply never going to be ready, or competitive. The open-source version of MeeGo for handsets is so barebones that it would take another year at the least to build a compelling user experience on top of it, so it was understandable that Nokia would focus their efforts on WP7 instead.

Then we saw the N9.

The N9 is an absolutely stunning device - sleek, minimal, with a curved glass front and no visible buttons. What was more shocking, however, was the software. Nokia's MeeGo 'Harmattan', powering the new flagship, was not only good, it was as stunning as the hardware.

This is Nokia's iPhone; the attention to detail and design ethos is really befitting a modern smartphone platform. The OS feels alive, with UI elements swooping gracefully under your finger, alerts and dialogues popping onscreen with a bounce. The software and hardware feels like it was designed from the ground up together as a seamless whole. Multitasking is performed by swiping a finger from any side across the curved glass screen; notifications from all your services (Facebook, Twitter, mail, etc) have a dedicated section on your homescreen. The design language and iconography is a breath of fresh air. Performance-wise the device screams, as everything is running as native code and the GPU controls everything onscreen (a la Core Animation on iOS).

The N950, running MeeGo Harmattan, beside the E7, running Symbian. OCD bonus: you can order your icons by color to really make your device stand out.

HACKABLE

MeeGo Harmattan is a full GNU/Linux stack, and seems to hold its developer roots close to it; right in the Settings app is a toggle switch to turn on 'Developer Mode', effectively giving you root access and an SSH shell. The N900 (the precursor to the MeeGo initiative) was renowed for its hackability in much the same way. It's very likely that the N9 will be able to dual-boot Android like the N900 before it, so I have a feeling that this device will be extremely popular in the techie community. MeeGo Harmattan puts Android to shame, design-wise, whilst retaining the über-hackability that developers and geeks adore.

MEEGO UX

Having used the developer version of the N9 hardware, the N950, for a few weeks now, I can safely say that MeeGo Harmattan is right up there beside iOS in the user experience department. Everything is consistently good, even the third party apps. This design really has been thought through even to the smallest details. The development frameworks allow you to create really great apps, consistent with the rest of the OS (even inheriting the subleties of animation and timing and interaction, similar to iOS). Even on last year's hardware everything is smooth and pleasant to use. MeeGo Harmattan, unlike so many other OSes, is not shallow; the user experience goes all the way to the core. It has soul. It absolutely deserves to stay on the market in some form, even if WP7 becomes Nokia's primary smartphone platform.

Nokia's MeeGo Harmattan on the left, open source MeeGo on the right…

WRAP UP

The N9 is a glimpse of what could have been; it doesn't sound like Nokia has any plans to continue making MeeGo smartphones. I fully agree that they should be laser-focused on Windows Phone, but it makes me sad to think that such an awesome device and OS have no future (beyond being the poster child for Qt mobile development as Qt expands to Nokia's dumbphone platforms).

The N9 and MeeGo were too risky a bet for Nokia's future smartphone platform; CEO Stephen Elop describes the WP7 move as 'removing the handcuffs' for the MeeGo team - the fate of Nokia was no longer on their shoulders, so they could pull out all the stops to make an amazing OS to truly show that Nokia's still got it. What becomes of that OS now, we don't know. Nokia calls it their plan for 'future disruptions', which could very well mean using it for a tablet (Elop stated that Nokia very much has to be in the tablet space at an AllThingsD conference recently), or keeping it on the backburner as a 'just in case' scenario. Does the general populace need another smartphone platform? No, I don't think so. But I absolutely think that we, the tech fringe, are better-off with this one in it.

DISCLAIMER

The N950 license agreement, as it's prerelease hardware, specifically states that I cannot say anything negative about it. Fortunately, I honestly don't have to take that into account as I have absolutely nothing negative to say. It's that good.

Lights Off for Windows Phone & BlackBerry PlayBook

This week Lights Off launched on Windows Phone 7, following up the BlackBerry PlayBook release the previous week.

I'm really happy with how the Windows Phone version turned out in particular, and fans of the game from iOS will be happy to see that all the features they know and love made it intact. Developing for WP7 is quite refreshing, and even though it had its fair share of head-desk moments it's nice to see that the graphics/animation engine is just as powerful as Core Animation (unlike some other OSes that shall remain nameless…).

The PlayBook porting process, on the other hand, wasn't as terrible as I thought it would be. Not being a Flash fan, after developing Lights Off from the ground up in ActionScript I can see why Flash developers love Flash. On the PlayBook, too, Flash/AIR apps are, for all intents and purposes, native apps, so you don't have a horrible non-standard user experience when running Flash apps. Like Silverlight in Windows Phone development, Flash is also fully capable of all the things that CoreAnimation does, and the entire process was actually really enjoyable. I may make more PlayBook apps…

RIM sent out a free PlayBook unit in return, so expect a longer post on the device and OS itself. Short version: I actually like it, flaws and all. No it doesn't compete with the iPad. A 10" model might.

Grab Lights Off for Windows Phone from the Marketplace, and/or the PlayBook version if so inclined.

Chameleon: UIKit for Mac OS X

Sean Heber over at the Iconfactory has just published a really awesome project called Chameleon; it's basically an open source re-implementation of UIKit for Mac OS X. With this, you can port apps from iOS to the Mac really easily using all the CoreAnimation-powered UIKit classes you know and love. You can even create a hybrid UIKit and AppKit application that integrates the best bits out of both the Mac and iOS development environment. Twitterrific 4 for Mac uses this framework to share its codebase across the Mac and iOS.

I was lucky enough to get an early chance to port an app to Mac OS X using this, and it blew me away. In fact, I was able to get several apps up and running with very little effort. All the localization work you've done works perfectly too.

SameGame for Mac uses Chameleon, and was ported in a couple hours - a perfect example of how easy to use Chameleon is. It should (approval pending) be on the App Store soon.

Nokia Developer Gift, Pt. 1

A few weeks back, after Nokia had announced they were upending their software strategy for a partnership with Microsoft, they promised us developers a few things; the two key items were one free Nokia E7 and one free Nokia Windows Phone (when they become available).

Today arrived on my doorstep the aforementioned E7, and I thought it would be proper if I wrote something about it here.

Ok, the Nokia E7 is incredibly impressive hardware. Gorgeous,... on Twitpic

First impressions are always important, and the moment I set eyes on this thing I was stunned. The hardware design is absolutely beautiful; a large 4" AMOLED display and aluminum frame hiding a svelte keyboard. The slider tilt-hinge mechanism is so very solid and appealing, and the device is surprisingly thin for a slider. I couldn't help but think how this phone would be a chart-topper if it was running WP7 or Android.

Ok, the Nokia E7 is incredibly impressive hardware. Gorgeous,... on Twitpic

Sadly, it's running Symbian. It must be said, the latest version of Symbian, Symbian^3, is extremely nice. Unlike its predecessors (anyone who had the misfortune to use a 5800 or N97, I feel for you), it's actually designed for a capacitive multitouch touchscreen. Using it reminded me of all the things I loved about Symbian, back before the iPhone changed the world. While Symbian^3 may be great (it's much easier to use than BBOS6 on the Torch, for example), it's nowhere near the class of modern mobile OSes (iOS, Android, webOS, Windows Phone 7). Fortunately, this time next year we won't have to have this conversation anymore.

The camera quality on the E7 is a far cry from the Nokia N8 imaging flagship; there's no half-press to focus on the camera button, and the photos feel more like a camera phone than the N8 (which is on par with a point and shoot camera). Of course, it has a front facing camera for 3G video calls, like nearly every Symbian phone since 2005. It eschews the microSD slot, so you have to rely on the internal storage, and has a dedicated SIM tray like the iPhone.

All in all, this is a very nice gift from Nokia to its developers. The message is twofold; it shows developers that Nokia still cares about Symbian, and wants them to continue development for it, but most of all, it reminds developers that Nokia can make stunning hardware. It makes me giddy thinking about the next step in this giveaway, when Nokia distributes its first Windows Phone 7 devices to all its developers. As much as we in the tech world write off Nokia for using an outdated and limiting OS like Symbian, it's easy to forget that they are still the #1 phone manufacturer in the world. Their hardware is superb, and WP7 is a fantastic OS (though I wish Microsoft would get their updates out within three months of missed release dates... Seriously :-p), and I can't wait until the two come together. Some very exciting times are ahead.