Saturday, July 26, 2008

More Juicy Tidbits

If you haven't been following my work for the last couple of weeks, I've been letting little things out about the work I'm doing to make working proof-of-concept apps to accompany my document on my vision for Haiku's R2. First was a screenshot of a settings app launcher to replace the current scheme. Instead of navigating up to a submenu that is shallow and wide, i.e. one level deep and what seems like 30 choices, the user clicks on one menu item which spawns an app that better organizes the preferences apps. The large buttons look pretty good and also make it easier to launch an app. It's very much like the preferences launcher in OS X, which adds some familiarity for people from that camp.

The second screenshot (posted on the 18th) was one which I left as a bit of a puzzle. Pieter, the only commenter, was correct. It is a package builder, and simple enough to pick up and use. All that is needed is to point it at an executable and, optionally, the topmost folder to use for the package. The developer provides some additional basic information about the app, click Start, and voila! A package is created in a process that is so easy it makes a man speak French against his will. ;-)

What was not in the screenshot is something equally important: an package runner. Doubleclicking on one of these packages runs the app. While I can't claim originality in the idea, no one has implemented it. One file for the entire program. Want to delete the program? Delete one file and you're done. It's also done in a way that you can use queries with them.

It's incredibly simple and works for most apps, but not all. Just as OS X has disk image files (.dmg) and package files (.pkg), Haiku will need them, too. Most of the code needed for regular packages is already there, and I released something like it some years ago. It still needs some tweaking and thought, but it won't take much work.

My current project is much more complicated than the settings launcher and the utilities for program bundles, but it will be worth it. I'll be forthcoming with the details once it's finished, which will probably be a couple of weeks -- I'm currently writing this from out-of-town and I won't be returning until 7/31/08. Until then, I guess we'll all have to wait.

Tuesday, July 22, 2008

Cleaning the Microsoft Natural Ergo Keyboard 4000

A couple of days ago, I decided that I needed to take apart and clean out the keyboard at my workhorse machine: a Microsoft Natural Ergo Keyboard 4000. The name seems kinda over-the-top, but despite my general disdain for the giant from Redmond, I like most of their hardware. I have a couple of minor gripes, but it's overall a good keyboard for RSI sufferers. Anyway, disassembling it wasn't exactly obvious and there may be others out there who wondered how to get the thing apart to clean the thing. Not only will I relate how to void your warranty this way, but I'll also give you some tips on cleaning the thing.

  • Lineman's pliers or, alternatively, needlenose pliers
  • Cotton swabs (Q-tips)
  • Philips-head screwdriver
  • small flathead screwdriver (or other small prying device)
  • old toothbrush
  • compressed air
  • rubbing alcohol
  1. Unplug it from the computer. While this might seem obvious, some people might go commando and use the thing while in the process of cleaning it. You've been warned. ;-)
  2. Remove (no exaggeration) 21 screws from the underside.
  3. Place right side up and wiggle off the faux-leather wrist rests.
  4. Remove a screw from under each of the newly-removed wrist rests.
  5. Find a small flathead screwdriver (or some other flat prying object), slide under the front edge of the space bar and gently give it a twist. The spacebar should pop right out. Set it aside.
  6. Remove two silver screws and then remove the top cover. Note that this will require some wiggling becase there are a few plastic catches sort-of holding it in place, such as in front below the F-Lock light.
  7. If your keyboard is anything like mine was, you'll need to be able to clean under what's left, so remove 4 more screws under where the Back and Forward buttons normally are along with the metal bar they hold down.
  8. Remove the silicone overlays.
Now you'll need the rest of the tools I listed above to clean the thing. You'll probably want to remove all the keycaps from the grid. If that's too much bother, at least get the ones with the metal sliders.

  • The best way I've found to get the keycaps out is to use one hand with the pliers to slightly pinch together catch for the keycap while gently pulling on it from the other side with your other hand. If you pinch too much, you'll bend the plastic on the catch and possibly break it, which would be a Bad Thing (TM).
  • If the warranty was good on your keyboard, it certainly isn't now.
  • It's amazing how many crumbs (and in my case, cat hair) fall in between the keys and collect in this thing

  1. The compressed air will come in really handy for cleaning under the components that are still in place.
  2. The bigger keys (spacebar, Backspace, Caps Lock, number pad +, etc.) have a little metal bar that slides under a couple of plastic "hooks" which are a great place for crud to collect and make the action for those keys pretty gummy. Cotton swabs and rubbing alcohol work well for cleaning it from the back side of the key grid.
  3. The silver buttons at the top shouldn't need cleaning unless something has been spilled on your keyboard.
  4. Cleaning an empty grid is pretty easy with the sprayer hose on the kitchen sink. You *might* be able to get away with running the grid through the dishwasher, but you might melt the plastic, so don't complain to me if it does.
Plan to spend a couple of hours doing this, but for a $50 keyboard, it's probably worth your time. It's also less mind-numbing if you're doing it in front of the TV. I hope this helps someone else out there. :)

Saturday, July 19, 2008

A Word of Clarification and Musings about Haiku R2

This morning I got to thinking about the last couple of posts and I realized that it might be easy to misunderstand the officialness (is that a word?) of my efforts. I'm not with Haiku anymore, as I announced last fall, and, as such, nothing that I do at this point can be considered official Haiku code or anything. This is something purely on my own, just like my LibWalter project over at OSDrawer.

For those of you who haven't heard of it -- most people, I'd imagine -- it's a repository of MIT-licensed code which is sorely missing from the BeOS API, like menu items and list items which can have an icon, a font chooser, and other stuff. It also provides a point of access for useful-but-homeless code floating around the Web, like some code that exists for a dropdown combo box that's been around for years. LibWalter It has been done in such a way that when R2 comes around that most, if not all, of the code can be incorporated into the Haiku source tree and give it a nice shot of progress.

These little code projects that I'm currently working on are in the same vein. Too many people have suggested bizarre, impractical, and/or undesirable ideas on the Glass Elevator list. I also fear a "designed by committee" user interface which doesn't really do a decent job of helping someone. No one really seems to have a vision for R2. I do, but I'm in no position to dictate anything, and even if I were, not all of my ideas are necessarily good ones. These screenshots (and the to-be-released-later programs) are an attempt to show that my vision for R2 is good, sensible, practical, and worth putting into place, and because of the way that I'm writing them, it will be possible to try them out on R5, Zeta, or Haiku long before R2 is even a practical target.

Friday, July 18, 2008


After a few days being quiet, I've got some more news for all of you. First, the bad news: My wrists are *so* sore because I've been stupid... coding while ignoring the habits that I've developed to avoid hurting myself, so it serves me right. Good thing that I'll be going on my annual summer vacation trip next week -- it'll force me to be good, but right now, I don't think that's going to be a problem.

Now, the good news: The last screenshot was a new way of accessing system preferences. I've got a new one for today. Once again, this is a screenshot that has only seen the crop tool to make it download faster. This one is a developer tool, but a very important one for the new desktop. I won't explain it just yet. What do you think it's for? Leave a guess in the comments. The only thing I will say is that it will be released later this summer when all the little projects are released all at once.

Saturday, July 12, 2008

The First Secret to Slip

Well, I did some further hacking on my R2 desktop document and now it really is pretty close to finished. Without any screenshots, it's about 9 US Letter-size pages in OpenOffice, so it's a bit of a read. I also have some apps which I'll probably be releasing some time in the near future. I'm still waiting on the stupid KVM I ordered from eBay -- the stupid US Post Office's Media Mail shipping method is crap. Then again, I haven't had too many good experiences with traditional snail mail in recent history, either. :( Anyway, here is a cropped-but-not-Photoshopped screenshot of one of my working R2-related mini code projects to get you wondering:

Thursday, July 10, 2008

360 Desktop: Cool but Not Very Usable

I visit Lifehacker frequently because of all the really useful information that is posted there. When I saw a post for 360 Desktop for Windows, I thought I'd take it for a spin. It certainly sounded like a neat piece of software.

The Concept

360 Desktop changes the "flat" mental model of desktop workspace into something of a cylindrical one and gives you the ability to add widgets to the desktop, as well. For people who are into this kind of thing (I'm not), this is nice, especially because it opens the door for Windows XP users. The picture at the right, courtesy of, gives you an idea of how it works. A small slider is placed in a window at the top right part of the screen and an icon is placed in the system tray after installation. By dragging the slider left or right, the desktop pans in that direction. By using 360 Desktop, you suddenly have a lot more desktop space and some nifty backgrounds and widgets to go with it.

The Good

It certainly adds work desktop space, and being Windows still does not have built-in support for workspaces like the rest of the world, this is quite helpful for people with smaller monitors. The space taken up by desktop widgets doesn't matter quite so much any more. The panoramic desktop wallpapers were really pretty.

The Bad

The extra work involved with accessing and navigating the extra desktop space wasn't really worth the benefit it gave. For example, if you have a plethora of open windows strewn across the cylinder, how do you jump from one side to the other quickly. Panning is great for keeping track of where you are, but it's not so good on speed. It's also not very precise. Also, unless I missed something moving windows around the cylinder isn't possible, either, so you have to either repeatedly pan the screen some and then drag the window or close the window, pan to the new location, and reopen it. Either way is a pain. The selection of panoramic wallpapers wasn't very big and most of them were really bright, which looks nice but makes finding icons on the desktop more difficult.

The Verdict

I'd say that 360 Desktop is a nice idea, but it's another case of a nifty demo being developed into a full-fledged program when it really shouldn't have. Some people may really like it, but in this writer's opinion, it just slows you down -- workspaces are much faster by way of the keyboard, much more precise, and the jury's still out on desktop widgets. :)

Wednesday, July 2, 2008

My Summer So Far

It's almost like I've taken a complete vacation from anything online, but my summer schedule has been packed. Solid. I've been... repurposed at my school and doing the job search thing. There wasn't anything at all available by the time I started, so I'm still at the school I've been working at for the last 8 years. On top of that, I've been working like a dog at renovating my house so that I can sell it a little later this year. Hopefully, that'll be before the end of the summer, but at the rate I'm going, I'll be lucky to be done by that time.

Not everything has been paint, drywall, and resumes, though. The skunkworks has gone back into production. It took some time, but I managed to put together a basic coding machine from spare parts -- my workhorse can't run R5 or Zeta, which is a huge bummer. It has some minor issues, but it works well enough to get the job done. Unfortunately, I don't have a good coding environment (i.e. desk, forearm rests, decent chair), so I'm waiting on a KVM to arrive so that I can sit the development box beside the other one and be able to work without hurting myself.

I have my R2 document about as done as it's going to get, but because it seems like some people tend to offer their opinions without giving serious consideration to many of my ideas (and because design also needs testing), I've been hacking some code to put teeth to my ideas. So far things have worked as I expected them. Some are really exciting to play around with. Others need some more hacking. What are these things you ask? I'm not quite ready to let everything out of the bag just yet, but I'll tell more later. For now, one thing I will say that I'm studying the sources for Tracker and the Deskbar to be able to... improve them. I was never allowed to do anything official for R2 while a member of Haiku, but nothing is stopping me from doing stuff on my own while I have time this summer. Who knows? Maybe some of it will go into the official stuff then. It'd be nice to see R1 in the near future. I'd do some work, but it's terribly boring work and most of it is too technical for me to be able to do anything besides test. Oh well. I'm working on the fun stuff right now. *heh*

Just to give you an idea of what I've been up to, renovation-wise, here are the before and after photos of my bedroom, and it was not nearly as nice-looking as the before photo would have you to believe. The new wall color looks kind of pinkish in the photo, but's a nice light brown that looks awesome IRL.