Archive for linux

Where Linux falters on a netbook

A friend of mine recently gave me a link to this article at Wired about the revolution of “cheap and simple” products.  It’s true that this is a rising trend in products across the board, and in some ways, it is itself a tiny revolution in the world of product design.  Of course, part of the article is on the climbing status of the netbook.  There are some things this article comes up short, such as not sufficiently showing that the “cheap and simple” and “expensive full fidelity” items are actually complements for one another rather than perfect substitutes.  In general, however, it hits the nail on the head in a number of ways.

Something that it somewhat misses on, however, is how people perceive a “cheap and simple” product versus its more full-featured counterparts.  Specifically, the tendency is to treat the product as a bit more disposable.  Perhaps it’s not seen as truly disposable, but it certainly doesn’t get treated with the same care and people are more willing to carry and use a small, simple, and cheap device.  Consider this– I have three video cameras, but only my Flip Mino HD is within arm’s reach at all times.  I keep it in my purse so that I’m sure to be able to record anything, anywhere, any time.  My other cameras are too large, too delicate, too complicated, and too expensive.  Someone walks with my purse?  I won’t miss my Flip.  Someone walks with my camera bag?  I’ll be drowning my sorrows.

Consider the difference Wired mentions between a fighter jet and a Predator drone.  You can send drones out on suicide missions, and for the most part, nobody will be worried when they don’t come back.

It’s the same with my netbook.  I have no fear about my netbook being stolen.  It’s not expensive, I don’t carry important data on it, and if I did decide to put important data on it, I’d back it up on the cloud.  Newer netbooks with automatic cloud backup will make worries about theift, loss, and breakage even smaller.  I don’t currently own a full-sized laptop, but when I finally do, I’m not very likely to pack it on my bike and take it on a long trip.  All that rattling around?  Noooo.  I’ll let my netbook take that kind of abuse.  Besides, it’s lighter on my bike.  My netbook will always be my front-line computer, willing to take my abuses.

What does this have to do with Linux?  I’m getting to that.

Last Friday, I sat down and played with Moblin 2.0 and I can confirm that it is a VERY attractive software platform.  It’s got all sorts of wonderful at-a-glance information in its launcher, it’s got some attractive stuff in its toolbar/dashboard system…and then it quickly begins to fade.  Why?  Because the moment I went to set the current time, I was slapped in the face with a prompt for my root password.  Ugh.  NO!  Not acceptable!  Asking me for a password like that is pretty much never acceptable on a netbook.

And this, along with Jolicloud, my love/hate netbook OS at the moment, is a demonstration of a continuing problem.  Netbooks are hot and they appear to be here to stay.  There’s a lot of buzz about the role Linux can play on them, and I happen to agree it can play a good role.  The problem, however, is choosing “how much Linux” you put in a netbook OS.  Both Moblin and Jolicloud are essentially pulling in major components from existing distributions and then skinning their way into the feature set they want.  With Jolicloud, it’s achieved through their apps ecosystem; with Moblin, it’s achieved through a mixture of exploiting the Intel Atom and the Clutter widget set.  The problem, however, is that this approach is still fundamentally dragging concepts of device use from the 1990s based on a system design largely unchanged from decades earlier.  It’s being done under the guise of security, too, but that itself is the source of the problem.

Go back a few paragraphs and think about this some more.  The netbook is the kamikaze laptop.  It’s the one you give to the kids to pound on, the one you buy for your motorcycle or bike bag, the one you take hiking or walking through busy streets.  Why?  Because it’s the most portable and it’s the one you’ll miss the least if it’s lost or stolen.  Again, it’s the abuse taker.  That also applies to security.  It’s the abuse taker on security, too.  The focus on a netbook is on quick use…one button, one gesture, one tap on the touchpad…that should get you to the next thing you need to do.  That doesn’t leave room for entering your password even for system management.

And, frankly, that’s the way it should be.  How many times are you challenged for the root password when you change your phone’s settings?  For that matter, how many users out there would know who “root” is?  This is why there are few, tightly controlled passwords for a phone, and you have to phone up customer support to get them.  Everything else exists in a case of do-what-you-want.  Consumers don’t tolerate this on their phone.  For that matter, they don’t tolerate it on their desktops, either, which is why people complain about Windows Vista so much.  They will certainly not tolerate it on their netbooks.  Typing on a netbook is hard.

Yet, for people who are placing a thin veneer over an existing Linux distro (often either Ubuntu Netbook Remix or Xandros), they don’t have a choice.  They’re not significantly circumventing this superficial “security” “feature,” which would require deeper digging to create.  It would also require having to think about security, because someone in the lab will ask what happened to the root password.  A netbook OS needs to think about security in a different way, limiting the potential for abuse of a compromised device in other ways.  The user has already accepted a loss in processing power and storage for a gain in portability and convenience; taking some of that convenience away is flirting with failure in product design.

And this is why Linux has stumbling blocks where netbooks are concerned.  Jolicloud begs me for my keyring password on every boot and asks me for another password when I update the system.  Moblin wanted a password from me for everything, like a student who keeps begging for a hall pass.  Meanwhile, my PSP has a gorgeous online shop and is pretty much permanently logged in to it.  Guess which of my personal devices I’m currently the most pleased with?  Yep, the PSP, because it’s doing what it ought to be doing — getting me games and videos when I want them and looking good while it does it.  There’s always an air of annoyance from my netbook.

So, how do you do a good Linux netbook OS without prompting the user for passwords galore?  Glad you asked, Bobby, but I’ll be answering that in my next post.

Comments (2)

A few weeks of Jolicloud

To follow up on my prior post, I’ve now been using Jolicloud for a few weeks.  They have rolled out some system updates in that time, and it’s been interesting to see what they have and have not done.  Much of their time spent focusing on system updates has been to improve core functionality across a number of hardware platforms.  This is an age-old issue for Linux, and it’s one I expect, so I get that.  They’ve also quite wisely spent time working on improving Mozilla Firefox performance on their supported netbooks.  Again, this is a great thing.  Firefox very clearly is written for a desktop.  On a netbook, it grinds on the SSD very hard and performance drags, especially on sites like Facebook.

They’ve also been growing their apps base by leaps and bounds, and many of the apps they’ve added range somewhere between amusing and useful.  I’ll soon write a post about the Jolicloud apps I’m using the most.  I’m really pleased that Jolicloud understands that netbook apps need to be “simplified” and given an almost toy-like interface to be useful.  On a desktop, this feels like the app is being dumbed down.  On the small form factor of a netbook, it’s essential.

Unfortunately, what they haven’t focused on is replacing the Ubuntu Netbook Remix (UNR) launcher and home screen.  Until they do this, using Jolicloud is like wearing a hospital gown.  From the front, you’re great…but your rear end is hanging out.  All their efforts in making a beautiful app store and easy installer are essentially for naught.  You click the app you want, you click the install button, and then you get to play a guessing game of where the app will appear in the UNR categories.  This is truly, truly useless.

The social aspects of Jolicloud, promised in their marketing materials, are still essentially absent.

The Jolicloud app store has this “labs” tab that entices the eye but which is disabled.  I don’t even know what it does.  I keep hoping to, one day, discover it will help me get my own apps and widgets into Jolicloud.  I want to write myself some stuff to help with my use of BART, Caltrain, and VTA.  Hockey season is around the corner, and I want to write a dashboard for my beloved Sharks.  And I could, I guess…I can side-load whatever I want using some instructions offered in the community site.

But why should I?  Come on, guys.  Enable your alpha testers!

Oh, and one more thing — disable the keyring password, already! I, like most sane people, put a password on my Wifi network.  Every other machine in my house is happy to take that Wifi password and hold onto it without requiring me to then password-protect the Wifi password.  I am happy to take the small reduction in security if it means not entering my keyring password when I boot my netbook.  Really, guys.  If Vista taught us anything, its that users hate being asked to enter their password or even click a button confirming they want to do an administrative action.  It’s bad enough that we have to enter a password to install Jolicloud apps.  Entering one when I connect to my Wifi network is insult to injury.

Things are improving, but fundamentally, it’s still not a real improvement over other UNR choices.

Leave a Comment

Jolicloud: First Impressions

The people at Jolicloud have been kind enough to give me an invite to see the alpha release.  This is actually something that I’ve been anticipating for a while.  You might recall that I own an EeePC that I enjoy using as my ultra-mobile “grab and go” computer.  To me, it’s an inexpensive piece of hardware that’s handy for some quick development, as a extra tool at the workbench, and also something I can take out to a coffee shop and play around on when I have the free time.

The problem with EeePCs is that they either come with XP (barf) or Asus’s own Linux distro (BARF…wretch…BAAARF).  So, I’ve been running Easy Peasy, a derivative of Ubuntu Netbook Remix (UNR), for several months.  It’s certainly not perfect, but it’s servicable, it’s not Windows (which is as useful on a netbook as a brick is on a gerbil), and it’s got the familiar tools that are handy in my life.

And then, of course, came Jolicloud, which offered me a sleek looking interface, Web focus, cloud services, and a “social OS,” whatever that meant.  I was understandibly intrigued.  Well, this afternoon, I completely installed Jolicloud and dove in.

The first thing that really gave me a “wow” was when I went to fill out my Jolicloud profile.  They offered one-click integration to Twitter or Facebook, and so populating my Jolicloud profile was as simple as signing into Facebook.  It even brought my picture over.  I was thoroughly impressed, and I had serious hopes that this would be indicative of my experiences throughout using Jolicloud.  Sadly, I can’t say that this is the case.  I realize Jolicloud is in alpha currently, but here were my impressions, both good and bad.

First off, the install procedure is unmistakably UNR.  Easy Peasy and Jolicloud share a common ancestor, and it shows immediately.  Don’t get me wrong…I’ve been using Linux for nearly 15 years now and I know my way around in it…but anything that looks like some existing flavor of Linux also makes me think about all the many, many times that I’ve been frustrated by Linux, and there’s a lot of those.  For some reason, Linux UIs always have this feel that they’re a thin veneer of antequated UI over a jangling automaton.  Jolicloud would do well to try and cover that up as much as possible, or it’ll look cheap.

Upon my first boot, I went through the requisite first time stuff.  Jolicloud lacks much in the way of an out of box experience (OBE).  A good OBE is, in my experience, essential to a good product.  This is the first impression a user will get, so it needs to be a good one.  It’s also the right time to collect information from a user so that they’ll not have to do it themselves later.  Jolicloud, lacking one, dumped me at the UNR desktop, and I scratched my head for a second.  I tried to launch the Jolicloud dashboard, but only then remembered I had not set up my Wifi network yet.  Please, Jolicloud, put this in the next release! A user should be asked about their preferred network on first boot, not left to do it themselves.

I should add that, while I was doing this, it gave me a feel for what Jolicloud is.  The slick screenshots and UI shown are of a Jolicloud application, a web-based application on Jolicloud’s servers.  The Jolicloud OS invokes this through Mozilla Prism.  Many of the applications Jolicloud makes available, such as Facebook or Twitter, are launched this way, producing full-screen versions of these websites lacking browser chrome.  This does save some real estate, but I don’t think it’s the end-all, and I’ll get to that in a second.

The Jolicloud application does get one thing absolutely right, and that’s one-click backgrounded installs of applications.  Aside from my Eee sometimes having to stop and grind on its SSD for a while, installation of new material was interruption-free.  Spot on, I say!  Unfortunately, at that point, I didn’t have the first idea how to actually run the apps I’d installed.  See…the Jolicloud application can install these apps for you, but it can’t launch or configure them.  To launch one of them, you have to click the little “home” icon, which kicks you back to the UNR desktop, then go find your app and launch it the conventional way.  I did figure this out, but I can imagine how much deeper the average user’s frustration would be.  They clicked the jolly (or perhaps joli?), candy-like button for Twitter, and there’s a checkmark on it letting them know it’s now installed.  They click on it again, and they just get a description of what Twitter is.  The UI needs work on this front.  I want to live inside the Jolicloud interface…the interface is what sold me.  UNR, while nice, can and must be improved upon.

There’s a sort of social networking aspect to the Jolicloud application, too, but I can’t really tell you what it is.  It appears to be Twitter-like, where you can follow others and they can follow you, but I don’t know why one would do that.  I’m the only netbook aficionado I know, and even if I knew another netbook owner, that person likely wouldn’t have a Jolicloud invite yet.  Moreover, looking at my own “history,” it simply says what apps I have installed.  Perhaps the people at Jolicloud have something broader in mind and I’m simply seeing the naked infrastructure and don’t see the dream…kinda like trying to imagine the Statue of Liberty when only the support members are in place.  Maybe, with some luck, someone from Jolicloud will elaborate (I’ve seen them comment on other blogs).

I plucked out a suite of apps, and after finding them again in the UNR interface, I launched them.  A Mozilla Prism app is exactly what it sounds like.  The website launches without browser chrome.  Site-specific browsers and rich Internet applications will be essential in the future of apps development, no doubt.  The Jolicloud app itself really shows how amazing you can make a browser-driven application.  And, of course, Google is invested heavily in this idea.  This doesn’t, however, mean that the experience of a website loaded without browser chrome is immediately a win.  Why?  Well, remember, we’re talking about netbooks here.  You have to design with a small screen in mind.  I’m going to pick on Facebook for a minute.  I love Facebook, but using the Facebook site on a small netbook screen is a great way to develop eye strain.  On top of that, it (and most other things delivered in a browser) expects you to be using a mouse.  My hands are just not up to working the touchpad on my Eee that much.  Browsers can be your application engine, yes, but it doesn’t suddenly make you immune to the limitations of the hardware upon which they run.  This model requires a very careful eye for human factors.  Even nerd boy over here, who generally does “unusual” things with his computers, sometimes would just like simply presented information in a clear and eye-soothing interface that was navigable with no more than a couple of easy-to-reach buttons.

Then there’s the other limitation of Prism, and of any browser, which is that they’re still just pointing at a loose confederation of webpages.  You’re entering your account each and every time, and you’re asked if you want to save your password this time.  I’m all for security, but when I’m going around to numerous sites that are peddled as being “applications”, I get tired of being stopped and asked for my password.  It breaks the flow of my experience.  This is even more true on an Eee, where the keys are laid out in a way that seems to ensure typos from accomplished home row typists who are used to having all their keys be the same size.  I find myself wishing my kingdom for a good single sign-on.

The final thing that jumped out in my experience this afternoon came when, after settling in and feeling I “got” the model of the Jolicloud alpha software, I wanted to write an app myself.  Ecosystems, after all, are where it’s at.  So, I cracked my knuckles to go looking for the developer’s reference.  There isn’t one, as far as I can tell.  At least one of you out there is now snickering and saying “You make a website, fossil.  That’s the app.”  While that is vacuously correct, it covers only a fraction of being “a Jolicloud app.”  For starters, not all Jolicloud apps are in the browser.  Secondly, even if I did just want to make a Web app and launch it via Prism, there’s no indication of how I can easily share it with others…you know, with a nice “install” button in the Jolicloud store.  I’d love to see more work done here, especially in enabling people who might want to do simple data presentation apps to get the job done without re-learning scads of HTML and Javascript.  Hopefully, one day, this will also mean widgets.

Then there’s the community aspect.  This is supposed to be an important part of Jolicloud, but I really don’t see it.  Maybe I really am among the first to arrive in this brave new world, but aside from Twitter and Facebook, there appears to be no community.  A lack of message forums seems a bit confusing to me.  I mean, I don’t really like forums because I find them harder to follow, but I still think more focus on community building is necessary.

This report might seem a bit negative.  Maybe it is, and it may be because I was already using a child of UNR and thus, from the screenshots, expected a lot more than is currently available.  I do realize that Jolicloud is only in a private alpha, and I’m really happy to keep following Jolicloud.  At the same time, when I go into the office, I work on something that’s in a private alpha, and it doesn’t stop any of us from discussing its bugs and shortcomings.  Jolicloud is off to a good start, but there’s a lot more ground to cover before it’s going to be there.  If they’d even just take that “import your profile from Facebook” feature a little farther, I might have had rose-colored glasses on the rest of the day.

That said, Jolicloud is absolutely staying on my Eee.  Why?  Well, because while it’s certainly not a revolution yet, it’s also a very fine UNR descendant.  It’s every bit as serviceable as my Easy Peasy install was, plus it’s got a few features that I see as plusses, even if they need to mature for a while.  If the people behind Jolicloud can improve the social network integration, expand the ubiquity of the Jolicloud dashboard, push their own UI instead of the UNR desktop, and get better about engaging developers (like me), they’ll get themselves well on their way to being a great netbook distribution.

Leave a Comment

Acer Recovery CD Error 0xd0000017

I’m writing this in the hopes that it eases the pain of others.  You see, it took an annoying amount of web searching to find a satisfying resolution to all my woes.  Let me explain…no, there isn’t enough time….let me sum up.  The controller, or possibly a motor, went bad on my desktop’s hard drive.  After spending a full day desperately trying to resuscitate it, I put in a new hard drive, but I didn’t have a Vista installation disc handy, so I installed Ubuntu Linux on it.  Now, I could have tried using Ubuntu on my main desktop, I guess, except for one thing.  Mitch Hedberg once said “A mini bar is a machine that makes everything expensive.”  As much as I have used and loved Linux, I must confess– it’s an OS that makes everything incompatible.  Case and point– it didn’t work with my Bluetooth mouse and keyboard.  Both of them have a power-saving feature where they shut off until an I/O event, at which point they re-partner.  The Bluetooth system on Ubuntu wasn’t up to the task.  Besides that, I can’t run Adobe CS4 on Linux.

Anyway, I had to re-order the system recovery discs from Acer.  I popped them in and let them get to work, only to fail with the well-documented “Error: 0xd0000017″.  Of course, everyone knows what this hex number means, so I’ll just get on with it.  Actually, I’m lying.  Nobody knows.  I sure didn’t.

Error 0xd0000017 is basically an Acer recovery CD complaint that means “Waaaah!  This drive has stuff on it!  I can’t handle this!”  You very likely will experience this problem if you use these discs to replace a Linux install.  So, what to do?  Well, grab a handy Ubuntu CD or, in my case, USB stick.  You need to do this so that your root file system is not your hard drive.  Then, from there, you’re free to blow away your hard drive’s contents.  I only have the one drive, so it’s easy to find — /dev/sda.  A full wipe was thus easy to do with the following command:

dd if=/dev/zero of=/dev/sda

Note that that’s /dev/sda and not /dev/sda1.  Blow everything away, including the partition information.  After that, the Acer disks will run just fine.

I should note that this is a fairly slow process, however.  It took nearly 24 hours to clean out a 1.5 TB disc.  If anyone has advice on how that can go faster, please feel free to mention it in the comments.

Comments (11)

Eee Linux Kernel Hacking

With all my tools and components packed away until I move and get a new job, some of my focus is changing over to playing around with low-level software on two pieces of hardware that are stable and that I’m likely to have with me always — my laptop and my desktop.

My laptop, however, recently died and did so in a way that likely will require the attention of skilled technician to diagnose and repair.  I went though this sort of thing once before when my previous laptop had bad solder joints on the second RAM bay.  Generally speaking, the bench fee alone can be $100, and there’s no guarantee that it’ll get fixed.  So, I cashed in some Best Buy cards from Christmas and bought an Eee.  The general logic is that it’s a laptop that would let me do the basic things I need, including hunt for jobs, and it’d be a certain thing.  I must admit, too that the form factor is really nice, even if the keyboard is a bit small and laid out strangely.  I was also excited by the prospect of having a Linux-based laptop.  In the past, I’ve often found Linux fairly unstable on my computers, especially on my laptops.  Having a hardware platform assembled specifically to support Linux, however, was encouraging.

The first thing I wondered, though, was how hard it would be to get the kernel to compile.  As it turns out, it’s actually pretty easy to do, although there were some bumps and frustrations along the way.  There are some reasonable instructions over on the EEEUser Wiki, but I found that some clarification of these instructions was in order.

First, I think it’s a wise idea to get your kernel hacking environment set up BEFORE applying any of the automatic updates from Asus.  As of the writing of this article, none of the updates appear to be particularly necessary, and they also seem a bit broken, as apt-get keeps complaining about Picasa not being installed.  On top of that, one of the updates appears to install a very exotic version of glibc.  You’ve been warned.

Next, I strongly suggest that you install the development tools (gcc, etc) following the instructions that use the EEE SDK iso.  For my purposes, I purchased an SD card for my Eee and downloaded the iso onto it, then mounted the iso.  The instructions I’ve linked to tell you to add a line to your /etc/apt/sources.list file.  I do not, however, think it’s sufficient to add that line anywhere.  I recommend commenting out the other sources by prepending a # to each line, then adding the line that points to the packages in the mounted iso.  Once this is done, it’s pretty easy to get the build packages installed.

From there, downloading and building the kernel source from the instructions on the EeeUser Wiki was fairly straightforward.  It’s worth noting, however, that installing the build tools and the kernel source will take up enough storage that, on a 900A model like mine, you’ll have almost no space left on the disk.  Of course, there are great instructions out there on how to cut the fat from your RW partition, but I decided it’d be nicer to do all my kernel work off my SD card instead.  The reason for this is that the sectors on solid state storage will survive only so many writes, and compiling things definitely will involve doing a lot of writes.

The first problem I noticed with trying to get the kernel source on my SD card is that, even after I removed the SDK iso, my card seemed to lack any free space.  Since I was planning to just treat this as an extra mostly-permanent disc anyway, I went ahead and reformatted the SD card with the ext3 filesystem.  Then I had no trouble copying the kernel source over.

Unfortunately, this seemed to break the build, as make started returning this error to me:

`target pattern contains no `%’. Stop.’

Rummaging around online suggested that it might possibly be because make was processing a symbol with a colon in it.  That’s when it dawned on me that the culprit was the default mount point for the SD card: “/media/D:”.  Aha!  Making an extra mount point, in my case “/media/sdcard”, and mounting /dev/sdc1 (the SD card device) to this directory did the trick, and now I can build the kernel out of my SD card instead.

It’s worth noting that there are some mild limitations here.  The compiler and library are coming out of Asus’ SDK release, so you can’t necessarily pick and choose versions.  This also can limit the kernel versions that you can compile, and the instructions above basically give you the “canonical Eee kernel source”.  This is, however, very sufficient for my purposes, which include staying sharp on developing kernel modules and playing around with the driver code for the Eee.

And, of course, you can do your kernel hacking from pretty much anywhere, because the Eee is very small and light and it’s got a pretty good battery life.  I’ll have a VMWare machine set aside for my deeper diving and more serious work  This plucky little sub-notebook, though, is a perfect thing to kick around.

Leave a Comment