Archive for the ‘Fedora’ Category

On Launchpad and Mission Control

Wednesday, October 20th, 2010

So for all my joking about Steve Jobs, a guilty pleasure of mine is watching those slick and over-produced presentations he does from time to time (“one more thing…”). Today, I saw the latest “Back to the Mac”, which shows some pretty cool stuff. Amongst the talk though, came a sneak peak at Mac OS X Lion, which features two things called “Launchpad” (yeah…) and “Mission Control”.

These new “innovations” are obvious extensions of current trends in UI design, and as Steve says are inspired by mobile computing. More importantly, they show where I would have liked GNOME 3’s Shell to go – complimenting the panel without killing it off. Users who want to use the panels, desktop, and existing capabilities can do so, while those who want to see top level Applications launchers and clustered window management capabilities get those, too. I don’t want GNOME to do things exactly Mac-like, but I would hope there is still time to see how OSX was able to combine changing UI trends and find a way to preserve the existing panels in the mix. That would allow users like myself to keep things old school, and give newcomers and netbook users the glitzy gloss treatment.


On GNOME Shell

Wednesday, October 13th, 2010

So I started using the GNOME Desktop last millennium, and over the last more than a decade have overall been quite impressed with the level of polish. It made a nice change in some ways from Enlightenment, and CDE, which were my previous desktop environments, and I coul live with the RAM footprint (after all, enlightenment is using 1.3GB of RAM now).

The last few years in particular have seen a growing trend to be more (but not quite) Mac-like, with lots of advanced features being buried over time, and over-simplification (for example, with sound controls). These are minor frustrations, but they can typically be worked around without much hassle and the experience remains overall quite good on GNOME 2.0. Things that used to be a hassle – like notifications, events, etc. and lot of plumbing have been worked out nicely by now. I love the work David Zeuthen and co. have done in particular, but many others have done good things.

Fast forward to today. I recently bought a new Netbook computer (an ASUS Eee PC 1015PEM – yea, I know, it’s not heavy on the OpenGL, but I don’t care enough about that) to run Fedora’s rawhide distribution fulltime as a desktop, and decided to try GNOME Shell. I had heard things and seen screenshots, but hadn’t really used it. Switching to GNOME Shell is easy enough on Fedora, simply using the “gnome-effects” application, which is in the menu. This switches the session from using a panel with metacity to gnome-shell with mutter, etc. But the mechanics are hidden behind a single button. That’s a nice touch, and anyone reading this who cares can easily try it out for themselves.

The GNONE Shell takes your current desktop and tries to simplify it down into something akin to the other Web-ish UIs we’ve seen in recent times. It uses a modified metacity window manager (which apparently will eventually be merged into the shell itself) and has some nicities, like built-in Javascript. You also get typical stuff like shortcut keys to run commands. It’s heavy on the gloss, but light on the complexity, prefering to present a “clean” interface to the user. The problem is that in this attempt to be so “clean”, it’s extremely off-putting to those of us who don’t want to use our computers like we might use a TV interface.

Overall, I am very unimpressed with the GNOME Shell experience. In an effort to target the UI at simplistic netbook users, it removes a lot of the features that I previously enjoyed, while being very Apple-like in prescribing how I will and will not use the UI. It has an “Activities” button that I need to click to do anything – akin to Microsoft deciding the Windows “start” button was a good idea to drive everything – while simultaneously removing panels, applets, and even doing away with Nautilus driving the desktop icons :( Now, it might be that things will improve, and I know they postponed the release once already, but I really feel this is still missing a lot of functionality I want in a desktop, and if it truly is to deprecate everything else will be a reason I migrate to XFCE, KDE, or cling onto somehow still running GNOME2 for a few years.

For now, my advice is to run “desktop-effects” and switch back to regular panels, then fire up gconf-editor and make sure nautilus is displaying desktop icons by manually creating the boolean “show_desktop” property under /apps/nautilus/preferences. I’m sorry I can’t be more enthusiastic about GNOME Shell. I don’t mean to be offensive, but I just think it’s gone too far this time.


Open Hardware Summit and Maker Faire New York

Thursday, September 16th, 2010

So I decided to attend the first Open Hardware Summit next Thursday (September 23 2010) in Queens, New York. I’ll drive down on Wednesday and I’m staying nearby at one of the airport hotels. Open Hardware is one of the next big things that is already starting to influence the Open Source community, and I think it’s important to keep up with what’s going on. If you’re going to be there, give me a shout.

After the conference, I am debating taking Friday off and driving down to D.C. and Virginia for the day. I’ve yet to see Monticello (Thomas Jefferson’s home) and I’d so much like to tour the library and grounds. If I do that, I’ll drive down after the conference and stay nearer Virginia in the evening, or nearer D.C. (I also want to see the Declaration of Independence as I keep missing it when I go to D.C.). The idea of a day living in my imagined 18th century world of rose-tinted American idealism is nearly always more enjoyable than many rational people might think it ought to be :)

I’ve bought a ticket for Maker Faire New York for the weekend, thinking I might then drive back to Boston in Saturday and stop off in New York on the way back for a few hours. Something like that. Just as long as I’m back in time to spend Sunday writing!


Netbook recommendations sought

Wednesday, September 15th, 2010

So I’m considering finally entering the modern age with a netbook. I want a 64-bit capable Atom based N450 or N475+ system, to which I will add my own SSD (something that actually is known to work with “TRIM” and not just claims to, and not whatever it may come with). I intend to run Fedora on it, for development purposes, so there’s no point in looking to Android or other environments. It’ll be solely for ease of hacking, battery life, etc. It’ll probably run Rawhide and test kernels, etc. I have a shiny laptop for the times when a shinybook is required to fit in at the coffeeshop.

I’ve seen the more interestingly unusual stuff from Nokia and friends, but it’s pretty much come down to a choice between ASUS and Acer (apologies to the Dell Mini). I don’t need built-in 3G, nor WiMAX because in the US those are not sane and sensible choices at the moment. I think, on balance that the ASUS Eee PC 1015PED is probably the best choice right now, over the Acer Aspire One. The Acer does offer the same kinds of things, but the reviews aren’t treating it as nicely and the ASUS has a reasonably long line of heritage by now. So I think it’s basically the ASUS…but this post is intended to catch the case that I’m missing something very obvious.

Anyway. I’ve seen the Fedora wiki pages, various Google feedback on the ASUS, and I also know how to use the Internet :) So I don’t need generic advice of the form: “hey, look at this webpage blah blah blah”, nor do I care if I need to compile some driver or do something on a unit that will already be for hacking anyway. What I would like is a few specific, personal recommendations of the form: “yep, I have that and it’s a great choice”, or “I have this and find it better because…”. Jeremy bought one of the older Acer Aspire Ones, so that’s an interesting data point. You out there in Fedora land, what are you running right now in the way of a netbook?


What I want from computers

Thursday, September 2nd, 2010

Well, my first blog post on this subject generated some broad agreement (and a few flames), but I think it’s necessary to be a little more specific about the three main things I want from from computers, from Linux, from whatever, as opposed to just from Fedora or any one Linux distribution. Here we go, and remember, this applies always to a “stable” release, not to the latest half baked bits that are under work, and it’s equally applicable to any Operating System you care to mention…

1). When I turn the computer on, it works. I don’t give a flying fsck what awesome cool kernel feature, bootloader change, init process, or other “it’ll be great and amazing ten years from now” feature you’ve developed if the computer doesn’t boot properly and I can’t totally ignore what you did underneath. Ten years ago, I used to buy into the notion that it was all great breaking stuff because it was saving humanity, but now I am older and wiser, I realize it is just plain shoddy to release something that causes obvious regressions and stops a system from booting. I am not targeting anyone in particular here, or any particular incident, just saying there is never an excuse not to boot. Windows can boot, Mac OS X can boot, other Operating Systems can boot. So if any Linux distribution or other Operating System cannot boot as a general matter of course, there is absolutely not an excuse. Users don’t care if it’s better but doesn’t boot cleanly, they would rather you left it alone. Yes, that’s an impossibly high standard, and a reason often to choose not to re-work stuff without assuming that level of paranoid commitment to quality.

2). When there are updates, I’m told about them and given a chance to reboot or delay the upgrade. And the upgrade always works smoothly with absolutely no loss in functionality. In fact, I can feel quite confident doing an update as a matter of best practice, even ten minutes before a big presentation, or even during the presentation if I want to. Windows, and Mac OS X generally do not blow up your computer when you do an upgrade (I can’t remember the last time I saw an OSX kernel panic, or a less than perfectly pristine update experience). You say “sure, ok” or you delay it, or you do whatever, but the computer works fine ten minutes hence either way. Anything less than a perfect update experience is unacceptable and must not be tolerated. This means that often the answer is “no” to taking things into an update, and the update is small and manageable, especially when you have very limited QE resources to ensure everything is working after the update is completed. This works well in the “Enterprise” space, but it should work well in every “space” you are in, it’s just common sense.

3). When there is some new feature, there is one new feature that works well. Not ten doing the same thing that don’t. This is much harder to do in a general Open Source sense, but it’s easy from a distribution point of view. Pick a small subset of things you are willing to do well and do them, or don’t do them at all. Both Microsoft and Mac OS X have confined what they will offer as part of the basic Operating System platform, and then undertaken to ensure that is the best possible experience they can offer. It isn’t always the best possible experience, and there are problems, but it is actually a good philosophy.


On updates and people

Wednesday, September 1st, 2010

Continuing the series of blog postings that reference one another, a few comments on “updates and people”, following mizmo’s latest blog entry on the topic.

First, let me thank Mo again for doing an excellent job summarizing some of the problems, and describing the userbase with typically excellent graphics. There are plenty of Pamalas, Connies, and Nancys out there on the mailing lists, but not enough Carolines to speak up for overall cohesion, and product quality that we can be proud of. So, I am going to continue to stand up for the position of “Caroline Casual-User”, the kind of person that I personally feel is actively being driven away through the hostile actions of a few within the community toward update sanity (learning to say “no” to pushing updates) and overall distribution cohesion (ensuring packages actually do work well together). Caroline is the kind of person who is accurately described in the current User base documents on the Fedora Project wiki. She is also represented in a lot of the cosmetic GUIness we see in distributions like Fedora – graphical package updates and configuration, removal of advanced options, the general direction of the GNOME desktop, and so forth.

We have all of these nice “user friendly” features going into the distribution, and an effort at gating releases until they pass certain quality controls. And when you read the “User base” documentation, it becomes clear that the intent was to make the distribution accessible to a wider user base than just hard core package developers and rawhide consumers. Yet there are those who continue to push the notion that Fedora be some kind of rolling update, never really having strong releases (more like “snapshots” that happened to pass some quality control at the time), and that it continue to lose market share to other distributions. Apparently, that’s fine because we don’t care about user numbers so long as good things happen. But users like Caroline lose out in the process. Now, maybe they don’t matter one bit, maybe the mailing list threads are right. But if they are right then the documentation, the intended user base, all of that stuff needs a heavy re-think and update. Because you don’t get to say you are targeting something and then really not do that. You don’t get to pretend that all that shiny software has a purpose because it is going to empower users and then laugh in their face by breaking it randomly in an “update”.

And if those things are right, why does the Desktop gloss really matter anyway? Hard-core developers don’t need simplified UIs, they don’t need graphical configuration, they may not even need to be running a Desktop at all. They might aswell run emacs full screen on a large framebuffer and be done with it. Oh no! I hear the cries now! What a preposterous idea! Well, if it’s so preposterous not to care about a Desktop environment, then maybe it’s not quite so preposterous to ask ourselves who wants the kinds of things being churned out in Fedora these days. I’ll give you a hint, they’re the kinds of things Caroline Casual-User really wants to see. She loves consuming your end product. She loves the feel of Macs, and likes the trend to have more Mac-like features in Linux systems. She doesn’t know about systemd, but she digs the idea of things sorta just working where they’re needed. Heck, she even likes it when she plugs her phone in and the icon on the Desktop looks just like her phone. Why does a hardened developer even need any of that stuff? I mean really, who the heck hard core developer cares what icon even shows up, or even if stuff gets automounted? The real, not-on-Fedora-devel but interested userbase that used Red Hat Linux, that buy the magazines, that care, they are the ones who want that stuff. You know that because you make the software to target them, and now is the time to admit that.

What I want to see is a fundamental shift toward having a stable “Platform”. I’ll take credit for the term “Platform” in Mo’s post since I was the first to use it. Essentially, what I mean is that we split the distribution into a core platform needed to boot, and provide a basic environment for higher level stuff. This is what every other general purpose Operating System under the sun does. They don’t shove out random updates that might break the fundamentals, and it means users can rely on certain core stuff just working. Now, this doesn’t mean returning to the days of Core/Extras. It doesn’t have to be internal vs. external packagers, etc. It can just be about defining a basic set of features that must be stable (boot, init, libraries, etc.), turning those into use-case driven definitions (rather than plain old package lists like “critical path” is today) and then enforcing them. And gating updates, and saying “no” judiciously to people who want to break that. And asking others to go play elsewhere if they don’t like distribution cohesion, and all of these things. Not because they are sexy, but because they are responsible.


What I want from Fedora

Saturday, August 28th, 2010

Fedora is one of these interesting efforts in community organization that somehow results in a finished product. There are many good things about Fedora as a place to see new technologies and to participate in Open Source. But there are also some bad things that need work. Not all of the technologies are instantly useful or necessary to all users, and they are often adopted quickly, whereas it would often be better (in my opinion) to pursue full integration over a (slightly) longer period of time. We don’t have a clear vision for who users are, or what they want, and collective Laissez-Faire organizing only works to a point, a point at which you need to have strong-willed steering of the ship you’re on to make sure it goes where it needs to get to. And the 6 month release cycles are far too frequent in my opinion if they will result in only a one year overall lifetime.

Specific things I want to see from Fedora:

1). Slow the updates. 800 updates after installation is bordering on insanity. I’d like to see updates only for security issues and bugs (but just those bugs, not wholesale rebases to “fix” a bug and introduce ten more), and I’d like the extreme opposite of what we’re seeing now, but I’ll take what I can get. This isn’t Enterprise vs. non-Enterprise. This is sanity vs. non-sanity. Rawhide is where “stuff happens”(TM). If you want stuff to happen in a “stable” release, take a look at this thing called rawhide. Then re-read this paragraph. If that doesn’t work, ask yourself if you are the best programmer who ever lived? If you really are, and are not going to break something – no matter how insignificantly annoying – and are going to test your non-essential update, have at it. But if my video-out breaks, if my printer stops, if my system doesn’t boot, if the behavior changes, if my proprietary flash plugin that worked just fine yesterday breaks (which does matter), if something isn’t exactly the same after I run an update, you caused a regression, and people are not going to be happy. I expect that only to happen when I choose to upgrade, and you have a choice to leave it the heck alone. Consider that choice as a good first choice and default to it, unless an update is essential.

2). Set a mandate. Either ask the users what you want from them (I have called again for a survey to be conducted), or tell them what that will be (also a valid option). But there needs to be a very clear direction here, and it must be spelled out very strongly in writing. Fedora can’t be all things to all people, that isn’t working, and time and again this is borne out on the mailing lists, and in various other anecdotal evidence. Depending upon who shouts the loudest will result in it either being an everyday Linux distribution for Linux users, or of niche value to those who like to ride the wave on the Fedora development list. Here’s where a series of very specific documents – we might call it a Declaration – comes into being and says “this is what we do”. Period. You don’t like it, fine, but this is the situation. Having something like that also allows it to be shaped and changed. And for users to express their opinions on what should be thrust at them. We’re on Fedora 14. I would have thought we could have gotten a document like that worked out by about, oh, now. How about before F-14 ships?

3). Establish cross-functional workgroups. There is no Desktop, there is no kernel. There is only this kind of use or that. Why don’t we have a “Plumbing” team that handles the low-level guts and meets regularly to sync up on them? We should have various groups that represent more than component IDs in Bugzilla, because the Linux system isn’t quaint any more. The current mechanism of development sees someone introduce some big feature or whatever, break random other stuff, then fix up the fallout, probably slowly and over a few releases (due to the number of people who were not involved early on). Instead, everything should be planned. There should be an actual idea of overall system design, overall architecture, what it is that will happen. Does everything have to have a command line equivalent? Make it a policy. And people are busy. Some are working on Fedora as a hobby, others have different commitments. If you depend solely on who is available “right now”, and who is dropping code today, then you will forever have this mess. Sometimes people are busy on other stuff and you’re going to have to wait a release for your shiny new feature to get integrated, and that’s fine.

4). Set specific goals. Don’t just let people post Feature page ideas randomly. Have a strong process (stronger than now – before anything is allowed to be built and shipped out the door), with an overall vision that those ideas fit into. And have a few people be in charge of overall consistency and vision decide how a feature fits in. If it doesn’t, punt it to the next release. This kind of thing happens to a very limited extent right now. It should be rigorous, it should be tough, getting stuff into the distribution should also be consistent, every single time should use the identical process. If you don’t like that, try Linux From Scratch instead, or Gentoo, or some other roll-your-own effort. But if you want to take on the Red Hat Linux and Fedora lineage, get it right. Make the user experience be the number one priority.

Fedora doesn’t suck, but it could be a lot more useful to a lot more people. And either I am right, or I am wrong. Policy, feedback, goals, all of these things will determine how many of the things I would like to see are feasible, in line with Fedora’s longer term vision, and so forth. So let’s see a very specific vision and direction and all be much happier for it.