Wednesday, December 28, 2016

It is as if most people (especially the ones documenting the most well known functional languages) in software who write documentation never thought about how to write documentation. Shock, horror.

Tuesday, December 27, 2016

I am depressed that it seems like maybe my best bet is to use some kind of JavaScript. GHC is too slow to compile, especially with all the stack junk, apparently. And Haskell documentation is... poor. Purescript is a 0.x thing and godhell it sure does show. Ocaml is not really very usable just in terms of getting set up, and then I find the whole functor syntax and semantics to be kind of From Hell, let alone the so-called documentation. F# is slow to compile. Frege is slow to compile. Basically, everything seems to just obviously, clearly, blatantly, plainly, bare facedly, painfully, s u c k.
So, like, I think I already did something like "npm install -g bower" but then when I am in a git cloned directory of a certain public project that will remain nameless, I type "make" ... and it says it is doing "npm install bower" ... and then apparently downloads all sorts of stuff. From my end user perspective that totally freaking sucks.
If you have a project on github that you actually want people to, you know, really truly use, then maybe it should have an issues tab?
There's a circle of hell for home theater companies.

There's also one for standards/bodies i.e. HDMI.




OH AND THERE'S ONE FOR DISQUS GOD KNOWS.
When somebody claims they can show you 50 things with exceptional usability, (by which I guess they mean exceptionally good ha ha) I have to believe:

(a) yes, ok, sure, fine, it is true that 99.9% of everything sucks so bad that I guess those 50 things are exceptionally good by comparison, even though in actual fact I've used some of them and they drive me bat sh*t crazy (cf. iOS; Nest thermostat; Chromecast; anything at all based on Android; the Sifteo stuff since I got a debrief on UX failures from one of the Sifteo-Cardio guys back when I was at PayPal; the general commercial failure of Lytro; etc. ad nauseum).

or

(b) god hell, these people don't know what the hell they are talking about and they seem to conflate usability with just having a bullet point laundry list of buzzword features. And they sure over use that most horrible of terms, 'intuitive'. And, uh, anything that is based on Bluetooth is likely to suck since Bluetooth pairing invariably sucks in my experience. And, uh, they list things that do not even exist yet, are not even available for actual purchase.

(and (c) they have some lovely typos.)

Any which way, it is pretty depressing. Yes, I get it, it is just b.s. marketing hype written by either ignorant or idiotic weasels, and I shouldn't let it bug me... and yet it does.
One thing that drives me utterly bonkers about web sites and web browsers is the triple-click  behaviour on text. I think when you have a page with text that is specially formatted (e.g. examples of shell commands to run) then triple-clicking inside the called out / specially formatted text should stop the selection at the bounds of that stuff.
It utterly boggles my mind when some team (cough cough ocaml ahem) says something like "oh yeah we support ubuntu 14.04 LTS except for how it doesn't really work at all and we haven't and apparently never will fix it."

Because, you know, the LTS releases aren't, you know, maybe the top priority one should have if you are going to bother to try to support ubuntu. 14.04 LTS is supposed to go to 2019 people!
It is truly depressing how all the hard problems that cause terrible user experience are pretty much never solved in every shiny new thing. Instead of knowing enough to do things right, people recreate every circle of hell that has ever existed before them. And that ends up, one way or another, seemingly leading me into situations (say e.g. work) where I have to deal with that junk.
A fundamental and I think obvious problem with the command line is that it usually fails to graphically split up different kinds of data. I dare say that since we often use command lines from a GUI terminal, we could leverage that and do better. (Not meant to break regular plain old inline raw text terminals, just to do better when the possibility exists.)

The rule of silence means now I am sitting here wondering if my "npm install -g whatever" will ever actually finish. There's no progress indicator. And if I ^C it and restart it with some argument to show progress, I have to assume/worry that it will restart the entire bloody download all over again from scratch. Complete bollocks UX. (The kicker is of course that the "progress" indicator of npm is a piece of junk.)

Similarly, when a command generates a lot of output, then it can be confusing/annoying/discombobulating to have to go back through the spewed text and try to figure out what is what and where and when.

A lot of this could be perhaps addressed by upgrading the entire terminal/tty/textual command line concept with the idea of separate regions "on-screen", since we are not actually ever using teletypes any more (for the most part?!).

Everything could always generate a progress indicator if it is going to take more than some minimal amount of time to complete, and the progress would go into the separate info area. In fact, perhaps all output could go into that other region.


if i were the dictator, people like this sure wouldn't get to run the show.

Friday, December 23, 2016

The world of tech is bloody horrible. Just trying to get directions printed from Google Maps seems like a task from hell. Like, the complete directions, rather than directions missing the last page.

Thursday, December 22, 2016

Haskell esque pattern matching and lets vs. (my newbie impression of) Ocaml style: Haskell makes more sense to me in that is doesn't look as linear, and seems to let me do things more directly in-place.
I don't like markup as a general rule, if only because there are so many variations on the theme. And things like Reddit explode my mind with how bad their particular approach to it is e.g. vs. GitHub's. (It is kind of sad when I point to GitHub as being a good example of something UI/UX wise, by the way.)
If you make a terminal gui program (e.g. gnome-terminal) and you do not have an all-in-one right-click "copy-paste" command, then I think you kinda failed.
I find docker's UX to be weird.

Wednesday, December 21, 2016

I think one of the absolute worst things about human nature (at least as it appears to me from my vantage point) is the ability to utterly discount externalized costs.

Tuesday, December 20, 2016

I am impressed with Ocaml's stubborn ability to mostly only at best say, "Error: Syntax error" with not really much else explanation of WTF. Haskell is less utterly horrendous in that regard, seemingly.

Monday, December 19, 2016

Software engineering is hard. Just look at the tools software developers have.

Programming languages, let alone all the other tooling, massively suck, across the board, one way or another. There's the suck of bad paradigms (cf. imperative vs. say flow based) and then there's the suck of just bad UX.

Things like: crappy documentation; missing features that would help allow more quality code; unclean history (when I search for "ocaml batteries set" I see Set and BatSet - which is the right one to use?!); unwillingness to change things for the better (generics in Go); inability to change things due to constraints like having enough people working on it, or knowing how to actually even do it at all (SMP in Ocaml).

And of course it isn't just the language, it is the ecosystem. Doesn't help me if there's a good language that suffers from any problems like: slow compiler; lack of a (good) standard library; hell to get setup on my random home laptop; bad package manager; insufficiently large or helpful community and history and answers on stack overflow; bad license; etc. ad nauseum.

It blows my mind that the ivory towers mostly haven't figured out how to even get the expression problem solved in a way that doesn't look like pure hell to me. (I dunno, I'd guess multimethods with exhaustiveness checking seems the most straight forward to me, if one is stuck with crappy ascii as the medium.)

Or, say, record data types.

Or, say, type aliasing.

Or, say, generics, with support for the curiously recurring template pattern.

Or. say, functional style features.

Or, say, a quality, performant, cross-platform (mobile for eff's sake?!) runtime.

Or, say, an actually reasonable debuggering story (source level debugging; breakpoints; breakpoint conditions & actions; time travel; etc.).

Or, say, syntax that isn't sooner or later inevitably crappy.

Or, say, semantics and syntax that fly in the face of everything that's considered to be the best way to code in general, and in that language (cf. prefer factories over constructors in Java shyeah right good luck with that crap, buddy).

etc. ad nauseum.

forsooth, let us all go shopping! (nowadays that means i guess doing our shopping online, which probably means we're hitting sites using C++, Java, and Perl, god help us all?!)
As much as I truly believe Haskell documentation kinda sucks, I have to say that at least their e.g. cabal/hackage/whatever docs contain links to the source code pretty much by default. I don't see that as being so standardize in the land of Ocaml.
The universe is run by Doers. But apparently I will never really understand some of what it is the Doers do, and do not do. Like, how can Reddit text posting not have a preview mode at all?!

Sunday, December 18, 2016

Firefox seems to me subjectively to be missing the mark by an ever greater extent. Oh well.
An essential aspect of good UX is that there's an attempt to control and reduce the number of ways things can go wrong. And if they do go wrong, ways for the user to get to something that is more right.

Haskell to me demonstrates some of the worst UX in this regard.
I really want to like Haskell. One of my loves in school was SML, go figure. But Haskell is apparently still too much of a research language that eschews any real concern for solving the (hard) problems of UX in programming language semantics and syntax. Consider, as one small example, attempting to - ha ha ha - do something as - ha ha oh i'm dying here - complex and advanced and ivory tower as - no, seriously, this is killin' me - as as as... defining and using records!
Computers are annoying. My laptop is getting slow and all I can see from e.g. top is that Firefox is taking up a lot of CPU time. But I have no way of knowing e.g. which bloody tab is the culprit.
Ha ha. The intro here sums up Haskell pretty much in its entirety to me. Short of helpful people on Reddit.

Saturday, December 17, 2016

I love Emacs. I hate Emacs. Why does it only sometimes hide the text when a password entry is needed?
If anybody doesn't understand that the UX of Haskell Control.Lens (and really all Lens things in Haskell) is... less than ideal, I believe they are either too smart for everybody else's own good, or really need a good smack upside the head.

The documentation is just pathetic. All of it. Everywhere. Er, well, except the Lenses in Pictures stuff, that really helped!

oh, wait... nope, actually it fails, too.
I can summarize the state of UX with: If it ain't one thing, it's another.

Everything sucks, sooner or later, one way or another, no matter what. As far as I can tell. I just want to get an Ubuntu machine set up with Haskell Platform and Stack, but god hell what a slow laborious pain in the ass! And generally speaking, unattended installs seems to be very poorly thought out by everybody.
I think there are two kinds of people in the world: Those who think iOS touch user interfaces are, on the whole, usable and "intuitive"; and those like me who find them sorta like getting a point-ed stick in the eye.

Generally speaking I find touch UIs to be sorta horrible the way they have been implemented on both Android and iOS. But somehow I think it is worse on iOS.

One exception is that I find Subdivformer / SDF 3D to be super freaking cool because of the immediacy of the touch UI, vs. things like Wings or Blender or anything that mostly requires mouse & keyboard.

(Related, I have to say the world of apps is just awful. Awful! I wanted to be able to resize an image on the iPad and of course that's like completely impossible out of the box, or even with the myriad painting apps I have already installed (or if they did have the ability god help me figuring it out). So I went to try to get something from the app store to do just that functionality and they all utterly failed, failed, failed. Bad UI, banner ads, full page ads, and then once I might have fought my way through all of that it turns out the ones I tried do not even give you the basic obvious standard gimpy/photoshoppy choices of resizing by various units. They all only supported resizing by pixels. Just! Complete! Epic! Fails of UX!)
I think one can tell that an awful lot of businesses with supposedly good web presences are actually kind of selfish jerks. They aren't truly in it to give the customer what they actually want. BofA doesn't help me see how much of a car payment is going to principle, let alone let me dial that in. eBay doesn't let me search and sort and filter by seller rating. etc.

Of course some of that can be chalked up to just the general pathetic utter failure of UX across the board. Random e.g. how Maven Central's table of search results doesn't let me click on the date heading to sort by that column.

Friday, December 16, 2016

I figured I'd be smart and set the pressure cooker up to make some black beans before driving to work today. Surprising how as simple an interaction as setting a pressure cooker to cook on low for 90 minutes can be a living hell. Holding down the button to increment the counter ends up using an all too slow repeat rate, whereas hammering on the button to get up to 90 faster results in a beep on every push. A really annoying, loud, beep. Augh! Of course I forgot to add something and had to cancel the whole thing a minute later, put in the missing stuff, and then do the whole damnable process all over again.

Wednesday, December 14, 2016

In this day and age, it boggles my mind that there's enough buy in / lock in for some things that they can ship with utterly stupid wrong broken bad evil sad lame idiotic useless features, like any Panasonic Lumix camera WiFi "features".
Mozilla really does not understand UX, in my book. An example: when it asks me if I want it to remember my login for a site. There is no option to tell it to never try to remember anything for any site. I have to go through various levels of settings to get to (or even bloody find in the first place) the setting that would let me turn off that annoying nagging bullcrap for ever.

(Ditto the "reader view" or whatever that hell junk crap is called.)

Thursday, December 8, 2016

There are bugs / issues that really just shouldn't exist, that are just blatant indictments of the particular software, and pretty much software in general as a whole. How can GIMP be 'sold' with a straight face when the "Open Image" dialog box fails to show any "Preview" for these JPG images I'm trying to load?
It completely boggles my mind that we live in an age where software is still written such that it can have zillions of blatant "un managed" or "non managed" memory errors. Yes, I know performance is a five letter word. But so is reliability.

(/usr/lib/firefox/plugin-container:17453): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed

Wednesday, December 7, 2016

One sad painful depressing never ending whipping boy lesson I have learned over the years from working on Android projects: "With great configurability comes great (shirked, in the case of Android) responsibility."

Sunday, November 27, 2016

I know this will never come to pass, but I sorta day dream all the time of a parallel universe I could go live in where UI and UX and UEX and whatever else you want to call it would actually get real respect, and places that flubbed it would really feel the pain e.g. financially. Like how eBay is such a horrid evil crappy experience, for both sellers and buyers.

Saturday, November 26, 2016

I fail to see how the Dollar Store type things survive. I bought some packing tape and it was, of course, the absolute worst stuff ever. Utterly impossible to use, ripping, tearing, just throw in the garbage type junk. Which means I have now been trained to never bother to buy anything there ever again.

I guess maybe it is like Trader Joes or something where you have to know what to stay away from e.g. the cheese, but you get enough other good things e.g. the brown sugar, that you don't entirely give up.

But I haven't ever really gotten enough stuff at dollar stores to be hooked, so I am pretty sure I just utterly dislike them at this point.
After a million years of evolution, you'd think humanity would be able to get the UX of printing right. But noooooo.
The back button is a lie. I mean not just on Android where it is an utter train wreck, I also mean in web browsers.

Thursday, November 24, 2016

Happy poopy holidays. It seems to me that more often than not, computer related things are not actually constructed from electrons or gallium arsenide, rather they are made out of pure excrement. Go read The Futurological Congress: at some point I wish the scales/drugs would fall from peoples' eyes so they could admit just how bad things really are. Not that it would cause anything to be fixed.

For example, gThumb is confused because the directory it used to be looking at is no more, and so it crashes when I try to start it, and I can't get it running long enough for me to point it at another directory.

Dave Bowman: "My God! It's full of [excrement]!"

So then I go wonder if I can start it from the command line with an argument that is a path to a real directory. The help from gThumb is like an ouroboros of usability vomit.

x@superlap4300:~/Media/20161124$ gthumb --help
 Usage:
  gthumb [OPTION...] - Image browser and viewer

Help Options:
  -h, --help                        Show help options
  --help-all                        Show all help options
  --help-gtk                        Show GTK+ Options
  --help-gst                        Show GStreamer Options

Application Options:
  -n, --new-window                  Open a new window
  -f, --fullscreen                  Start in fullscreen mode
  -s, --slideshow                   Automatically start a slideshow
  -i, --import-photos               Automatically import digital camera photos
  -v, --version                     Show version
  --display=DISPLAY                 X display to use

x@superlap4300:~/Media/20161124$ gthumb -help-all
Usage:
  gthumb [OPTION...] - Image browser and viewer

Help Options:
  -h, --help                        Show help options
  --help-all                        Show all help options
  --help-gtk                        Show GTK+ Options
  --help-gst                        Show GStreamer Options

Application Options:
  -n, --new-window                  Open a new window
  -f, --fullscreen                  Start in fullscreen mode
  -s, --slideshow                   Automatically start a slideshow
  -i, --import-photos               Automatically import digital camera photos
  -v, --version                     Show version
  --display=DISPLAY                 X display to use

x@superlap4300:~/Media/20161124$ gthumb -help-gtk
Usage:
  gthumb [OPTION...] - Image browser and viewer

Help Options:
  -h, --help                        Show help options
  --help-all                        Show all help options
  --help-gtk                        Show GTK+ Options
  --help-gst                        Show GStreamer Options

Application Options:
  -n, --new-window                  Open a new window
  -f, --fullscreen                  Start in fullscreen mode
  -s, --slideshow                   Automatically start a slideshow
  -i, --import-photos               Automatically import digital camera photos
  -v, --version                     Show version
  --display=DISPLAY                 X display to use



Even though the app purports to have different, extensive, help it turns out that in fact it only has one answer it can give. And it doesn't include the ability to be given a starting path.

Utter excrement.
I, for one, do not welcome our new (well, ok, not so new) masters:
https://standtallforamerica.com/petition/stop-mass-hacking/e
3D is a cess pool when it comes to any sort of usability. I mean, if you ask me.
  • file format hell.
  • progress bars that restart (yes, like Office Space) and so you don't know how long anything will really take.
  • uis that don't manipulate 3d objects in good ways e.g. lock the model to not being able to be rotated upside-down, and also not giving me a way to flip the whole model.
  • not showing thumbnails of things.
  • and a zillion other nicks, cuts, slings, and arrows of ux pooch screwing.
Fantastic Beasts, The Movie. Where people scream in terrified horror because Johnny Depp got fat. Oh wait, maybe he was doing an homage to Marlon Brando? Or Elvis?

Wednesday, November 23, 2016

Software is hell. Pure, living, hell. Or, well, at least very hecky.
I think Scala is very important. Every other programming language I have seen to date pretty much fails and falls short (ironically, given Paul Phillips' missives) when it comes to the standard library e.g. of container types. This is another reason the aliens are steering a clear path around us.
My science fiction prediction is that the aliens rank all species and then avoid them if they don't meet certain standards.

One of the rankings is probably: # of web sites that fail to specify image sizes statically so that the web page ends up resizing itself while loading vs. the # of sites that are nicely done so things are moving out from under me while I'm trying to actually read or use the bloody web page.

You can guess where I think humanity lies on that scale.
I know it is silly for me to bother to blog when I hate something, especially when it is a web site. But... since I am here, I have to say: the Fandango UX is not really at all ideal.
If I were going to be any kind of N*zi I guess I'd be a pure functional staticcally typed n*zi. Things like Python's "TypeError: unhashable type: 'list'" just seem to me to be a deep, deep indictment of the whole paradigm. Start a 5 Whys with: Why are lists not automatically hashable? Uh, especially because, apparently, tuples are?
The future is broken usability hell. I guess that's my new band name. THANK YOU CLEVELAND! WE ARE: << BROKEN USABILITY HELL! >> GOOD NIGHT!

To wit: The only movie showtimes web site that didn't make me want to stab out my own eyeballs was the movies.google.com site. But they have nuked it. Now everything is hell of crap. Even Google themselves are fubar because their link from movie search results to AMC to buy tickets goes to an affiliate link that is a 404. Which I guess they are too dumb to have you know maybe automatically checked to see if it is/was/will be a valid link?!
The future is not a future where the AIs take over and kill us. Judging by things, it is a future where we kill ourselves one by one as we cannot take the bad broken usability any more. Like, say, how right now I am writing here without a visible text caret at all. Can't get it to appear. Just nothing. At all.
All I can think when I see e.g. 100,000 downloads for a file management app that requires knowing my identity is, "I guess it is true. People are idiots". Here's hoping File Manager Pro by angesoft doesn't suck...
Fundamentally everybody shows their money grubbing weasel screw-the-user nature sooner or later, it would seem. I can't sort/filter by seller rating on eBay. I can't sort/filter by required permissions in the major app stores. Or ha ha they default to sorting with highest price first. Etc.
Usability, intuitiveness, etc. are all possibly highly subjective things. For sure most of the UI/UX I come across in the world is Not How I Would Do It and it drives me bonkers. The extra kick in the boy parts is when there are inconsistent tools in an ecosystem like, say, oh I dunno... ANDROID. Even within Google's own apps. Let alone 3rd party ones.

Thus my dream, which I will put out to the world at large in the hopes that somebody with resources thinks it is a good idea and does it, is for an app search engine that lets me search by UI/UX features.

Concrete example: when there's a list of items, how do I get to do multiple selection? Do I have to long press on each and every one? Can I even do multiple selection at all? etc.
Focus is, apparently, a difficult concept to get right in UI and UX. Android screws it up. Gnome screws it up. Everybody one way or another screws it up. Hateful. Depressing. Par for the course.

Friday, November 4, 2016

I heart functional programming. Scheme was the first programming language I thought was super groovy when introduced to it, and then a year or two later SML. So I have to say "amen" and "right on" and stuff when somebody points out some of the little things that make life nicer in a decent language (including good fp ones).
Okay. Any site that has any kind of ads on it that makes noise needs to roll over and die. If you ask me. E.g.: Forbes.
iOS has become a kind of unusable un-user-friendly possibly actively-user-antagonistic user experience. If you ask me. Things like just getting the bloody menu bar to show up in mobile Safari, especially if you happen to be viewing a PDF at the time.
On the whole I do not like text completion that takes over what I am typing. I prefer it to show options below what I am typing, and then I have to arrow down to choose to use it if I want.

Similarly, I think the way Google updates the search results when I accidentally add a single space to the end of the query string is annoying as all hell because often it ends up being blankness, no results.
Speaking at least for myself, if I step away from any code for any length of time (even a day), then when I get back to it I pretty much immediately see and feel how gross it is. There's never been an exception to that, other than maybe for things as "trivial" as "alias ls='ls -FC'" in my .bashrc. (But even there of course there's a zillion ux problems to be unpacked and talked about even if they don't manifest themselves right there and then.)

Why is code mostly so "bad"?

Why does it take much effort to "swap in" what you need to know / prevent yourself from feeling about the code when you come back to it?
Usability is a four letter word. (If you can't see what is wrong with these things below, well, there's the problem.) A small sampling of proof (I have a laundry list that stretches to the moon and back, these are just off the top of my head right  now):

  • I do "hg commit" and it says "abort: no username supplied (see "hg help config")" so i type "hg help config" and it says "<one thousand four hundred eighty lines of text>".
  • The Android 5 SMS overlay UX seems to me to be advertising that it is a lightweight non-interrupting feature, but often when I try to use it it kind of takes forever to render and get to the point where I can reply, by which time I've probably forgotten the context anyway, so that's genius.
  • If I am scrolling up as fast as I can in Android 5 Gmail, when it hits the top it bounces and reverses the scrolling at the same fast rate. So to me it looks like I am still scrolling and it will never end but in reality it is bouncing around and I am not able to get to the top and have it stop there.
  • Any app (like whatever PDF reader I have set up on my Android 5 phone) with a "fast scrolling" thumb widget on the side is crap. Just like the iOS swipe-up-from-the-bottom drawer is crap. Anything that can get in the way of other normal activities -- you know, like basic scrolling, is crap.
  • Most anything about Python drives me batty, it seems. Oil and water. For example.
  • Most anything about Unix / file systems in general drives me batty, it seems. Water and oil. For example.
  • Requisite: blogger sucks!
Usability is a four letter word. (If you can't see what is wrong with these things below, well, there's the problem.) A small sampling of proof (I have a laundry list that stretches to the moon and back, these are just off the top of my head right  now):

  • I do "hg commit" and it says "abort: no username supplied (see "hg help config")" so i type "hg help config" and it says "<one thousand four hundred eighty lines of text>".
  • The Android 5 SMS overlay UX seems to me to be advertising that it is a lightweight non-interrupting feature, but often when I try to use it it kind of takes forever to render and get to the point where I can reply, by which time I've probably forgotten the context anyway, so that's genius.
  • If I am scrolling up as fast as I can in Android 5 Gmail, when it hits the top it bounces and reverses the scrolling at the same fast rate. So to me it looks like I am still scrolling and it will never end but in reality it is bouncing around and I am not able to get to the top and have it stop there.
  • Any app (like whatever PDF reader I have set up on my Android 5 phone) with a "fast scrolling" thumb widget on the side is crap. Just like the iOS swipe-up-from-the-bottom drawer is crap. Anything that can get in the way of other normal activities -- you know, like basic scrolling, is crap.
  • Most anything about Python drives me batty, it seems. Oil and water. For example.
  • Most anything about Unix / file systems in general drives me batty, it seems. Water and oil. For example.
  • Requisite: blogger sucks!
Usability is a four letter word. (If you can't see what is wrong with these things below, well, there's the problem.) A small sampling of proof (I have a laundry list that stretches to the moon and back, these are just off the top of my head right  now):

  • I do "hg commit" and it says "abort: no username supplied (see "hg help config")" so i type "hg help config" and it says "<one thousand four hundred eighty lines of text>".
  • The Android 5 SMS overlay UX seems to me to be advertising that it is a lightweight non-interrupting feature, but often when I try to use it it kind of takes forever to render and get to the point where I can reply, by which time I've probably forgotten the context anyway, so that's genius.
  • If I am scrolling up as fast as I can in Android 5 Gmail, when it hits the top it bounces and reverses the scrolling at the same fast rate. So to me it looks like I am still scrolling and it will never end but in reality it is bouncing around and I am not able to get to the top and have it stop there.
  • Any app (like whatever PDF reader I have set up on my Android 5 phone) with a "fast scrolling" thumb widget on the side is crap. Just like the iOS swipe-up-from-the-bottom drawer is crap. Anything that can get in the way of other normal activities -- you know, like basic scrolling, is crap.
  • Most anything about Python drives me batty, it seems. Oil and water. For example.
  • Requisite: blogger sucks!

Thursday, November 3, 2016

There's something that I would guess or hope would be kind of a basic tenet of usability and UX: First, Do No Harm. When I see things like how the 'back' button gets screwed up in various web sites, or in Android in general, I shake my fist at the sky. Or how Google Photos web site screws up the space bar so that sometimes it scrolls the page and other times it de/selects a photo. Etc. etc. ad nauseum ad infinitum. It is not turtles but crap all the way down.
I think it is bad usability that somehow I can run a command in bash and then it doesn't end up in my history. I have no idea how that happens. Is it something about Ctrl+U? No idea. Just really think it is annoying bad evil confusing wrong.
Not to say anything particularly new, but I mostly find that the ecosystem of Unix utilities is really a piece of junk from any sane usability perspective. For example, the 'find' command doesn't seem to have a way for me to see what the src and dst are ahead of time (e.g. with dry-run) so inevitably i end up with files one directory off (due to not/having a trailing slash). And then since it was a lot of data I had to move remotely, I want to "just" fix it up on the remote machine. But doing any kind of path manipulation in bash is a living hell of utter crap. Paths should not be strings. It is just one fuster cluck after another. Fundamentally, having everything be a string is just a horrible approach. And these things have been as dumb and broken as they are now for 30+ years?!
I have to say, I find it not very funny when I tell Synaptic to completely/remove something and then it says "Downloading Package Files" as if it is being, you know, helpful.

Friday, September 30, 2016

So far, as far as I can tell, the world of online 3D model sharing is utterly morally bankrupt from a UX perspective. Well, from just about any perspective, actually.

Thingiverse doesn't actually let me to upload anything?

Pinshape doesn't have a built in 3D viewer?

Sketchfab had the model upside-down; doesn't let you rotate more than 180 up-down so there's no way to see the model right-side-up?

Shapways explodes saying the model is too big physically (not data wise); doesn't have any way to scale the model to the max allowed size automagically or manually?

3D Warehouse doesn't accept STL files?

Thursday, September 29, 2016

i love how day in day out git has to remind me, rub my nose in just how bad its ux is, yay fun hoo hah!

things like:
error: src refspec master does not match any.
error: failed to push some refs to 'git@example.com:user/darepo.git'

or pretty much anything and everything about the win git client. like how the text fields don't support right click, like to have a menu with a 'paste' command in it.


Saturday, September 24, 2016

If you ask me, "Ticketmaster" should really more honestly be renamed "Blatantly Obvious Usability Train Wreck (and Gouger)." Oh brother.

Saturday, September 17, 2016

Have I mentioned recently how good I think The Peanuts Movie is? I mean, don't get your hopes up before seeing it. Assume the worst then be pleasantly surprised.
Computers are, as a rule, just awful. Mostly because humans are idiots or just plain greedy and cheap. Funny thing how the Ubuntu installer asked me if I wanted it to download updates and I said yes and then after it is done and I do sudo apt-get update ; sudo apt-get upgrade there are a zillion things it wants to update after all. What! Ever! Don't even get me started on how "just" adding in a pci-e nvidia graphics card causes the machine to lose all ability to actually, you know, display anything. Etc. ad nauseum.

Thursday, September 8, 2016

Your internet site sucks. I hate it. Loathe it. Despise it. It drives me completely nuts.

Whoever you are.

Saturday, September 3, 2016

The World is Run by Idiots #47: Seems like every email gift card thing I've ever seen fails to have an option where I can send email and have a usmail card following it up.

Sunday, August 28, 2016

I really liked the recent Peanuts Movie done by BlueSky.
I think that web page modal overlay dialog box thingies are kinda like the worst idea ever in terms of actual holistic end to end honest to goodness user experience.

Sunday, August 21, 2016

Entry number seven thousand four hundred thirty one in the long, long list of How Not To Do UX As Shown By Un*x Apps Across The Ages: winff.

Friday, August 19, 2016

Transparency is necessary, but not sufficient. Simplicity is also required. The tax code is public, but I believe it is crap. Open source code is open, but I hazard to guess most of it is crap.

Thus it is my belief that the government should be for the people, not for the most powerful and rich, and thus should enforce requirements of simplicity. Taxes should be simple. Corporate structures should be simple. Voting systems and districting should be simple. Anything which is not simple should be urged (somehow) to become (more) simple.

Sure, "simple" is a subjective and relative thing no doubt. And it can be a double-edged banana since some things actually do need to be complex if they are going to be solved. But for the most part I think we should push to err even egregiously on the side of requiring simplicity.

Monday, August 15, 2016

I think the UX of GitHub's search is a classic example of How not to Do It, or The Customer is Always Wrong.

Monday, August 8, 2016

I find it poor UX that apt-get seemingly randomly asks me the [Y/n] question. I mean, sure, there is probably some underlying reason, but it is hardly intuitive or obvious or reassuring in any way to a user who just wants to get things done.

Sunday, July 31, 2016

When you read that the $150 laptops with the AMD APU with some R5 400 mhz (?!) "GPU" are not really good enough (even with 4GB RAM and a 500GB (slow) hard disk) to play video games, you have to understand that it is really, really, true.
Should anybody need some evidence to indict the computer industry, one need look no further than a sampling of so-called "progress indicators". A continuous parade of idiotic and unethical practice.
I think if anybody needs an indictment of the entire computer industry, one needs to look no further than at a compendium of so-called "progress indicators". A continuous parade of idiotic and unethical practice.
I cannot fathom the sheer ineptitude displayed by seemingly all of humanity when it comes to usability and user experience. Consider the horrible UX of any OEM Windows install, with all the related bloatware. Then consider that I try to use a "decrapifier" type application but even getting that to work means I have to experience the horrible UX of the Windows installer system, and then the horrible broken UX of the application defaulting to needing to download every translation file from some slow remote server?! And then how Windows 8 makes it hard to even find the Program Files folder, and then of course I have to look in there and the blasted Program Files (x86) folder.

Complete and utter insanity and hell.
If your search engine gives me different results when the only thing i change is the word "cannot" to "can't" in the query, then I kinda think your search engine is an epic fail.

Saturday, July 30, 2016

I haven't used Microsoft Windows in a long time, not really since Windows 7. I am mucking around with a couple of cheap ass AMD laptops with Windows 8 pre installed, and I have to go through the setup process.

It is like complete and utter crap UX. Constant complete epic failures of usability and user experience. It really is enough to make me newly respect e.g. Ubuntu and (of course) Mac OS X.

(Also: weird that the setup on the two different (but actually very similar under the covers) machines had different screens, options, settings, requirements.)
Please boycott any sites that put modal dialogs in your face while you are trying to do things. Be it advertisements, email newsletter subscription offers, 124C --whatever it is, the fact that they are willing to break the UX like that means they are, imho, idiot jerks who deserve to go out of business.
A web browser that doesn't actually show my recent history in order in the history menu, only 'Recently Closed' and 'Most Visited' (I guess they want me to have to wait for the long click on the back button every time or something, and all the crappy ux domino effects that come with that.) A replacement history extension that does what I want... but uses some stupid hateful utterly idiotic ux where the menu faaaades in and out so i have to BURN yet another 0.25 seconds of MY LIFE any time I want to use it.

Oh and a GTX/Gnome program that never populates anything in the 'Recently Opened...' menu AND doesn't default to opening the thing I had open when I last closed the application.

A blogging platform that somehow breaks Chromium such that when I search for a word on the page, the x/y numbers change as I advance, but there is no highlight anywhere on the page showing the hits, and the page is not scrolling to where they might be should they be off-screen.

A blogging platform that breaks (can't save post, etc.) like the wind of a great grandpa.

THAT's what I get up at 6 am for, yeah BABY!

Friday, July 29, 2016

One of the common things that is said in the open source community is, "if you run into a problem, open an issue on it, don't just complain" with the implication that it is not ok to complain about whatever it is you ran into.

There's so much wrong with that mindset.

Just one concrete example of how it is wrong is that there's so much under-documented confusing bad weird crap involved in even e.g. just getting set up with Flow + Browserify that while I am already getting nowhere fast, I would bet getting nowhere fast ten times slower if I also attempted to open and follow an issue on every freaking thing that I come across along the way.

I am not entirely against using issues. However, I believe that in a good ecosystem it is part of a bigger gestalt of good UX. Using issues is just one tool among many and really should be a last resort. If there are issues being opened, it often indicates more fundamental problems e.g. poor documentation or a poor design or a poor ecosystem in the first place.
I do not understand how anybody can make a text search engine ux that is bad in this day and age. Have the people who create such broken abominations never used, I don't know, you know, Google? There are 3 (yes, three) basic levels of epic fail that I constantly find on the internet:
  1. No free text search feature at all.
  2. It is just broken under the covers (e.g. bad index no stemming or god only knows what) so good results are hard/impossible to get (e.g. I see the thing right in front of me but search doesn't find it) (e.g. hits appear and disappear seemingly randomly as I update my search).
  3. Front end search query language is weird (e.g. doesn't default to 'and') (e.g. uses extra weird syntax).
  4. Really poor filtering options (e.g. none, or stupid wrong ones).
e.g. Jira, Confluence, GitHub, Craigslist, Android Gmail, Win Phone Edge, most any e-commerce site I've ever seen ever, etc.


In software engineering, "We can solve any problem by introducing an extra level of indirection." (er, well, except sometimes performance.)

In JavaScript, we can solve any problem by introducing an extra level of indirection that is under documented and depends upon 3.14159 other under documented javascript libraries and competes with at least 7 other ways of trying to accomplish the same thing. (Oh and p.s. we'll make damned sure to always give them all really annoying names that either just sound effing childishly stupid (e.g. "...ify" or "belch" or some such) or are a freaking hatefest when it comes to seo (e.g. "flow").)
I find it curious (that's an euphemism, by the way, for a never ending string of cuss words) that the browser history feature ux has become so uselessly obviously blatantly corrupted over time. Chrome does not in fact even show the page I was on immediately preceding the current one. It shows Recently Closed and Most Visited. Uh. yeah.
There are two kinds of programming experiences.

One is where you find yourself having gone off on tangent after tangent, each time seeing and learning something super cool that you want to get around to adding/using in your development. You feel smarter, more powerful, unleashed, ready to build anything.

The other is where you find yourself having gone off on tangent after tangent, each time trying to figure out how to get something to work at all, something that should have worked out of the box, or at least had documentation that didn't suck. Like, x doesn't work so then you read about it and somebody says use y to solve that problem so then you try to get y to work but then etc. ad nauseum. You feel like a whipped dog, you want to quit and become anything but a programmer in life.

You can probably guess which category I'd put JavaScript in.
Of all the horrible things about the JavaScript ecosystem, one of the most glaring wtfs to me is that, apparently, even the ES6 module spec tells me I have to hard code the paths to libraries I want to include.

Thursday, July 28, 2016

I don't generally live in the world of JavaScript, but one cannot get away from it so I do try to catch up and dabble now and then. I have to say that to date I have never seen a JavaScript environment that was actually really any good by my predilections/standards. The core language is really crap (who cares if it was crap because it was created under extreme duress, the fact is it is crap) and the lack of a controlling centralizing body with sufficient sway means that anything layered on top of it just leads to a living hell in my opinion e.g. https://duckduckgo.com/?q=browserify+flow+import+export+"may+appear+only" as one random example I am wasting my precious life on this evening. There seems to be a lot of good intention out there in the JS community, but the sum total of it all is a minefield of vaguely in/compatible, under documented, rapidly changing, overly complex, overly flexible, overly fragile stuff. I personally have yet to see any way to manage JavaScript in any way that isn't junk.

There's no particular answer anybody can come up with that I can see, either. It is a horrible situation and the lock-in is just insanity. Gosh, maybe if we actually cared about software development we would all agree that JavaScript must not cannot never ever not ever be used for anything. We would disable it and delete it everywhere. We would demand that all browsers and all web sites use... something else. Oh, uh, but what would that something else be? Yeah, inevitably it wouldn't work out well because nobody could agree, and whatever it was would suck too and not be at all what I prefer in programming languages and ecosystems.

Do you really wonder why the aliens are staying the hell away from making contact with us?
I hereby claim a "citizen's patent" (like a citizen's arrest) on the concept of having not just a simple boring mere touchscreen device, but having a lickscreen (or uh tonguescreen) device. It won't respond to finger or stylus swipes at all, only to tongue lick swipes. (Yes, kicks the Tinder a different experience around.)

Ok, I hereby also put the idea into the public domain.

So there.

Saturday, July 16, 2016

news flash: shopping online at bricks and mortar companies still sucks absolute feces.

even at tech store web sites.

Wednesday, July 13, 2016

Reading about airliner incidents and accidents, I have a few humble suggestions for shoring up the problems that are still encountered.


  1. hypoxia
    1. In-cockpit cameras recording pilot's use of oxygen masks when required by rules/regs/laws. It is human not to don the mask, I get it. But it needs to be done. Review the video after every flight (and I do mean every flight) and if somebody didn't do it right then gently reprimand/teach/demote/remind/urge them to do it. Over time we can hopefully train everybody to really truly don the masks when it is right to do so. (Of course, the masks and tubing and valves and all that can have trouble too, so there should be pre-flight checks for them where the pilots actually use them during taxiing.)
    2. The autopilot should be able to bring a plane down to a less depressurized altitude if it detects a bad pressure situation. This feature should possibly be something that ground control can remotely invoke. Yes, I grok the security concerns.
    3. The autopilot should be able to land the plane at an airport if need be: if it doesn't get input from pilots that makes sense (the pilots should be quizzed every 25 minutes with a random question that a non-hypoxia-impaired person could easily answer); if the pressure goes wrong; if told to by ground control.
  2. data
    1. There is apparently an issue where airplanes don't really automatically report in often enough. It is expensive. It can be thwarted by the plane's satellite antenna being blocked (e.g. if things have gotten so bad the plane is inverted). It can be turned off (it should not be able to be turned off ever for pete's sake). So I suggest that a peer-to-peer system be implemented to complement the satellite one. Each plane will more frequently broadcast a minimal squirt of useful telemetry about itself. All other planes that can pick it up will record it. All that data will be automatically uploaded over WiFi as soon as the planes land.

Monday, June 27, 2016

I sure wish some masters student would fix the UX of setting up inputs in MAME.

Friday, June 24, 2016

A news flash: Mostly everything about computers still drives me utterly bat guano crazy.

(Like, in a bad way.)

  • There is no browser today that has a history ux that doesn't completely epicly horribly bare-facedly blatantly stupidly mind-bogglingly festeringly suck. Suck suck suck suck.
  • Ditto 'extensions' for browsers.
  • HP laptops lack an inverted T for their cursor keys.
  • Anything and everything about Android, especially the Gmail app, is perhaps one of the most deep and wide demonstrations of piss poor ux.
  • All the UIs where the edges of the screen mean something if I accidentally swipe or touch around them e.g. iOS and Android overlays.
  • The fact that the iOS Control Center doesn't have a button to get to the full Settings app. Can you believe Android scores a UX point here?
  • Anything and everything to do with file systems. The documentation. The APIs. The failure to make distinct types in the programming language for paths, directories, and files. Let alone relative vs. absolute paths, or symlinks. Of course some of the suck of file system APIs in programming languages comes from the horribleness of the underlying file systems themselves.
  • Pretty much any programming language. (For me of late: JavaScript. Java. Objective-C. K. Haxe.)
  • Whoever thought AMD should have only one FPU for all those cores. (And whoever thinks an odd number of cores is good gestalt consumer design.)
  • Smartwatches. All of them. (Especially the Toq.)
  • Thermostats. Regular ones suck. Fancy ones (i.e. Nest) doubly or even trebly suck.
  • WiFi. Still. After all these years. And don't get me started on Bluetooth.
  • Glossy monitors.
  • Anything claiming to be a gentle tutorial to Linux (oh, wait, sorry: GNU/Linux) for newbies. Especially anything about Raspbian.
  • Most any app or game I have ever downloaded from the app stores.

Sunday, June 5, 2016

"Mobile first" is pretty much a sad, bankrupt joke, judging by my daily experiences with anything on Android.

Sunday, May 22, 2016

Progressively loaded web pages are often the world's worst UX because apparently nobody bothers to pre-calculate the sizes of divs so everything moves around as the page loads. Which means one can't really click on things successfully because half the time the thing moves and your click ends up on something else. I guess all web devs only do things over a buhzillionabit connections on their internal local network or something unlike some of the rest of us mundane jerks who only have slow DSL?

Thursday, May 19, 2016

Is it just me, or is the UX for the video on this page pretty much utterly effed up beyond comprehension? The only way they could possibly ever make it even remotely any worse would be to make it somehow cause my keyboard and mouse to suddenly leak human blood.

Wednesday, May 18, 2016

"I agree all data structures are not equal, and on modern hardware you want to be using arrays as caching behaviour can dominate the 'O' of the algorithm."

Friday, May 13, 2016

A litmus test of mine: if you, overall, like Gradle then I strongly suspect we will never be able to see eye to eye.

Thursday, May 12, 2016

Communication is hard, and people suck. I find it rather annoying when there's the title/summary of a question, but then there's the underlying use case that led to it, and then the answers say "yes" but what they really mean is "no" for the title/summary + "here's a crappy hack" for the underlying use case. Especially because web search engines are for the most part probably going to match on the title/summary, and so then I will get them as matches, and then read the damned things and they will not be answering my own use case under the rubric of the same title/summary. Whatever.
If you grew up in the era before, during, and after personal home computers then you might have a sense of that feeling of a before and after, where before there was nothing with a computer feeling to it, and then after (like, after you laboriously typed the BASIC listing in from a magazine article) there was something. Watching the something, especially if it had any rudimentary animation with crappy low rez character graphics, could really give one a strong emotive sense of the start contrast between the before and after. Even though the after was lame, the fact that it existed at all was amazing to behold and ponder and weigh.

Tuesday, May 10, 2016

I find this so wrong it kinda actively hurts my intestinal lining.

(to clarify: because nobody ever bought me perfume.)
I find this so wrong it kinda actively hurts my intestinal lining.

(to clarify: because nobody ever bought me perfume.)

Tuesday, May 3, 2016

https://imgflip.com/i/y9due
I am hereby promising myself and my family that I will no longer be a knee jerk hammer ton of bricks style father, but will instead stop and think about what i need to say and more importantly how to sa -- WHAT THE HECK ARE YOU DOING? DEITY! THAT'S NOT HOW YOU OPEN THE FRENCH DOORS!

Monday, May 2, 2016

Craigslist apparently changed their 4 buttons of "Newest | Relevant | $$$ | $$$" to a weird pop-up thing that pops up on mouse over and uses up and down arrows to try to indicate sort order. To my mind it is kind of a living heckdom of really painfully transparently bad UX. Who comes up with this stuff? How does it possibly get through usability testing? Am I just a freakish freaking alien? (Yes, I know.)

Saturday, April 30, 2016

Flickr: almost certainly quite possibly a shining example of how not to do UX.
Integrity. That's a thing most UX is sorely lacking. Consider how when you post an ad to craigslist you get a message saying something like, "Thanks for posting, we really appreciate it" but then if you are trying to post more than one thing you can get the dreaded, "you are posting too fast, try again later" which seems to happen to me after like 4 postings which is hardly enough, and I am not botting this, I am doing this all manually by hand, so I don't see how I can be doing it too fast, really. The kicker is that some other things I am posting afterwards go through OK, but the one thing that said "too fast" is now somehow stuck always always always giving me that result, so it seems like I can never post that one at all. Pretty much seeming utterly crappy random illogical unfriendly unuseful punishing sad broken lame dumb backasswards terrible UX. I mean, if you ask me.
It is so "awesome" that the GIMP on Ubuntu 14.04 running X11 Unity LightDM (I guess, I don't really know how to tell, I am just looking in the results of "ps aux") when I tell it to load a bunch of files and then -- you know, because this is supposed to be a system that supports multitasking of things -- try to go browse the web that every time GIMP starts loading a new file it forces itself to the front of the desktop stack.
I have tried various "teach kids to program" systems over the years. Frankly none have been impressive to me. I guess maybe kids are more able to put up with broken UX than I am. Unfortunately my son already has shown the ability to recognize bad UX, which means he is doomed to live a live of living user hell like me. I just want to hit the lottery so I can sponsor things done well as a response to all the drek out there.

Friday, April 29, 2016

There are two kinds of people in the world. The kind that think when using a scroll bar on a 'desktop' app, clicking above or below the 'thumb' should move one page towards were you clicked; vs. the kind that think the thumb should jump all the way to where you clicked.

The former are correct. The latter are wrong. (If you ask me.)

Thursday, April 28, 2016

Another thing I would like to teach people is that moving things out from under me is annoying as all heck. Android OS does it. Firefox does it. Ghostery does it. Seems like Every Bloody Freaking Thing does it. Why are the folks who make these tools so apparently desperate to make my user experience so completely and utterly horrible? I wonder if they could have done any worse if they had somehow designed the system to purposefully watch me and make sure that just as I am about to click/touch on something and then move it in a premediated fashion so that the wrong widget gets my input. Unfathomable. Do these people not use these products? Ever?
The US Social Security web site UX continues to just impress and amaze. Ok, not. Including the TEXT MESSAGES ALL IN UPPER CASE and the "extra security features" that apparently aren't really required and/or depend on physical paperwork I haven't gotten or have long since lost. Yay.
O'Reilly parts search UX? Fail!
Pep Boys parts search UX? Fail!
AutoZone parts search UX? Hey, that's not so bad at all! Crazy. Based on that alone I wanna use them as first preference when in need of parts.

Wednesday, April 27, 2016

Leave it to the US Government to make a Social Security web site that only works during certain hours. As if the computers really need to go home and get some sleep every day. I mean, we aren't talking about some infrequent unavailability for some tweaks or upgrades or whatever, we're talking about a regularly recurring day in day out thing where the web site basically puts up a CLOSED sign. Of course the kicker is that the front page doesn't tell you anything about it, you have to click to log in and only then does it tell you:

This service is shutting down for maintenance now. View our service hours.
Skip to Content
Social Security

The Official Website of the U.S. Social Security Administration

We're sorry...
 
This service is not available at this time.

Please try again during our regular service hours (Eastern Time):
Day
 
Service Hours
Monday-Friday
 
5:00 a.m. - 1:00 a.m.
Saturday
 
5:00 a.m. - 11:00 p.m.
Sunday
 
8:00 a.m. - 11:30 p.m.
Federal Holidays
 
Same hours as the day the holiday occurs. 
Well, hallelujah and amen, people!

Tuesday, April 26, 2016

If there is one thing I would like to successfully teach everybody on Earth, it is that when you write out a date for humans to read, it really really really should include everything relevant:
  • Day in month #
  • Day name
  • Some write MM/DD/YY and others (more sensibly, ahem) write DD/MM/YY. Thus I think months should always be written out as names, not numbers.
  • 2 or 4 digit year #.
  • A time if need be. Personally I like 24 hour clocks, but am/pm/whatever.
  • Redundancy is not bad! If the thing is in the morning then say "morning of <date> at 11am." 
  • Spelling day and month names out fully is not bad!
Thus "3/7/2013", or "March 7th '13" (or, gosh, was it actually "July 3rd 2013") etc. doesn't cut it. Something like "Thur March 7th 2013" is better!

What do you think?
I have to say that the UX of the tools people use to build software is often severely lacking. When (ha ha) I get rich I will use my ill gotten gains to improve things.
In my bleeding heart alternate universe, our transportation would be designed to avoid road kill as much as possible, and our buildings would be designed to make it easy to let lost birds get out.

Saturday, April 23, 2016

Personally, I find the UI/UX of Android 5.x for phone stuff to be utterly abominable. The general UX for contacts is also still horrible, as ever, in Android. Utterly boggles the mind.

Thursday, April 21, 2016

Has there ever been a programming language that gets numbers right? I mean in every regard. There's a lot of nuance about numbers, even abstractly let alone in terms of actually trying to implement them on a machine, and I have yet to see any language that doesn't have big frustrations, holes, gaps, ux gaffaws, etc. when it comes to Things Numeric.
What about my old 78's?! Er, I mean, what about integer_t?
#endif  /* ASSEMBLER */
/*
 * If composing messages by hand (please do not)
 */
#define    MACH_MSG_TYPE_INTEGER_T    MACH_MSG_TYPE_INTEGER_32

#endif /* _MACH_ARM_VM_TYPES_H_ */

Wednesday, April 20, 2016

Anything vaguely related to C (like, say, C++) is probably crap to be avoided whenever possible. If you ask me. Which you didn't.
In some "oh look at that horrible, horrible car wreck!" kind of fashion, the fact that Android so utterly screwed over the entire concept of the back button from the Web is sort of fascinating to me. Except for how it drives me nuts daily.

The problem is that the back button is involved with task stacks as well as being used by apps themselves for their internal UI. So when I am using a, you know, web browser on an Android device, the hardware/OS back button will only sometimes act like a real browser back button: other times it will dismiss the browser app entirely.

Sure on the one hand I completely get the logic of it all. But the final effect is really only to drive me nuts. Best way to drive somebody crazy? With random negative stimulus.

Tuesday, April 19, 2016

I sorta wonder what it would be like if instead of "git branch -a; git checkout [some branch]" we could do things like "ls branches; cd branches/[some branch]", if you catch my drift.
"They have a preferred way of working, for better or worse, and if they’re not open to adapting their process to align with your needs, then even if they put up some of the optics of Kanban (using a board, limiting WIP, etc), you’re not going to get the continuous improvement mindset that it sounds like you’re looking for them to approach your engagement with."

Monday, April 18, 2016

Probably the only way things won't egregiously suck is if there is sufficient competition. Having rules & regulations from some government entity might help a little (I am not a fan of completely unfettered capitalism), but can of course also go terribly wrong.

Unfortunately certain things seem to happen that make the "sufficient" and "competition" parts of the phrase not come together. Like, only the big orgs can do it; or the incumbents have ways of locking out new competitors (e.g. by vacuuming up most of the investment money even though they aren't yet profitable); or all the consumers are complete idiot glutton for punishment dummies who keep on using the evil bad stuff even when it is known to be evil and bad; or all the consumers wouldn't be able to differentiate between good and bad ux if their life depended upon it; etc.

Sunday, April 17, 2016

ux is hard, and thus - although sometimes i wonder about cause & effect - everybody gets it wrong.

Saturday, April 16, 2016

I know I shouldn't be surprised, and I know nobody really cares. But. But, the Pokemon TCG game UX kinda really sucks. Even just trying to set up an account and log in is kind of a little circle of hell unto itself.

Tuesday, April 12, 2016

Based on empirical evidence, I think just about any online form these days is a broken piece of junk. I tried ordering burgers online from The Habit and it only failed egregiously at the very end. So I hope that company immediately goes out of business as just desserts.

A main problem with any extra layers of security is that it is another layer that can go wrong. Google's 2 factor auth is sometimes pathologically incapable of sending a text message to my phone. In those cases I have sent myself an sms via other routes and they get through so I must guess that it is something Google is doing wrong. Yay. So then once I do get in I try to get some backup codes and save them, but the UX for that is weird and really bad and hateful as well. So all in all, a fuster cluck when it comes to user experience.

Saturday, April 9, 2016

  1. I do the online check in and get A boarding passes.
  2. I print them out.
  3. My printer does a bad job printing them out, dunno if they will scan at the gate.
  4. Download the PDFs to my phone.
  5. Think to see if the airline says that will work.
  6. Their web page implies they have some special version / app that I should try to use, and that the way to get it is to say you want it when you check in.
    1. but, uh, I already checked in?
  7. Go to the web page to see if I can just type in the confirmation code to re-get the same boarding passes, but as mobile form as well.
  8. After I type in the info, it tells me that I can check in.
    1. BUT, UH, I ALREADY CHECKED IN!
    2. if I click on "check in" will it kill my A's and give me I dunno Z's or something? I have no way of telling, and I don't really want to risk it.
  9. Go to the app store and download the app and run it.
  10. It asks me to log in, or "CONTINUE AS GUEST" (caps theirs).
  11. I click guest... and wait... and then...
  12. It gives me a god awful programmer art error dialog box about not being able to connect, "X ERROR Unknown Error while connecting" (oh the hate)
    1. Doesn't tell me what they are trying to connect to.
    2. Doesn't give me anything useful I could use to figure out what to do to fix the problem.
Have I mentioned recently how technology and the people who do stuff with it make me see red?

Update:
  1. The 3rd time I touch to continue as guest, it gets in.
  2. The app pretty much has the same horrible UX where it looks like I am taking a huge gamble, it has a CHECK IN button, which for all I know might kill my A's and give me Z's if I dare to press it.

P.S: Anybody (and it turns out to be a lot of people / orgs / sites) that uses I and L and 1 and O and o and 0 and Q etc. in their sekrit kodez is a freaking stupdenous idiot of dumb idiocy (oh the hate).
This is not saying anything new, but on the whole I think Android's biggest failing (and in particular vs. iOS) is in User Experience.

For example, the hardware tends to be under powered vs. what they try to do in the UI. Often when I am trying to swipe in Android Gmail, and other apps, things go all to heck. Either nothing swipes, or things swipe the wrong way, or things start to swipe but then think I did not swipe far enough and rubber-band back to where they started. Any number of completely incorrect user experiences from my user perspective. I just went through a minute of fighting with Gmail on this. What a bloody nightmare experience.

(Lest you claim that this is the fault of the handset folks, rather than of the Android OS folks and the overall ecosystem, I'll point out my current phone is a Moto E 2015 LTE, which I guess is in effect actually kind of a Google product, not some random 3rd party thing.)

So maybe iOS's market share will continue to recover, and eventually eke out Android, as people say, "forget that stuff!" to the Android UX.

Friday, April 8, 2016


Formalism is power.

http://www.ccs.neu.edu/home/shivers/papers/rank-polymorphism.pdf
My other band name really truly is <<The Right Abstractions>>.

"We also have a lot of crazy ideas for building out Kerf as a large scale distributed analytics system. Kerf is already a suitable terascale database system; we think we could usefully expand out to hundreds of terabytes on data which isn’t inherently time oriented if someone needs such a thing. There is no reason for things like Hadoop and Spark to form the basis of large scale analytic platforms; people simply don’t know any better and make do with junk that doesn’t really work right, because it is already there."

Thursday, April 7, 2016

Coming soon! A new circle of Hell! For those people who post 'helpful' tutorials/examples on the web that turns out to be mostly just copy-pasting the examples from the manufacturer's docs. Which suck. Which was why I went looking for alternatives in the first place.

Wednesday, April 6, 2016

Living in the future is not all it was cracked up to be. Sure I can find out about all the restaurants in my local area super quick, vs. having to use the Yellow Pages, or hear from random friends, or whatever. But, it also means that I end up seeing a lot of web sites for restaurants that are usability and user experience abominations. Thus this hallowed future sometimes seems to be all about bringing me really bad user experiences faster than ever before, and anywhere I go since I can get it on my phone. Yay!

Tuesday, April 5, 2016

In the university level class I teach on usability and user experience, I use the ffmpeg command line interface as a wonderful example of both how to do it, and even more how not to.

Monday, April 4, 2016

I find it almost terminally depressing that apparently the world of computer software system development is populated with more than enough people to make sure that pretty much everything has some kind of blatantly bad stupid wrong evil broken hateful idiotic pathetic lame clueless eff up that makes me tear my hair out.

Consider pop up drop down menus. Consider one that has a little down arrow icon at the side of it. "[Foo bar|▼]" as a terribly bad lame evil wrong effing sad ascii example. I expect that when I click on the text, the full menu should appear, not only when I click on the down arrow.

But who knows! Maybe It's Just Me!

Saturday, April 2, 2016

I grew up on Emacs, not Vi. I have to say, though, that Emacs is just kinda scary bad news when it comes to UX, in many ways. A nice glaring badness is how undo works in Emacs. There's no redo, just a twisty undo that can undo the undos until you are so freaked out and lost and confused you just give up using it ever. Anybody who is an apologist for this design doesn't score well on UX in my personal humble subjective opinionated opinion.
People complain that the IoT is instead "of Things" is "of Shyte". The thing is that everything about computers has pretty much sucked long before any IoT junk.


I start with this:



And when I click on View Details, I get this:


hate.

Friday, April 1, 2016

I don't even know how privileged I am vs. 99.9% of the rest of humanity. Nevertheless it drives me crazy whenever somebody doesn't realize they are privileged. Whatever form of socio-economic status is being blithely missed, it is depressing. Depressing when people really truly cannot comprehend disparity and biogotry and clueless discrimination. If you have never run the thought experiment of what it would be like if They were to throw you in prison for no really good reason, of what it would be like if They were to shoot you dead for no really good reason, please do try it and try to get a feeling for the existential horror of it all. (But don't worry about voting on it since everything is already gerrymandered all to heck.)

Wednesday, March 30, 2016

As some great religions and philosophies of the world have been trying to tell us all along, we actually are living in hell, a hell of our own making.

(As a bleeding heart progressive type, I say that very much tongue-in-cheek vis-a-vie the real issues in the world. But still, within the parochial confines of software engineering, it really is rather depressing to me.)

Tuesday, March 29, 2016

If I were super filthy stinkin' rich, I would fund a project to make digital back for old 35mm film cameras. I know, it has been tried-and-failed before, I know. But heck! The sensor tech gets ever better and thus it might get ever easier to actually make. Random example: the sensor technology is such that one could even just be videotaping everything coming through, and then pick out capture frames later. Or, have the digital back do that for us, and snap out the non-dark images. Works fine for non low-light long-exposure situations. Or, set the back's ASA to 1000 and then notice when there's non-blackness and get a raw shot, because the film camera is probably set at like 200.
yes!!!
I guess maybe I just want Ceylon?
Networking is crap. I mean, sure, it is amazing that it works at all, but then the ways in which it doesn't work are sometimes really low hanging fruits of utter ux stupidity. A concrete example is my home router for my ISP that is running the DHCP server, and making itself the DNS IP. But then the router flakes out and can't serve DNS requests sometimes. So on my Linux laptop I manually added some public DNS server IPs as backups. But there's nothing built into Android to let me do that.

Monday, March 28, 2016

I <heart> when some software, be it Ubuntu's desktop, or Android's various UIs, draws something that is some cached old image, and then updates it e.g. by resorting or by animating. So that my fingers are in a race with the machine's update. So when I click/tap on what I wanted, it has suddenly changed to something else, a split second before.

How can people do this?

I really just do not get it.

Friday, March 25, 2016

  • trying to find "how to do x" so i can learn how to stop x.
  • that turns up hits for "how to do x". i guess most people want x.
  • so then search for "how to prevent x".
  • and get results that are basically "how to prevent x from not happening".

Wednesday, March 23, 2016

"Meanwhile, doing the "right" thing with a global value is significantly harder. It has to be collected, and passed around with varying degrees of difficulty, and could potentially involve hundreds of lines of code if for instance you need to change the type of what is passed around, which is evidence that this is not a simple problem. Nobody "wants" to use a global variable, but if you make it even slightly more convenient than the local "right answer", whatever that may be for a language, programmers are going to use them. Even Haskellers can succumb to the lure of unsafePerformIO $ newIORef 0."

The nuance I'd like to riff on is that there are Good People doing the Best They Can with the Bad Tools They Gotta Use but even they realize that, "heck this code is most likely going to have to change a lot over time, and reworking the code as you go along to deal with those changes means a lot of managing repetitive ASCII because our languages suck," and so the Siren song to use the global (or whatever other evil shortcut) becomes all the more alluring.
In case you didn't know, I hate to burst your bubble, spoiler alert, the truth hurts will out out damned spot, I'll be blunt: most programming sucks. Both when having to do it, and the end results.
I guess if you watch 'news' on TV then you are already inured / brainwashed / beaten down / trained / withered and probably don't notice, but holy heck: Yahoo's front page with their "news" is just horrible, horrible crap. Thank god for the BBC and even just Google News for being at least slightly less sensationalist.

One thing all sides can agree on: the 'mainstream' media is just horrible, horrible crap.

Tuesday, March 22, 2016

I might have missed how to do it, since I am dumb and easily confused (and ever more so the older I get, more is the pity for me) BUT I didn't see a way to do e.g. "flow foo.js" and have it not check the other *.js files in there. That is annoying for several reasons. The fundamental issue for me in terms of UX is that I think the more fundamental UI is to require being given a set of paths-to-files to check. The "check all files implicitly automagically" is some weird nice-to-have in my book, and really not the right default at all. But of course it is all kinda subjective. Still... I'm pretty sure I'm right. ;-)
And never the twain shall meet.
"Matthias Felleisen, apparently as a byproduct while developing his dissertation in which he defined relatively well-behaved lambda-like calculi for describing imperative language features (continuations and mutable variables), proposed a formal definition of a "more expressive than" relation between programming languages, building in part on Landin's notion of syntactic sugar. Notable as a rare objective measure in a very subjective area."

Monday, March 21, 2016

I do not think Scala is perfect, but I am always very happy to use the REPL that comes with it when I want to experiment with Java stuff. (I used to use things like BeanShell.) Thanks, Scala!

Sunday, March 20, 2016

As a sometimes graphic designer / user interface / user experience / information architect type wanna-be, I have say that I think the colors chosen for the Legoland calendar are kinda outright dumb.

Friday, March 18, 2016

Deals where you sign away the ability to sue and only get to use arbitration do not have to be inherently bad. But I guess 99.five9s% of the time they are, because of how they are set up. As screwed up as the legal system is in the USA, as an end-user I would rather take my chances with it than with the enforced arbitration route.

Thus I would like somebody with visibility to start a service that tells us which companies and products and organizations do not include such evil language in their Terms of Service or whatever. So we can try to see alternatives, and factor that into our decisions.

Monday, March 14, 2016

Something cool about Android (5+, at least, I guess) from a nerd perspective: If you use the official animation system, then the Battery Saver can disable those animations system-wide to save on juice. Super keen!

Friday, March 11, 2016

Well, at least the first instalment of The Mysterious Benedict Society was mind bogglingly good.
I think CHDK is, in a nerdy, hard-to-use way, completely awesome!

(I think Wikia is, in a blatant, obvious way, completely slow annoying ad-bloated browser destroying hell!)
I don't mean to say there is direct cause and effect, but I am pretty sure there is very, very strong correlation: Open Source software generally does not ever really stand out when it comes to Usability or User Experience. If there isn't an already existing commercial thing which has had competition honing it's user interface for the OS folks to copy, then we end up with monstrosities like the original GIMP, or anything related to KDE, or GNOME, or, to wit this evening for me, anything related to trying to stitch up a panoramic photo. (And even when there is something to copy, somehow things get mucked around with enough to make it overall worse, it often seems.)

Of course, whenever anybody attempts to point out all the suck there is some really disturbingly clueless vehement reaction from fan-types claiming that everything is perfectly correct, that everybody should actually want the equivalent of bloody internal guts to vomit out of their computers onto their laps every time they try to Just Get Something Done.

As an erstwhile programmer, I do love me some Open Source! I prefer to run Linux. I pretty much don't trust or really much like the nefariousness or usability of Windows or Mac OS X for use at home, unless it is what I need to get a job done. Not being able to figure out WTF when something is fubar because there's no docs and the thing is closed source is the worst hole to try to dig oneself out of. But my love of FLOSS does not mean I cannot bear witness to the general abomination of i.e. the so-called linux desktops, whichever they are.

Now, I don't want to just complain. I want to know what it is that we as software people can do to make UI and UX something more easy to wrangle. I think fundamentally it is all really hard and so only the people with enough time, which generally means enough money, can ever get around to evolving something that doesn't bare-faced suck. Most of commercial stuff is crap, too! I guess because UI and UX is really bloody hard.

What are the essential complexities of it? Then what are the accidental complexities? I feel like the essential complexities are things like: How much subjectivity there is in usability; The inherent variance in people; The bad training people got using other bad UI memes, getting brainwashed in the process. I feel like the accidental complexities are everything related to software, no matter how wonderful it is purported to be (random e.g. Interface Builder).

Since I am the 2nd type of person, I do not know what the solutions are. I can only point out that we have problems. (The 1st kind of person doesn't see or admit there are problems. The 3rd kind of person can come up with actual possible solutions to experiment with.) So I am doomed to suffer. Ignorance would be blissier.

(The real kicker that tells me humans are frankly idiots when it comes to UI and UX is that even with the much trumpeted and ballyhoo'd touch interface, things! still! suck! C'est de soupirer. Gun in mouth blues.)