Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
User Journal

Journal BarbaraHudson's Journal: Making the Internet (and other stuff) easier on the eyes 7

After a few days of thinking, and a few more days of testing, I've found something interesting that might be useful for others, even if you don't have a visual impairment.

Mixed-case fonts are harder to read. Plus, how do you tell the difference between a lower-case "ELL" and the number 1, upper-case "OH" and the number 0, lowercase "b" and the number 6, uppercase "ESS" and the number 5, lowercase letter pair "r n" and lowercase "m" (as in "bank of America" vs "Bank of Arnerica"? Lowercase letters are hard on the eyes. They also weren't around in the days of the ancient greeks; it took 1,500 years for that to happen.

This whole debate wasn't much of a big deal back in the days when we'd spend hours and hours typing code in marathon sessions of easy-on-the-eyes monospaced all-caps, but those days are gone. We're no longer using much assembler (and if we do, it's lowercase), BASIC, or DBASE, or Clipper (and they don't care about case either).

The programming languages we use today are case sensitive, particularly the two biggies - c/c++ and java.

Part of the solution is to switch to a small-caps font. Lowercase glyphs are just smaller versions of their uppercase glyphs. Using a mono-spaced small-caps font adds a bit more readability as well (though you might not think so at first - it takes your brain a while to get used to it).

No more worrying about mixing up lowercase "l" and the number 1, etc.

So then the question becomes - what about coding compatibility between those who don't use a screen reader and those who do (either on occasion or regularly)?

If you want to cursor through each letter, the screen reader will beep as it says each capital, but really, who wants to go letter by letter to differentiate between lowercase, uppercase, titlecase, and camelcase? What's needed is to use only one case, so that variables, methods, functions and classes are all written using the same set of lowercase letters. (Can't use all uppercase because preprocessor directives (#include, etc) in c and various declarations (packages, etc) in java need to be lowercase).

Obviously, anything that is not all-lowercase is going to need some shim code. It's a problem, especially in c, where convention is that macro definitions are in all-caps. But that's just a convention, and there's no reason not to be able to include shim code that redefines those macro definitions using lowercase and a few extra letters (sorry, leading and trailing underscores are reserved for the implementation, though this may only be the case for double underscores - check your header files).

Classes don't HAVE to have propercase names, and functions and methods don't HAVE to have camelcase names. These are just conventions.

Using existing code will still require shims to call it, but all-lowercase code does have a few advantages that outweigh the hassle. For one, fewer typos. For another, the shim code doesn't have to be a direct representation of the other code in terms of functionality - there's no reason, for example, not to create a java button class that works better than the Button class, with less verbosity and more built-in functionality (and eliminating the stupid get and set syntax). Why have button.getxy() and button.setxy(newxy) when button.xy() and button.xy(newxy) work just fine thanks to overloading, and can be chained just fine?

And lest you not take all this seriously, wait until there's a library of all-lowercase code available and someone files a complaint under the ADA because they're not being allowed to use it, if fewer typos and less eye strain isn't enough to motivate you.

NOTE: Chrome no longer lets you override font settings despite looking like it, but Firefox still does. Carrois Gothic SC (small caps) is a good font for browsing, and Latin Modern Mono Caps 10 works in code editors. Both are fully scale-able in size.

(The proof is in the pudding - this is the first time I've been able to use a computer for 4 hours straight in I don't know how long, despite having a cataract in one eye and blood clots floating around in the other. Not even any headache or nausea. Usually it's under an hour, than forget it for several hours or often the rest of the day, pop some tylenol, etc. I wish I had thought of this before.)

This discussion has been archived. No new comments can be posted.

Making the Internet (and other stuff) easier on the eyes

Comments Filter:
  • If I am looking at Arial here, then it is my favorite font. I don't know if Helvetica is still under license. But I like the idea of small caps for lower case.

    • latin mono small caps has serifs. carrois gothic sc is a sans-serif font and is really easy on the eyes, but isn't mono-spaced, which kind of sucks for code, so stuck with Latin Modern Mono Caps 10 (the latin roman mono caps 10 varies the width of the legs on letters such as 'A', where the leading leg is skinny, kind of ugly for modern use).
  • DirTraversal dirTraversal = new DirTraversal();

    I don't like any of the following alternatives:

    dir_traversal d;
    dir_traversal traversal;
    dir_traversal dir_traversal_;
    dir_traversal obj_dir_traversal;

    And the leading underscore variant is already used for private fields.

    Rather than imposing on everyone else, I don't know what's wrong with just using the IDE's zoom ability. I use the browsers' when my eyes are tired.

    • Because people using screen readers can't tell the difference between SOMETHING and SomeThing and someThing and something. Also, there's no requirement to use a leading underscore for private fields. A trailing underscore works just as well, and still allows alphabetical sorting. Or any other naming convention.

      It's tiring squinting at the screen to tell the difference between the variants when you have crappy vision, and when it deteriorates too much, you're screwed if you need to be able to distinguish be

      • Re: squinting, see [literally] my last sentence above.

        Re: screen readers, I don't see [figuratively] how those could enable programming anyways. The point afterall of the convention of functions being no longer than a screenful is so that you can, ahem, eyeball the whole thing, *at once*. If I constantly had to have a function's lines re-read to me to make sense of it, well, I don't think I could keep track of them and be able to, uh, function, as a programmer at all.

        Nor could I play basketball. There ar

  • You're not going to get the world of Java, C, and C++ coders to change to a monocase font. First, and most importantly, they won't because they simply won't. It doesn't matter how many logical arguments you throw at it, how many facts or figures you present to back up your case, how much sympathy you garner from any social group, or even if you got some candidate to introduce new laws mandating the use of all uppercase alphabets in programming languages. You'd actually have much better luck introducing a

    • Thanks for replying. I'll try to deal with your concerns one at a time.

      No need to for universal adoption

      You're not going to get the world of Java, C, and C++ coders to change to a monocase font. First, and most importantly, they won't because they simply won't. It doesn't matter how many logical arguments you throw at it, how many facts or figures you present to back up your case, how much sympathy you garner from any social group, or even if you got some candidate to introduce new laws mandating the use of all uppercase alphabets in programming languages. You'd actually have much better luck introducing a new case-insensitive language to the world and getting a thousand people to adopt it. It's so ludicrous it's not even an interesting thought experiment. Trying to convince anyone that this is a viable idea is nothing but wasted time. So please stop, right now.

      There are two separate issues here, and neither is universal.

      First: Adopting a smallcaps monospace display font doesn't change the underlying text - it just makes it more legible for those with vision problems. For example, you can't tell that I'm typing this using a smallcaps monospace font. This makes a difference. Using regular fonts, even blown up, now makes me nauseous. It's becoming a real p

Neutrinos have bad breadth.

Working...