IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Seeking Suggestions for GUI Dev Environment Win or Linux
My requirements are a little odd.

I have to develop an app that users who are "data entry professionals" (mice hating dinosaurs who believe all keyboard commands are faster than clicking even when shown otherwise with a stopwatch) will use, but newbies can learn quickly.

It must be wicked responsive and I have to be able to trap keystrokes globally - not just have them routed to the "focused" widget. The idea being if you simply start typing a command, a text widget will open and give you autocompletion choices.

It must be able to call C/C++ libraries.

It must be wicked fast to put a GUI together and change it often.

Current candidates I'm looking at include VisualWorks Smalltalk, wxWidgets w/python, aggressive AJAX web app, C#/.NET, or plain old Windows development.

Thanks for any suggestions.



[link|http://www.blackbagops.net|Black Bag Operations Log]

[link|http://www.objectiveclips.com|Artificial Intelligence]

[link|http://www.badpage.info/seaside/html|Scrutinizer]
New OT: re mouse vs. keyboard
I can see single operations being faster with a mouse, but to me that's always been lost when you have to do some typing, and you're constantly switching one hand back-and-forth to the mouse. I'm not saying it isn't possible, I've just never seen something I'd call "data entry" where it would happen.
===

Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats].
[link|http://DocHope.com|http://DocHope.com]
New Research shows typing typically is faster.
Reach for the mouse: .4s
Move the mouse to target: 1.1s
Click: .2s per (ie. a double click is .4s)
Move hand back to keyboard: .4s

Keeping the hand on the mouse saves 1s per operation, which isn't common for data entry apps.

Moderate typists do about .2s per keystroke (control keys are counted as separate keystrokes). Fast typists do about .08s per keystroke. So if the choice is between typing "emacs" and clicking on the emacs icon, the comparison will be:

Mouse:               .4 + 1.1 + .2 + .4 == 2.1s\nKeyboard (moderate): .2 * 5             == 1.0s\nKeyboard (fast):     .08 * 5            == 0.4s

These are numbers from research done for the GOMS method of UI analysis, which has been extensively studied (and uses timings a bit more accurate than a stopwatch).

Note that I have also not included the congnitive timings; typically you put a modifier where the user has to stop and think about what to do next (like "which icon should I click"). These timings are subjective and can vary widely based on familiarity with the UI. Typical cognitive timings are on the order of 1.35s.

Bottom line: I'm wary of anyone's "stopwatch numbers" that purport to prove that a mouse is faster than the keyboard, because such a result goes against a lot of verified research. Stopwatch numbers also have situational bias: "OK, I'm going to time you, so click on that icon as fast as you can! Ready, set, go..."
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New They already use the mouse
but just to select and copy stuff. Mostly they use command line tools but often they need arguments that were returned from other tools. For instance, the order-id is a long alphanumeric string that they copy and paste all over the place.

Anyhow, I'm trying to build for best of both worlds - very responsive to keyboard freaks, but still enough of a helpful conventional gui for newbies to ramp up on quickly.

Anybody know the state of wxWindows/Ruby? Is it as good as python? Seems we already have a number of ruby interfaces to services - but I'd need to port them to python.



[link|http://www.blackbagops.net|Black Bag Operations Log]

[link|http://www.objectiveclips.com|Artificial Intelligence]

[link|http://www.badpage.info/seaside/html|Scrutinizer]
New I haven't used wxRuby
I used wxPython several years ago and it was quite good back then. I suspect that porting anything between Ruby and Python is going to be relatively easy.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New I've done more investigation
wxRuby seems stillborn. No work has happened on it in a couple years. I guess ruby people have decided to focus on web apps.

I downloaded the python stuff and it seems quite good. I suspect this has a bit to do with all the work the Chandler people put into it.




[link|http://www.blackbagops.net|Black Bag Operations Log]

[link|http://www.objectiveclips.com|Artificial Intelligence]

[link|http://www.badpage.info/seaside/html|Scrutinizer]
New That's always a bad sign.
I used wxPython for a small project about 4 years ago, and it was very good back then.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New A plus for WxPython - wxPython in Action book is available
Review [link|http://www.voidspace.org.uk/python/weblog/arch_d7_2006_04_29.shtml#e319|here]

Also, there's [link|http://sourceforge.net/projects/waxgui|Wax], which is a more Pythonic interface to part of wxPython.

--Tony
New Maybe Delphi/Kylix, probably Python.
It is probably a [link|http://www.informationweek.com/news/showArticle.jhtml?articleID=187003310|risky choice] as Borland's tools are in a state of flux now, but you can get Kylix3 for Linux for as little as $249 for a new Professional license. Delphi starts at $1090 for a new license.

It sounds like you need something that you can hack on quickly. That probably means something GPL/Open Source (you don't want to wait on Borland or MS or ... to fix your problems).

If I were in your situation, I'd probably go with the Python solution. I would avoid MS unless they were the only ones with a working toolset that met your requirements.

Good luck.

Cheers,
Scott.
New thoroghbred idol
[link|http://www.thoroughbredsoftware.com/datasheet/productoverview.html|http://www.thoroughb...ductoverview.html]
/me dux but dam fine/fast
Any opinions expressed by me are mine alone, posted from my home computer, on my own time as a free american and do not reflect the opinions of any person or company that I have had professional relations with in the past 50 years. meep
New Emacs


Peter
[link|http://www.no2id.net/|Don't Let The Terrorists Win]
[link|http://www.kuro5hin.org|There is no K5 Cabal]
[link|http://guildenstern.dyndns.org|Home]
Use P2P for legitimate purposes!
New C#/.Net
Trapping Keystrokes Globally:
From the Winforms FAQ:
How do I process certain keys at the Form level, irrespective of which control has the focus?

When the Form.KeyPreview property is set to true, the Form's KeyPress, KeyDown and KeyUp events will be fired even before the Control with the focus' corresponding events. You may choose to forward these message to the Control after processing them in the Form's event handlers (this happens by default) or set the e.Handled property to true (in the event argument) to prevent the message from being sent to the Control with focus.

Calling C/C++ code:
.Net has the P/Invoke mechanism for calling native DLLs and COM interop for calling COM objects.

--
Chris Altmann
     Seeking Suggestions for GUI Dev Environment Win or Linux - (tuberculosis) - (11)
         OT: re mouse vs. keyboard - (drewk) - (6)
             Research shows typing typically is faster. - (admin) - (5)
                 They already use the mouse - (tuberculosis) - (4)
                     I haven't used wxRuby - (admin) - (2)
                         I've done more investigation - (tuberculosis) - (1)
                             That's always a bad sign. - (admin)
                     A plus for WxPython - wxPython in Action book is available - (tonytib)
         Maybe Delphi/Kylix, probably Python. - (Another Scott)
         thoroghbred idol - (boxley)
         Emacs -NT - (pwhysall)
         C#/.Net - (altmann)

None shall pass!
96 ms