It is pretty rare that I find a video game I really enjoy playing, through and through. Usually even just trying to get into actually playing a game is enough to destroy whatever interest I might of had, or any fun I might have derived. Then the controls of the game usually kind of suck for me. Then the gameplay itself is kind of frustrating and not all that much fun.
Minecraft: Terrible menus. Terrible config ui.
Rocket League: Most of the time the ball is off the screen anyway, so how is that supposed to be fun? I literally do not get it.
Anything that falls afoul of parental controls in some horribly bad confusing way: Star Trek Online on Xbox One for example.
Anything with a non FPS 3D camera system, because I have never seen one that doesn't just plain suck, one way or another.
Racing games: I really enjoyed Rally Sport Challenge. Other racing games have been really otherwise meh to me.
Any toys to life games: All of the above problems, plus too expen$ive.
Sunday, December 31, 2017
Wednesday, December 27, 2017
I do not like Microsoft. I think the whole Xbox Live experience is super crappy bad evil classic shyte UX.
(Now, lest you get me wrong: I also have strong dislike for most any organization that is related to technology. Mostly because the UX is just for crap. Microsoft, Apple, Google, Sony, Yamaha, XYZprinting, anybody who ever made a video game (their UX all sucks), Netflix, Steam, yes most anything with DRM because it often just screws the little people, Linux desktop GUIs, any company that makes a car, etc., etc.)
(Now, lest you get me wrong: I also have strong dislike for most any organization that is related to technology. Mostly because the UX is just for crap. Microsoft, Apple, Google, Sony, Yamaha, XYZprinting, anybody who ever made a video game (their UX all sucks), Netflix, Steam, yes most anything with DRM because it often just screws the little people, Linux desktop GUIs, any company that makes a car, etc., etc.)
Saturday, December 16, 2017
A large majority of the Xbox UX is crap, on both the 360 and the One. (I also have the original, which wasn't so bad in my mind simply because there wasn't anything it could really do since it wasn't really all that super duper internet enabled by comparison, maybe. Or maybe just because I never did any Xbox Live stuff on my original Xboxes.) Add on the layers of Xbox Live, and holy heck, what a complete pie in the face, bullet to the groin, back handed slap, insult to intelligence type train wreck the whole experience is.
It drives me bat poop crazy that the companies that somehow have taken over the world have consistently never managed to do a very good job with UX, UI, Usability, Design. (Some things might look good, but there's always, always, always really horribly bad stupid broken crap about their actual UX.)
It drives me bat poop crazy that the companies that somehow have taken over the world have consistently never managed to do a very good job with UX, UI, Usability, Design. (Some things might look good, but there's always, always, always really horribly bad stupid broken crap about their actual UX.)
Saturday, December 9, 2017
When it comes to technology, humans have made their own hell.
Consider the naively mundane issue of determining the "type" of a file. What a freaking nightmare. Like how in (I guess it is) Nautilus I can't sort so that all the JPG files are together, because sorting by the Type column is for the string Nautilus is showing for the files, like "Image".
Consider the naively mundane issue of determining the "type" of a file. What a freaking nightmare. Like how in (I guess it is) Nautilus I can't sort so that all the JPG files are together, because sorting by the Type column is for the string Nautilus is showing for the files, like "Image".
Friday, December 8, 2017
Saturday, December 2, 2017
Part of what sucks about trying to do any software development in the modern world is that there are too many options and different systems, and so people are not willing to spend much energy making setup become automagic. Instead they write documentation about "make sure you do this" and "don't forget to do that" but then they forget some detail or other, and they quickly get out of date, are invalidated by other things changing, and so in the end it is just a stressful nightmare of UX haaaayyyyttteeeee if you ask me.
Being a computer user or programmer is signing oneself up for the death of a thousand cuts. Like I just want to try ScalaJS with ReactNative on Linux (yes I know that's insane out of the box, but it really shouldn't have to be) and before I can even get anywhere I have to get sidetracked because when I do apt update I get
W: Failed to fetch http://debian.sourcegear.com/ubuntu/dists/trusty/main/binary-amd64/Packages 403 Forbidden
and debugging / fixing that is a freaking nightmare adventure of hell all in and of itself. Because it would be too freaking hard for apt to figure out that gosh maybe it should try some other mirror then, I guess?
So then I try to use the standard tools to fix it, only to re-encounter for the zillionith time the fact that GTK or whatever the hell this stuff uses is itself fundamentally a horrible piece of broken ux dog excrement that cannot even handle drawing scrolling lists of check boxes correctly.
W: Failed to fetch http://debian.sourcegear.com/ubuntu/dists/trusty/main/binary-amd64/Packages 403 Forbidden
and debugging / fixing that is a freaking nightmare adventure of hell all in and of itself. Because it would be too freaking hard for apt to figure out that gosh maybe it should try some other mirror then, I guess?
So then I try to use the standard tools to fix it, only to re-encounter for the zillionith time the fact that GTK or whatever the hell this stuff uses is itself fundamentally a horrible piece of broken ux dog excrement that cannot even handle drawing scrolling lists of check boxes correctly.
Firefox 57.0.1 on my Ubuntu 16.04 machines is (a) a crashy piece of crap so far and (b) has a ui that makes me kind of mad. I really strongly dislike their cylon mode activity / wait widgets.
Funny that after I use the restore tabs function, the Android Studio web page that I was on says it is showing me instructions for installing on linux, but it is clearly showing me windows stuff (with a giant screenshot of a windows desktop) and I have to toggle it to windows and back to linux to get the right instructions to show up.
The world of computers is just a steaming pile of half broken crap. Created by people who seem to think they are so clever.
Funny that after I use the restore tabs function, the Android Studio web page that I was on says it is showing me instructions for installing on linux, but it is clearly showing me windows stuff (with a giant screenshot of a windows desktop) and I have to toggle it to windows and back to linux to get the right instructions to show up.
The world of computers is just a steaming pile of half broken crap. Created by people who seem to think they are so clever.
So I go to the Android Studio download page. It correctly has picked the right OS for me (linux). Then when I download it advances me to the page with instructions about how to really install and use it. But... they instructions are for Windows. (There's even a little drop down menu thing to let me change to Linux, so it isn't as if they couldn't have put me on the right thing.)
Of course it freaks out and shows discombobulated incorrect info when Firefox crashes and I restart it and use the restore tabs feature.
And then I finally get Android Studio running on Linux and one of the very first things it does it put up a warning error dialog saying something obscure about IBus or something like that which I blithely ignore because I've freaking had it up to my ears with everything being a piece of junk that I have to manually baby sit and fix and freaking deal with before I can get anywhere near JUST WRITING SOME CODE.
Of course it freaks out and shows discombobulated incorrect info when Firefox crashes and I restart it and use the restore tabs feature.
And then I finally get Android Studio running on Linux and one of the very first things it does it put up a warning error dialog saying something obscure about IBus or something like that which I blithely ignore because I've freaking had it up to my ears with everything being a piece of junk that I have to manually baby sit and fix and freaking deal with before I can get anywhere near JUST WRITING SOME CODE.
The Internet is just a bunch of dumb stuff, sometimes, if you ask me. I just wanted to see if there's any last minute vacations in the USA that I'd like to buy and it was a freaking nightmare of utterly incompetent UX on every darned web site I tried. I guess nobody actually wants to take my money after all.
Sunday, November 26, 2017
I kinda hate the Google Photos UI, UX. Overall it seems very disjointed and it is hard to figure out how to do the things I want to actually do. And then trying to explain it to anybody else is another round of ux hell. It also kills me when I try to upload some photos and then it tells me some failed to upload, and then it doesn't give me any useful way to retry them. No error message that explains why they failed, either. Even though sometimes they do work the 2nd time. W-hate-ver.
Thursday, November 23, 2017
Friday, November 17, 2017
It is the year 2017, and as far as I know there is no computer OS that can handle multiple monitors really well, including sometimes just utterly losing video. New macbook pro usb c touchstrip latest mac os x flails in various annoying ways. Relatively recent Ubuntu 16.04 often freaks out wrt multiple monitors, and even goes blank after re-plugging in a video cable. I haven't touched a windows box in a long time, and nothing much newer than Win 7, so I dunno there, but I'd guess there are fubar things about that experience as well.
Sunday, November 12, 2017
Monday, October 16, 2017
While I greatly respect the history of Java and the engineering that has gone into the JVMs of various ilk, I have to say that the restrictions inherent in Java and in the JVM and thus in most languages that target the Java ecosystem - those restrictions really suck. Kotlin sucks so far as I can tell because it is trapped by what it can/not do wrt the JVM and Java interop.
Scala tried to have the cake and eat it too, and that in my mind ended up failing in horrible ways where the whole of the suck was greater than the sum of the parts of suck. At least Scala was trying to gloriously exceed any pragmatic realistic possibly sane and mundane restrictions - but trying to break out of the JVM/Java just made Scala all the more insane in the end.
Dunno what Fantom or Gosu or Frege or &c. are like. (I do not think about Groovy much since I am bigoted in favor of (good) static typing.)
Saturday, September 30, 2017
Sunday, September 24, 2017
Certain things should be deal breakers that kinda make every sane person run away, and you lose all their business.. Like, say, not supporting easy bulk/api downloads?!
I know that usability and UX have some subjective components to them. But I feel like I live on a planet where the people who make the majority of the software are just insanely wrong in their choices.
Like the horrendous "Switcher" in IntelliJ derived editors. Or, anything to do with 'settings' in said ides.
Like the horrendous "Switcher" in IntelliJ derived editors. Or, anything to do with 'settings' in said ides.
I hereby release my genius idea into the public domain: Kind of like, "why don't they make the entire airplane out of that black box material, then?", how about we make the fan be the computer? So I don't ever have to hear my work macbook getting supa loud on the fans while compiling or whatever, the entire inside is just a fan that is always going. See, the blades of the fan would be computing blades.
Sunday, September 10, 2017
Saturday, September 9, 2017
One of the worst curses you could end up with (well, only in the 1st world problems kind of sense) is to understand enough about UX, software development, and security - all three, all at the same time - so that you can viscerally grok the complete hell weasel jerk ineptitude of the 3 credit reporting agencies.
Sunday, September 3, 2017
Saturday, September 2, 2017
Things to be thankful for: Farmers' markets. Fair trade chocolate. Fair trade tea. The invention of peanut butter. Whoever maintains Debian, and Ubuntu. The power companies keeping in the lights on (for the most part). A/C. Fresh cooked falafel. The art of typography. Real books. Dim sum. Mechanical pencils. The remaining bananas before the bananapocolypse. Alternative milks (just not soy). Desktops that have an inverse-video mode. Battery technology. Manual transmission cars with sunroofs. Burritos (gringo). Tamales. Chicken tortilla soup. Pho. Banh mi. Bi bim bop. Unagi. Bicycles. Gears in general. Fish and chips circa 1985 (uh yeah too rapacious, in retrospect). 8 bit computers. Shmups. Public libraries.
But... not Bloger, so much.
But... not Bloger, so much.
Saturday, August 26, 2017
IntelliJ derived IDEs are better than like 80% of all other IDEs. But there are a few ways in which they utterly fall down and make me livid when it comes to UX. (Sorta like how there's nowadays no main stream browser that does bookmarks or history UI right any more, just boggles the mind.) Like how now Ctrl-W can close the Project view. Or how during a refactor > extract > interface, it gives me a long laundry list of checkboxes, and no obvious way to de/select more than one at a time?1
Humanity is 99% idiots when it comes to usability, myself included - although at least I recognize the fact; most people don't even know. Programming language compiler type people are all too frequently missing basic usability fixes like: when you tell me 2 types don't match, especially when one or more of the types is/are inferred, you should show me which part of the ascii each type came from so I can figure out WHAT THE FUDGE. Jerk face dumb heads!!!! Grn. Anybody who makes something in programming and fails to make debugging affordances for it is an butt hole, if you ask me. I should be able to step through what the heck the compiler is thinking (and it shouldn't be insane crazy stuff no normal human can grok).
Monday, August 21, 2017
"A sufficiently advanced compiler" is a standard dark humor sick joke of the programming world.
I'd like to say that "a sufficiently advanced IDE" is similarly and indictment of whatever idea the phrase was used to try to defend. E.g. when somebody says oh don't worry about the ascii verbosity of a language, we can have our IDEs handle the boilerplate - yeah, well whoever suggests that is an idiot with apparently no practical experience in life. Consider IntelliJ can't refactor-move a non-static field of a class!?
I'd like to say that "a sufficiently advanced IDE" is similarly and indictment of whatever idea the phrase was used to try to defend. E.g. when somebody says oh don't worry about the ascii verbosity of a language, we can have our IDEs handle the boilerplate - yeah, well whoever suggests that is an idiot with apparently no practical experience in life. Consider IntelliJ can't refactor-move a non-static field of a class!?
Friday, August 11, 2017
eCommerce UX is a freaking joke. I've yet to see an online store that didn't obviously seriously suck in some way or another. It blows my mind that these things can earn any money at all sometimes. I guess it just goes to show how much worse it is to have to go to a real store? Random e.g.: gift certificates that don't let you get both email & usmail versions sent.
Thursday, August 10, 2017
Sunday, August 6, 2017
WOW! do i hate intellij right about now! i click the thing to do the self update and it puts me through like 3 progress bars (so it looks like 1 progress bar that gets to 100% and then resets, three freaking times in a row?) and during the last one locks up my machine, and THEN presents me with another modal dialog that won't alt-tab away that has... ANOTHER PROGRESS BAR.
yes. hate. hateful ux. ux from hate. from hell.
yes. hate. hateful ux. ux from hate. from hell.
Saturday, August 5, 2017
Monday, July 31, 2017
if your language doesn't have macros, and/or doesn't support first class functions well, then it kind of sucks.
Sunday, July 30, 2017
Saturday, July 29, 2017
There's a thing that I feel like programmer-type people do a lot, where they sort of can only think of things from their own immediate perspective of knowing how something works, and having zero if not negative empathy about use cases where people are lost, or are screwed by the technology.
For example, there's jstest-gtk. It shows there being 4 controllers. Uh but right now I really only have 1 wireless xbox 360 controller talking to the usb receiver. So how the hell do I know which of the 4 is actually reporting in? The controller says it is #1 of 4, but when I drill down into the first controller in jstest-gtk and try to move values from the controller, nothing happens. So do I have to manually go into each of the other 3 and see what is happening?
Like, the intelligent design would have been for the list-of-controllers to have even just a little fake light that would flicker and change whenever any of the controllers are generating input. That way I could fiddle on the controller and immediately see if it is being successfully mapped to anything at all.
Instead I apparently have to figure out how to enable debug text logging or god knows what, or dig through each of the entires in the gui in turn.
Of course, being linux type software, there's a kicker to already having to suffer through the bad UX in that when I click on the "close" button in any of the individual joystick dialogs, nothing happens. Well the first time I clicked anyway. So then I go click the ubuntu red x in the sub window title bar... and the entire jstest-gtk app quits, rather than just closing the sub dialog so I can go try another controller. So then I have to laboriously re-launch it. Complete and utter epic usability failure. Just mind bogglingly stunningly insanely bare-faced bad. (Subsequently I have had the 'close' button be more than unresponsive, but when it works it has the same effect of quitting the entire app.)
For example, there's jstest-gtk. It shows there being 4 controllers. Uh but right now I really only have 1 wireless xbox 360 controller talking to the usb receiver. So how the hell do I know which of the 4 is actually reporting in? The controller says it is #1 of 4, but when I drill down into the first controller in jstest-gtk and try to move values from the controller, nothing happens. So do I have to manually go into each of the other 3 and see what is happening?
Like, the intelligent design would have been for the list-of-controllers to have even just a little fake light that would flicker and change whenever any of the controllers are generating input. That way I could fiddle on the controller and immediately see if it is being successfully mapped to anything at all.
Instead I apparently have to figure out how to enable debug text logging or god knows what, or dig through each of the entires in the gui in turn.
Of course, being linux type software, there's a kicker to already having to suffer through the bad UX in that when I click on the "close" button in any of the individual joystick dialogs, nothing happens. Well the first time I clicked anyway. So then I go click the ubuntu red x in the sub window title bar... and the entire jstest-gtk app quits, rather than just closing the sub dialog so I can go try another controller. So then I have to laboriously re-launch it. Complete and utter epic usability failure. Just mind bogglingly stunningly insanely bare-faced bad. (Subsequently I have had the 'close' button be more than unresponsive, but when it works it has the same effect of quitting the entire app.)
Friday, July 28, 2017
Sunday, July 23, 2017
It does/not amaze me how bad the Dropbox web ui is. Just fundamentally utterly broken. So, so bad. Of course it is probably because I run Linux, use Firefox, with Ghostery. Not that the web was originally intended to, you know, "just work" by using "standards" and stuff. Featureitis is a real thing with both good and bad consequences.
Saturday, July 22, 2017
Wednesday, July 5, 2017
Basically I think the whole approach to PC graphics is bad, wrong, broken, dumb. Consoles that have a "streaming" mentality are more what I want in life. I want immediate mode. I don't want to upload static meshes and have to much with them on the GPU in painful ways. I want fast fast fast immediate mode. So the whole 2 gb + ram caching PC architecture is just horrible evil demented legacy medieval stupid constraining crap. That's how I feel, as a frustrated artist wannabe.
One thing I strongly dislike about the computer programming world is the focus on componentization without enough focus on ux and quality. So we end up with the current living heck of a zillion npm or elm or yarn or typescript doo-dads, all of which have to somehow be downloaded and cajoled into actually working together, let alone also with {bower,browserify,webpack,etc.}. It really is a just a crap fest of broken exploding configuration state space overkill.
These days (well, probably for ever, actually), it seems like any time I try to go and start doing some new personal mini programming project, I end up getting nowhere fast due to really stupid bad broken crappy useless hateful ass backwards ux of everything. Somebody give me a million dollars (US, please) so I can pay some smart people to make a programming language ecosystem that isn't just a minefield of crap hell, please.
Tuesday, July 4, 2017
So far, Elm feels like it is over-hyped. The UX just isn't there in my opinion. A few examples:
- The error messages are supposed to be so great. But they are really just overly verbose. And wrong often enough to drive me nuts e.g. I had a variable name typo, or a misplaced extraneous comma, but the error messages where about completely different things. And sometimes the error message doesn't even say a line number.
- The limitations of the error detection & messaging means that I end up breaking things apart more than I otherwise would, just to be able to get the compiler to tell me the real error.
- The debugging story is supposed to be so great, but I haven't seen a way to e.g. debug a single function interactively from the repl. Debugging utility functions seems to be only doable as part of an overall app being run and debugged?
- elm-format drives me nuts. I really do not like a lot of the aesthetic choices made there.
- As much as I love Haskell, I really do not like whitespace-sensitive syntax since it leaves too many things as ambiguous, which then makes using elm-format a gamble and a wrestling match.
- Seems like several elm editing modes think that format-on-save is enough, but I consider it necessary but hardly sufficient.
- The naming of things sucks now because of the history of change. Which linear-algebra package should I be using? Why did webgl fail to install? etc.
- The unit testing framework (uh, again, which one should I even be using?) elm-test doesn't support a message string per assertion to show when Expect fails, which makes it even more annoying to try to figure out why it failed (cf. the lame debugging story).
Monday, July 3, 2017
I am a pure functional programming fan. But at the same time, I think loops are not pure evil. It drives me nuts when people go to ridiculous lengths to avoid them.
Saturday, July 1, 2017
I think Elm gets error message UX wrong. They claim to have such "friendly" error messages, but heck there's plenty of times I've seen where it was just utterly wrong about the real reason the error happened, so making it seem all "friendly" seemed to me to just be increasing the misdirection. Also, they are kind of overly verbose for my taste. All in all not as wonderful as all the blog posts had let me to envision in my mind's eye. It is to sigh.
Friday, June 30, 2017
Any splash screen should either be like 50% gray, or be done in the dominant contrast of the desktop/os/gui. So on a Mac, it should be black-on-white. On say regular Ubuntu it should be black-on-white. I dunno that there's that much of any systems out there at least in any sort of mainstream sense where it should be white-on-black.
Thursday, June 29, 2017
I use Firefox a lot but I sure don't think it is the best thing ever. There's a lot of just utterly insane bad UX in there in my opine. Consider the UI for downloading files: A downward pointing arrow, that apparently fills from the bottom up as a progress indicator. Utter insanity. It should fill from the top down. Not to mention that the difference in appearance between almost-100% and 100% is insufficient.
Sunday, June 11, 2017
Saturday, June 10, 2017
Sunday, June 4, 2017
SSLMate: "Simple Security Get SSL certificates from the command line in under 60 seconds."
uh... no. not really.
like, so far i've had to (1) use the command line [which obviously previously required installing it, that standard hell], (2) going to my email, (3) going to some random page the email directs me to, (4) wait a long time with on real feedback for the script to finish, hopefully.
uh... no. not really.
like, so far i've had to (1) use the command line [which obviously previously required installing it, that standard hell], (2) going to my email, (3) going to some random page the email directs me to, (4) wait a long time with on real feedback for the script to finish, hopefully.
Computers are, as a rule, a train wreck when it comes to usability and user experience. Like I'm trying to install something on the command line in a terminal program, and it does some escape code trickery to show a running tally of "bytes downloaded / bytes required (complete%)", and in doing so prevents me (apparently) from using the mouse to click-drag-select text. I guess the cursor being updated like that screws it all up. So that's freaking genius!
Saturday, May 27, 2017
Sunday, May 14, 2017
Wednesday, May 10, 2017
If your cloud service doesn't support sync'ing out to something else as a primary use case and function, then I kind don't like your cloud service. Like, whatever document I am working on, I should be able to connect it to a git(hub) repo, or an S3 bucket, or whatever the heck, even just emailing myself .tgz copies daily - whatever. But otherwise you look like yet another jerky vendor trying to get user lock in, rather than giving me what I really want, what I really really want.
Saturday, May 6, 2017
The sky is literally falling.
(That particular explanation echoes what I heard about Steve Jobs talking to Dr.'s at Stanford about his pancreatic cancer: he delayed getting involved with any particular physician, trying to find the best of the best of the 2nd opinions, by which time the cancer was too advanced. Terribly sad consequences.)
(That particular explanation echoes what I heard about Steve Jobs talking to Dr.'s at Stanford about his pancreatic cancer: he delayed getting involved with any particular physician, trying to find the best of the best of the 2nd opinions, by which time the cancer was too advanced. Terribly sad consequences.)
Wednesday, May 3, 2017
Monday, May 1, 2017
For the most part, it is probably safe to bet that I strongly dislike whatever you did with mouse hover over reaction. Seems like everybody wants to make things zoom or change or wiggle or heaven only knows what, and all I'm trying to do is scan through a list of things, not have stuff get all jiggy on me.
Wednesday, April 26, 2017
Apparently my personal circle of hell will be nothing but fighting Java/Typescript/Flow/etc. packager-loaders, eternally failing to get my modularised code to actually be consumable at all by any actual freaking web page. Heaven knows I've already wasted half an eternity failing with everything: rollup, webpack, browserify, you name it.
Sunday, April 23, 2017
Software is hard. Design is hard. But that doesn't really mean I don't dislike just about anything and everything to do with JavaScript, especially packaging.
I know, I know, error detection, handling, and messaging is hard. I know.
but...
$ yarn --no-color --no-progress help
yarn install v0.23.2
error `install` has been replaced with `add` to add new dependencies. Run "yarn add help" instead.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
When in fact the problem turned out to be more that it doesn't understand/support "--no-color" etc. (Which, of course, is just the kicker to the boy parts, that it doesn't have that feature.)
but...
$ yarn --no-color --no-progress help
yarn install v0.23.2
error `install` has been replaced with `add` to add new dependencies. Run "yarn add help" instead.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
When in fact the problem turned out to be more that it doesn't understand/support "--no-color" etc. (Which, of course, is just the kicker to the boy parts, that it doesn't have that feature.)
I guess my locally installed version of npm (3.5.2) is just too unhip to not be a piece of littering junk? If any of the whipper-snappers who worked on all this JavaScript crap ever had used Emacs, they would have already learned the hard way about twiddle files, and would have known better when it came to making npm.
Saturday, April 22, 2017
Reason 7 that the aliens are staying clear away from Earthlings: Modules in Typescript. (Or Flow. Or Node. Or Javascript. Or any ECMAScript. Or anything remotely related to interopping with Javascript. AFAICT.)
It is really quite remarkable that all programming languages to date really, really suck.
I mean deeply, deeply suck. All of them.
One way or another. If you care about Good vs. Just Sort of Good Enough Once You Become Inured to the Shit. Cf. any "the Good Parts" type analyses of programming languages. I am a programming language polyglot nerd wannabe, so I've used or tried or read about: Java, Python, Scala, C/++, C#, F#, Haskell, ML, Common Lisp, {Bigloo,Gambit,Chicken} Scheme, Racket, Typed Racket, Lua, Typed Lua, Clojure, Typed Clojure, Ocaml, JavaScript, Typescript, Flow, Perl, Objective-C, Swift, Groovy, Go, Bash, BASIC, Forth, Logo, Scratch, Haxe, Erlang, and many others (Shen, ATS, Purescript, Parenscript, Kona, Opa, Elm, ...). And. They. All. (at least kinda) Suck. One way or another, they either have too much or too little or just not the right stuff. How many people have sunk how many hours into how many programming languages, only to see that they all suck? Is it really that hard a problem? Well, yes, yes it is, I guess, since it has been empirically proven ever over.
(Of course, we are talking about things that are made by humans, so given that we apparently as a species cannot even get the concept and implementation of something as fundamental as the "back button" to be not entirely hateful across our UIs and our UXs, be it Web or Desktop or Android or iOS or anything, well, then I guess I can't be too surprised when anything more complicated is a cockup as well.)
Still, since I like to tilt at windmills and shake my input device at the sky (see, I prefer trackballs generally over mice or touchpads) and think that I could probably do a better job than gosh all the people who have done all this before, so ha ha I wish I were filthy rich so I could hire smart people to listen to my ideas and UX critiques, in an effort to build a language that truly Sucked a Lot Less. (I am not smart enough to make something that Really Doesn't Suck, I am just a Type 2 person*; the Doesn't Suck has to be left up to the Type 3 people.)
Some key word bullet points about the requirements I'd have, anyway: Cycle time. Static type checking. Type inference. JavaScript backend/interop. Livecoding. Coding from null in the debugger. REPL. Hot reload. Timetravel debugger. Tierless. Ocaps. FP. Exhaustive multimethods. Shape-typed concatenative. CoreTalk. Subtext. (I should probably just give up and go become a discipe of Light Table and/or Eve, at least for now, I guess?)
* 1st type: don't even know shit is shit, even if you rub their nose in it (apparently, most people on earth, frankly - cf. anybody who disagrees with this post).
2nd type: know what shit is when they come across it (they probably read The Design of Everyday Things at least twice), and wanna fix it, and have some useful ideas - but mostly can't invent the mega advanced futuristic dope smokin' hyper best gordian knot super genius better abstraction type fix, even if they think they can (cf. Zed Shaw, myself, et. al.).
3rd type: have become one with the matrix and can do that sick shit (cf. Brett Victor, Mr. Barbour, Paul Phillips, Oleg du Haskell, Alan Kay, Chris Granger, et. al.)
I mean deeply, deeply suck. All of them.
One way or another. If you care about Good vs. Just Sort of Good Enough Once You Become Inured to the Shit. Cf. any "the Good Parts" type analyses of programming languages. I am a programming language polyglot nerd wannabe, so I've used or tried or read about: Java, Python, Scala, C/++, C#, F#, Haskell, ML, Common Lisp, {Bigloo,Gambit,Chicken} Scheme, Racket, Typed Racket, Lua, Typed Lua, Clojure, Typed Clojure, Ocaml, JavaScript, Typescript, Flow, Perl, Objective-C, Swift, Groovy, Go, Bash, BASIC, Forth, Logo, Scratch, Haxe, Erlang, and many others (Shen, ATS, Purescript, Parenscript, Kona, Opa, Elm, ...). And. They. All. (at least kinda) Suck. One way or another, they either have too much or too little or just not the right stuff. How many people have sunk how many hours into how many programming languages, only to see that they all suck? Is it really that hard a problem? Well, yes, yes it is, I guess, since it has been empirically proven ever over.
(Of course, we are talking about things that are made by humans, so given that we apparently as a species cannot even get the concept and implementation of something as fundamental as the "back button" to be not entirely hateful across our UIs and our UXs, be it Web or Desktop or Android or iOS or anything, well, then I guess I can't be too surprised when anything more complicated is a cockup as well.)
Still, since I like to tilt at windmills and shake my input device at the sky (see, I prefer trackballs generally over mice or touchpads) and think that I could probably do a better job than gosh all the people who have done all this before, so ha ha I wish I were filthy rich so I could hire smart people to listen to my ideas and UX critiques, in an effort to build a language that truly Sucked a Lot Less. (I am not smart enough to make something that Really Doesn't Suck, I am just a Type 2 person*; the Doesn't Suck has to be left up to the Type 3 people.)
Some key word bullet points about the requirements I'd have, anyway: Cycle time. Static type checking. Type inference. JavaScript backend/interop. Livecoding. Coding from null in the debugger. REPL. Hot reload. Timetravel debugger. Tierless. Ocaps. FP. Exhaustive multimethods. Shape-typed concatenative. CoreTalk. Subtext. (I should probably just give up and go become a discipe of Light Table and/or Eve, at least for now, I guess?)
* 1st type: don't even know shit is shit, even if you rub their nose in it (apparently, most people on earth, frankly - cf. anybody who disagrees with this post).
2nd type: know what shit is when they come across it (they probably read The Design of Everyday Things at least twice), and wanna fix it, and have some useful ideas - but mostly can't invent the mega advanced futuristic dope smokin' hyper best gordian knot super genius better abstraction type fix, even if they think they can (cf. Zed Shaw, myself, et. al.).
3rd type: have become one with the matrix and can do that sick shit (cf. Brett Victor, Mr. Barbour, Paul Phillips, Oleg du Haskell, Alan Kay, Chris Granger, et. al.)
Tuesday, April 18, 2017
Stackoverflow is, at some level, genius, yes! But the core UX of putting in a question or answering one, is a blatant, mighty train wreck when it comes to UX. If you ask me. And not the kind of train wreck where the train was a freight train carrying soap bubbles or jelly beans or tribbles or free flu shots or gideon's bibles where everybody would come look at the train wreck and be able to walk away with a happy feeling. Nor a train wreck that was full of oligarchs we'd be better off without. No, a train wreck where the train was carrying nothing but, I dunno, human excrement or something. I mean how can just being able to put code into a question or answer be such utterly fubar UX? You know, it isn't as if that is a core competency the UI should succeed at or anything.
Chances are I hate whatever you did for the whole "forgot password" workflow in your web site or app. And I really have to underscore the 'hate' part. I mean, this should not be rocket science by now. Do not the people who implement this abominations ever need to use such a ux themselves?! Where they'd, you know, realize how stupid broken wrong painful useless annoying hateful it all is?
Why should I ever have to retype my email address, for one example.
Why should I ever have to retype my email address, for one example.
Sunday, April 16, 2017
I guess from my perspective, JavaScript has broken and ruined everything, since it is sort of a requirement to support it, in this day and age. And it is not a language I enjoy having to be anywhere near, since I am more of a strict static typing kind of nerd. Any and all of the things that I've ever investigated towards doing it better or less bad have pretty much been epic failures to me, for my purposes, based on my value system. Ack. Barf.
It is funny in a sick to my stomach kind of way rather than a ha-ha kind of way that pretty much all programming environments I have ever had to use or tried to use have been chock full of epic failures end to end. Maybe if all the people who are making yet another programming ecosystem would work together to fix whatever we have, we'd be better off? Of course we wouldn't be, since I get the feeling most of the time humans, and especially programming type humans, really don't grok ux. Or at least not ux in any way that makes any sense to me. I should just give up and see if writing stupid little games in SBCL that only run on my particular Linux box would be any fun. I can't stomach JavaScript, or Flow, or Typescript, or Purescript, or F#/Fable/WebSharper, or or or...
Unix shells are full of little joyful morsels of completely dog excrement. Like how bash epically fails to have history mechanism that isn't broken in dumb ways. Complete insanity. I tried fish and it had at least one of the same ux bugs: I paste in a command with ctrl+insert, and that command does not go into the history. Is it some kind of readline hell or something, I dunno. Unix sucks I guess.
Saturday, April 15, 2017
Thursday, April 13, 2017
Wednesday, April 12, 2017
It does/not surprise me that things like the Minecraft multiplayer mod hack worlds actually succeed. Does because the entire UX of Minecraft itself sucks and then the mods are 10x worse; Does because the extensions they add to the game are broken bad hacks with no clue about multiuser distributed asynchronous concurrent race condition type behaviour: I sent a party invite, and the recipient gets it and types the command to accept and their server tells them there's no such invite?! And when I try to re-send the invite it says either that I can't invite that player (with no real reason why so I could have a hope of figuring out how to do whatever I need to do to get it to ever work), or that I've already invited them, etc. All in all complete standard epic utter failure of the feature in just about every possible way.
(Does not because I guess Minecraft is sufficiently addicting that if the poorly designed, poorly implemented features work I dunno 51% of the time then that's Good Enough. It ain't like anybody is, you know, paying real money for this stuff.)
(Does not because I guess Minecraft is sufficiently addicting that if the poorly designed, poorly implemented features work I dunno 51% of the time then that's Good Enough. It ain't like anybody is, you know, paying real money for this stuff.)
Monday, April 10, 2017
I guess the GIMP's UI makes sense if you are some alien brainiac who is also trying to avoid patent infringement lawsuits or something? Or you just! Do! Not! "Get"! Usability! (At! All!). It sure as heck often doesn't make diddly sense to me other than as a fine example of cramming in a zillion Ways Not To Do It in a single program.
But, yes, on the whole, my life is better with it than without it, that is for sure.
But, yes, on the whole, my life is better with it than without it, that is for sure.
There are some features that are pushed as super great, but they are sort of indications of a hack to me. They point out that the idea was not carried out to be a more fundamental feature. So e.g. I can alias "cat" but I can't alias ">" to help makes sure a backup copy of a file is made first. Sure I understand therein be dragons and complexity and edge cases, which I think only underscores the point that if there's a good idea (aliasing commands) then if it is not done at a deeper, more fundamental, more first class, more semantic, more universal level then it is kind of a sad hack. There are things which cannot be properly, cleanly, nicely resolved by just another layer of abstraction, believe it or not.
Any file system where I can screw myself with ">" instead of ">>", etc., is a piece of evil stupid wrong junk, if you ask me. Pure vomit. This is not acceptable UX in this day and age. VMS (et. al.) got this less horribly wrong, decades ago. The whole "worse defeats better somehow seemingly ever and always" makes me mad. (No, extundelete does not redeem the situation on Linux at all.)
I don't know, it is probably "just a unix thing you wouldn't understand" but the fact that I can copy from app and then try to paste in another and... nothing happens, or the wrong random weird thing gets pasted (you know, selection vs. clipboard vs. whatever else) and how is this not just plainly obviously grounds for immediate termination of that entire ecosystem?! Ugh.
Sunday, April 9, 2017
Some things push UI and thus UX into new, good, territory. Like when the almost entirely touch based iPhone first came out. Other things, in my mind, push UI and thus UX more towards a regressive dark ages. Like when scroll bars disappeared and/or became really skinny small in Mac OS X. Or when Gnome decided that left-click in a scroll bar shouldn't page down any more but go directly to the click. Or when Mac OS X decided the maximize button should mean full screen rather than plain old maximize. Or when Google Voice decided there should no longer be a way for me to easily delete / clean up the visual clutter of all the old useless conversations. Or when Asana turned evil. I think there's some kind of jumping the shark that happens, for various reasons: Sometimes because some person apparently thinks it really is a good idea, or that they can "make their mark" on the world that way, I guess. Or maybe all the millennials are wanting everything full screen all the time according to the data that Apple has reaped and so that's why they changed it, and I just don't see eye to eye with the kids on my lawn when it comes to UX.
Saturday, April 8, 2017
My personal experience with things like Flow, Typescript, Typed Lua, and other things I've read from other people, leads me to kind of think that the whole "gradual typing" thing is a ton of b.s. snake oil. At least for language ecosystems that were not developed from birth with it in mind, in place.
I mean the idea that you can take some dynamic code and magically turn it into statically typed stuff one little bit at a time seems empirically very unrealistic: it is the old pulling a thread from a sweater thing; the old domino theory thing; the old fool me once thing; the old pull my finger thing; where once you start you cannot stop (if you want the static checker to, you know, accept the code) before putting in all sorts of even more extensive annotations. Or, hacked typecasts to try to prevent the checker from doing the kind of checking it was built to be able to do. Etc.
I mean the idea that you can take some dynamic code and magically turn it into statically typed stuff one little bit at a time seems empirically very unrealistic: it is the old pulling a thread from a sweater thing; the old domino theory thing; the old fool me once thing; the old pull my finger thing; where once you start you cannot stop (if you want the static checker to, you know, accept the code) before putting in all sorts of even more extensive annotations. Or, hacked typecasts to try to prevent the checker from doing the kind of checking it was built to be able to do. Etc.
One particularly bad class of UX bugs is end-to-end problems, such as having an image in GIMP with transparency, that looks fine in ODT and PDF format, but when printed to an SVG file suddenly has blackness instead of transparency. The paper cuts from place to place all add up to make life kind of a living heck. There's some circle of hell where people are forced to do desktop publishing for eternity.
What we need is subtlety in our UX, and lots of it!
Consider how, apparently, Libre Office Writer (I know, I know: "You are using Libre Office? Well, there's your problem!" as Click & Clack would say) is set up to always "helpfully" underline internet looking text (hyperlinks, email addresses) as well as set the font color to blue. Which I hate and don't want, ever. Even if it doesn't show up when printed out. I don't want it happening anywhere in my use of the damnable program.
Or, uh, when in Draw I am trying to right-click on some selected text to get a chance to set the font, which I just did a minute ago this way, and now instead of the right-click menu I saw before I am getting some other one that has spelling correction suggestions that are wrong, irrelevant, broken, and dumb since the text is a hyperlink & email address... yay.
So it is not helping. It is not context-sensitive magic nirvana. It is annoying heck!
And then the things that I do want are missing. Like in other drawing apps when I copy then paste then move, then paste again, the 2nd paste is moved 2x as far as the 1st one was, so I can simply keep on pasting to make a series of things, all equally spaced, very easily. Which turns out to mostly be what I want, go figure.
Consider how, apparently, Libre Office Writer (I know, I know: "You are using Libre Office? Well, there's your problem!" as Click & Clack would say) is set up to always "helpfully" underline internet looking text (hyperlinks, email addresses) as well as set the font color to blue. Which I hate and don't want, ever. Even if it doesn't show up when printed out. I don't want it happening anywhere in my use of the damnable program.
Or, uh, when in Draw I am trying to right-click on some selected text to get a chance to set the font, which I just did a minute ago this way, and now instead of the right-click menu I saw before I am getting some other one that has spelling correction suggestions that are wrong, irrelevant, broken, and dumb since the text is a hyperlink & email address... yay.
So it is not helping. It is not context-sensitive magic nirvana. It is annoying heck!
And then the things that I do want are missing. Like in other drawing apps when I copy then paste then move, then paste again, the 2nd paste is moved 2x as far as the 1st one was, so I can simply keep on pasting to make a series of things, all equally spaced, very easily. Which turns out to mostly be what I want, go figure.
Ok, I guess there might be just about nothing more annoying to me in technological life than when my android cell phone doesn't "accept" swipe gestures I am doing e.g. to unlock it. As if the thing being gestured away got a lot "heavier", it moves only a little and then rebounds back. I have to do it like 4 times and then it goes. "Maybe I curse too much in my head." Or, speaking for myself, out loud.
Friday, April 7, 2017
Have I mentioned recently how much of a train wreck the entire JavaScript ecosystem is? And how people have been (had to?) piling more carcases and exploded body parts on top for decades now? Consider nothing more than the word "modules". Oy veh. No, flow, typescript, babel, ES20XX, etc. are not actual solutions to the problem. They only confuse the matter, are poorly documented, assume you have a JavaScript shaped brain, change all too fast, and are mostly a nightmare of incompatibility and inscrutability.
I love it when on a system that is up to date, I still get a bug happening that "officially" is fixed.
Thursday, April 6, 2017
It remains a puzzle to me how web browser UX seems to mostly change only for the worse. History in most all browsers seems very broken to me. Ditto managing downloads. It is really weird. Either the people who create these UXs really think they are doing a good job and that it all makes sense, or I guess they never actually use their own products at all, so they never hit the to me seemingly obvious gaffs? E.g. uh why can't I easily re-download something that is listed in my list of downloads?
If you write a tool that purports to help people get away from a previous tool, then if you do anything to help people move you are already touching the tar baby and soiling yourself. Consider how effed up yarn is. E.g. "yarn --no-color run" doesn't work. (And go look at all the other issues that are generally in some way related to npm in/compatibility.)
The fact that yarn had to come into existence really only proves my points, I feel. Sorta funny that their web page doesn't simply sum it up as, "yarn is [hopefully?!] a real, actual, package manager, instead of that horrible, just horrible, pack of lies called npm."
I say [hopefully?!] because the Migrating from npm page made it look to me like I could just do something falling off a log easy (and that is what any tool that is trying to help people get away from npm should aim for):
$ sudo npm install -g yarn
$ yarn install
but of course that didn't really work for me:
$ yarn install
yarn install v0.21.3
info No lockfile found.
error Error parsing JSON at "/home/x/package.json", "/home/x/package.json: Unexpected token ,\".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
and
$ yarn
gives me the same error. So that's nice. Because you wouldn't want to, you know, tell me the line number that the problem is on. Or, you know, be able to handle the (crappy, natch) comment style from npm's package.json. Or just, you know, kinda not completely suck right out of the box. (Don't even get me started on how everything defaults to being colorized with escape codes all over the place these days, since I am an emacs user.)
I guess the whole "gosh I want to be able to comment things in any kind of sane way" idea is just too old school for anybody to make it all suck less? Because it sure seems to still suck afaict.
I say [hopefully?!] because the Migrating from npm page made it look to me like I could just do something falling off a log easy (and that is what any tool that is trying to help people get away from npm should aim for):
$ sudo npm install -g yarn
$ yarn install
but of course that didn't really work for me:
$ yarn install
yarn install v0.21.3
info No lockfile found.
error Error parsing JSON at "/home/x/package.json", "/home/x/package.json: Unexpected token ,\".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
and
$ yarn
gives me the same error. So that's nice. Because you wouldn't want to, you know, tell me the line number that the problem is on. Or, you know, be able to handle the (crappy, natch) comment style from npm's package.json. Or just, you know, kinda not completely suck right out of the box. (Don't even get me started on how everything defaults to being colorized with escape codes all over the place these days, since I am an emacs user.)
I guess the whole "gosh I want to be able to comment things in any kind of sane way" idea is just too old school for anybody to make it all suck less? Because it sure seems to still suck afaict.
I hope that when the machines become sentient they will either (a) fail to kill us all because they won't be able to agree on tabs vs. spaces, 2 vs. 4 or (b) will solve the indenting issue in a nanosecond and then kill us all in 2 nanoseconds. Either way we win, kinda, from what I can tell.
Is it just me, or should package managers not be transactional in nature? Is it true that ^c'ing "npm install" can leave your stuff broken such that another "npm install" doesn't fix it?
(So, yes, I am on Ubuntu 14.04 LTS with older npm. So, yes, updating in theory solves it, except for how that is the kind of BDUF that should go into any package manager from the get-go, is my point. It shouldn't be only in the 3.x (Win 3.1 jokes aside) version that the so-called package manager stops being fundamentally wrong headed. Oh and it is so funny how now people are using "npm@3" instead of e.g. "npm 3.x" because it is nice to add any little potential confusion to things whenever possible. You know, because we really do want to break people down with a zillion little paper cuts.)
(So, yes, I am on Ubuntu 14.04 LTS with older npm. So, yes, updating in theory solves it, except for how that is the kind of BDUF that should go into any package manager from the get-go, is my point. It shouldn't be only in the 3.x (Win 3.1 jokes aside) version that the so-called package manager stops being fundamentally wrong headed. Oh and it is so funny how now people are using "npm@3" instead of e.g. "npm 3.x" because it is nice to add any little potential confusion to things whenever possible. You know, because we really do want to break people down with a zillion little paper cuts.)
There's a line in some movie where the soon to be deposed royalty of Prussia (or somewhere, somewhen) is rating about how democracy will have too may voices and nothing will be able to be done. I am a fan of democracy over other xcracies (especially over oligarchies ahem) but when I go and use anything related to JavaScript development I just want to wander off a cliff and die. The fact that apparently all these people think these tools are somehow sane and good just melts any hope I have ever had for anything redeeming about software development. Even just things like running locally installed npm scripts are an 80 car pile up death toll in terms of usability.
Wednesday, April 5, 2017
(Maybe Dr. Phil Wadler's work would help advance things beyond the suck, but...)
So far from what I have experienced with Flow, Typescript, and Typed Lua, and from what I have read about wrt e.g. Typed Racket, I have to say that if your core programming language doesn't come with static type checking in the first place then it is a fool's errand to try to save the dynamically typing people from themselves, or me from them, or them from me, or anything from anybody.
The core problem is interop. You are very likely going to need to use other libraries, and those will ruin your attempts at having a nicely type checked life.
Similar argument goes for things like Shen, I think: there's not enough libraries, and you there won't be a nice way to automagically wrap up existing libraries with types that work. Look at the failure of Definitely Typed, or flow-typed, etc.
So far from what I have experienced with Flow, Typescript, and Typed Lua, and from what I have read about wrt e.g. Typed Racket, I have to say that if your core programming language doesn't come with static type checking in the first place then it is a fool's errand to try to save the dynamically typing people from themselves, or me from them, or them from me, or anything from anybody.
The core problem is interop. You are very likely going to need to use other libraries, and those will ruin your attempts at having a nicely type checked life.
Similar argument goes for things like Shen, I think: there's not enough libraries, and you there won't be a nice way to automagically wrap up existing libraries with types that work. Look at the failure of Definitely Typed, or flow-typed, etc.
Tuesday, April 4, 2017
It is always interesting to me how humanity invents new ways to do bad UX. Like a certain government web site where I'm trying to go through the forgot password ui and it asks me a security question and I type in the answer and hit enter, and... it completely resets the workflow. I do this a few times and then I think I figured out that there's a cancel and a next button underneath where I'm entering the answer, and I guess the cancel button / action is somehow the default when I hit enter, rather than it being next. No I am not going to look at the page source, I already want to run screaming as it is.
Oh and the temporary password they sent me the first time didn't work at all. I finally figured out why, maybe you can see it?
Oh, and then there was another government web site where I have to enter some long digit access account code and after struggling with it for ever, I then notice, far off on the right hand side of the page, far far away from where I am focused on entering the text, a little note that says I should omit the first 6 (or whatever) digits. Oh. Right. Thanks. Great.
Oh and the temporary password they sent me the first time didn't work at all. I finally figured out why, maybe you can see it?
- Return to the XZY login page
- Enter your username.
- Enter this temporary password: libl5o9Q.
- Enter a new permanent password when prompted.
Oh, and then there was another government web site where I have to enter some long digit access account code and after struggling with it for ever, I then notice, far off on the right hand side of the page, far far away from where I am focused on entering the text, a little note that says I should omit the first 6 (or whatever) digits. Oh. Right. Thanks. Great.
Monday, April 3, 2017
Standardizing too early can suck in various ways. Standardizing too late, on the other hand, leads to something like what we see in the JavaScript ecosystem, where still nobody knows how to do modules properly. Or classes. Because, at least, if TMTOWTDI then things by definition are likely to have interop problems. I guess I prefer the C#, Scala, Swift (?!?!) etc. style of having good versioning plus the willpower to deprecate.
Sunday, April 2, 2017
Please learn that raw booleans are kind of not really super user friendly.
e.g. quote:
Now, we make the jump from HTML5 into Javascript. Still inside the
e.g. quote:
Now, we make the jump from HTML5 into Javascript. Still inside the
<body>
part of the web page, please add:<script>
// Get the canvas element from our HTML above
var canvas = document.getElementById("renderCanvas");
// Load the BABYLON 3D engine
var engine = new BABYLON.Engine(canvas, true);
Tuesday, March 28, 2017
I've said it before oh well: When showing dates, I prefer them to be fully, redundantly specified. So "2 days ago" doesn't help me unless it also maybe says the name of the weekday, at least. Or "3/12" doesn't help me - now I have to go look on a calendar to figure out what actual day of the week it is! Or saying "Tuesday" without a numerical date is open to confusion as well. Etc. ad nauseum. Today my Android 5 phone's call history UX is just killing me.
P.S.: Also? A bloody timestamp!
P.S.: Also? A bloody timestamp!
Friday, March 24, 2017
Is it diversity when there are multiple cultures, but they all using iOS devices? Is it really only entirely bad fragmentation when there are multiple competing systems cf. MSX vs. CBM vs. Sinclair vs. Atari vs etc.? Like when we were going through the MIPS vs. ALPHA vs. PowerPC vs. etc. phases, it was sort of more thrilling and different and inconsistent, that's hybrid vigor. Heck, it was super cool to get to use an Apple ][ clone that friends brought in from Hong Kong, even if it was perhaps not the best respect for intellectual property. Once Windows won out, and then later once iOS and Android divvied up the world between them, things just sort of I dunno feel like it is harder for random good or wacky ideas to get any traction. Newton scripting. Amiga public screens. ATARI support for MIDI. ZX Spectrums running monochromatic 3D games. Token ring. And don't even get me started on the Plessy System 250. Sure, not all those things were maybe even good, let alone better, but they were at least different. Sure, if we have some common things, some sort of 'standards' (ie. x86, but hey consider AMD64 being what pushed us into 64 bits), then they can get optimized cf. gigabit ethernet. And yeah in reality it sucks if you have to stock ethernet cables plus token ring cables plus appletalk cables plus etc. (as we had to in college computer clusters). Sure, the piano forte and the modern guitar have won out over the harpsichord or oud for various possibly valid reasons, but that sort of cultural steamrollering feels sad to me at times. I kinda miss the wacky weird palette of the C64, even if I did at the time drool over Atari 256 color demos (the Amiga Hold And Modify was just kinda weird, but so what, DPaint was fun). The previous/old things weren't better in any absolute sense, sure, but the differences made things seem to have more charisma. Well, hooray for emulators, I guess.
I use bash. One thing that kills me about it is how (have I mentioned this recently?) it seems to destroy the history in some ways. I think if I go back to something in the history (ctrl-p or up arrow or whatever) and then do ctrl-u is maybe how it forgets that one for ever? Which is, uh, really annoying? I don't grok it.
Thursday, February 9, 2017
uh... yeah. more proof that everything kind of sucks in the land of computers.
https://duckduckgo.com/?q=travis+ci+passed+but+badge+says+failing&t=canonical&ia=qa
https://duckduckgo.com/?q=travis+ci+passed+but+badge+says+failing&t=canonical&ia=qa
Monday, February 6, 2017
Sunday, February 5, 2017
If your package system doesn't help you quickly see and thus be able to compare the freshness and activity of packages, then it sucks. Cf. python packaging afaict. Like, having a link to a zip file and a date, all at the very bottom of the page, sucks. I prefer at least GitHub where I can more quickly see when the last commit was.
It would be a good UX interview question: how do design package overview web pages to make all the possibly relevant info for all the possibly realistic use cases all work out holistically.
It would be a good UX interview question: how do design package overview web pages to make all the possibly relevant info for all the possibly realistic use cases all work out holistically.
Monday, January 23, 2017
Saturday, January 21, 2017
Thursday, January 19, 2017
Monday, January 16, 2017
Sony's blu-ray player eternally on-going train wreck of pure badness makes me wish they would get hammered with a class action law suit for shipping broken shyte products, or that all consumers everywhere would grow a backbone and boycott all things sony. I know I will.
Sure, the whole blu-ray thing is a complete and utter end-user usability debacle from start to finish, but somehow Sony goes that extra mile and introduces extra bugs like having the box stop responding to the (perfectly good, working) remote control while it is playing even regular DVDs.
Anybody involved with blu-ray should go out of business immediately, if you ask me. But with extra special love in it for Sony. The company who offers live chat customer service, makes you jump through hoops, and then tells you on we're closed ha ha. (BofA did that to me recently as well. If I were dictator, bad UX would be a severely punishable offense.)
Sure, the whole blu-ray thing is a complete and utter end-user usability debacle from start to finish, but somehow Sony goes that extra mile and introduces extra bugs like having the box stop responding to the (perfectly good, working) remote control while it is playing even regular DVDs.
Anybody involved with blu-ray should go out of business immediately, if you ask me. But with extra special love in it for Sony. The company who offers live chat customer service, makes you jump through hoops, and then tells you on we're closed ha ha. (BofA did that to me recently as well. If I were dictator, bad UX would be a severely punishable offense.)
Saturday, January 14, 2017
Wednesday, January 11, 2017
Webapps are a lie, at least when it comes to basic usability and user experience. I mean sure I guess my favorite feature of bloody Google Groups (in Firefox, but whatever!) is how their compose UI just screwed me and lost my message when I accidentally hit the 'back' shortcut on my keyboard, and going 'forward' doesn't restore my message text.
Tuesday, January 10, 2017
JavaScript is horrible. Just, horrible. I mean, if you ask me.
There are things which purport to address some of JavaScript's problems in various ways. Take Facebook Flow: advanced typing for JavaScript. Yeah, well, no, kind of a fail there from my experience. I am not trying to say it is easy to do, not at all. I am just saying that I feel like all these things (Flow, Typescript, PureScript, whatever) are way overhyped vs. what their actual UX is like, at least right now. I wish there were better ways for developers of such project to know themselves, and then to represent to potential users thereof, exactly how far things work, and where they start to fall apart.
And I wonder if there's really much ability to save something that starts out as a dynamically typed language. (Especially one that has as many screwy layers of abstraction heaped upon it, each attempting to fix fundamentally missing/broken things about the original language ecosystem, and all versions since. All the versions of ES specs. All the ways to use Babel. All the different competing approaches to modules. Etc.) I mean things like Haskell and Ocaml have enough trouble, and they were designed from the ground up to be nicely typed, by people who really cared about it. Oh god I'm so depressed.
What really explodes my mind in a meta depressing way is that somehow, apparently, for whatever group-think brain-washed stone-dumb reasons, this is never sufficiently called out. The Emperor's computer has no clothes!
There are things which purport to address some of JavaScript's problems in various ways. Take Facebook Flow: advanced typing for JavaScript. Yeah, well, no, kind of a fail there from my experience. I am not trying to say it is easy to do, not at all. I am just saying that I feel like all these things (Flow, Typescript, PureScript, whatever) are way overhyped vs. what their actual UX is like, at least right now. I wish there were better ways for developers of such project to know themselves, and then to represent to potential users thereof, exactly how far things work, and where they start to fall apart.
And I wonder if there's really much ability to save something that starts out as a dynamically typed language. (Especially one that has as many screwy layers of abstraction heaped upon it, each attempting to fix fundamentally missing/broken things about the original language ecosystem, and all versions since. All the versions of ES specs. All the ways to use Babel. All the different competing approaches to modules. Etc.) I mean things like Haskell and Ocaml have enough trouble, and they were designed from the ground up to be nicely typed, by people who really cared about it. Oh god I'm so depressed.
What really explodes my mind in a meta depressing way is that somehow, apparently, for whatever group-think brain-washed stone-dumb reasons, this is never sufficiently called out. The Emperor's computer has no clothes!
Friday, January 6, 2017
Things a good programming language should do, even if they are Hard, and which your own favorite language surely fails to do some of:
- help clone things.
- help do equality/comparison testing.
- have 'where' as well as 'let'.
- have something like newtype deriving.
- help automatically clean up resources other than memory.
- have as many things be 'first class' as possible.
- support reflection/introspection/mirroring.
- support named parameters, optional parameters, and partial application.
- do varags in a way that doesn't suck.
- not use case sensitivity for anything too important.
- lean toward being as close to statement-free as possible.
Tuesday, January 3, 2017
I keep wanting to like and use F#.
I keep seeing F# be leaky layers of abstraction epic fails.
I keep giving up and going running back home to momma / java / javascript now.
I keep seeing F# be leaky layers of abstraction epic fails.
I keep giving up and going running back home to momma / java / javascript now.
Monday, January 2, 2017
How it came to be that the space bar is used for more than one thing in a browser I dunno, but it sure does kill me. Mostly I just want it to be a space bar. Secondarily I want it to scroll the page. Anything else is just plain dumb wrong, like having it open/close a widget I just clicked on on a page.
There is no justice in the world when it comes to UX. (There's also not really any fundamental justice in the world at all, of course, and that's a much more deeply disturbing sad thing about human nature, but it doesn't seem like I can do anything about that.) If there were any justice in the world when it came to UX, Nintendo would have gone out of business as soon as they released the Wii or the 3DS.
The world of home a/v receivers is a wonderfully rich horrible hateful bad evil dumb broken idiotic backwards dumbass UX.
- The UI of all receivers is, apparently, like dog barf. And no I don't really want to have to dedicate my cell phone to fixing their UI problems so "having an app" doesn't satisfy me.
- Simple things like remembering that I had "night mode" audio compression on.
- Advanced features like auto diagnostics that show me what part of the audio/video path is failing. Both in terms of standard crap like HDMI handshake failures, and in terms of long-term out-of-warranty internal hardware failure.
- The front panel is just pathetic. It should be a full on bitmapped graphic display.
- Physically I haven't really seen a receiver that isn't sorta just gross or lame. They are neither something that is cool enough from a technonerd perspective, nor attractive enough from a tasteful home decor perspective.
- The rear panel hookups are always a nightmare once you've ever installed things. Just physically being able to get back and change things.
- Rear panels are often not designed well e.g. on Denons it looks like often the component/composite video input is not physically lined up with the matching audio. So that's a bloody nightmare if you are hanging over the back of the equipment trying to read the labels upside down.
- Anybody who uses an intense blue LED (this includes things like Panasonic M43 cameras' "iA" button) deserves to be taken out and shot. If you ask me.
- The fundamental problem in my mind is that a lot of receiver UX fails to make the abstractions make sense. Instead of manually digging through menus and manually mapping inputs and outputs, the UI should more automatically help map things; should also show things visually e.g. (strawperson idea) show a vertically scrolling list of inputs on the left, and a vertically scrolling list of outputs on the right and let you match them up.
Sunday, January 1, 2017
There doesn't seem to me to be enough economic punishment in our socioeconomic system for bad UX. For example, Barnes & Noble's web site doesn't tell me explicitly if something is/not available at the local store. I apparently have to infer it from the totality of what is displayed as the details e.g. it says I can have it sent to me by Thursday or whatever so I guess it is not in stock locally. Not that it even shows me if it knows what my local store is. Or would let me find out if the item is in stock at any other store locations around me. Just utterly nuts.
Subscribe to:
Posts (Atom)