Gliders, Italy and Androids

What an incredible summer and it is funny how it all started.  I found myself without a job at the end of April.  A week or two later I started a crazy schedule of fencing, archery and hiking amongst the usual day-to-days at home.  I even got to try out some serious tree climbing and zip-lining.  And I met new friends at a retreat and a number of parties too.  I even got to hang out with and host Anna and Behnaz, two friends from Montreal for over a week.

At the beginning of July, after months of preparation my brother, Martin went for the Air Cadet’s gliding summer camp.  After over 6 weeks of intensive work, training and practise, my brother can now legally fly a glider by himself.  I am incredibly proud of him and we now have a real pilot in the family.  Wow.

The past month and a half I had the honour and pleasure of hosting one of my very good friends from Italy, Laura.  Laura came to visit us, see Canada and learn English.  We did that and a whole lot of hiking, sightseeing and partying in Toronto, Niagara, Tobermory and Hamilton.  And her English became a lot better too.  I am so thankful that you came Laura and I hope you enjoyed being with us as much as we having you over.  Thanks!

After a full summer, I’ve come full circle.  About three weeks ago, I interviewed and got hired as a mobile developer for Web Impact.  I get to work on building Android mobile applications in a great environment with awesome coworkers.  I have always wanted to get into mobile programming.  But I never imagined that I would be doing what I get to work on.  Unfortunately I can not disclose the details of what I am working on and the technology behind it.  However I can say that the technology and the way we apply it is how I envision the future of mobile, web and desktop computing will look like.

This year has been an amazing ride so far.  And from what I can tell there is even more awesomeness in store.

MeeGo 1.0 and Maemo5 PR 1.2 Released

While I was busy with the randomness of life, awesomeness hit the world of mobile Linux.

Maemo5 PR 1.2 Released

For all you proud owners of Nokia N900s, go and upgrade to the recently released PR 1.2 update for Maemo5.  This update really, really improved the performance of the phone.  Better multimedia playback, faster browsing experience and many other improvements.

I went the way of reflashing the device, using Nokia’s Updater.  Now it claimed that it would wipe out my personal data on the device.  So I made a backup and let the Updater do its thing.  I went the Windows route, because I didn’t feel like messing with the Linux flasher.  Both work the same, I just went with the easiest route.  To my surprise and delight, all my data carried over.  I needed to reboot the N900 before everything showed up.  But it was all there with the exception of my applications.  That required me to go and re-download and reinstall all my apps.  Not a big deal, but a slight hassle nonetheless.

What about MeeGo?

One thing that didn’t happen was an update to MeeGo for the N900s.  On one hand I understand why Nokia didn’t want to push-out a risky upgrade to existing N900s. On the other, never getting official support for MeeGo on the N900 is a shame.  Developers will get to play with MeeGo images for the N900.  But don’t expect Ovi or anything non-community based finding its way on the MeeGo for Handhelds, in terms of anything for the N900.

MeeGo 1.0 for Netbooks

Even if MeeGo never arrives officially on the N900, it is ready to hit the netbook.  The MeeGo project recently released MeeGo 1.0 for Netbooks.  Being the ever curious geek, I decided to download and install the MeeGo 1.0 image on a USB stick.  Since the netbook at home is currently on the other side of the pond, I decided to try it out on my non-portable super-netbook (a.k.a. desktop workstation). Unfortunately I got as far setting up and booting off the USB stick.  Then I got a funky framebuffer not found message, and the poor thing tried to start up a display.  I guess no playing around with MeeGo, if it isn’t a supported netbook just yet.

However Nixternal (of KDE/Kubuntu fame) had a better go and blogged about his good impressions of MeeGo.  So far people are impressed.  The MeeGo platform will impact the netbook and tablet market, at least with the products showcased at Computex.  Also it looks like DeviceVM will make their next SplashTop product on top of MeeGo.

We have a Go for MeeGo

6 days after I blog that the MeeGo project should start with a release of MeeGo as a first step… well they do exactly that.  Now before everyone goes off and tries to flash their nifty Nokia N900, please don’t.  This first release is just the underlying stack, without any GUI elements.  As in if you flash your device to this first release… you’ll get a console with a blinking cursor.  Now I don’t know about you… but I don’t know how to make a phone using the console.  Still great work MeeGo folks.  I look forward to seeing the upcoming release with the MeeGo User Experience, to see how the system will look once it becomes something an advanced end-user can use.

The MeeGo Comeths

A few weeks ago, Nokia and Intel announced a merger of the Maemo and Moblin projects. The resulting platform shocked the world. OK, it only shocked the communities (the third amigo) involved. Yours truly wanted to blog about it badly weeks ago. But I apparently never got the knack of timing and priorities just right. So please forgive my late entry into the fray, and accept this out-of-sync piece of journalism.

Sidenotes for the Technically Curious

I will touch on a few things that uninitiated might find confusing.  Without getting into the nitty-gritty technical details there are a few things some readers should know.  A stack or platform refers to a collection of software that works together to perform some larger task.  In the context of this article, a stack includes the operating system, libraries for supporting applications and system programs that provide services for user applications.  User applications being any program a user would use and identify on a device.  UI refers to the user interface for a program, namely all the buttons, sliders and widgets a user can interact with.  Packages refer to installable applications in the Linux world. A library is just a bit of code shared by different applications.

Aside from that glossary, please keep in mind that due to physical constraints small mobile devices will always be underpowered compared to full-scale computers.  There is just so much processor power and memory that can be crammed into a small handheld device before the device will use so much power that it will drain a conventional battery in minutes.  Batteries can only hold so much power without being physically bigger and heavier.  Thats why it is essential for anyone programming something like a cellphone to write code that is fast, efficient and doesn’t use too much memory.  On that note, programmers have the option of writing native or interpreted applications.  Native applications essentially instruct a device using machine code.  Interpreted applications need to first run on a special interpreter program that transform the code into machine code.  For that reason alone, the same code/algorithm running on native application will always be faster than an interpreted application.

The Birth of MeeGo

The MeeGo project comes from two very different but equally important platforms: Maemo and Moblin.  Intel created Moblin as a Linux stack optimized for netbooks.  Nokia created Maemo as a Linux stack optimized for pocket computers/handheld Internet tablets.  Aside from using Linux, a conventional GCC and Gtk technologies,  the Moblin and Maemo platforms are radically different.  Moblin targets Intel Atom (x86) powered netbooks.  Maemo runs on ARM powered mobile devices.  Moblin uses RPM package management.  Maemo stems from Debian and uses DEBs.  The UI is radically different for both platforms.  Moblin exists as a developer preview and doesn’t ship on any production run of netbooks (as far as I am aware).  Maemo runs on Nokia’s N700, N800, N810 Internet tablets and the N900 smartphone.  Oddly enough Nokia still considers Maemo a “developer” platform.  Or rather considered it a developing platform, up until the announcement of MeeGo.  Now Maemo is effectively a dead platform.

The Reaction

Quite naturally both the Maemo and Moblin communities were shocked at the announcement.  Considering how MeeGo is structured, the Moblin community just reacted with a surprised “Oh, thats nice.”.  The Maemo crowd didn’t take the news as well.  No wonder considering that many early adopters and developer paid a lot for the expensive must-have toy, the N900.  Mine own cost around 550 USD, but came out to over 600 USD after taxes, parcel forwarding to Canada (damn you CRTC, Bell , and Rogers for having a bizarre GSM network) and customs.  Many people were looking forward to a bright future with Maemo6.  Instead lots felt that Nokia pulled the rug from underneath their feet.  Needless to say a lot of dust and fuss got kicked up.

We Go into the Future

As soon as the announcement came out, the Nokians found themselves with a farther despondent and worried Maemo community.  The Maemo community felt that their expensive toys would  eventually become expensive paperweights.  However Nokia announced that the new MeeGo platform will work on Maemo devices, especially the N900.  No promises that MeeGo will get optimized to work smoothly on N900s, but a working platform is better than no platform.  So with the community calmed down but cautious, what are the next steps for the MeeGo project?  Well most of the Maemo community web resources are transitioning to MeeGo.  Maemo developers and packagers will need to learn how to build RPMs instead of DEBs for MeeGo.  The MeeGo folks chose to go with Moblin developer tools, simply because the tools are far more mature than Maemo’s.  Fortunately the majority of the Maemo community applications are open source, so in theory simply recompiling and repackaging the applications is all that is required to get Maemo apps running in MeeGo.  Also the MeeGo platform will use the Qt library heavily.  Since Qt is one of the most cross-platform toolkits/libraries out there, developers will benefit from learning a single library that will run on nearly ALL operating systems.

As a Non-Maemo/Non-Moblin User Why Should I Care?

Now most people who use netbooks or smartphones do not use either Maemo or Moblin.  No surprise since both platforms are currently targeted toward developers and early adopters.  Most netbook users use either Windows 7 or a Linux variant.  While most smartphone users use Symbian, Windows Mobile, Apple’s iPhone OS or Android.  Heck even Palm’s WebOS supports more devices than what MeeGo will support from the get-go.  So why should anyone care?  Well in the netbook category, Linux at least is consider a serious alternative to the Windows monopoly.  However the user experience on most Linux netbooks ranks from “decent” to “ho-hum”.  The Moblin (now MeeGo) project worked heavily on making the user experience on netbooks a lot,  a lot nicer.  I would even dare say, a sexy user experience.

On the smartphone side, iPhone is the game in town for good user experience.  Windows Mobile and Symbian are good but still lag behind.  Open sourcing Symbian hopefully will rejuvenate that platform.  Real competition comes in the form of Android (Google Java stack mixed with a rather unorthodox Linux setup) and WebOS.  However WebOS is counting on pure web (HTML & Javascript) applications which are limited in terms of rich user experience.  And Java is yet to be fast on ANY mobile platform.  Building on top of a full Java-Linux stack like Android does, will always be a performance hit.

This is were MeeGo can shine, by providing native Qt applications with rich user experiences.  Nokia and Intel want to work with other device manufacturers to build MeeGo powered solutions.  Solutions such as advanced in-car entertainment systems.  By building on a single platform, there will a lot less repeated work on building the necessary underlying platform.  Instead everyone can focus on building interesting new user experiences, and applications that link with systems in new, unimagined ways.  Of course, only time will tell if any of these blue sky dreams will become reality.  A MeeGo release for currently existing hardware such as netbooks or N900s, will be a definite step in the right direction.

Nokia N900 – The Penguin Has Landed

You may have noticed that I’ve dropped off the side of the Internet somewhat. Life can get busy at times, especially for someone who sometimes gets muddled up with time management and priorities. Another compelling reason for this is that I recently bought a Nokia N900. And I’m still getting used to incorporating it into my day to day activities.

Getting It Home

Unfortunately, Nokia does not sell the N900 in Canada. In theory it might eventually. But I wasn’t going until the Canadian duopoly of Rogers and Bell along with the CRTC got around to doing so. So much for Canada being a leader in telecommunications technology. Instead I bought my N900 through Amazon and used Shipito to forward my parcel. Later I found out that buying from Dell may have been a cheaper and faster alternative. It took about three weeks but I eventually got my toy.

Hardware

I must congratulate the engineers at Nokia for coming up with solid feel to the N900. I would of preferred a metal body like my old N810. But the N900 is definitely not as flimsy and plasticky like my Nokia 5800 XpressMusic phone. The touchscreen is quite sensitive and responsive much like the iPhone’s. The sliding keyboard also feels great. Each key nicely rounded, depresses in a solid quiet manner and gets illuminated in low light conditions. The 5 Megapixel Carl Zeiss camera takes great pictures with good resolution and great colour balance. My 5800 in comparison took decent photos but everything was a shade of grainy grey. The auto-focus on the camera leaves much to desire. But it might be a case of my not knowing how to use the software. The N900 takes MicroSD cards, which helped with migration away from my old phone. The internal memory is a massive 32 GB. Sound quality of the speakers is excellent. Great feeling stylus as well.

I loved the large full kickstand on my N810. Apparently the preproduction units of the N900 also had this design. However the production N900s have a small kickstand built into the lower frame of the camera. It took my quite some time to find it. And since the kickstand is off-center the whole device wobbles on its kickstand. Not cool. The real scary thing is the micro-USB connector. The power adapter for the N900 recharges the device using the micro-USB. And the port itself is surface mounted to the circuitry. I’ve read quite a few horror stories involved where the port detached from the device! So I’m paranoid, and extra careful with plugging in the micro-USB cables to the N900.

Software

The UI on the N900 screams wow. The Compiz-like 3D views and effects win everyone who sees the device in action. A phone should not be able to look and act so sexy. The UI is intuitive and very finger friendly. Web browsing is where the N900 excels. The swirl zoom in and zoom out, smooth scrolling and fast rendering makes web browsing fun. The browser fully supports Javascript and Flash, so the experience is comparable to using a full desktop browser like Mozilla Firefox. The N900 also has a great PIM/contact management. Combine it with the Hermes app from Maemo extras, and you have an awesome contact management that integrates your contacts on various messaging, microblogging and social network services. Amazing. There are a few nice apps available through the repos and the Ovi store. Including the fun games of Bounce Evolution and Angry Birds.

It is not all roses in the software realm. The N900 while a mobile computer and all that jazz is still a mobile device. Space and energy constraints plague every mobile device out there. So there is a limit to how much multi-tasking one can do. Fair enough. But sometimes the device grinds to a slow halt with just a few apps on. Why? I get it why it happened when I copied my 6GB music collection off my MicroSD onto main memory. Maybe I need to restart the device once in a while? But why two browser windows, two instant messaging apps and a music player can stall the device… Also the Maemo5 platform used on the N900 is new, so there will not be the number of apps that Symbian S60, Apple’s iPhone and the Android app stores enjoy. Nokia has Ovi working for the N900, except payments are still missing. Hence my hesitation to say the N900 will work well for non-enthusiasts. It looks like Nokia also has similar feelings. Then again Nokia has said that Maemo6 will be the mainstream platform, with multi-touch support, app stores and all that jazz.

Thoughts, Ideas and Dreams

This review is reaching epic proportions now. In short, I love my little N900 mobile computer/Internet tablet/cellphone. It is definitely something I looked forward too. And I’ve owned a number of mobile computing devices already: Palm Tungsten E, Nokia N810 & Nokia 5800 XM. A great thing is that the device and platform has the potential of getting way better with time.

Related Links

News – The Future of Nokia N-Series Phones, IP for Libertarians, Animating the Death Star

Once again, Dorian has dropped off the side of the Internet to work on stuff.  So instead of an update, Dorian sends some interesting bits of news he found on the Internet.

Maemo is the Future of the Nokia N-Series

Just when you thought Nokia planned on using Maemo only for their experimental line of phones… future N series phones will run Maemo!  This is great news for all the Maemo fans out there.  And it looks like this will be happen in 2012.  So all you who follow the Mayan calendar, while be able to ring in the new Mayan calendar cycle with nice Maemo-powered phones. 😀

Intellectual Property from a Libertarian Perspective

This is not news so much as a well written article by Stephan Kinsella discussing Intellectual Property from a Libertarian perspective.  So if you’ve been following the news concerning the mess that is intellectual property, this article premises that it doesn’t make sense to have it, makes sense.  Patents cause the most amount of problems, being so broad in scope.  But at the end of the day, it comes down to the question should or should not the owner of a physical property have exclusive rights to their property.  The fact it cause loss for a content creator or it is not acceptable behaviour by “society” is a moot point.

Dorian’s thoughts: Thats why all that I publish is under the Creative Commons license.  I’d rather just putting things in the public domain. Unfortunately there is a double standard of what an individual’s rights to that of a corporate entity’s, and thats why some restrictions to protect myself are needed.  I’d hate to go to court over something I originally published, being picked up by a corporation and then being hunted down by their lawyers for some IP infringement.

Animating the Death Star in Star Wars

Think computer animation is hard nowadays?  Then check this video of animating the attack on the Death Star in the old Star Wars.  Amazing.

News Flash – Linux Desktop Suck, Android is Not Linux and the Nokia N900s Dropping Out of Orbit

These past few days have seen Dorian scrambling to catchup and not blogging.  Dorian still feels the need to fight his e-mails, update his “other” sites and organize his cluttered life, rather than update his readers on exciting developments he has worked on.  Instead Dorian will continue writing in the third person, and highlight the latest and niftiest in Linux tech news… and hopefully he will get his act together soon.  So lets look at whats buzzing in the blogsphere.

The Linux Desktop Sucks

First the Linux hater, and now some developers and power users state what they REALLY feel about Linux on the desktop.  vanRijn experienced the beauty of sweet candy land that is the Mac OSX world and laments why we can’t see the same in Linux-o-landia dkite proofs more an optimist, saying yes its broken and but will get better… someday.  Also some finger-pointing to the manufacturers for not getting their act together, and states some heroic community coding is needed.  Funny how Dell engineers are helping to make Dell machines running Linux able to recover themselves, just like under the most common desktop OS.

Dorian’s thoughts: The Linux desktop worked for me, on a laptop in 2002, so stop your bitching guys.  I’ll agree the legendary saga that is fixing X and sound, etc. is reaching epic proportions.  And yes devs from vendors are leading the way in many cases.  But in some cases it seems easier to start from scratch as with Wayfarer or Moblin or PulseAudio.  Still building a solid and expandable underlying architecture is hard, so everyone does so in a piecemeal fashion.  And in traditional UNIX fashion, we argue and argue over what we want to build and how to do it.  Instead of wringing hands, help fix the problem.

Android is Not Linux

Sounds like another bad recursive hacker pun, no?  Looks like the guys at Google, took a Linux, through out the parts that worked-yes, shocking some parts of Linux actually work quite well thank you very much-and replaced them with their own jerry-rigged replacements.

Dorian’s thoughts: Why guys, why?  Just learn to use the tools, and I’m sure the standard Linux stuff works pretty darn well on a mobile device.  At least one real handset maker seems able to use the existing Linux stack, and run with it.  Sure the UI needed a replacement and some optimizations are required, but rip and replace with crappier renditions?  Not cool guys.  Google needs to learn to work with the FOSS community, and not around it.

Nokia N900s Dropping Out of Orbit

So the N900 already launched… but Nokia started pumping out, shipping out their amazing N900s and stocking retailers with these pieces of mobile computing paradise.  And unlike Google, Nokia knows how to build on top of existing Linux stacks and without stomping on existing FOSS communities.  Not like a giant robot ravaging a city… Google.

Dorian’s thoughts: Remember about us Canadians!  We’re that country above the US, and we’d like some N900s too, pretty please.

In Other News:

OK, Dorian must end his newcast here and scurry back to his other work.

Desktop versus Mobile Computing

Despite my best attempts to avoid the desktop, I can’t seem to completely avoid it.  Not that I can’t in practice.  Rather the desktop proves to be mindbogglingly useful as a productivity platform.  For one, typing with a full ten fingers really gets things done.  Second, screen real estate is cheap and allows for vast expanses for a UI to cover.  I can not understate the joys of working on a widescreen with a large resolution.  The only greater joy is working on multiple HUGE widescreen monitors with massive resolutions.  At work, I envy the graphics folk who get the large screens.  Coding and graphics works becomes a joy.  Third, the desktop or notebook out-competes in terms of sheer computing power.  Thats one aspect that I fear will always plague mobile computing platforms.

The last advantage is *gasp* openness.  Thanks to open source and open standards, I can freely arrange my desktop computing experience as I see fit.  Yes, there is always room for improvement but mostly it comes to avoiding some icky technical limitations.  And most of that is thanks to legacy code.  Ugh.  On the mobile, well… I tried to connect two apps together: a web browser and an office suite.  Fail.  Most likely a Symbian faux pas.

I have great hope that platforms like Android and Maemo along with more powerful and robust smartphones, will make mobile computing be as comfortable as desktop computing.  But for now, hold on to that desktop… you’ll still need it at least as a harness for your mobile gadgets.

A Return to Mobility

As a happy owner of a Nokia 5800 smartphone, I quickly realized the potential of this gadget as a great pocket-sized mobile computer. Unfortunately, for the longest time I relied completely on wireless access points. With the lack of a physical slideout keyboard, this phone felt like a step down from the N810 Internet tablet. On top of that, while the Symbian platform is well supported. I really enjoyed both the UI and multitasking abilities of the N810. While the 5800 XM does allow for multitasking, it feels a bit uncomfortable to use. Now I won’t complain about Symbian because I understand that it is limited by its age and its original intended useage. I’m sure that Nokia and all the other Symbian players are working hard to keep the old workhorse going. But there really is a limit to what you can do with it. Hence my anticipation for the N900. Lets hope it’ll be available for Canadians soon.

Sticking to only wireless LANs has the downside of being offline most of the time. Plus it means using the office WLAN when at work. And I’d prefer not to for the obvious reason of wanting to maintain the separation of work and my personal life. So eventually, I bit the bullet and added a data plan from Fido. Everything seemed perfect, until I checked my phone bill. Apparently the data plan didn’t appear, and the bill was a lot larger than expected. Dismayed I contacted Fido, and stopped using data to avoid an even larger bill. You can imagine my elation, when a rep from Fido called me today, withdrew the charges and reinstated my data plan. Yes! So I’m back online in the mobile space, enjoying the Internet everywhere.

A Mobile Internet for a Frantic Lifestyle

Yesterday was Thanksgiving Day, and I hope everyone not had a great holiday but also found a myriad of reasons to be thankful for. I know I did.

But now I’m going to hijack that thought. I’m thankful that I subscribed to that data plan. Well, we’ll see how thankful I’ll be with the inflated cellphone bill. Thankfully I’m young, foolish, employed and single so don’t need to rationalize such purchases. Having the Internet in your pocket can be terribly convenient. There can be downsides though. Most sites scale down too well, onto a small screen that is. Thats where something like Nokia’s WRT can really shine. Consider it like a website thats been turned into an application. Its been done before for desktop browsers. But still a desktop with its fast connection, ample screen size and comfortable standard input allows for developers to sweep a good many UI and workflow decisions under the rug. Developing for a mobile device is far more demanding. Demanding not only terms of computing and engineering. But also demanding in terms of usability. And also the problem of handling offline and caching comes to mind. Fortunately for all you mere mortals out there, there are nuts like me who dream about the next big thing and how to make it actually useful. Hmm… Though I should do something about it. And not just write about these things. I have a few ideas, that I plan on putting into practice. In the meantime, I wish there was a WRT widget or decent S60 app for blogging…