Having been a part-time contributor to one of the world's worst backup tools, I can appreciate what goes into making one that doesn't actually suck. It is fundamentally a hard problem because the state space is inherently a nightmare: You have to try to support umpteen different SKUs of software and hardware. For an ideal product: you have to support the fact that linux file names have no encoding at all, they are just bytes; You have to keep it affordable vs. the competition; You have to deal with idiot users; You have to support versions of the OS that even the manufacturer doesn't support any more (ahem Apple jerks); You have to deal with things like the app jailing on mobile devices; You have to deal with the fact that while you are examining the data, it is liable to be modified; You have to test your restore feature; You have to document things; You probably have to have some REST APIs; You have to consider encryption; You have to consider de-duplification; Etc. ad nauseum ever and always, amen, world with out end, amen.
So I really do appreciate the technical details that go into such a venture.
But (and there's always a But, Virginia) no matter how good your tech is, if your customer support sucks then I believe all is for naught. Case in point: as much as I wanted to like iDrive, they completely and utterly failed when it came to, you know, actually working. At all. For the machines I actually have. You know, the real world scenarios of real users with real data they really want to back up, and right now.
The level of customer support failure was pretty epic. Things like, "If you have additional questions or information regarding the issue, please reply to this email" but then it turns out that their email originated from <noreply@ticket.idrive.com> ha ha I see what you did there.
Of course when I go and research the alternatives, they all suck dirty donkey cohones in other painfully obvious ways. Which always brings me full circle back to wishing I had the balls and money and brains to create yet another startup for doing backups - because I have the feature set in mind, nicely fleshed out -- a service that didn't actually suck, as if it isn't a universal truth woven into the very fabric of space-time that such a thing is by definition impossible and cannot ever actually exist.
Tuesday, February 27, 2018
Sunday, February 25, 2018
I think probably the more something is a walled garden, the more it is like rubbing sand paper in my eyeballs when it doesn't work well. Pretty much anything on the PS3, PS4, Xbox 360, Xbox One, 3DS, (and, really, iOS and Android - we won't even "go there" wrt MS Win Phone) etc. is a torrential sewage spewing train wreck when it comes to usability. Just horrible, horrible crap out of the box. Literally out of the box: the Xbox One setup is a freaking nightmare of brain dead usability hell. Or, maybe, I guess, it really is just me and I am on the wrong planet.
It is also super cool when all the "answers" and "help" about a given issue are themselves insufficiently precise and accurate. So there's all sorts of people writing about the same problem, and then sometimes saying, "[SOLVED]" or whatever, but then their solution actually isn't clear enough for another sucker (i.e. me) to get any further with the bloody situation. Until I divine from said "answers" what the real problem really actually is, for real. (And given the amount of answers already appearing in the search results, me trying to correct it by blogging the real answer isn't going to amount to a hill of bits.)
Unfortunately, a fair amount of software development is just trying to guess what asinine solution there is to the current asinine problem one is facing. Rather than actually spending what little time we have on this earth actually working on what we are trying to get set up to work on. Like, when a supposedly all-in-one magic build tool never says anything anywhere about the fact that it has to be run in the current directory. Or, like, when there are troublesome glyphs in a path. Or, like, when you have to do a clean build, or else. Or, like, when there's just a really deep seated bug in the code and you have to patch it. Or, like, a cross-platform tool that is brittle with respect to line endings. Or, ..., you name it. Puke. Epic failure on the part of the humans.
It boggles my mind that things as, I should hope, "simple" or at least "well researched" as freaking open-file type dialog UX's are often still super utter excrementally poopy. For example, Linux GUIs are very often super barfy in that respect in my experience. IntelliJ's GUI is also - I just re-rediscovered - a big pile of dookie as well. It seems to let me ctrl-click to select more than one file to include, but then... it actually only included the first one in the set when all was said and done. With no real feedback on that other than that I had to manually personally notice that only the first one was added. So, like, that's just great. Yeah.
It bugs me that people have pretty much given up, eschewed, dropped most responsibility for having docs and code and instructions that don't suck by just kicking everything off to either github issues or, even worse, stackoverflow (react-native is a particularly egregious poster child in that regard). At the very least I wish apps (e.g., say, IntelliJ) would have a feature built in that finds relevant S.O. answers to wtf just went wrong that automatically shows those in some useful friendly way, rather than me having to constantly freaking be switching around trying to just make any sort of progress at all. Like getting IntelliJ to make an actual JAR file.
There's some sort of jumping the shark that happens with user interfaces, that drives me nuts. Case in point: the UX of history and bookmarks in all major browsers seems to have gone to hell in the last 5 to 10 years. Pretty much these days whenever I go try to find something I was literally just reading, just closed, it doesn't appear in the list and I have to hunt around for it. What the hell? And then similarly with bookmarks, now there are like at least 3 different 'places' in Firefox I can accidentally save a bookmark so that I can never find it again (Bookmarks Menu, Bookmarks Toolbar, Other Bookmarks).
It is not happy cute durable turtles all the way down, it is olestra-leaky abstractions from hell. Whenever I think I want to do some kind of project that works with Java libraries, I day dream that oh I'll use Scala because even thought I don't like a lot of the jumped-the-shark syntax, I do like the idea of at least having a repl and static type checking - and then I am told I have to use either Intellij or sbt, and no matter which one I try it is a living hell of opaque broken crap from hell.
If for some techno-apologist b.s. reason you don't believe the computing experience is a lot crappier than it should be:
x@z:~/Dev/scbk$ java --version
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
x@z:~/Dev/scbk$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
x@z:~/Dev/scbk$ java --version
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
x@z:~/Dev/scbk$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
It continually explodes my mind with frustration that the UI thread ever can be blocked. Like browsers pretty much locking up or at least turning to hateful molasses when some javascript goes nuts. Or god knows whatever else. Of course, Firefox has kind of been going down hill itself recently. Like how I just clicked on a file to save, and the dialog box comes up with "open" or "save" radio buttons, and then a checkbox for "always do this" and the "save" button is preselected and I cannot actually click on anything else other than the OK or Cancel buttons. Clicking on "always" does not actually turn it on. And of course it is some random thing where I would probably have a hard time reproducing it, and there's no indications in the UI itself as to why there might I dunno maybe be an overt reason for it, however stupid. There's just all too often no way to distinguish any more between crappy slow junk that make the UX suck, vs. stuff that is like written by crazy people to work however it works on purpose, no matter how broken stupid wrong broken that UX is when I get to use it. Computers really do suck these days, and they suck hard.
Saturday, February 24, 2018
Ugh. AFAICT there will never be an organization that successfully ties the knot among Product, Development, and Support. They will always have large organizational, structural gulfs keeping them from actually knowing wtf. So whenever I contact Support I know it will, most likely, be a slow arduous process...
Re-reading Tao Te Ching, I have a few different translations, some more hippy-dippy than others. There's so much more opportunity for homonym puns in languages like Chinese than in English. We can have double-entendres and innuendo and backhanded compliments, but the compactness of potential double-meanings just isn't there.
Wednesday, February 7, 2018
If there's one thing I really really really hate about software projects, it is the lies. The purposeful lies. The lies of self deception. The lies of omission. Lies of laziness. Lies of ineptitude. It particularly burns my sphincters that open source projects do it.
Purposeful lies: e.g. When commercial folks (cough cough oracle) do pre-selling.
Lies of self-deception: e.g. When people working on the project sweep bugs under the carpet with either inattention or an explicit won't-fix in the hopes that the no-clothing thing isn't really a problem (ahem react-native).
Lies of omission: e.g. Things that say (cough cough Hydrogen / Jupyter) oh yeah sure we support <all these languages>! But then you go and look at what the actual integrations support and most of them are half-arsed crap that e.g. doesn't even support history. This category of lying is a bedfellow of the previous category.
Lies of laziness: e.g. When the docs are (ahem Elm) out of date, when the tutorial sample code is out of date.
Lies of ineptitude: e.g. When people are too ignorant or thick-headed about User eXperience that they can't admit that oh look this (ha ha Clojure) exception stack trace stuff (back in the day) on any simple error is actually a blatant steaming pile of poo ux.
Purposeful lies: e.g. When commercial folks (cough cough oracle) do pre-selling.
Lies of self-deception: e.g. When people working on the project sweep bugs under the carpet with either inattention or an explicit won't-fix in the hopes that the no-clothing thing isn't really a problem (ahem react-native).
Lies of omission: e.g. Things that say (cough cough Hydrogen / Jupyter) oh yeah sure we support <all these languages>! But then you go and look at what the actual integrations support and most of them are half-arsed crap that e.g. doesn't even support history. This category of lying is a bedfellow of the previous category.
Lies of laziness: e.g. When the docs are (ahem Elm) out of date, when the tutorial sample code is out of date.
Lies of ineptitude: e.g. When people are too ignorant or thick-headed about User eXperience that they can't admit that oh look this (ha ha Clojure) exception stack trace stuff (back in the day) on any simple error is actually a blatant steaming pile of poo ux.
Saturday, February 3, 2018
It is weird to me that web sites go down the drain of having pop up ads, pop over ads, modal ads, animated ads, every kind of freaking ad set up between me and the content on their web site that I wanted to, maybe, you know, read. My current policy is that since most of the time I can get the info elsewhere (e.g. basic stuff about programming languages) then I immediately close that tab and move on to some other search result. So it just seems utterly self defeating to me for them to spiral into that particular usability hell. I guess it is like email based spam: you hope there's enough suckers in the world for you to earn a living off of them?
Subscribe to:
Posts (Atom)