Showing posts with label usability. Show all posts
Showing posts with label usability. Show all posts

2007-12-11

Static vs Dynamic: Holywar in the rubbish chute

From a discussion at Not a kernel guy

The cafe trash bins are in groups of three pieces: for plastic, aluminum cans and the rest of the garbage. There are big icons on them so that no one would throw plastic can to the usual garbage bin. It would be nice but cleaners change bins places from time to time, which causes customer pain and frustration. Each person that has already raised arm to throw, hangs on for ten seconds, trying to understand what happened.

I laughed at the classification of the solutions offered in comments:

Static cast: You should have three bins of different shapes and make a stand with according slots then put them in a different order will be problematic.

Dynamic cast: You should stick the same icons opposite each bin then the cleaner would recognize these stickers and would think about the right order…

Duck typing: You should replace all bins of exactly the same without the icons, but put them on trays with icons (indicating the type of garbage) - ie indication of the type is external to the container =).

2007-11-23

Linux on Laptops

While choosing and tuning my notebook I searched the whole Internet about how Linux works on computers from different vendors.

I did not like:

IMHO plain text is not very good for the description of the supported hardware. Why there is not a site where the user is prompted to place a pre-defined set of ticks and to write a comment, if necessary?

Since it's great to see comparative tables for different laptops or distributions.

2007-10-18

Why are Shortcuts Files?

It's a regular joke: guys either e-mail a shortcut to a local file or get angry that at 4 Gb USB devise taken to 3 hour journey for a purpose only a tiny shortcut is placed.

It turned out it was initially planned so:
It had to be possible to copy a shortcut to a floppy disk or send it to a colleague as an e-mail attachment...

2007-10-15

The naked object

Consider a forest with birds singing in the trees and flowers covering its floor. We caneasily walk
along its paths or you can be adventurous an make your own paths. We can
select any aspect of its complex
ecosystem and study it for your doctoral thesis. There is
unlimited complexity, yet any human can
master it to suit his or her purposes. There is no
reason why a computer system should be more
complex than a forest. I believe that the
current complexity is man-made, and that we can
resolve it by changing our approach to
software development. We merely need to get our priorities right and create
the appropriate
tools. If we decide to build systems for people, then we will get systems tha can be mastered by people.
Trygve Reenskaug In the foreword to Naked objects R. Pawson Phd Thesis


An approach offered by creators of Naked objects framework looks very interesting, at least for the quick prototyping. Refuse, auto generation of UI, return to the OO basis - full-fledged objects with considerable behavior.

A big advantage is that the interaction with user happens by the most usual noun-verb script. IMHO, only Raskin zoom interface is required to be absolutelly happy. And for the convenient navigation on great number of open objects something like Leap is needed.

In web implementation from the outside it's very similar to like Django admin interface interface, in full-fledged GUI clients interface is much more interesting.

Update 18.10.2007: Naked objects discussing at ltu
Update 29.10.2007: Martin Fowler's article with the critique of objects without behavior and a critical response to it in some blog.

2007-10-05

Push or pull

An interesting solution of the problem of the eternal doors push or pull confusion has appeared in comments to a blog "In search of usability".

Indeed, if physically alter a door so that it would seems not fully closed when in fact it is closed, then no mistake can occur in principle.

2007-09-17

Who needs this weather?

I look at gismeteo and do not understand if I live till weekend without a coat or not. Day, evening, morning, wind, rain... a lot of numbers.

I'd like to have a plain and simple site of one page displaying boy or girl dressed according to current weather. Probably, with umbrellas, or in rubbers. Probably, with smiling faces in the sunshine or with wrinkled faces in the wind.

But so that I have a look - and understand how I should dress in the morning.

That's all.

Update 21.09.2007: Thnks to . There is such a service!
Update 07.02.2008: And here is onemore - Predict the weather at cumul.us

2007-09-06

Yet another text processor

When the matter is alternative to visual editors ala MS Word and Open Office only TeX and its derivatives are usually mentioned. At link ltu I met yet another interesting project - Lout document formatting system.

The whole range of formatting features in Lout is implemented on the base of 23 primitive operations and hem... an interesting concept Galley.

With this small basis even the concept of page(!) is possible to define. And the marking language itself can be used as an example of why lazy evaluation matters.

I liked one of basic units p - width available to an object mines the object width. I.e. 1p is a margin for right edge alignment and 0.5p is a margin for centering.

I wonder what language problems forced the author to switch to the creation of a new project...

Hem.. whether ideas implemented in Lout can be used for the creation of a new wiki dialect? At first sight tables formatting using // and @Onerow combinators is more pleasant than to edit sheet of <td> and <tr>.

2007-08-29

What the fun??

I do not understand.

Why in NUnit and in new Junt instead of simplest agreements of tests naming attributes and annotations are used. All the same, it's very difficult to give more suitable names to SetUp, TearDown and TestSomething methods.

It's hard to agree with an opinion that it's more clear in such a way
[SetUp]
public void SetUp() {}


Class attribute instead of the inheritance from TestCase is great. Now the free place of ancestor a class being tested can get. This is for a case of protected stuff is desired to be tested.

Yes, if in a base class suddenly there are methods which names start with Test and which are not tests themselves then indeed needed things can be selected only with explicit attributes. But this is such a rare case...

P.S. Many other things related to testing I consider are better to implement with attributed.

2007-08-02

The big gap between web and me

Wiki is a wonderful thing for the document writing... until you like to include a screen shot.

Two default scripts:

  • Linux Gnome: Print Screen -> Save -> Wiki Add Image -> Open File Button -> Locate it -> Ok -> Upload

  • Windows: Print Screen -> Open MSPaint -> Paste -> Save -> Wiki Add Image -> Open File Button -> Locate it -> Ok -> Upload

How much better to use a usual visual editor (not emacs).
  • Print Screen -> Paste
I'd like:
1) Either an external utility which on PrintScreen pressing saves a picture into temporary folder and places to the clipboard full path to it;

2)either Firefox plug-in, understanding that if clipboard contains a picture and I paste it to file upload field then the picture should be temporary stored and full path to the file should be inserted in the field.

An external utility breaking the standard behavior is not desirable, can't google Firefox plugin..
I'm curious if the are elisp api for working with pictures from the clipboard.

2007-07-19

File browser with tags

LJ user olpa asks himself: File browser with tags. Why it is needed?

IMHO if one uses such a browser then the functionality implemented in more specific programs a-la Windows Media Player or Picasa has become absolutely useless.

I myself started to dig in the similar direction. But first of all I'd like to files combine by tags be available in any program including the ill-stared dialog Open File.... And I do not like to implement yet another file manager.

The problem is easy solved at file system level and it seems to be all: sqlite base + fuse + console utility + nautilus plugin, it's rather easy and beautiful implemented. But damn, it will not work on Windows.

Update 23.07.2007 The modest operating system Emacs supports it for a long time.

2007-07-05

Benefits of layouts and the structural programming

In addition to this
Visual interface builders save time only as the expense of one shouldn't think about the beauty and the convenience of the interface. Slam bang - and a heap of trash as a result.

Layouts make easier manual coding significantly, provide visual symmetry of the interface and force to think about the information structure.

For the comparison:


credits-na-pivo-oldcredits-na-pivo





Which one is better? What else can be improved?

2007-05-22

Why Visual RAD tools not so rapid at all

Why I do not feel comfortable at visual programming environments:

10% screen for 90% work - It's easy to sketch a prototype but for making it work as expected one has to click in a tiny Property window for a long time. Drug, drop and ready? IMHO the speed of work increasing is reached not by the convenience of graphical interface but by throwing away some important actions which we do when writing the code - formatting, naming variables, code structuring.

No Undo - Even if developers tried their best and basic actions can be undone meta information changes are fatal as a rule. Properties much talked about are 90% of work. Even in such a mega visual environment as Microsoft Word we open document properties, change an author, press OK and thats all - the transaction is committed.

No code comment/uncomment - Of course, it's good - quickly drag, drop and it's ready... but after that - what if it will be better like this: make some changes, oops, do not like it - return everything as it was. But how? I can not comment the code, write new one and return everything as it was, if required. Do not offer me commit to the control version system on every click.

And the most important - Leaky Abstractions.
If the lower environment is not RAD itself you can save it by no visual interface.

When trying to create Rich user interface around a piece of something strange appears the necessity of storying some meta information about the system state. And very often the revers synchronization of a state to a meta information is impossible. As a rule, in practice it means that the interface keeps the user in the bounds of defined scripts. To change something under hood directly, not from the interface, is impossible.

Troubles begin in understanding interconnections between operations in the interface and actions doing in the system. If the system and the interface are not isomorphic it is absolutelly impossible to understand why you've lost wings after you just made legs.

If you'd like RAD - change the conservatory.

2007-03-30

Usability: jalousie

I have difficulties...Every time to understand which string should be pulled in order to open or close jalousie I have to examine what's going on above and where the limiters are placed. Or to detect the required string by the hit-and-miss method.

The problem of visual indication is easy to solve — I just have to paint the string into gradient color ring. Now jalousie are closing if blue color is closer to you.

The opened question is tactile indication. How the beads shape should be changed so that the fixing mechanism could work and in the same time it would be convenient to pull both bottom-up and up-bottom?
Cool idea — thanks to mikhail_maximov: As a variant — stick a nail into a wall so that the string will catch on it and you'll be happy: left up — to open, right up — to close, if you'll pull the string the other way the action will be inversed ;-)

But we still need the visual indication, it can be implemented just by grey gradient — if you wish to close jalousie, you should pull down the darker part of string.



2006-09-22

Usability: Integration of file manager and File->Open dialog

In the light of the previous post I thought that copying the full path to a file to the clipboard and inserting it into File Open dialog running from another program it's a solution of a problem that could never happen.

I know two ways of starting work with a file. The first one is to open a required program, run File Open dialog and chose the file. The second is rely upon file manager, find and «run» the file from it. Many times I've met an opinion that that the possibility of the user interface to do the same thing in a few ways is not good. There is a point of view that files should not be opened at all...

In short, the best problem solution is the problem absence. But it is still not clear what to do with all this variety of programs and file managers.

On linux waving the magic wand LD_PRELOAD and replacing standard libraries without recompiling I can do everything I wish, I can dream:

Throwing off all pink elephants in yellow pants it seems to me that the most digestible solution is to display in File Open dialog folders, which are opened in my file managers.

As usual, they are about 10-15, so it is not difficult to pick up a necessary file. There is no need of copying and inserting anything. My attention is not spread on a whole lot of hard disk folders, everything I need is opened in my Nautilus. I'm concentrating on my task.


Update: No, it's not convenient, there is a need to open a file in a subfolder of an opened folder, so we've come to the beginning — the whole tree in File Open dialog.

2006-09-11

Usability: Undo

It's interesting, emacs has no concept of redo, a result of consecutive undos it's just a new state which in turn can be undone.

In the usual implementation of undo / redo when any changes are done after a series of undos all undo states are lost. From one side it is correct, and from the other side it is not. If the states were really wrong, the user will not remember about it and all is good, but if I drew a path in Photoshop, undo it, painted again... decided that at the first time I did it better and oops ...


Similarly, realization back/next in browsers bothered me until bookmarks support appeared.

True, in emacs also not everything is clean, to undo a part of a series of consecutive undos I need to type some useless keys combination to force emacs record the state. I would prefer undo sequence happens in the quasi mode: C-x C-u and while I hold Control and type then state fixing does not occur, if I make a mistake then I release Control the state is recorded and I can undo it again without changing my hands position.

2006-05-11

Usability: Pager


"The real danger is not that computers
will begin to think like men,
but that men will begin to think like computers."

Harris, Sydney J. American journalist


The standard behavior: there are 21 photos, it is required to place this treasure at a site. It's not cosher to dump all at once, it should be divided for separate pages, say, 10 photos per page. As a result on the last 3d page will be a single photo, which is not convenient. To look at one or two photo one should go to a link... wait...

The situation became worse when working with mail through web. Marking 11 messages as «read» takes the same time as for 20 messages.

Although it will take a programmers 15 minutes to place at the last page on 30 % more items, if it allows to avoid transferring remains to the next page.

2005-12-20

But why?

I'm listening to the music all the day long — rarely I'm in the such mood.

Damn, it's uncomfortable. Why headphones are tend to be symmetric? To distinguish the left ear from the right one you should have a good look at a tiny label. They should make a little pimple at a dynamic. If you feel the pimple from the left then you got it right.

If I'll be in the same mood tomorrow, I'll stick a piece of tape.