Older blog entries for bwh (starting at number 37)

25 Sep 2005 (updated 25 Sep 2005 at 10:57 UTC) »
Sodipodi / Inkscape

MenTaLguY posts about his motivations for joining Sodipodi and initializing the efforts That Which Would Become Inkscape... and asks what the motivations of the other founders were.

Well here's my story.

I had been leading a project called WorldForge for several years. I hadn't founded that project but had fallen into the project coordinator role pretty early on. Unfortunately, I can't report that we delivered very much, but I certainly learned a lot. I learned that there is a balance to be struck between creatively cool ideas and delivering something that people can actually use. I learned that success is more than just being right. I learned about the importance of communities and just plain getting along with people. I learned a LOT more...

Anyway, one day I was working on creating a map for some RPG game idea we'd had. I'd done a lot of game world mapping using a CAD program called Campaign Cartographer, and I'd wondered if there was anything equivalent in the Open Source world. As I've written about recently, I had learned that for an open source game development project, relying on proprietary tools was bad. So in searching around, I came across this SVG file format. A bit more searching and I found 'Sodipodi', the only open source editor around for that.

I downloaded Sodipodi and tried it out. It crashed. It crashed more. It crashed HARD. But SVG was TOO COOL. I joined the mailing list. I just hung out silently for a long time. My first post was about getting it a bit better tested and more robust.

For the next year or so, I strove to participate in Sodipodi as just a lowly peon. I knew I had a tendancy to get overly involved in open source projects, and definitely did NOT want yet another project with big responsibilities for so I really held myself back with Sodipodi. I thought it'd be fun to just be an ordinary user.

Meanwhile, WorldForge was not going well for me. This is a long story, but from my perspective the issue was that I'd bought a house in Oregon and this sucked a HUGE amount of my freetime away, which resulted in vast reduction of my involvement in WorldForge to the point that I wasn't able to meet my commitments, and other folks were starting to take over. Also, a lot of the friends I'd made early on in the project had left, so I felt like the project wasn't quite the same anymore. Anyway, a variety of things had made me pretty burnt out and frustrated.

Somewhere along the line here I'd gotten access to be in charge of the Sodipodi website. At the time, I figured this would be a useful exercise for just learning PHP. However, I also found myself falling into bad habits doing project coordination type stuff: Encouraging people to send in bug reports, fiddling with processes for how patches/bug reports were handled, etc. etc. The Sodipodi project experienced sort of a rennaissance; more people were getting involved, and the amount of traffic to the list was far higher than normal.

I helped develop the extension system, get some bug/feature tracking process in place, and kick around various other ideas/implementations of features. I helped with getting a massive flag clipart project started with Uraeus. Despite intending to limit my involvement in Sodipodi, I was quickly proving to me one of the *most* active members on the mailing list...

Lauris had been gone for a long time, to the point we weren't even sure if he was coming back. Mental felt we should go ahead and fork the project in order to carry it forward. However, I really didn't feel that was a good solution. Despite the difficulties we had in the project, I didn't feel I was ready to get involved with coordinating yet another big project. I figured either Lauris would come back soon, or we could just sort of push the project forward from within. I much preferred having Lauris in charge and simply being a right hand man type guy, even if Lauris wasn't really around much. I had a new house and I was very worried that all the yardwork, cores, hobbies, and so forth I was planning would take up too much of my time. Creating a successful open source project is a *lot* of work, especially if you're trying to do it from scratch. I didn't have time to run _another project_. I thought that if we just tried a bit harder we could work things out with Lauris.

I proposed that instead of forking, we try to change the model a midge, and get more directly involved in managing patches and prepping releases, *within* Sodipodi. We instituted the Hydra Release, sorted out how to branch the Sodipodi CVS, and established our own Head branch. We started folding in various patches that'd been sitting for too long, and begain doing some organized testing and preparations for a release.

From that point, I guess destiny sort of kicked in. For whatever reason, Hydra failed as a compromise and actually increased the tension . I suppose we'd expected Lauris to appreciate the help, but our expectations were far from met. I finally decided things would be easier if we split off on our own.

Having made that decision, there were several things very important to me to achieve. First, I wanted to avoid the situation of WorldForge where we had far more rough ideas than delivered code, so I really felt we needed to emphasize doing official releases of good, working, featureful code. I didn't want to go through all the stress of being a project coordinator, so strove to get Inkscape established as sort of a "headless" project. I didn't mind *doing* coordination work, I just didn't want to have that title or anything. Remebering how many patch submissions of mine that had been outright rejected, I also wanted to keep things open so anyone with a novel, clever idea would be able to get it into the codebase with minimal hassle.

Anyway, that sort of sums up my role. While I guess I'm ok as a coder, I think my role with Inkscape has been much less about coding and more just about establishing procedure and just sort of clearing the way for others to make the big contributions. I love that today Inkscape is so much a team project and that ANY of us could be hit by a bus, and the project would carry on with barely a glitch.

21 Sep 2005 (updated 21 Sep 2005 at 21:00 UTC) »
Linux Games

Alan Horkan blogged about games and wondered about the relation of Open Source and gaming, and what games are available for Linux these days.

While I don't do much game development or playing much any more, this is an area I've put a huge amount of thought into. In fact, pre-Inkscape I coordinated a project to create open source games.

I believe that in theory there should be no reason why we shouldn't have open source games. If you visit the store you see how similar the games are from one to the next. Often a given game is simply a rehash of some other game concept, with new artwork and a few gameplay tweaks. Sometimes these companies sublicense the engines from other companies, but sometimes they create their own new engine (for better or worse). It'd seem like with open source, you could do even better since the engine would be freely reusable.

However, in practice this doesn't occur as much as it should. Yes, there are open source engines aplenty, but I think people underestimate the time, skill, and challenge of coming up with new art, levels, and so forth for a game. In some ways, the coding of the engine is the least of the problem; if nothing else, there are tons of volunteers available who want to code, and fewer who want to create art or design levels. One of the reasons for this is that in many projects programming is held to be a more respectible talent than art, so artists can sometimes feel like they're second class. This is a shame because in all honestly, games these days make or break on the quality of their art. A great game with excellent gameplay but crappy "programmer art" will never catch on in a big way, compared with a simplistic game with gorgeous, eye-popping artwork.

Back when I was doing open source game development, there was a major hurdle in that there were few open source tools available for artists working on open source games. We found ourselves in a troublesome situation where each artist was developing art with whatever professional tool they happened to have. Many artists could not afford the best tools so would make due with a cheap one; others would obtain a copy of an expensive tool through some other means (such as doing artwork for a company in exchange for a license), and then wish to use that hard-earned tool.

Unfortunately, this resulted in difficulty in that the artists could not collaborate or share their work. It was also difficult for developers since they couldn't re-render the artwork (since they didn't have Max or Poser or Illustrator or whatever).

Fortunately, today through Inkscape, Blender, and other projects, the situation is much better. These are actually high quality tools that some artists even consider to be *better* in some ways than the commercial counterparts. They're only getting better, and they'll never "go out of business", so if you establish your skillset in these tools, you'll benefit from this investment for many years to come.

Of course, tools alone are insufficient to solve the issues. Many game projects simply lack artists. One of the motivations I had for helping start the Open Clip Art Library was to establish a way to help address this particular problem. I would love to see OCAL become a valuable repository for game art in addition to regular clip art. This way, someone with an itch to create a game but little artistic talent could browse through the library and collect a bunch of art, render them from SVG into whatever raster format and dimensions they need for their game, and be assured that their initial release will look much better than it would otherwise.

Another issue with game development that I've noticed is that there is a huge gap in game modules/libraries. At the low end, near the hardware level, there are a plentiful number of libs like SDL, Allegro, and so forth, but at a higher level there are fewer libs. Sometimes you will find specialty libs for things like pathfinding or screen rendering.

What I think the Open Source communty needs are a rich variety of stand-alone libraries for high level game functionality. For example, imagine game logic libraries that encapsulates game rules for doing resource trading, or inventory management, or in-game unit design. This is not a unique idea; see for example gtkboard, which aims to be a standard library for encapsulating rules dealing with two-player turn-based boardgames (e.g. chess, tower of hanoi, samegame, etc.) Btw, take a look at the screenshots and recall what I mentioned about the need for artistic talent. Pysol is another example of the power of this sort of abstraction approach; they provide a general purpose library for creating solitaire card games, and as a result have gained over 200 different games.

I believe the Open Source and Open Art communities could achieve the same sort of successes as these efforts by reusing this abstraction approach, and scaling it up to implement other, more sophisticated types of games. Imagine taking a flight physics library (e.g., from ) and combining it with the shooting physics from a sophisticated FPS game (e.g. Quake 3) to produce a compelling WWII dogfight game. Or imagine taking a planetary simulator library (e.g. Celestia), combining it with the game logic from a rails-type game (e.g. FreeRails to produce a new space-themed strategic resource game.

To a certain degree, you can sense this is already happening. Browse through the game section of Freshmeat and note how many games are leveraging engines like Ogre3D, CrystalSpace, and so forth. Mercator Grid gets around the lack of art by using GIS data and NATO map symbology (yikes, looks like they're invading my hometown!

I mentioned in a prior article that converted my Mom to Linux. The machine I used to do this was my last Windows system, which I'd been holding onto just for game playing. The reason is that I no longer feel its necessary to have Windows for game playing. There are tons of pretty good open source games out there that work on Linux. For instance, check out FreeCol (a Colonization-like game), Globulation 2 (a nifty RTS), VegaStrike (a space simulation/trading game), Freerails (a Railroad-tycoon type game), Wesnoth, a fantasy strategy game, and lgeneral, (a turn-based strategy wargame ala Panzer General). Or see Glest, Cube, SauerBraten, and Nexuiz, that a couple friends strongly recommend. In terms of game availability, the Open Source community seems to have hit a golden age; there are TONS of open source games.

You'll note that many of the good Open Source games are clones of popular commercial games. I think by focusing on producing reusable game components, or making it easy to take an existing cloned game and repurpose it with different art or gameplay, the Open Source community will be able to start producing more innovative and unique kinds of games.

If you want to help push Open Source gaming further along, I think it's not too much work to make a big difference. Find a game you like and help it get packaged and added to your favorite distro. If you are good at art, contribute a logo or a replacement for their default unit or terrain artwork. Take an afternoon to contribute bug reports or patches to help improve the quality of these games. And most importantly, consider reformatting your Windows machine and put 100% of your support towards Open Source games. :-)

Habitat for Humanity

Several of us from work volunteered for Habitat for Humanity today, working on building a house here in Beaverton. It's a house for a mother and son; the son has cerebral palsy and is in a wheelchair, so the house was specially designed with wide doorways, no stairs, and special closets.

When we got there, the exterior walls had already been built, so we worked on framing internal walls. It was pretty interesting to go from a pile of studs into walls and rooms in just a day. It was also cool to talk with the team leads; they were retirees from Intel, Tectronics, etc. and do this three days a week. Pretty impressive.

Afterwards, Leann and I went out for beer with Eric Wilhem of uber-converter fame. We've got some good news coming out hopefully later this week. :-)

Finally got a Linux system set up for Mom. I ended up going with Ubuntu instead of Gentoo. Gentoo is great when you're working with modern hardware, but when installing on older hardware it gets a bit tedious waiting for everything to compile. I set her up with KDE because that's what I use, and because of its similarity with Windows.

When I first decided to do this change, I surveyed what software she used: A spreadsheet (excel), a word processor (word), a web browser (firefox), and a solitare cardgame called Arachnid. When I talked to her about this, she added, "I've been playing Arachnid for over 10 years... I guess it's time to try some new games!" However, I knew that if I could get the equivalent game on Linux, she'd be sold. She was quite picky about this game; I'd bought a newer win32 card game pack with a slightly different variant of arachnid a while back but it wasn't the same, so she stuck with the original. I was impressed she was willing to give that up in this change, but figured *someone* must have ported it.

I decided to scour the internet for a Linux version of the game. I figured worse case, I could grab pysol and overcome my dislike of Python long enough to code up an Arachnid for her.

But then, after explaining the situation on #inkscape, Jon Cruz remarked, "Looks like Arachnid runs under Wine." In fact, Arachnid is *the* example that the Wine HOWTO uses for testing that your wine install works!! I downloaded and tried it out, and sure enough - exactly the same game, bugs and all!

Mom has been pretty apprehensive about the change, but was definitely willing to give it a try. I set it up in her office, plugged everything in, booted it up, and showed her OpenOffice and Firefox, then pulled up Arachnid. She started playing it. "Hmm, it's a little different... Oh wait, no it isn't." Clickclickclickclick. Dang she plays that game fast. :-)

Then I pulled up Firefox and let her check her email via yahoo.com. She remarked, "Huh, this really isn't all that different." I mentioned that it should all be fairly similar, although there are definitely some differences here and there. But she added, "You know, I've changed jobs several times in my career, and I've had to learn the new software. I always did fine then; I'll be able to do this too."

She did comment that the text was too small. "I always have to fiddle with the fonts on a new computer. I've got old lady eyes so like setting the fonts bigger." I hmmed, and pulled up Konqueror and showed her the Zoom buttons for enlarging the fonts on a webpage. She was very excited by this capability, and we switched web browsers to konqueror instantly. I warned her that not all web pages worked as well with konqueror, so she might have to use firefox sometimes, but I think she felt it was worth the risk.

Speaking of risk, she even asked about backup. "You know how you told me I should backup my files on Windows? Well, I never did... Should I do that here?" I hmmed a few minutes and said, "Yeah, probably..." "Will it work with putting floppies in to do it?" "Yeah, we could do it that way, although it'd be better to make it do the backups automatically, then you don't have to hassle with it." "So would you put in another hard drive to do that?" I pondered. "Well, I have a computer at home where I store all my backups, we could just have it automatically send its backups there to my machine." Her eyes got big. "It can do that?!?"

Anyway, mission accomplished. She's got a system that isn't really that different from what she's used to, except that it won't have all those popups, viruses, and spyware, and will be simpler to backup. :-)

In other news, the MythTV hardware arrived today. On to the next project...

16 Sep 2005 (updated 16 Sep 2005 at 07:14 UTC) »
Good God!!!

Finally this evening I made it over to my Mom's to help straighten up her computer. Sweet Jesus, the spyware scene's gotten nuts. How do people put up with Windows anymore?!?

I mean, I know Linux is considered sorta techie and all, but come on. We've got pretty much everyone at work at OSDL converted to Linux, including the receptionist, all the secretaries, and even the marketing folks, with nary a complaint. I'm sure there's the odd incompatibility or whatnot, but compared with the pain of having to deal with all these damn popups and junk, that should be like a dance in the park.

I asked Mom if she had problems like this at work. "Oh, no, not at all. But, the IT department is constantly notifying us of upgrades, downtimes, and switchovers. They are really busy keeping on top of it all." Wow. That's a pretty stark comparison to OSDL, where one guy does the desktop support, and basically is just doing conversion work; once someone is comfortably switched to Linux, the time it takes from him is rather minimal; just the occasional upgrade (lots of people at work want the latest and greatest version of Inkscape *grin*).

Sheesh! I remember it being sort of a hassle back years ago when I was using Windows, but this? How do people put up with it??

Anyway, the good news is that Mom and I had a discussion and agreed to do a trial run of Linux. I'm going to give her a second box with Linux on it for her to try, beside her comfortable (but nigh-unusable) Windows box. I think she'll find she can do all the same stuff as before, but having both machines there will hopefully give her the comfort of being able to go back if there are any problems.

Ted says I must be careful, as there are some real risks to switching your parents, but I've already been to those depths and survived, so I'm not worried!

One of the main apps my Mom uses is a card game called 'Arachnid'. I took the time to caution her that we might not be able to get that same game available in Linux, but that there's lots and lots of card games that she can enjoy. She admitted she's been playing Arachnid for over 10 years now and could probably do with a change.

But, in an ironic twist, Jon Cruz mentioned that Arachnid is actually one of the examples in the Wine HOWTO. !!! So, it looks like I can set her up with Wine and Arachnid, and she'll have pretty much everything she needs, plus some.

15 Sep 2005 (updated 15 Sep 2005 at 20:40 UTC) »
MythTV Backend

I placed the order for the equipment for my MythTV backend through newegg.com. Check it out:

 $156   1  ASUS Vintage-PH1 915G
 $103   2  HD 250GB|MAXTOR 6B250S0 SATA
 $175   1  CPU INTEL|P4 630 800M LGA775 2M R
 $102   1  DDRAM 1GB VDATA|128Mx64 DDR400

Check out the price on those maxtors - $103 for 250G SATA. Wow.

I decided to go with the ASUS instead of individual pieces because for $156, it seemed a decent price. It had the features I wanted - one ATA and 4 SATA connectors, 4 slots for RAM (I'll get 1 board now, and can add 3 more later), two normal PCI slots and one express PCI, and 10/100/1000 LAN. Looking forward to seeing how it does.

I looked a bit at AMD systems and was awfully tempted to try them out. However, I know I need to avoid getting too exotic with stuff; I want to end up with a usable system, not a time consuming experiment. ;-)

For similar reason, I decided to go with regular, tried-and-true Hauppauge PVR-250 cards. Ted and Kees pointed out you can get cards for HDTV encoding for only a bit more ($165 compared with $128), but I think I'm going to have my hands full just trying to get multiple heads and backends NFS'd together and getting two encoders running at the same time. I'll leave the HDTV experimentation to Ted. ;-)

Note that the above system doesn't include a DVD/CD ROM. I figure I probably won't need it, but if I do, my last system came with one of each so I figure I can reuse that.

Granny Linux - Medical advantages

My Mom is an RN, and her job is to phone a set of patients with a certain chronic illness regularly to get their weight measurements. For this particular illness, sudden weight gain or loss can indicate a pending emergency, and that they should get to the hospital immediately.

Granny Linux is a neat idea from the standpoint of making the computer easy to use for people with limited technical skill, but the idea becomes really compelling when you think about tapping into its potential for medical care.

In my original blog entry I mentioned that my Mom had problems with a website; this was a site for her to record some medical information. Her doctor had asked her to keep track of it and bring in a report at her next visit. Unfortunately, the web application allowed entering the data easily enough, but when it came time to print, that's where we ran into trouble.

Needless to say, the fact that the computer got infected in the process was a minor nuisance compared with not being able to access the data.

Certainly, Linux would be beneficial at preventing the infection, popups, and so forth. However, the root problem of being able to track this medical data would be the same regardless of which OS she was using. The designer of the web app supports IE only, not Firefox (we even contacted him, and he reiterated that he would only support IE).

Now, Mom is pretty good with computers and just set up a spreadsheet. She knows how to use Excel quite well, and this gives her ultimate control over her data. But I imagine there are lots of people who couldn't do that, who would be cornered between IE's bugginess, the lack of support for Mozilla/Firefox by web app developers, and the cost and hassle of getting commercialware. For them, a pad of graph paper and a pen would be the most logical solution. :-/

This seems extremely lame to me. Computers ought to be good at helping people with stuff like this.

I think Granny Linux could do much, much better at this.

By and large, most of these applications are rather simple. Usually they're just logs of your daily exercise, meals, weight, temperature, blood glucose, or whatever. They need to let you type the info in each day, and then print out a summary on a weekly or monthly basis. Or maybe a meal or exercise planner, or perhaps tutorials or presentations about some aspect of your medical situation.

Inclusion of a suite of such apps in Granny Linux would be a no-brainer. After visiting the doctor, Granny could phone John, talk to him about her diabetes or heart condition or whatever (Granny always goes on about her health, even aside from the computer), and that the doctor told her all these things she has to track, and could the computer help her do this? John takes a look and finds that, indeed, Granny Linux can help with tracking blood glucose levels (actually it has the choice of three apps for various levels of sophistication, but he knows Granny will want the simplest one.) He asks if she'd like him to set it up, she says yes, and with two clicks he's installed it. Right there on the phone he walks her through use of it.

It occurs to me that the value could reach even further. Earlier I mentioned about how with some illnesses, abnormal measurements can indicate a problem. Imagine if the Granny Linux medical applications were able to detect these abnormalities and flag them, letting Granny, John, and/or her doctor know about the pending issue immediately. In my earlier post I mentioned about a toolbar applet that would blink on John's desktops if there was an error; imagine tying this in with Granny's medical tracking app, so that if her weight numbers are showing dangerous indication of fluid retention or whatever, it would flag John and he could take action. Of course, there's some privacy considerations here, but I guess John and Granny would balance that against the value of keeping her healthy.

Another thought is that there are TONS of organizations that are trying to find ways to help their people manage their health. Insurance companies, hospitals, state and federal health care non-profits, and so on. I would imagine these groups would be quite interested in something like this, that could give their members really good health management software for free, without incurring them with all the troubles that come with Windows. I could easily imagine them wanting to participate once the concept was proven and had a decent userbase.

14 Sep 2005 (updated 14 Sep 2005 at 18:19 UTC) »
Tivo Record-Restriction Flag

Wow, my recent interest in MythTV appears to have been well timed. Apparently, Tivo now forces deletion of certain shows on your Tivo (although maybe it's just a bug; still...) This enables corporations to control what you can record and how long you can keep it. The screenshot of this "new feature" shows the patch is "in the wild" now.

It's funny, I was *just* talking with Kees about this exact thing last night. He had been remarking about how he was impressed enough by MythTV by its merits to justify switching to it; prior to yesterday he had assumed that his switch to MythTV would be "the day that Tivo starts restricting what I can record." So I think for Kees it's now MythTV is not only going to be a neat new thing, but also a necessity of principle.

Thinking more philosophically, I believe it is things like this that doom corporations in the long term. Each time they control, limit, and restrict what you can do, it's like they're contributing yet another feature on the side of Open Source. Each of these are a minor nusance for the consumer, picking off small bits of their freedom in the belief that it will gain the corporation a little more income. However, in reality these removals of freedom may be profitable in the short term, but it also turns people off of their service and motivates them to find easier alternatives. In the long run it results in a situation like we have with Microsoft, where you have a choice between a mediocre product with TONS of restrictions that have crept up on you over the years, and Open Source, that gives you every application you can think of, without all those annoying limitations, and at little or no charge, to boot!

Every time a corporation takes away one of your seemingly minor freedoms, it's like they're pounding a nail in their own coffin.

Fonts and Gentoo

I'm lazy. After Yet Another Gentoo Installation, where I found my fonts were messed up (I'm picky too), and found myself thinking, "Now, what package was that font I liked in?" I decided to indulge my laziness and install *all* the fonts with stable packages in gentoo (or, at least, all the ones that would install.) Here's the command:

for font in `emerge --search font | egrep '^\*' | grep -v Masked | cut -d ' ' -f 3`; do emerge $font; done

If you're curious what'd be installed, just replace 'emerge' with 'echo', or just run 'emerge --search font' by itself.

Note that some of the fonts don't install easily (they require manual downloads of blah blah), but I figure I'm so lazy I'll just skip all those. Besides, if they don't install trivially, then there's probably something wrong with them anyway.

Finally, on the topic of fonts, let me take this opportunity to plug rejon's Open Font Library, a new project to do for fonts what our Open Clip Art Library has done for clipart. Imagine a HUGE, central repository of fonts of all sorts, under clear Public Domain terms, packaged in a way that allows you to select subsets of fonts based on your own filters. For example, select the highest scored font for each font face, plus all fantasy fonts. Or, select all fonts with fancy drop caps. Or, select all fonts that most closely (and legally) approximate the most common commercial fonts.

Granny Linux

Wow, I've gotten a lot more feedback on Granny Linux than I expected (all positive, too). I wish I actually had any spare time, because I think it'd be an extremely cool project and a great way to make life better for a LOT of people. Instead, I'll keep pitching out random ideas here, and hopefully maybe inspire someone with more time than I. :-)

From the feedback I've gotten, it sounds like the exciting part is not so much the stripped down interface but rather the administrative backend, and the notion that Granny Linux totally abandons the Windows-oriented idea of a single-user computer (thus forcing everything to be dumbed down to the lowest common denominator) and instead embraces the reality that for a basic end user, there are going to be people in several roles related to that machine. Each role can be specialized to certain desires and talents, and the system designer needs to design for each of these roles, and strive to make life easy for each. I.e., the user wants a consistent, reliable, simple interface; the first level admin wants simplicity of troubleshooting and configuring a single machine; the high level admin wants lots of options for customizing, testing, verifying, etc. across many machines.

Also, this whole concept is quite conducive to the idea of self-supported open source developers. The idea being that just as a person would hire a local professional to take care of their taxes, plumbing, or window cleaning, they'd similarly hire out their computer care to a professional computer engineer. I think there is already a fairly vibrant local tech support "industry" but much of that work involves relatively low-skill labor of scraping viruses off computers, reinstalling Windows, etc. With Granny Linux, the support load is divided into an even less technical level, and a much more technical level. The higher level is perhaps more in line with how your typical open source developer would like to spend their time anyway.

MythTV Club

Last night we had our second MythTV club meeting. We doubled our attendance from the first meeting too! :-)

Kees downloaded and installed the MythTV front end on his laptop, and dmandell, shiruken and I checked it out. Very purty. Kees (who has been a devoted Tivo afficianado) remarked, "Forget Tivo!" He was quite impressed. We went through the configuration settings; there's a lot of features you can turn on, and a lot of ways to customize them if you're unhappy with the defaults. Also plenty of ways to plug in your own scripts and tools.

One of the things Kees loves is that he was able to pull up and view his huge collection of music videos. He collects those off TV as a hobby, and this was the major motivation for him to write GOPChop. There were a few minor format issues for some of the videos, but he had ideas of ironing those out.

So, the question of whether to go forward with MythTV was unquestionably solved, and I'll be putting in the hardware order today. :-)

Habitat for Humanity

Brian, Kees, and I have decided to go volunteer for H4H here in Oregon one day next week. OSDL has a policy where if you spend one day vacation doing volunteer work, they match that with another day off to do the same. I think it'll be a cool way to put some energy into service and improve my carpentry skills in the process.

Granny Linux

Today I got a call from my Mom about all these popups that are getting in the way of her being able to read email. Half an hour later, looks like the machine's got a virus. We're running McAffee now.


It's not like we're not careful. I set her up with a firewall router, keep her (relatively) up to date with Windows security patches, have her well indoctrinated in using Firefox instead of IE, never running programs sent through email, etc.

I think I know where we slipped up. There was a website that wouldn't work properly under Firefox that she'd been using to help track some of her medical data, so I ran IE for just that site to retrieve her data so she could change to different software. My guess is that this one instance of running IE led to the infection; the timing was too coincidental...

Anyway, that doesn't matter; what I care about is that the machine got infected in the first place. It's stupid. I told her that I think we should convert her to Linux so we can put an end to these popups and virii once and for all. She sounded a bit uncertain about this; I think Linux sounds too hard core and scary.

I know it'll work fine, because we've converted a number of the office staff folks at work. The people have reported that it wasn't so bad, and while of course there are little incompatibilities and troubles, overall they seem to be able to get their work done, interoperate with people effectively, and so forth. Fortunately, we've got a really good desktop support guy who individually teaches each of them how to use it and walks them through everything they need to know.

My mom's at least as good with computers as any of them, and I'm sure she'd have no trouble. She pretty much just uses Firefox, Word, Excel, and a computer card game. All stuff that Linux can do just fine. It'll take a bit of social engineering to convince her to try it, but I think it'll work.

However, this has got me thinking even more ambitiously... What would it take to make Linux not just "okay" but the best possible operating system for someone even less technically able than my Mom and co-workers? What would it take to create a "Granny Linux"?

Here's my ideas...

First, the interface should be extremely stripped down. Granny Linux users are the polar opposite of the traditional Linux user - choice is bad. They probably only use about 4-6 applications, so there should be no other options beyond those, plus a button to turn off the computer, and a magnifying glass button. Firefox, one or two apps from Open Office, and a couple games. That's it.

If Granny needs another program, she calls her grandson and asks. He decides what to put on, and runs something remotely that installs and/or activates it.

Applications too should be stripped down. Grannied versions of applications would have most of the options ripped out of their menus. She doesn't need to customize her toolbars, she doesn't need to configure her javascript settings, she doesn't need to mail merge anything. If she does need these things, she calls her son or grandson and asks, and they turn it on for her.

I would also lay out the screen differently. Gone would be the panel and all its nifty gadgets. Instead there are big buttons in the corners to launch her applications. Corners are the easiest spots to hit, and with Granny's eyesight and arthritis, she needs all the help she can get.

Error messages on Granny Linux work differently than on a typical computer. They "know" that Granny isn't going to understand the technical jargon, so it doesn't bother to frighten her with it. Instead it gives her a friendly message that says that there is a problem, and gives her three choices. First, to ignore it. Second, to see more details about it. And third (and most importantly), to send the error to John (her son).

In fact, the cool technology in Granny Linux is all behind the scenes stuff. It leverages Linux's remote administration capabilities and then some. There are actually two classes of admin. The first is what we'd think of as first tier tech support. This is handled by Granny's son. He's essentially a power user, and knows all the applications Granny uses backwards and forwards. He knows how to troubleshoot a lot of the common errors. If she gets an email with an attachment, he can check to make sure it's ok. He's also patient about explaining again how to use the printer, turn off caps-lock, etc. If Granny needs a new piece of software, he can activate it for her and walk her through a canned tutorial over the phone to show her how to use it.

For more advanced things, like applying security patches, troubleshooting bugs, and so forth, they go to David, Granny's grandson. He knows Linux real well and is a pro at the commandline. He's comfortable sshing into her computer, reviewing logs, emerging/apt-getting software, and so forth. John notifies him when Granny needs help beyond the normal, thus escalating the problem to him.

It's this notion of a remote helper that I think would be the distinguishing feature of Granny Linux. It leverages Linux's ability to do remote administration and really puts a strong level of reliance on this remote admin, and strives to make *his* life easier.

For John (the first level tech support), he should have a web or gui control panel app that he can pull up to interact with her machine. This has buttons to activate or hide various software or capabilities on Granny's computer, change her themes, install fonts, review the error messages she's run across, browse logs, etc. etc. He can flag things for grandson David to look at, can upload new photos of the family's children to display on Granny's screensaver or desktop background, and see when Granny last logged in.

For David (the second level tech support), he has some options about how he interacts with Granny's system. First, he can ssh directly into the system and run all the usual unix commands through the console. Second, he can use the first level tech support app. Third, he can run a program that does aggregate administration.

This administrative aggregator is there to allow David to administrate several machines at the same time. In addition to his grandmother, he also has Granny linux on his children's computers, his wife's home machine, and 8 systems at his brother Earl's auto repair shop (Earl pays $50/month for the service, and considers it a bargain). Having to individually administrate all those systems would be a pain in the ass, but the aggregator allows him to ensure all the systems have the same versions of the same software installed, review and compare their logs (with ample use of diff to isolate differences between the machines), and so forth.

This system also hooks into a global database of all Granny Linux users. When an error message comes in, it automatically taps into it to pull up tips, suggested solutions, sample response messages, etc. David can often *click* *click* and invoke a script that addresses the issue or helps narrow it down.

David also runs a cute little panel app that shows a little indicator light for each of the remote machines. This tells him if the machine is on or off, changes color if the machine hits error situations, and blinks if it needs administrative attention. David runs this on his computer at work and both of his computers at home, so he keeps close tabs on everyone. He also has a program set up to send a text message to his phone in case he's away from his computer. The users are impressed that within moments after running into a strange error message they'll get an IM from David, "It's alright, you were just low on disk space. I've allocated a bunch more space for you, you should be fine for months."

Anyway, I bet the above wouldn't be that hard to make. I know that a lot of the pieces exist in some form already, and could be adapted to this. With something like Granny Linux, I think Windows wouldn't stand a chance.

28 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!