Author Topic: Software Ergonomics  (Read 7549 times)

0 Members and 1 Guest are viewing this topic.

Offline gh_pp

  • Thread Starter
  • Posts: 199
Software Ergonomics
« on: Sat, 15 February 2014, 16:04:17 »
Please tell me I'm not the only one. But I love Microsoft word.

And it's not what you think, not because of all the fancy features they added over the years, it's the ergonomic feature - auto correction as you type.

Some people on this forum are obsessed with custom/60% keyboard layout and such, but I found that much of the annoyance of everyday computing can be avoided with careful software design.

The only one thing that I hate most is having to use the shift key. I can touch type at a decent speed (90wpm) but the capitalization and symbols requiring shift just hurt my hand.

Now in Microsoft (micorosoft => Microsoft) word I just type away and don’t (dont => don't) have to worry about using the shift key even with the occasional typo (teh => the).

That's why I hate using web textarea or composing email using a browser. When I'm using my main PC I would just fire up word, type up the response, ctrl-A ctrl-c and paste it into the web form.

I know there are software out there that mimic this feature (textexpander for osx) but they just don’t work perfectly like MS Word (ctrl-z in word lets you undo the auto correct first, then subsequence ctrl-z will undo the typing).

Another form of frustration as a programmer is that most languages don't design with a keyboard layout in mind.

Some languages allow you to use both " & ' to quote string (guess which one I'd use) but in most mainstream languages (hello C & Java) you don’t have a choice and it slows down my typing so much and I sometime resort to use the mouse to copy & paste if the word quoted is already somewhere on the screen.

And function calls wrapped with () and block with {} ? Damn those.

To me the only modifier key that don’t hurt while I type is the meta (alt) key. (love the readline/emacs M-b M-f navigation, M-/ completion, not so much for other crazy keycords)

Even I hate using a custom keyboard layout one of these days I might get a fully programmable keyboard like the phantom (sadly they are not easily obtainable with your choice of switch and layout) to see if it is possible to hardwire [ to { and ] to } by toggling a FN layer.

So what's your story? Anything interesting you guys can share?
« Last Edit: Sat, 15 February 2014, 16:10:50 by gh_pp »
QFR brown x2, Realforce 45G, Type-S, Keycool 22 blue

Previous keyboards: 55G, IBM Model M, Dell AT101W, Fujitsu FKB4725, G80-3000 clear, QFS green, QFS blue

[WTB] Custom keyboard build

Offline Lanx

  • Posts: 1915
Re: Software Ergonomics
« Reply #1 on: Sat, 15 February 2014, 16:08:23 »
get kinesis, bind shift to the thumb area, your pinkies will be forever saved.
(this coming from someone who practiced correct shift usage like using the opposite pinkie for capitalization i.e. for Z use right hand pinky shift)

Offline gh_pp

  • Thread Starter
  • Posts: 199
Re: Software Ergonomics
« Reply #2 on: Sat, 15 February 2014, 16:17:52 »
I used to have two Advantage Pros (one for work, one for home) completed with the foot step.

The issue I have with them is the same as the dvorak layout (I used it for a year).

You have to adopt them as a way of life. When I was using them, I hated it every time I have to my other computers or laptops. (No space nor practical to have one Kinesis for every PC I use)

As for typing up some texts, I'd saying using auto-correction is a stress free solution, compared to say having the shift in the thumb position.

But I do agree that it's valuable to break the 6.25/7 spacebar into 3 keys like the topre JP edition while still using a standard ansi layout.

TBH the thumb keys are what make the kinesis a kinesis. The bowl shape doesn't do it for me (nor the bulk of the case).
« Last Edit: Sat, 15 February 2014, 16:20:57 by gh_pp »
QFR brown x2, Realforce 45G, Type-S, Keycool 22 blue

Previous keyboards: 55G, IBM Model M, Dell AT101W, Fujitsu FKB4725, G80-3000 clear, QFS green, QFS blue

[WTB] Custom keyboard build

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Re: Software Ergonomics
« Reply #3 on: Sat, 15 February 2014, 16:35:31 »
ErgoDox.

Offline angelic_sedition

  • Posts: 124
  • Location: Flatland
Re: Software Ergonomics
« Reply #4 on: Sat, 15 February 2014, 16:40:23 »
What? I'm so confused. I can hardly imagine a less ergonomic program than word.. Opening up a word processor to compose an email? I don't see any benefit of that. Compare ctrl+a ctrl+c to y and p (vim bindings) in terms of ergonomics. I use mutt, so all I have to do to transfer an email I've written in the text editor of my choice is hit a single home row key to save and close. Tons of editors feature text expansion. Autocorrection is extremely common as well, and I've never had problems using tools to do either universally on osx, linux, or windows. If you have such a problem with() and {} and ' " (which I don't quite understand), then I'd recommend remapping them to a more comfortable position. Swapping { and [ is quite easy with software, but I never use their default positions anyway, since they are terribly placed.

For alternate layouts, if you carry a thumbdrive, you can have your layout on any windows computer (using pkl or just an ahk script made into an exe). With a small programmable keyboard, you can have them anywhere.

Real "software ergonomics" to me is never having to take your fingers off the home row and no use of pinky modifiers. If I ever have to use a word processor, I use libre office or open office with modal vim-like bindings I have set up. In terms of software, software remapping and good keybindings goes a long way.
QWERTY(104wpm) -> CarpalxQ(modded) -> Colemak(118wpm) -> Colemak-DH
Mouse less.

Offline Findecanor

  • Posts: 5036
  • Location: Koriko
Re: Software Ergonomics
« Reply #5 on: Sun, 16 February 2014, 03:36:21 »
Another form of frustration as a programmer is that most languages don't design with a keyboard layout in mind.
...
And function calls wrapped with () and block with {} ? Damn those.
I'd suggest you'd take a look at Ruby, if you haven't already. You have a choice between C-syntax and Pascal-like syntax for many things. It is nice in many other ways as well.
Or use Python, unless you hate indentation as blocking.

Offline kfmfe04

  • Posts: 92
Re: Software Ergonomics
« Reply #6 on: Sun, 16 February 2014, 03:46:42 »
vim + hhkb

zero complaints/end-of-story
⌨White Blank HHKB P2 ⌨Filco TKL SA MXRed
Interests: ⌨AcidFire's Board ⌨Kinesis Advantage LF

Offline tufty

  • Posts: 347
  • Location: French Alps
Re: Software Ergonomics
« Reply #7 on: Sun, 16 February 2014, 13:32:22 »
Another form of frustration as a programmer is that most languages don't design with a keyboard layout in mind.
Languages shouldn't design with a keyboard layout in mind.  Languages are designed with one thing in mind (or should be[1]), and that's the unambiguous expression of a particular (set of) idiom.  Syntax is just syntax, it's irrelevant - If you don't like a particular type of syntax, invent another one and wrap your language of choice in a preprocessor stage (or, if you're using a proper programming language[2], write a DSL that works the way you want it to.)

As for word, I will happily piss on its grave (and that of every other pisspoor clone[3]).  It's a bloody awful tool for word processing, let alone anything else, it can come back and play when it's learned to typeset properly.

Simon

[1] Unless it's something like PHP, which appears to have been stitched together, Frankenstein's monster style, from bits of rotting carcass found on the roadside.
[2] Lisp
[3] OpenOffice, etc etc.

Offline jacobolus

  • Posts: 3661
  • Location: San Francisco, CA
Re: Software Ergonomics
« Reply #8 on: Sun, 16 February 2014, 22:07:31 »
As for word, I will happily piss on its grave (and that of every other pisspoor clone[3]).  It's a bloody awful tool for word processing, let alone anything else, it can come back and play when it's learned to typeset properly.
Seriously. If word could do (0) real support for character/paragraph styles, as the primary way of changing document appearance instead of a badly tacked on afterthought, (1) proper kerning and ideally some automatic kerning of badly kerned fonts [and damn, many of the fonts that ship by default with Windows have *horrible* kerning tables], (2) proper paragraph layout with a good hyphenation/justification engine, (3) typographic layout features like hanging punctuation, optical alignment, etc., (4) proper support for essential typographic features like small caps, ligatures, alternate glyphs, etc., (5) reasonable layout of embedded figures, text boxes, and other elements that didn’t make the user start bashing their head into the wall, (6) proper support for multicolumn layouts, (7) proper support for footnotes and endnotes that don’t look like garbage, (8) how can we forget the monster that is Clippy, and all the other bull**** “helpful” wizard type features which deserve nothing more than summary execution, &c. &c. &c., then it would start to be barely usable for making real documents.

That still wouldn’t fix the problems like: ****ty default typographic/layout choices, layout bugs, crashes, non-obvious data-loss without any warning, exposing your deleted text to savvy third parties, utterly dysfunctional collaboration features, undocumented and terrible file formats intentionally broken to prevent other software from interacting with word files, incompatibility between files saved in different versions of word (such that old files no longer lay out the same on new software versions, e.g.), macro features that allow a text document to run arbitrary code and root your machine, a history of anti-competitive market behavior that pushed out all other competing software and left the market stagnant for 20 years, etc., but at least it would be possible to make a presentable document.

Word is software designed by committees of people who had no taste and no respect for written language. For all the billions of dollars Microsoft has made from selling it, its inability to handle basic typography is basically inexcusable. It’s amateur hour. Word has basically doomed generations of Word customers to crappy looking documents for no reason. [And note, that also goes for Open Office, Google Docs, and so on, whose mission in life seems to be to clone crappy MS software as closely as they can get away with, and add no original ideas or fix any of the broken parts.]

It’s especially too bad, because up through Word 5.1, released in 1992, Word for Macintosh was a pretty nice piece of software, considering the constraints of the machines that it ran on.
« Last Edit: Sun, 16 February 2014, 22:12:09 by jacobolus »

Offline jacobolus

  • Posts: 3661
  • Location: San Francisco, CA
Re: Software Ergonomics
« Reply #9 on: Sun, 16 February 2014, 22:13:51 »
To the OP: you need a proper text editor. Whether that’s Emacs, or Vim, or TextMate, or Sublime Text, or whatever, just pick one up and start learning it. Or heck, even grab Notepad++ or something.

Offline thegagne

  • Posts: 69
  • Location: United States
Re: Software Ergonomics
« Reply #10 on: Sun, 16 February 2014, 22:27:53 »
What about a text editor for print/technical papers? I like vim as much as the next guy but it doesn't really lend itself to use of footnotes, page numbers, etc.

Offline angelic_sedition

  • Posts: 124
  • Location: Flatland
Re: Software Ergonomics
« Reply #11 on: Sun, 16 February 2014, 22:34:05 »
What about a text editor for print/technical papers? I like vim as much as the next guy but it doesn't really lend itself to use of footnotes, page numbers, etc.

Eh? Stuff like vim-LaTeX and LaTeX-box. I mean, if you're really interested in good typography, you'll likely end up doing something similar anyway, even if you're not using vim.
QWERTY(104wpm) -> CarpalxQ(modded) -> Colemak(118wpm) -> Colemak-DH
Mouse less.

Offline jacobolus

  • Posts: 3661
  • Location: San Francisco, CA
Re: Software Ergonomics
« Reply #12 on: Sun, 16 February 2014, 22:59:19 »
What about a text editor for print/technical papers? I like vim as much as the next guy but it doesn't really lend itself to use of footnotes, page numbers, etc.
For anything that needs to be printed [i.e. can’t just be a plain text document, or a website] especially anything without too many mathematical formulas and which has tricky layout needs [if layout can follow a simple set of style rules, or there are many formulas, use LaTeX], I just use Adobe InDesign. It’s a bit harder to learn/use than a standard Word processor, but I trust it to not get in my way at every turn like all the text editors do, and once learned it’s possible to make a document look like pretty much anything.

Offline gh_pp

  • Thread Starter
  • Posts: 199
Re: Software Ergonomics
« Reply #13 on: Mon, 17 February 2014, 21:51:53 »
I'm not using word to typeset or write a book. Just to compose a message or reply to email. Again, I don't care about the bells and whistles, I just love its auto correct implementation.

I'm a proficient common lisp / scheme user.  The variable naming convention is less stressful for your hands than other languages.  No CamelCase or under_score. Just lowercase letters and dashes to separate words.

Some people can program it with vim, I found that emacs is a must just for the parent-edit mode and SLIME. I do have a heavily customized bindings for CL, [] swapped with () etc.  Most of the time I don’t need to use the shift keys.

However for other languages I use multiple tools/editors. You spend a lot of time reading other peoples (or yours) code and jetbrains's products are the best when it comes to code indexing and navigation (python, java, ruby, php, javascript, etc).

Off topic: I love macros in CL, tail call optimization in scheme. It's too bad they have their own issues (some are social/psychological) to become mainstream / popular.

QFR brown x2, Realforce 45G, Type-S, Keycool 22 blue

Previous keyboards: 55G, IBM Model M, Dell AT101W, Fujitsu FKB4725, G80-3000 clear, QFS green, QFS blue

[WTB] Custom keyboard build

Offline tufty

  • Posts: 347
  • Location: French Alps
Re: Software Ergonomics
« Reply #14 on: Tue, 18 February 2014, 10:10:54 »
I'm not using word to typeset or write a book. Just to compose a message or reply to email. Again, I don't care about the bells and whistles, I just love its auto correct implementation.
I'd understood that, but I would argue that using word just for its spelling correction is overkill.  Total, bloated, security-hole ridden overkill.

If you want "software ergonomics", you need something that's system wide.  OSX, for example, has  system-wide spellchecker and autocorrecter - every text box, text area, everything, are (or can be) spellchecked, on the fly or as a one-off run.  I *think* Win8 has something similar, at least for its ****-awful "modern" interface apps, and if you're stuck on earlier Windows, there's always tinyspell (http://tinyspell.numerit.com/).

Using Word to try and make the usability of Windows less **** is like taking 2 turds and smooshing them together with your hands - it doesn't result in anything that's less turdy, but nobody will want to shake hands with you afterwards.

Yes, that was a bit of a system-troll.  Please don't bite.

Offline shaaniqbal

  • Posts: 145
Re: Software Ergonomics
« Reply #15 on: Tue, 18 February 2014, 13:01:35 »
Please tell me I'm not the only one. But I love Microsoft word.

And it's not what you think, not because of all the fancy features they added over the years, it's the ergonomic feature - auto correction as you type.

I agree. Microsoft Word has one of the best correction systems out there, and I've tested a fair few.

I'd be curious to try OSX's and Windows 8's system wide offering.

Offline gh_pp

  • Thread Starter
  • Posts: 199
Re: Software Ergonomics
« Reply #16 on: Tue, 18 February 2014, 16:05:14 »
Don’t worry this forum is a lot more mature than other places on the internet. Not biting the troll bait :)

Word fires up in less than a second on my system (and instantly on my other box with ssd).

I think it was clear from the way I described it but I should have named it “Auto capitalization + correction” instead of just autocorrect, although that’s how Microsoft market it.

I want to minimize the use of the shift keys when typing text and just autocorrect isn’t enough.

OSX’s system wide auto correction is fine (but you have to “steal” the autocorrection list from somewhere), but it doesn’t do auto-capitalization.

Typos occur rarely compared to the times when you have to capitalize words.

System wide autocorrect is annoying as I only want it active when I’m working with text, not when I’m programming.

Actually emacs has a pretty nice implementation of both, but again you have to steal the list somewhere, and the undo mechanism is not perfect.


QFR brown x2, Realforce 45G, Type-S, Keycool 22 blue

Previous keyboards: 55G, IBM Model M, Dell AT101W, Fujitsu FKB4725, G80-3000 clear, QFS green, QFS blue

[WTB] Custom keyboard build

Offline shaaniqbal

  • Posts: 145
Re: Software Ergonomics
« Reply #17 on: Tue, 18 February 2014, 16:23:02 »
Another thing you could do is reassign caps lock to shift. I like it that way.

The problem with just taking a "list" of autocorrections is that they won't cover typos you make that are not in the list. So an intelligent autocorrect system is preferable like MS Word's.

Asutype is a software you could try. It offers a decent system wide autocorrect and autocapitalisation that you can switch on and off by pressing both shifts.

Offline gh_pp

  • Thread Starter
  • Posts: 199
Re: Software Ergonomics
« Reply #18 on: Tue, 18 February 2014, 16:35:37 »
PhraseExpress is also pretty good, free and portable too (love portable software). Have a plugin that you can install for auto capitalization.

http://www.portablefreeware.com/index.php?id=2208

But again, not implemented as nice as Microsoft word. Nothing beats the out of box AC experience of word.
Just start and type away.

Most of the these software require some tinkering to make them work properly.

But if you work in tech support and requires a lot of templated responses ( probably your employer already have it setup for you), it's good investment to spend time configuring one of those text expander.
« Last Edit: Tue, 18 February 2014, 16:37:22 by gh_pp »
QFR brown x2, Realforce 45G, Type-S, Keycool 22 blue

Previous keyboards: 55G, IBM Model M, Dell AT101W, Fujitsu FKB4725, G80-3000 clear, QFS green, QFS blue

[WTB] Custom keyboard build

Offline shaaniqbal

  • Posts: 145
Re: Software Ergonomics
« Reply #19 on: Tue, 18 February 2014, 16:44:40 »
Yeah, I love Phrase Express. I use it all the time for shorthand. I've tried that plugin but it doesn't seem to be entirely reliable. Asutype's autocapitalise is better. Oh and you can assign a hotkey to undo corrections.

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Re: Software Ergonomics
« Reply #20 on: Tue, 18 February 2014, 17:36:22 »
We want to provide the productivity increase provided by PhraseExpress free-of-charge to all personal users (definition).
(...)
We consider professional use in following cases:
  • PhraseExpress is used for any activity which generates a financial benefit (salary, wages, commission, revenue, etc.). This includes educational and/or charity organizations if the actual user is being paid for the task.
  • If PhraseExpress is used on a computer which is connected to a professional network infrastructure such as domain controllers or use on a Windows Server OS.

Offline shaaniqbal

  • Posts: 145
Re: Software Ergonomics
« Reply #21 on: Tue, 18 February 2014, 17:46:20 »
davkol: If you wanted something completely free Autohotkey would be good.

gh_pp: I forgot to mention another cool trick you can do in Microsoft Word is have it automatically correct mistyped words that weren't picked up by the default autocorrect, by assigning a macro that scans the document and changes words to the first suggested word. It's surprising how often it guesses the intended word correctly. To do this you create a new macro:

-----------
Sub AutocorrectAll()
'
' AutocorrectAll Macro
'
    Dim oSE As Range
    Dim oSC
    For Each oSE In ActiveDocument.Range.SpellingErrors
        Set oSC = oSE.GetSpellingSuggestions
        If oSC.Count > 0 Then
        oSE.Text = oSC(1)
        End If
    Next oSE

End Sub
-----------

I have this macro assigned to ctrl+shift+i.

Another interesting concept for very powerful auto correction would be using Google's suggestions. I think if we tapped into the power of the internet for autocorrection the results could be interesting. Certain Android keyboards do this to an extent. There's been an Autohotkey script that sort of does this but you have to select the text manually first:

http://www.autohotkey.com/board/topic/100293-autocorrect-anything/

Offline jacobolus

  • Posts: 3661
  • Location: San Francisco, CA
Re: Software Ergonomics
« Reply #22 on: Tue, 18 February 2014, 19:18:32 »
If you want to capitalize words in new sentences, perhaps it would be worthwhile to customize your keyboard firmware (e.g. using hasu's tmk_keyboard firmware), and make a macro for something along the lines of period + space + capitalize the next letter.

* * *

What I personally hated about MS Word's autocorrect feature, during the first few years I used it before deciding to always turn it off (and later just deciding to never use MS Word ever again if at all possible), is that it kicks in at unpredictable times, for example often silently “correcting” Spanish words to the nearest English word, or capitalizing words that I don’t want capitalized, or turning apostrophes used for contractions into opening single quotation marks, or reformatting paragraphs that it decides look too much like a list or whatever, etc. etc.

I want a system which behaves in as predictable a way as possible, because then I can trust in its behavior, and optimize my efficiency accordingly. Every time a system does something I don’t expect, it throws a huge wrench into any kind of flow, because I have to stop and deliberately undo the change, which takes mental energy and focus away from whatever I was thinking about.

Red underlining of misspelled words is one of the greatest innovative features in the history of word processors – and I’m not sure if MS came up with it or someone else but every text field definitely should have it – but silently changing what I type is a huge anti-feature for me, personally.

If the autocorrect were based on some deliberate action on my part (for instance, only making substitutions that I’ve explicitly added) then that could be helpful, but otherwise it’s just more trouble than it’s worth.
« Last Edit: Tue, 18 February 2014, 19:28:01 by jacobolus »

Offline shaaniqbal

  • Posts: 145
Re: Software Ergonomics
« Reply #23 on: Tue, 18 February 2014, 19:58:51 »
Asutype gives you an option to either have the corrections apply automatically, or display a list of suggested words as you type that you can choose from. I found it works quite well if you assign the first suggested word to a key like semicolon. I found the first suggested word was often correct, but then doing it this way disrupts writing at speed. What you can also do is finish writing your sentence and then apply the correction. Or alternatively I had a hotkey (Tab) that would automatically take me to the misspelled word, delete it and let me type the intended word, and then pressing tab a second time would go back to writing from where I was before.

gh_pp, have you tried sticky keys? Assign shift to the caps lock key and turn on sticky keys, that could make quite a difference.

What about retroactive capitalisation? A key could be pressed that would capitalise the first letter of the previous word. I haven't really looked into that but I know PhraseExpress can do it.
« Last Edit: Sat, 22 February 2014, 14:56:29 by shaaniqbal »

Offline gh_pp

  • Thread Starter
  • Posts: 199
Re: Software Ergonomics
« Reply #24 on: Tue, 18 February 2014, 22:14:21 »
It’s not just the first word of a sentence though. Notice how many ‘I’s are in this thread. Every you have to hold the shift key it interrupt your flow.

You can blind sticky shift key to a different location to avoid using the pinky, but it still slows down your chain of thoughts while typing.

You can disable the fancy auto replacement like long dash, fancy quotes “” etc if you want.

I know a lot of people who type without using the shift key but their emails are always harder to read.
QFR brown x2, Realforce 45G, Type-S, Keycool 22 blue

Previous keyboards: 55G, IBM Model M, Dell AT101W, Fujitsu FKB4725, G80-3000 clear, QFS green, QFS blue

[WTB] Custom keyboard build

Offline shaaniqbal

  • Posts: 145
Re: Software Ergonomics
« Reply #25 on: Tue, 18 February 2014, 22:26:40 »
If you want to avoid having your chain of thoughts limited by typing, steno is worth a look. "Thought to text at 240 WPM". It's something I'm learning.

Offline gh_pp

  • Thread Starter
  • Posts: 199
Re: Software Ergonomics
« Reply #26 on: Tue, 18 February 2014, 23:42:43 »
That's interesting. I wonder if there's any PC software that does android like auto prediction where you type a few letters and a list pop up that you can just [tab] complete.



Sort of like intellisense in visual studio. Android's implementation is smarter though, it doesn't just do prefix match and learn from the context of your sentence and also frequently used phrases from the user.
QFR brown x2, Realforce 45G, Type-S, Keycool 22 blue

Previous keyboards: 55G, IBM Model M, Dell AT101W, Fujitsu FKB4725, G80-3000 clear, QFS green, QFS blue

[WTB] Custom keyboard build

Offline Proword

  • Posts: 237
  • Location: Perth, Western Australia
Re: Software Ergonomics
« Reply #27 on: Sat, 22 February 2014, 02:10:53 »
I've been word processing since 1979, and by far the most flexible package I've come across is Word Perfect.  It has the advantage of (a) a keyboard map which shows every keystroke combination available (roughly 512) in a single page so you can instantly see which combinations are free, and which existing functions/text strings/macros are attached to which combination (cf MS Word underneath showing one hot key at a time)



 (b) the automatic replacement function is unlimited in size (at least I've reached 250 KB with no problem) whereas with MS Word if you exceed 64KB for your autocorrect function you can get an "out of memory error". 

http://support.microsoft.com/kb/q180165

Further the keyboard file can be swapped with a couple of mouse clicks or keystrokes.



There are plenty of other advantages related to creating menus etc, that leave MS Word for dead, but those three sound like what you might find useful.

http://proword-transcription.blogspot.com.au/

Maltron 3D Dual Hand (x4)
Maltron 3D Single Hand (x2 - L & R)

Many people think their lifestyle comes at a cost - but they are quite cool with that as long as somebody ELSE pays it.