Older blog entries for pcburns (starting at number 31)

I have been reading a few Computer-Human Interface books by Bruce Tognazzini and Jef Raskin. I want to learn how to make good user interfaces.

An intersting idea came to me after reading about Fitt's Law. Fitt's Law helps to quantify the time that it takes to target an object on the screen with a mouse. Basically, it will be easier and faster to hit the object if the object is large and close to the current mouse position. Both Raskin and Tognazzini site the example of the Macintosh menu bar which is located at the top of the screen. It is faster to use since the mouse stops at the top of the screen, making its effective size is much larger.

I've been trying think of ways to exploit this property further. Many unix desktops have virtual screens. Often you can switch virtual screens by simply moving off the edge of the screen. I have found this a little disconcerting. Often the scrollbar is right on the edge of the screen - if you don't take car you can miss the scrollbar and end up on a different virtual screen. Some window managers fix this problem by employing "friction". If you move the mouse off the edge of the screen the virtual screen does not change straight away, but if you keep it off the screen for a configurable time the virtual screen will change to the next one.

I thought about the way the mouse operates. Move the mouse to the point corresponding to 0,0 on your mouse pad and the mouse cursor will move to the point 0,0 on the screen. You can effectively scale the distance you move the mouse on the mouse pad to the distance it moves on screen by modifying the speed of the mouse. The fast the mouse the smaller the distance you need to move the mouse to move the pointer the same distance on screen.

Some games make it easier to target an object by giving the objects "gravity". If you move the mouse close to an object the game will move the pointer so that it targets the object.

Many desktops give the objects on the desktop a 3D look. Perhaps this look could be exploited in combination with Fitt's Law. Instead of treating the desktop as a flat plain think of it as populated with ridges and bumps and plateaus. The mouse should move the pointer fastest over flat surfaces. Moveing over a slope will cause the pointer to move slower, it has to move further after all. Consider moving the mouse out of an application window. It will take a few more rolls of the mouse to move the pointer over the edge of the window. I think this sort of idea has been tried out with "force feedback mice" but I have never used one so I'm not sure how effective it is.

Certified danny as I have read some of his essays and thought they were excellent. He appears to be a very good analyst. I could be wrong however...

Read an editorial on freshmeat about Trivial Software. Decided to update the entry I made for gtkmod While I don't consider gtkmod trivial I know that the project is dead. It's been transformed into PenguinSound. Unfortuneatly since I create the entry almost 2 years ago I no longer remember my username or password for freshmeat.

I originally made a page for gtkmod on xoom.com which was sold to NBC and became NBCI. I'm not sure what happened to my page on NBCI. I did a search for gtkmod on google and found a whole lot of links for it on rpmfind, davecentral, etc and although its page no longer exists on NBCI, it was cached in google.

Worked out how to use the Fl_Scrollbar widget in fltk. There appears to be a bug in the value method, where the bounds are set. You can get around it by simple calling bounds after value. I sent an email about it to the fltk mailing list.

I've been having trouble with menus in fluid 1.0.10. Others have also commented about it on the mailing list.

19 Jan 2001 (updated 19 Jan 2001 at 02:29 UTC) »

Discovered gvd. Found out that it was written in ada using GtkAda. Decided to learn a bit more about ada. Found a grea t tutorial for it. The tutorial features quizes at the end of each section. Its really, very well done. I'll have to think of a program to write so I can teach myself ada. I learnt c++ by writing a mod tracker.

I have been lurking on the Linux Audio Developers list. I've been learning a great deal. I've written partial support for LADSPA plugins. I just need to write a good user interface for connecting them together. I've been thinking about the code I've written and wondering how to convert it into LADSPA plugins. I'd like to convert my sample file code into plugins, though I'm not sure if LADSPA is flexible enough to support it. I just need to be able to give the plugin a file name. There are lots of other details to work out.

I've also been fixing up my mod tracker, improving the pattern entry widget.

15 Jan 2001 (updated 15 Jan 2001 at 11:23 UTC) »

I spent about 20 minutes writing a diary entry only to have netscape crash before I posted it. I've decided to switch to konqueror. It starts much quicker, and performs much better. The user interface is not as user friendly but much faster than netscape. If only it could do ssl - then I'd be able to get rid of netscape. I've lost lots of diary entries through netscape crashes.

Here's a quick version of the initial entry.

Been in the holiday mode for the past month or so. Went down the South Coast and spent a lot of time swimming at the beach or by the lake fishing. I had a go at kneeboarding. A woman returning from a walk along the beach didn't want to get her clothes wet while crossing a channel that emptied out to the sea. She took her clothes off leaving only her hat to protect her from the sun, and walked across the channel. This was on a public beach with scores of people around.

Couldn't get tickets to see B(if)tek so I contented myself with the fireworks display on Sydney Harbour. Managed to secure a good spot on a wharf near Milson's Point without putting too much effort in.

The Sydney Festival is underway. I went to a free Jazz Festival in the Domain on saturday night. The crowd was reportedly 100,000 strong. It had a fantastic atmostphere. Most people settled down to picnic, drink champagne or simply chill out with friends while listening to great music.

I've purchased quite a few cd's lately. One of my favourites is Kevolution by Purdy. He will be performing at Frigid on the forecourt of the Opera House on the 24th of this month, along with Tooth.

22 Dec 2000 (updated 22 Dec 2000 at 02:51 UTC) »
Telstra is soon to be offering a service called iCall which makes it possible to receive calls on a phone line while it is in use by a modem. Unfortunately it require Microsoft Netmeeting to operate, which means its only available to Microsoft Windows users. I would really like to use this service, but I usually dialup using linux as that way other computers on my home network can make use of the dialup connection. I wonder if anybody implemented the netmeeting functionality under linux?

Update

According to Linux Netmeeting HOWTO Netmeeting uses the H.323 protocol for video conferencing, the T.120 protocol for application and file sharing, and LDAP for the directory service. There is an opensource implementation of H.323 called OpenH323. OpenH323 development is coordinated by an Australian company.

20 Dec 2000 (updated 20 Dec 2000 at 09:07 UTC) »

I mailed Dave Phillips about PenguinSound, and he offered to list it on his Linux Sound Applications list. He also recommended subscribing to the Linux Audio Development Mailing list. I took a look at ardour by Paul Barton-Davis. The screenshots look impressive but I've yet to try it out.

I've been considering refactoring my filter, and generator classes to make them much more flexible. The current setup is not sufficient to support LADSPA plugins.

Its getting hot in Sydney.

I'm considering going to Newtown RSL to see B(if)tek on new years eve.

I am wondering what to do about PenguinSound. I need to spend a bit of time bug fixing before releasing it. Time that I don't have. Perhaps I should take a holiday and spend it on PenguinSound. It seems silly to spend a holiday at home in front of the computer. When I finally get a release ready I need to make a few announcements, perhaps to freshmeat.Christian Reiniger seemed happy to announce it on LGDC, though I am unsure if it will be useful to game developers. Despite not getting much attention - (I haven't made any releases yet, although the source is available, so I still have some hope) - I have been quite happy with what I have produced. I am able to create interesting samples by connecting together simple generators, filter existing samples. I need to do a bit more work on my tracker before I am satisfied with my tools, then I'll start learning how to write music. Through this project I have learnt quite a lot about computer music and how to program in c++. I learnt a bit about collaborating with other developers over the internet through my involvement with penguinplay. I am still learning how to use sourceforge. I haven't worked out how to get the commits and adds to show up on the summary page. The summary page makes the project look like it is dead. I'm still working on it, I just don't have much time.

I've installed the latest version of netscape (version 6) It is a great improvement over previous releases. It seems to be much more stable. I tried to use the instant messenger that came with it but was immediately put off it after failing to register any username that could remotely be associated with me.

I've grown to enjoy advogato. Although I haven't kept my diary very up to date - sometimes this is simply due to netscape crashing in the middle of a long diary entry - simply thinking about what to write about seems to buoy my spirits. It gives me a bit of motivation to keep going on with what I am doing. It gets my mind going.

11 Dec 2000 (updated 15 Jan 2001 at 11:21 UTC) »

I went looking for the Metaphorical Programmer but found that he was Blind.

9 Dec 2000 (updated 11 Dec 2000 at 00:58 UTC) »

Went to a retro themed Christmas party for work last night dressed in a white lounge suit . Received a lot of compliments on my costume and requests for disco dancing. I really enjoyed myself. I couldn't help but smile while in that suit, and as a bonus I looked really good in it. I was hoping to go to loveseat but didn't make it there.

Fixed some bugs in the Generators for penguinsound. The source is now in cvs on sourceforge. ChopperRingModulation now works well. I modified the sine generator so that a generator can be used as the frequency. I have also modified the directsound code to support streaming better but that is not yet in cvs.

22 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!