Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What's the worst piece of software you use everyday?
537 points by guu on July 11, 2020 | hide | past | favorite | 1500 comments
Subversion was created because the authors were frustrated with problems in CVS[0].

What's a piece of software you find essential that you wish you could replace or rewrite?

[0]: http://svnbook.red-bean.com/en/1.7/svn.intro.whatis.html#svn...




Sorry, but everything listed here is rank amateur stuff when compared to Blackboard Learn (https://en.wikipedia.org/wiki/Blackboard_Learn).

First, the user interface is designed as if the programmers were incentivized to maximize the number of clicks required to get anywhere.

Second, it has the responsiveness of continental drift.

Third, editing and formatting text is an exercise in torture. When I want to delete text that I am writing, half of the time, the delete key won't work (I'm exaggerating, but not joking). Formatting of text is quasi-random. Want red-colored text? That works about 90% of the time for me. The other 10% will give me gray text (This time, not exaggerating). If you are brave, you can edit your text as raw HTML, but, my God, you'd better bring the anti-hypertension pills, because the HTML will blast you with a tsunami of <span> elements. Sometimes the <span> elements (unnecessarily) surround individual characters, sometimes they surround _parts_ of words.

Third, it is nigh impossible to set useful defaults. Why can't the due dates for assignments be defaulted to the end of the day instead of the current hour and minute? Do you honestly think that I would ever want my assignment to be due at 4:33 PM?

Fourth, it tries to do too many things. I already have email. I don't need Blackboard's email functionality getting in the way.

I could go on (for a while), but it's time for those blood pressure meds.


There was an enlightening tweetstorm last year from a Princeton prof about the institutional reasons why Blackboard is so widely used despite being so bad: https://twitter.com/random_walker/status/1182637292869115904



IIRC Blackboard is also pretty aggressive about acquiring and/or enforcing patents against competitors.


What patents do they have?

A patent for a black chalkboard?


http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=H...

Successfully enforced against Desire2Learn.


Wikipedia claims it was invalidated on appeal.



Oh my god. WTF has the US Patent Office done to itself?

They must have been asleep at the wheel, and granted them this patent. They must have gotten starry eyed with all the wizardry of a web browser back in 2000, that they thought, this was a new and compelling technology.

The description of this patent, is just for a web site application, that will distribute assignments to students. The idea behind it is really not any more different than the GUI programs that were written on Windows 95 like the AOL program. They just splashed some fancy new words like "Uniform Resource Locator" and "World Wide Web".

This is another valid reason why software patents should be abolished. This is pure insanity. This is government and bureaucratic corruption of the highest order.


I think the patent office has absolved itself from all responsibility and shifted it to the courts. This mostly hurts small businesses that want to avoid court as much as possible.


A blackboard with rounded corners!


You'd think more people in leadership positions would try getting end-users involved in acquisition decisions. There seems to be a significant bias against doing that sort of thing in large organizations.


Why? As in, how would their lives be better if they did?


In general, if an organization runs more efficiently, it reflects well on the leadership of the organization. Exactly how that benefits a given leader in an organization varies greatly, but if the leader's incentives aren't aligned with the organization's goals, that tends to lead to an unsuccessful organization.

An organization that gets its workers good tools that improve their productivity rather than wasting their time will get more done with the same resources. It will also have an easier time with hiring and retention. Even if there aren't direct pay bonuses or similar incentives, this will likely make life easier for the leadership.

And that's not even getting in to the basic human decency that you should care about other people.


I was lucky to meet a guy who is running a company that id working on an extremely polished alternative, called Edubase. (I’m not affiliated.)

It seems both the students and the teachers love it. And I can see why. He demoed it to me and for example for Math exams it supported equivalent form solutions. That’s definitely not the trivial kind of stuff. And the list went on, both the capabilities were off the chart and the user experience was top polished. It’s already used on universities and in some private companies. Definitely check it out if you need a solution from the space.

https://www.edubase.net/


Thanks! EduBase is both a complete LMS and a pluggable exam/quizzing tool for existing LMSes (like Canvas). EduBase Quiz features automatic scoring, grading and reports with lots of question types, including matrices and mathematical expressions, LaTeX support, easier, centralized content management with access control and cheating prevention tools. This makes it even perfect for STEM subjects (but not limited to them)! Our engine also supports question parameters (always changing numbers in texts and formulas), taking practicing and examining to the next level.

We have a webpage describing the power of EduBase Quiz at https://www.edubasequiz.com/en/ but you can even get started with the EduBase experience for free today on https://www.edubase.net/


Thanks for sharing, and I just want to say I love Edubase! As an adjunct frustrated with Blackboard, I basically went rogue and started using Edubase for my courses, converting a few faculty along the way.

My favorite part of Quiz is how easy it is to set up special answer types, such as matrices, equation editors, etc. And the editor is a dream compared to Blackboard.

The Blackboard -> Edubase Classroom switch resulted in 80% fewer student support requests (like trouble turning in assignments, questions about grade details, etc.). And with competitive pricing to Blackboard, it was a no-brainer.


Wow, you'all at Edubase going hard with posting positive reviews on the internet! Dunno if HN is the target audience for your product though.


> Fourth, it tries to do too many things.

My institution, unfortunately, uses Blackboard. Clicking on "Course Tools", I get the following, presented as one long list:

Accessibility Report, Achievements, Announcements, Attendance, Basic LTI Tools, Blackboard Collaborate Ultra, Blogs, Cengage Learning Mindlinks (TM), Contacts, Content Market Tools, Course Calendar, Course Health Check, Course Messages, Course Portfolios, ...

And that's just the first three letters of the alphabet.


"Second, it has the responsiveness of continental drift."

That's just poetry. Well written and I can only fully agree on Blackboard. Any usability of this software comes from the consumer remembering how to get to places likes it's a GTA cheat code. Just a random sequence that you can only find if you know.


Canvas is for sure much better, but has its own issues. It marketed itself as the anti Blackboard, but it's begun sagging under its own bloat, and feature development slowed way down. It doesn't help that Instructure just got bought by a private equity firm, and fired a bunch of their employees.


Piling on the Blackboard is horrible train, my kids school system uses Blackboard, Fairfax County, VA, FCPS. Its true awfulness was on full display when the school system tried to switch to FT remote schooling back in the Spring. Parents, students, and teachers all clamored to not use Blackboard. Administration did not listen. It did not go well. From the time schools shut down until the end of the school year it was essentially no school. The Director of IT for the FCPS took the fall, but Blackboard was at root the problem. Blackboard tried to shunt all blame onto FCPS. I suppose in a sense FCPS was at fault, in that they bought the steaming pile of crap in the first place.

https://wjla.com/news/local/technical-issues-latest-on-virtu... https://www.washingtonpost.com/local/education/fairfax-schoo... https://www.tysonsreporter.com/2020/04/21/fcps-dropping-blac...


> Director of IT for the FCPS took the fall, but Blackboard was at root the problem

Rightly so. The Director of IT should have known better than to push a flawed product hard on parents/teachers, for months. I'm wondering what Blackboard's sales practices are like that they can get school's IT people on their side!


I wonder if Blackboard is any better since 2016 when Bill Ballhaus took over as CEO. I met him when I was an intern at SRA International and was beyond impressed in my brief time there. Besides his obviously impressive technical and management credentials, this was a titan of industry who remembered my name and always initiated conversation whenever I ran into him. We also had the same car (a GMC Yukon), although his was older.

I suppose I could just have been subject to his charm and I suppose this could be a ridiculous heuristic, but I definitely have a lot more confidence in a company (and its software) when the CEO drives a practical car and is kind to the interns. Hope Blackboard gets better under him just because it’s so deeply engrained in educational institutions.


My university has been a Blackboard customer for awhile, and so I've used it since 2011. My sense is that the software has gotten marginally better in some ways, marginally worse in others, and overall still sucks.

They redesigned it, in what is apparently an attempt to make the software more usable from a mobile phone. So (on a laptop), less stuff appears on the screen at once. This was billed, as usual, as an "improvement".

Also -- and quite frankly, this is ridiculous -- when I need to merge two sections of my course, I need to ask IT to do it for me. (Example: a big calculus lecture, which is broken up into multiple TA sections that have different course numbers.) It used to be that I could just do it myself, no problem. Then the option silently went away. I was informed that we used a plug-in (??) made by a third-party vendor (????) that enabled individual instructors to merge sections, but the third-party vendor went out of business and so this is no longer possible.

Makes me speculate that the codebase is a giant pile of spaghetti.


A giant pile of spaghetti, and every institutions spaghetti totally different.


Even more is that many schools were suddenly served a huge plate of spaghetti– or a metaphorically similar type of grain– and in a time crunch to understand how to dish it out to their students.


I worked at SRA for many years and Bill destroyed what was once the best corporate culture I had ever experienced. Among his accomplishments was introducing stacked ranking. Under his management SRA became just another body shop.

I guess I can't blame him too much. That is exactly what Providence Equity brought him in to do.


If I were sampling perceptions of Bill's effect on the company, I'd obviously place a higher value on your experience than my own short time at SRA. Didn't know about the stacked ranking thing; I'm not a fan of it (and I'm glad people have started to believe Jack Welch's implementation of stacked ranking at GE wasn't such a brilliant move that should be copied elsewhere).

But if I were CEO of a big company one day, I'd definitely want to interact with the rank-and-file the same way Bill interacted with me.


Gradefinity (https://gradefinity.com) is a kind of Blackboard + Scantron LMS alternative that is really targeted in terms of what problems it intends to solve (in-person and online tests, gradebooks, and communication).

Full disclosure: I built it-- I'm very receptive to feedback and feature suggestions though and am looking for pilot schools if anyone is interested in shaping the platform/knows someone who might be.


Some questions: does Gradefinity have the ability for teachers to publish learning modules for collaboration purposes? And orchestrate tasks among themselves? For example two teachers both writing up 200 vocabulary words to make a 400 vocabulary words quiz - can that be merged? Sharing content both between teachers and between classes is extremely important and seems to be underserved by Blackboard. Also do you model classes as being able to span terms, i.e. a two-semester class is a single entity?


In its current form, no-- but the content collaboration and task management you're describing seem reasonably straightforward to implement.

Courses as they exist now are unaware of semesters or terms, and are only tied to the students enrolled. So if the students enrolled in a particular class don't change (or change very little) between two semesters, you could continue use the same course for a 2nd semester if you wanted, or you could import your students into a new class and name the new class "Class Semester 2" for example.

I'm happy to work on features to fit your use case if you're interested in offering suggestions or are looking for a better solution than your current one; my email is brad [at] gradefinity [dot] com and I'm generally pretty available to talk about features/suggestions/demo stuff, etc.


I just moved to a new university that uses Canvas, and while it is not perfect, it actually does not cause physical pain when entering data.


We use Moodle since we can not afford the privilege of paying a lot of money for such a crappy experience. I notice a lot of other schools went with Canvas for the same reason.


Here in Germany, Moodle seems to be the defacto standard (100% at n=4). It surely does have some rougher edges, but overall I like it a lot.


Its also very well supported by course provider companies. I have installed four plug-ins to handle using outside company tests and courses.


Ugh, this brings back terrible memories from grad school. It was horrible as a student, horrendous as a TA, and that one time I filled in for my advisor, it was a nightmare!


Wow, surprised to find this and I totally agree. I've had to deal with it for a remote math course I've been meandering through. It's so unpleasant, and the materials are not very mobile, with nested iframes and such. I figured it would be a more obscure reference.


It's by no means pretty, but my university is using it and from a students perspective it's working decently well, and better than the systems from other universities I've attended. It also handled the increased load from the online semester quite well. Not sure how much customization they did on top of it, and judging from the screenshots on the official website it's definitely not the latest version.


We're building Eduflow (https://www.eduflow.com) – a light-weight LMS born out of some of the same frustration aired in this thread: LMSs are to enterprisey and seem to be designed with somebody else than the actual end-user in mind.

(Plus, we were in YC batch S17 with the predecessor to Eduflow – Peergrade)


It truly was horrendous.


Anything Atlasssian. Jira, Bitbucket, confluence. Just frustrating to use, poor UX, and slow. Business types love them however.

AWS. It’s UI is honestly baffling, it feels and looks like someone made it in a rush with jQuery and Bootstrap years ago. It’s login and identity and resource management is confusing, and apparently you need a chrome extension which adds a bunch of complicated options I don’t really understand just to be able to change roles. It is literally years behind Azure.

Git. It’s purposely archaic commands and syntax leads to too many accidents far too often. I recently started using Gitkraken which allows you to pull changes WITHOUT needing to commit locally first because it uses stashes. It basically does the same option. Why can’t git be smart like that?

Linux. It’s great, but it’s so easy to run into configuration problems or poor documentation.

Docker. Again it’s great but for whatever reason it just works poorly on ARM and the whole ecosystem is geared to x86 and it just goes and pulls the x86 images and then fails to run them. Come on.


Don’t agree with you about git at all, I find it’s one of the few tools I work with that behaves expectedly and gets out of my way, if you want that workflow of stash, pull and reapply a stash why not make an alias for it?


    git config pull.rebase true
    git config rebase.autoStash true
I think these should have been the defaults but they weren't implemented until later and it's hard to change defaults.


Setting rebase to true by default is not a good idea if you push your code to your dev branch regularly (rather than just committing).


I think that's a bit of an exaggeration; "pull.rebase=true" should be fine as long as you don't have local merge commits that need to be rebased on top of someone else's changes. With ordinary commits, it shouldn't really matter how frequently you (or others) push.


"git rebase" has --preserve-merges (apparently renamed to --rebase-merges a few years ago) to recreate those local merge commits, maybe it can be set somehow for this as well?


Exactly. That’s the default I use. You can set it via:

    git config --global pull.rebase merges


Great to know about these. I still think the current default is better: for a new user, it might be scary for your uncommitted changes to "vanish" into a stash.


The stash is popped before the command finishes, so your changes don't appear to vanish. Unless there's a conflict while rebasing a prior commit. Actually I'm not sure if aborting the rebase at that point would pop the autostash, but it should.


Got it. In that case I agree.


TIL. Thank you for this!


The functionality of git is great. Mostly. (I think the whold concept of stage/index/cache is completely unnecessary though) I find the UI to be inconsistent and confusing. Why would I ever want to make a branch without checking it out? It's literally never happened, yet it's the default.


> Why would I ever want to make a branch without checking it out? It's literally never happened, yet it's the default.

  git checkout -b new-branch
I fairly often make a branch as a sort of named undo point, and only check it out if need to undo to that point. Tags could work for that purpose too, but the branch approach seems safer in my usual work situation.


> I fairly often make a branch as a sort of named undo point

Could you say more about this? I use

  git checkout -b new-branch
all the time, but that checks it out. What does "using an un-checked-out branch as an undo point" mean? Don't you have to check it out to commit changes to it? I suppose I could read the docs but the git docs are awful.


It creates the branch immediately for your last commit on your current branch. Therefore you have just named an undo point you could use later.


Occasionally I find it handy to tentatively do a rebase or similar, where I'm confident that the rebase itself will succeed but not so confident that the result will be something that I want to keep. In that case, making a branch at the current commit (using "git branch new-undo-point") will leave an easy way to return to the current state as if the rebase never happened.

Recently, in explaining this to a colleague who's relatively new to git, I think the "aha" moment came in realising that if you rewrite the history leading to commit X, you're really making new commit Y in addition to the old commit X - you're not changing X in to Y. Leaving a branch pointing at X is enough that git will keep it around after the history rewriting, in case you decide to do something with it later.


Ah. I get it. You're talking about using a new branch name as a tag for an existing commit. Thanks.


Wow, I’d never thought of using it like this. Thanks for sharing, I just added something new to my workflow!


It's actually an answer to a standard interview question. I've met it more than once.

Funny thing, nowadays it's going to be deprecated in favor of:

    git switch -c newbranch


Which is similarly terrible; it should be a flag on the `branch` command, not `switch`.

I actually popped on the git development irc channel a few months ago to make this suggestion. The two people I talked to (at least one of whom seemed to be a core developer, although I did not verify this) did not see how, if you're going to conflate the actions of creating a branch and checking it out, it makes more sense to do this as a flag on the primary action, branch creation.

They were nice enough to have an in-depth conversion with a complete newcomer, though, so it was not a negative experience overall. Maybe someone else could convince them :)


Maybe this depends on your mental model of what a git checkout is? To me, "git checkout X" means: update the working directory to reflect X and update HEAD to point at X. (edit: and HEAD means "the branch to update when a new commit is made"). I use "git checkout" a lot more often than "git branch" and "git checkout -b" combined. So, to me, the fact that X is a to-be-created branch is secondary to the primary "checkout" operation.

That said, I do vaguely recall this seeming weird at first.


I'm going to discuss mental models in a separate comment because they're actually more interesting and this comment is getting too long.

---Succinct argument---

What happens if you remove the flag? Put differently, how much does the flag change the semantics?

`git branch newbranch` will gracefully fall back to creating a new branch at HEAD.

`git checkout newbranch` will fail (error: pathspec 'newbranch' did not match any file(s) known to git), because the regular version of the command involves operating on something that already exists.

---Less succinct further argument---

checkout's `-B` variant. Here's how the man page explains it:

> If -B is given, <new_branch> is created if it doesn’t exist; otherwise, it is reset. This is the transactional equivalent of > > $ git branch -f <branch> [<start point>] > $ git checkout <branch>

If it were a flag on branch, you wouldn't need a separate flag, just `git branch -fs newbranch` (-s for --switch).

Actually, looking through the man page for `checkout` now, I see 4 other options I didn't know about (-t|--track, --no-track, --guess, --no-guess), apparently for the sole purpose of being used with -b.

---

I don't think I thought of this argument when I originally chatted in #git-devel, maybe I'll give it another try.


> HEAD means "the branch to update when a new commit is made

Thank you for the edit; this is where our mental models diverge. Yours is the technically correct version, but when I'm working, I introduce a small abstraction on top. I've never written this particular part out explicitly, so please bear with me and feel free to suggest better names or phrasing.

I'll call it, "the checked-out branch" (or other <tree-ish>, but let's leave out detached HEAD for simplicity). It's like your model, but also includes the state of the repo at that commit. This is a really subtle difference, but the key is that checkout is one atomic operation.

I think the easiest way to explain is by analogy[0] to editing a regular text file. You've got the file on disk, and the version in your editor's buffer (working tree), and every time you save, you're making a commit (with `--amend`, on most filesystems). When you decide to edit a different file, and open it, technically there's two independent operations -- switch which file handle you're writing to, and replace the contents of the buffer with the contents of the new file -- but I seldom think of it this way (and I can't think of an editor that separates them).

This is also why I don't like overloading with `git checkout <commit> -- <files>...`, which does not update the HEAD. It shatters the "open file" analogy; it's like changing the contents of your buffer without changing which file you're writing to. In my mind, that's a totally separate function (typically accomplished by opening the other file separately and then copying its contents into the buffer, an inefficient operation that I'm grateful git provides a better alternative to).

Aside, I also prefer to think of each branch (not commit!) as having its own persistent working tree and staging area; I'd prefer not to have to push and pop a stash each time I check out a new branch if I already had some work in progress. `git worktree` comes close, but lacks the ability to navigate between worktrees but stay in the same directory relative to the root, like `checkout` does. Also you have to initialize other worktrees with a different root, which pollutes the file system or forces you to use an extra level of nesting.

It's been on my list of projects for a while to write a git porcelain that works the way I'd like, but it's pretty low priority (despite my complaints, git works pretty well for me), so I doubt I'll get to it for a few years.

[0] Come to think of it, maybe "analogy" is not the best word. It's more like, I prefer to view git as an extension of my filesystem, so I want a consistent mental model across the whole thing.


Thanks for the post! I should mention that I'm not a git expert by any stretch, just a git user who's recently been herding some folks at work from perforce to git (so have brushed up on git explanations/internals).

It seems like the conflict is that there actually are some separate things going on "under the hood", and you're not satisfied with the way that git has combined them? To be explicit, some distinct steps we're discussing are:

1) Update the working tree to match the tree-ish

2) Create a new branch

3) Update HEAD to point at the branch (or other tree-ish)

As is currently implemented, "git checkout somebranch" does 1 and 3, "git checkout somebranch -- <files>" does just 1, "git branch somebranch" does just 2, and "git checkout -b newbranch" does 2 and 3. AFAIK, there's not a "git branch" argument that causes it to update HEAD, but the standard version of "git checkout" does exactly that. From the perspective of a new git user, maybe "git branch" is the obvious command to look at for making and using a new branch, but I think "git checkout" is the obvious command for using a branch.

So, perhaps "checkout" could have a better name; maybe "use" or "work" instead?

I must admit that I don't understand what you mean by "state of the repo at that commit" - is that related to the idea of each branch having a persistent working tree and staging area? When I run in to a situation where the second would be relevant, I tend to do "git commit -am WIP" then on return to that branch, "git reset HEAD~1". It very rarely happens that I'm in the middle of composing a commit (staging things) but need to switch to a different branch in the same project, so it doesn't really matter that the staging area and working directory all got munged together.


I've been quite busy; hopefully you'll see this. Like above, I agree that you're technically correct.

First, I would like to re-order those steps (and I am curious whether you intended the order to be meaningful). Then, I'll try to explain how they, while technically correct (again) to the best of my knowledge, don't match my mental model (particularly "update working tree", which is not part of "checkout" in smichel17-land). Yes — this is related to the "persistent working tree" (or maybe "working tree as a concept that doesn't exist in my mental model" would be better phrasing — but I'm getting ahead of myself).

---

Note that without flags, you'd have to "git branch" first, then "git checkout". Also, it's easier for me to think about if each command only performs consecutive steps, in order. Fortunately, we can achieve that:

1) Create a new branch

2) Update HEAD to point at the branch (or other tree-ish)

3) Update the working tree to match the tree-ish

"git branch somebranch" does just 1, "git checkout -b newbranch" does 1 and 2, "git checkout somebranch" does 2 and 3, "git checkout somebranch -- <files>" does just 3. I think this helps clarify my issues with both -b and --. They both change which step "checkout" starts on (and "-b" changes the ending, too!).

By analogy: if these commands are like functions, adding a step afterward is like a flag that modifies the output, while adding a step before is a flag that modifies the expected input. Sure, you could organize your code around the outputs it produces, and sometimes we do that (eg, serialization/parsing you have things like JSON.stringify, String.fromInt, different constructors for classes, etc). But typically it makes more sense to group based on what you want to do with a given object/class/data-type — it's nice to be able to answer, "I have an X, what are all the things I can do with it?"

Maybe that's stretching the analogy a little. But it ties in with my original comment mentioning the "primary action", which I guess I could rephrase as "first action in the chain".

---

What's the primary action of "checkout"? Well, "updating" the HEAD. So here's where we get back to abstractions / mental models — I would say, moving the HEAD. But first, let's take a short detour.

What's a commit? Technically, it's a diff and some metadata (author, parent commit(s), ...) with a deterministic name. But in terms of actual use, it's a snapshot of the repository at a certain point in time. (Or, if you'll permit a little snark, a version, as in "version control".) Zoom out to the whole repository, and you can visualize it as a tree of commits, ordered along the axis of time. Visualization:

    git log --graph --format="%C(yellow)%h%Cgreen%d"
That includes branches, so what about them? Technically, they're tags. But in my mental model, they're boxes which contain mutable state that I might want to commit. They're the buffer in my text editor, where I make changes before saving to disk. As a crude visualization of making a commit, I choose a subset of those changes and put them in the bottom of the box (stage them), then chop the box in half. The bottom becomes the new commit, and the branch remains on top, still holding any unstaged changes.

Finally, back to the HEAD (our detour is over). Technically, it's just another tag. But to me, it's a camera, through which I look at a given box (or snapshot). It's the location where I am. It's $PWD.

To bring it all together:

- Branches sit on top of a commit and stay there.

- When I check out a different branch, they remain on top of the same commit, still holding the unsaved changes in their box. This is what I meant by "persistent working tree".

- Checking out a branch, conceptually, is just moving my view (HEAD) to a different branch. It doesn't involve changing files. It's the equivalent of "cd".

So this is why it barely makes sense for me to talk about "the" working tree. I have a bunch of boxes/folders/"working trees", called branches. That I have to copy them to "the working tree" in order to edit them is an implementation detail. Step 3 above (your 1, "update the working tree") doesn't exist in my mental model. You just move the HEAD. One atomic operation.

"-b" and "--" both break my mental model because they add side effects to an operation that's otherwise just "look around." "-b" isn't quite as bad, because I could imagine a flag on "cd" that makes it run "mkdir -p" first ("Go here, even if it doesn't exist yet."), but it still makes more sense as a flag on "branch" ("Create a new box, and look at it").

> So, perhaps "checkout" could have a better name; maybe "use" or "work" instead?

I think the new "switch" fits pretty well. And, "git branch [-s|--switch]" aren't taken yet :)

Aside, "git reset" is about moving which commit a branch sits on top of, and its various hardness flags are about what to do with the contents of both the box and the commits it was sitting on top of. There used to not be a command for "copy some stuff into my box from a different box or commit", so I had to use checkout, but now there's "git restore".


Thanks! No, there wasn't any reason behind that ordering, as far as I remember.

> What's the primary action of "checkout"? Well, "updating" the HEAD.

This might be where we diverge - I'd say that the primary action of "git checkout" is to update the working tree, secondary action is to update HEAD.

> What's a commit? Technically, it's a diff and some metadata (author, parent commit(s), ...) with a deterministic name. But in terms of actual use, it's a snapshot of the repository at a certain point in time.

This isn't actually the case; git commits contain a "tree", which is not a diff. The tree is a table of file paths, attributes, and hashes that each identify a "blob" - the (compressed) contents of a file. The commit represents a state of the committed files (and links); to me "snapshot of the repository" would include things like the state of the branches in the repo, HEAD, and commits that are present but outside the history of the commit in question.

---

Thanks for the explanation, I think I understand what you mean and like the idea. Maybe this is what you alluded to a few posts up, but it seems like a new subcommand could roll up the working directory and staging area in to a temporary commit or two, do the normal "git checkout otherbranch", then unroll any temporary commit(s) that were present in otherbranch.

At a previous employer, I used mercurial including a feature (perhaps provided by an extension, I can't find it at the moment) that allowed a commit to be marked as local-only, so it wouldn't be pushed. Something like this could probably be done with git hooks to prevent the temporary working/staging commits being shared unintentionally.


There's an interview question about some behaviour of git that people don't rely on very often? Wow. Asking anything about VCS seems a bit off in general if the person has any experience under their belt developing software...


> Asking anything about VCS seems a bit off in general if the person has any experience under their belt developing software...

Why so? We don't go into great depth, but every hiring committee I've been on I make sure that we ask something about source control.

You can learn a lot about a developer's process by finding out if and how they use source control. (Red flag, for me, is if an apparent senior dev doesn't use a VCS.)


Isn't there a difference between knowing/understanding VCS and git flag trivia? Seems needlessly pendantic?


Not GP, but if I were, to me 'I can never remember the flags, so I made aliases' is a good answer. (Problem-solving, learning to use tools in a way that works for them, etc.)


Whoops.

Red flag = warning sign, not anything related to Git flags.

OJFord is basically correct, though. It's 2020, so if you're interviewing for a developer/programming position, you should at least know something about the various VCS options.

If it helps, during our last set of interviews the question was "What is your strategy when using source control?"

Before that was the two part question of "Describe your preferred development environment, both physical and technical. What is one thing in your development process that you can’t live without?" (I always tell the candidate that my answer to this is some sort of VCS.)

(These were both for the second, in-person, interview. There's not necessarily a wrong answer. It's not like we're asking them to name as many differences between Git and TFS as they can. :) )


Who asks interview questions about git syntax? I’ve never encountered this (in 20 years) and hope I never do.


I seem to make tracking branches just as often.

  git checkout -t remote-branch


I like staging my changes with `git add -p` before I commit as a way of reviewing what I did. I often catch mistakes or unnecessary changes this way. I suppose you could build the same workflow with stashes, but it seems quite awkward that way.


git add -p is extremely useful if I encounter a typo or something while doing some other change. Then I can commit this small unrelated change in its own commit without mixing with actual changes and without losing my context (of course this should be trivial stuff only, as it might be mixed up in the feature branch of current work)


I just review the diff before I commit.


I do the same thing for small commits. Anything larger than ~25 lines (to the point where the whole diff doesn't fit on screen at once) becomes a lot of wasted time finding where I left off. Adding things incrementally means I don't need to look at them twice.


I rarely use git add (basically only for new files or non-text files) and instead always use commit --patch.


What do you do when you come across lines that you want to commit, but edit beforehand? I always run into syntax errors when I use `e` to edit a diff during `git add -p`, and it doesn't update the file in the working tree, which I also want. Skip it and then `commit --amend`?


A tiny change like a typo in a comment I would just edit in both the git commit --patch `e` editor and in the working tree copy. Anything bigger I'd either abort or skip and edit/test normally and then amend. My main use for `e` are not really edits to the final code but rather for splitting up changes that affect the same line.

I only had problems with errors from `e` on Windows - I'm guessing due to wrong line endings.


TIL about this. I was using `git add -i` and using the patch function.


> I think the whold concept of stage/index/cache is completely unnecessary though

I was thinking the same for many years. But lately started to use VSCode for some projects. To see how staging is integrated there was almost an enlightening experience to be honest. All it takes to make staging an extremely useful feature, compared to all the other IDEs, is a slight change in how diffs are presented: In VSCode line-change markers indicate only a diff between working tree and cache (and not working tree and HEAD, like "everywhere" else). After staging a file in VSCode all inline diff markers disappear and the file looks like it would be unmodified. Than, new changes on top of the staged stuff will result in line change markers and inline diffs (showing only the unstaged changes). This way one can track "changes on top of changes" without having to commit the intermediate steps. This makes building up even big commits quite convenient as one can do it in small steps, having a (directly visible) diff of manageable size at any time in this process.


You don't need an extra cache level for that. If what you want is to accumulate "adds" one at a time into the cache to create one combined commit, you could just accumulate small commits until you had what you wanted, then merge the commits into one combined commit before pushing to the server.


Sure. And I was doing this.

But it requires a lot of additional ceremony—alone naming the intermediate steps… ◔_◔


Or just one commit and keep amending it.


This approach doesn't allow you to easily revert parts of your last change-set. Actually you can't even distinguish in the diff your last changes form all the other accumulated changes once the recent change-set was commited.


I don't follow. You could totally implement a staging area workflow by making a commit with the message "Staging Area", repeatedly amending it, and then finally giving it a real message when you're ready to commit "for real". The main thing you lose that way is the ability to push safely.


Counter anecdote: I don't know how to create a branch without checking it out.


`git branch {foo}`

For once, it's a git command that seems to be clear about what it does, but it just doesn't check out.


Not all git repositories have working trees. On a bare one a checkout doesn't work.


If you want to change from a git-lover to a git-hater, just join a project that uses submodules.


That happened to me few months ago when a new submodule was added that gets updated regularly (old ones are some legacy libs just lying there). I literally had to beg some colleagues to not forget to commit the changed submodule ref to host/main project. None of them even understood why it was needed since "it would anyway be solved by `git submodule update --init --recursive` anyway".

Also, of late I have turned to "a lover of git GUI apps" form a full "git in cli is the best evangelist". But that has happened for most other tools as well. I guess I am kind of done with cli.


Similar here, but without learning the CLI first, I would not be comfortable with the GUIs.


Lol... Don't want to go down that rabbit hole. So many tools have been written to help with submodules. Such a shame. I feel like the only success path for submodules in any project is for anyone working on the project is to understand them completely.


I've been using git for a decade, and I still have to Google simple tasks. The answers rarely make sense.


My history with git is shorter, but ditto to the web search for simple tasks. Before git, I used svn, and most things there made sense (not everything, I admit).


git mv foo.bar <SomeNewDirectory>/

It loses all history of foo.bar. I guess if you pull up a version before the mv, you can still see it, but as far as git is concerned, foo.bar in the new location has no relationship to foo.bar in the old location.

Many people have complained about this over the years, but it's still that way. Because (they say) Linus likes it that way.


    git log --follow


Disagree strongly on git. On the surface the syntax is ugly, but the data model is brilliant.

Once you wrap your mind around what commits, heads and remotes are and learn to rebase you get an incredibly simple and fine-grained control. I never use stash because it's trivial to create a WIP commit and rebase later into the chunks I want to ship to permanent history.

Git is like a chef's knife: extremely powerful tool that's dangerous in untrained hands.


> On the surface the syntax is ugly, but the data model is brilliant.

It's beyond ugly, it's needlessly incoherent. I use it because I have to and hate it. I've heard people say "the data model is a work of beauty". And I suppose that's true, but why have such a fucked up and confusing set of commands? Doesn't a "brilliant data model" deserve an equally brilliant command line?

The thing that saves git is that it works, and by some miracle, it is popular. People just memorize what they need to do for their workflows and that's mostly fine. Sometimes there's a screw-up and you blow time googling around or looking up fixes.

People won't publicly admit it but a lot of work gets trashed because finagling git intricacies is more painful than throwing away some work and starting over.


> by some miracle, it is popular

Probably because Linus Torvalds wrote it, and also because GitHub was actually quite a significant improvement over SourceForge. I know some people "love to hate" GitHub, but they made some really good "developer-first" UX improvements that many copied for good reasons. And lastly, Linus Torvalds wrote it.

I still maintain that Mercurial is far better for most uses. Every time I mention this I get a flurry of technical replies about stuff most people don't even know about (HN is strongly biased like that, which is not a bad thing, just something to be aware of), but most people just want to commit, push, pull, and some related stuff like that. Git makes a lot of simple common stuff arcane to make the complex stuff easier, whereas mercurial makes the simple common stuff easy and keeps the complex stuff arcane. This strikes me as a much better design philosophy.

Git and Mercurial are a tool designed to facilitate writing code (which is also a tool designed to solve problems). If you need to spend significant time to "get your head around it" then IMHO something, somewhere, has gone wrong.

I still use git because it's just the pragmatical thing to do at this point in time, and to be fair there have been active efforts by the git team to make the common/simple stuff easier in recent times, but yeah, I'm not a fan.


> Probably because Linus Torvalds wrote it, and also because GitHub was actually quite a significant improvement over SourceForge.

I'd say it was because GitHub created a solid community that worked. And yes, Sourceforge was a huge piece of garbage with it's awful clickbait, misleading "download" buttons, and scammy crapware foisting.

That Torvalds wrote git doesn't automatically make me want to use it, I think most people feel the same.


Yes! I love Mercurial, it feels like someone designed a proper interface, instead of just exposing the internal api calls


I use git a lot, and I like the speed and decentralized nature. But I do think there's much to be improved.

Named branches don't really exist in git: there's only a moving target name that refers to a leaf node. This means there's no "history" associated to a branch except for the parent commits. But in merge commits with several parents all parents are considered equal, and the system does not contain info about which commit belonged to the "main branch" and which was imported in. This information can be valuable in some cases. This leads to a lot of rebasing just to keep the commit log clean, but this actually rewrites history and destroys information.

Also, there's no support for keeping two parallel views of the same repository (for example, an internal view with lots of subcommits, and a cleaner public view with more detailed messages, and perhaps fewer privacy-compromising names/timestamps).

Finally, handling merge conflicts is still a PITA, especially on LaTeX documents.


> But in merge commits with several parents all parents are considered equal, and the system does not contain info about which commit belonged to the "main branch" and which was imported in.

I thought that merge commits stored an ordered list of parents, and the first parent is generally the main branch, and second parent is a side branch.


It does! I'm not sure what that person is referring to. git log can even use ASCII art to depict the relationship. Most modern git web frontends depict the relationship. Sourcetree, gitkraken depict the parent relationships. I wonder if we're misinterpreting? But the parents are distinct from one another, the hierarchy is not lost on merge. Part of the reason I prefer merge commits rather than rebasing.


Note: they don't have to be exclusive. You can rebase a branch so the history is linear, then merge --no-ff and create a merge commit for it. This gets you something like the best and worst of both worlds.


What about a “git init-lite” option?

So many times I want to VC a directory but don’t care about commit messages, branching, or other jazz more suited to collaborative work.

With init-lite, all the power of Git is still there - and you can use any commit or command you want, but it’s default would be to simply VC for every file save. In other words, a file save IS a message-less commit.


This exists: it's the git-annex assistant! You just have to configure the "annex.largefiles", because by default git-annex doesn't actually commit the content of the files, since it's designed to handle large binary files.

But if you set that option and run the Assistant, it'll auto-commit files when they change, and can even auto-sync them with other computers, cloud storage, Android devices, etc.

https://git-annex.branchable.com/assistant/


Sine decades I wish this would be a std. OS or FS feature!


Back in the stone age I worked at a place that used a VCS called ClearCase. It supported exactly this, you'd be able to append things like @revision or @branchname or @timestamp to file and directory names to access them.

Unfortunately, it required (IIRC) three full time people to administer the server. As for the client (my workstation), it required a proprietary kernel module which would panic about once a week. I'm told our license cost $1m/year (2001 dollars).



Indeed. I still miss VMS because of its automatic versioning, with version numbers being an explicit field of the pathname.


It's something that exists in macOS, but as far as I know applications have to explicitly choose to use it. Most applications that support it have a "File > Revert To > Browse All Versions..." command available. BBEdit -- as often the case -- has a more useful variant of it, which brings up a diff window with "Search > Find Differences > Compare Against Previous Version". (It actually lets you choose any recorded previous version.)


The good news is that git is extensible enough to support this use-case. You would need to wrap git with a tool/script that watches for file changes


> This leads to a lot of rebasing just to keep the commit log clean, but this actually rewrites history and destroys information.

Completely agree. I think rebasing is misguided. The objective is to keep history clean and linear. The proper way to solve that problem is with smart log analysis for different customers, not fictionally rewriting the log itself.


I think the best argument against git is to use mercurial for a few months. It has exactly the same functionality but a nicer and more streamlined interface, especially when it comes to branch management.


I think this point can be concisely summarized with:

  $ git help commit | wc -l
  506

  $ hg help commit | wc -l
  59

  $ hg help commit -v | wc -l
  96
Also, git currently has 169 subcommands by default, vs. mercurial's 50 (more available as extensions though).


Yeah, when dvcs started becoming all the rage I tried mercurial first for some toy projects and really liked it. When I finally had to start using git I was absolutely baffled that it had won. I feel like git needs something that sits on top and does most the normal configuration and wraps the api. It reminds me of the problem with emacs, there is so much it’s just overwhelming to people.


Technically this already exists; git commands are divided into two groups, plumbing and porcelain. Plumbing commands have stable interfaces and are intended for building alternative interfaces with; porcelain commands are intended to sit on top and be the actual user interface. They're what you're used to using.


I love mercurial but since I've gotten used to git I miss the lack of the staging area and stash in mercurial. I have to grudgingly admit they're very useful.


In some cases (all my usecases, but perhaps yours are different) the staging area can be replaced by some combination of "hg commit --amend" and "hg commit --interactive" - or in older versions "hg rollback" and "hg record".


You can get the "git stash" with the shelve extension: https://www.mercurial-scm.org/wiki/ShelveExtension


Do you think mercurial has a better data model, or could git reach parity with just a better interface?


I don't know anything about mercurial's internal data model, so it's hard to say. In particular, it makes some fundamentally different choices (e.g. no staging area, the ability to use unnamed branches). I certainly think git could do a lot better with its interface though.


I understand Git, but for my rebase-based workflow, I don't like how Git doesn't understand commit identity when you rebase. Git doesn't know the old and new commits with the same name and contents mean the same thing, though rebase tries to skip commits it thinks match.

When you rebase one branch, it doesn't move other branches and tags pointing along the history.

You can't rewrite a repository and change your username in past commits, without completely rewriting all of history, creating two parallel histories, and merge conflicts.

Git's mental model makes "moving a branch onto a different commit" (git branch -f) a natural operation. But no graphical tool I've used allows you to do that on a branch you're not checked out on.


> Git's mental model makes "moving a branch onto a different commit" (git branch -f) a natural operation. But no graphical tool I've used allows you to do that on a branch you're not checked out on.

This is trivial in SmartGit, I do it all the time.

Simply drag the branch marker to the commit you want it on. It doesn't matter if it's the checked-out branch or not.

I've tried a few Git GUIs, but SmartGit continues to be my favorite. Pretty much every one of the recipes on https://ohshitgit.com/ is just a simple drag and drop or menu command in SmartGit.

One of my favorite things is the way it handles the reflog. Just click the Recyclable Commits checkbox and every reflog commit becomes visible in the normal log view. You can see the commit's file contents without having to check it out, you can diff two reflog or normal commits, etc.

https://www.syntevo.com/smartgit/


Rebasing breaks a lot of what's good in git.


I agree on these points, however many developers don't care enough to use it well, so you get screwed up shared histories, bad commits, mis-merged branches. I know that the nature of a shared tool, but it definitely negates a lot of the potential benefits of doing everything The Right Way if nobody else puts in the same effort.


How about putting some tought into not naming operations so that `pull` is not the opposite of `push`.

Don't you think the merge histories of all the repos throughout the globe would be greatly improved if people didn't need to learn the hard way that if your colleague does `push` you need to `fetch`?


Also, rm is not the opposite of add, `restore` is (and previously `checkout` was).


> Once you wrap your mind around what commits, heads and remotes are and learn to rebase you get an incredibly simple and fine-grained control.

> Git is like a chef's knife: extremely powerful tool that's dangerous in untrained hands.

Although, this is all part of the problem with Git. The problem is that it exposes this fine-grained control and knife's edge to the user by default. There isn't some simpler model that people can work with.

I cut my teeth on source-code control with Perforce. Of course, Perforce has many complex features, including stuff like workspaces, which as far as I can tell, Git doesn't have something like that. Anyway, despite its complex feature set, Perforce can be explained in a few minutes. You have some code in the repository. If you want to work on it, you check it out and it gets added to a changelist. If you want exclusive change rights, you can lock it to prevent others. If you want others to see what you're working on, you can shelve your changes without submitting so that they can inspect. When you're done, you submit your changelist. All of this can be done via excellent visual tooling or the command line. I highlighted things with italics because these are the right words for the actions in how Perforce calls them. It's intuitive.

For Git, it isn't that simple. You must first explain a wide swath of concepts. I've explained Git to people, even using the GitHub Desktop app. It is very confusing and intimidating to people, and rightfully so. It confuses me, and I did some pretty advanced things with Perforce (and thus source-code control) before. And there's no default visual tooling. Git also has many names for things that are confusing. Also, Git was invented for a very specific purpose: Linux kernel development. The vast majority of development does not need the same complexity that such a niche development process needs.

When I recently wanted to do something in Git, I just could not figure it out. Probably simple for a Git expert, which is something I am not, but after searching many forum posts, I gave up because every answer was different and caveated in different ways and wasn't working for me. I installed GitKraken and solved my problem in seconds via a single right-click. Maybe I'm an idiot and I don't understand Git that well; both are likely true. But I am able to understand other complex things, so something is amiss. I think the primary issue is that Git requires me to study it just to use it in basic ways. I have an allergy to overly complex things, and so it's just a constant struggle for me. I tend to use visual tools for merging, diffing, managing commits, etc. so that I stay away from the Git CLI, which exposes the complexity in a non-usable way.

Lastly, Git is very narrow minded when it comes to things it controls. It assumes everything should be text.


Absolutely agree! Coming from P4 to Git, Git is just constantly getting in the way.

I need to make more decisions because of its limitations (single repo or one repo per module? Or maybe use submodules somehow? With P4, we had a single repo with all of the code of the entire organization).

Should I rebase or merge? Or squash commits? Should I cherry pick onto a new branch?

If I want to checkout a new branch while I have work in progress, do I commit it and later amend or revert, or do I stash it? Or do I rely on autostash?

Do I push directly to main, or do I rely on pull requests? Should those merge or squash commits?

I understand that all of these options and concepts make sense for distributed orgs, like the Linux kernel dev community and many other opensource projects. But I don't understand why so many traditional organizations are adopting Git. Its model is way too complex for the way normal orgs work (1 centralized server as the source of truth for the whole project), and it has serious limitations for anything which isn't pure code and isn't carefully curated.


>Should I rebase or merge? Or squash commits? Should I cherry pick onto a new branch?

From my perspective, these are policy decisions that need to be made by some "management-ish" level. Git provides the mechanism to do all of them. It's up to you/your organization to decide how to work.

In the open source project that I run (20 years, 75+ developers over time, 400-500k LOC) we all have a clear understanding of (e.g.) whether to merge or rebase. On the odd occasions that there's a lack of clarity, it's normally a great sign that it doesn't matter.

The fact the you would be asking those questions suggests to me that the necessary policy-level decisions have not been made (or have not been made clear).


I'm not saying this is a decision every dev has to make. I am complaining about having to make these decisions as a team or team lead. Having choices is only nice if there are important use cases where each choice is useful, and if the difference is big enough. Otherwise, the choices are just adding complexity and buyer's remorse.

For most unitary organizations, some of the options that git gives you make no sense at all. That doesn't mean git should change, it means that it's not a great tool for unitary organizations.

Note that some of the choices (e.g. stash vs commit) are choices that each dev has to make individually, and some are pure incidental complexity.


So git gives you too much freedom, that’s what your complain is about? I find it hilarious.


This is not 'freedom' it is excessive complexity.

`ls` wouldn't be better if I had to pass a flag to see the output as today, and another flag to print one character per line, and another flag to print each character in a different color etc. (even though that would give me 'more freedom').


I don’t think that git forces you to use all these bells and whistles. Also I am not sure if ls would be better with additional flags, but it won’t be worse because of that, that’s for sure.


There is a difference between "too much freedom" and "not enough direction."


Sure there is - the difference is so huge that I don’t see any similarities. Though professional software should not direct you, thus limiting you in choices. Your expertise should do that. And if your expertise is not enough to make an educated choice it’s not a problem of the software.


Those are hard decisions to make in organically developed organizations like companies.

Part of the problem is that Git, to make it manageable, requires all of these types of concerns and decisions to be addressed, and secondly, it has somehow become the only standard that people have even heard of. There isn't even a decision about which system to use anymore.

Having used both, I still prefer Perforce over Git. And if it were up to me, I would take a step back and investigate other offerings like Plastic SCM. But trying to make these decisions is nearly impossible now that Git is treated as a given.


I seriously disagree. Branching models are one of the few things that can be decided upon at short notice. It shouldn't be changed every day, but going from merge commits to rebasing is not going to prevent anyone from working. The VCS history will just look confusing temporarily.


Coming from p4 to git, I thanked the heavens for not having to use this piece of garbage anymore! File locks? Multiple changelists? God forbid that one colleague who checked out some file went on vacation, neverending fun talking to admins of the server to do something about that! Rebasing commits? Own branches? Own repos? Nope!


I miss multiple changelists so much! I very often am working on a longer feature when I also get some small bug, and it's so nice to organize that into a separate changelist.

Also, file locks are awesome if you're working with binary files (a thing that P4, unlike Git, can actually do), or even when doing a big refactoring that you know will cause conflicts with any other change. Otherwise, at least on our server, we very rarely used them (ignoring the temporary lock just as you're submitting code).

I'm not sure what you mean about rebasing. The basic P4 workflow is equivalent to `git pull --rebase`. In fact, it's pretty hard NOT to rebase in P4.

Also, why is your own branch useful actually? Nevermind your own repo? You can always just keep multiple copies of the code if you really want to.

Also, with P4 you don't have to cleanup your whole working set just to switch branch - it's just a `cd` away!

Of course, different strokes for different folks and all that.


I feel like I'm back in the aughties reading this post :-) These arguments were all made back in the day, substituting in CVS or Subversion or what have you for Perforce. And yet time marched on and millions of people found that, yes, they could indeed use git. Especially with all the UIs that have sprung up around it. That's the thing really–you don't need to be an expert git CLI user to get value from git. You just need to find one or more UIs that do what you need.


Agree. I always hated git and thought it was so arbitrary and unhelpful. Then I sat down for 1-2 hours and read about how it works. It's not that complicated of a model that it operates on. Once you learn the model, the rest of the commands and how it works start making intuitive sense.


I’ve yet to find a good intro doc that explains how git works conceptually. There are too few visual examples with authors assuming that users already understand the basic concepts like commits. To people who are completely new to version control, git can appear nonsensical.

Funnily enough I think Atlassian/Bitbucket comes close to a good intro doc to git on their site complete with a visual guide. I still found it inaccessible to people totally new to the basic concepts though.


I've found the git branching game to be quite helpful in building a visual mental model https://learngitbranching.js.org/


No, this one is good (I'd say I regard it as canonical!), but only if you know how commit works on a conceptual level. It is not targeted at absolute beginners.




Agree with everything in this post except I find stash extremely useful when a pull would disrupt my current working directory. "If I only had a VCS to temporarily hang on to my local changes while I merge the team's."

Stash, pull, stash pop. Done.

(I don't use rebase because I like my history to tell the truth rather than be fictional. Maybe stash is less necessary with rebase; IDK.)


You don't need stash for that though, you can just create a branch.

git branch my_stash git commit -am WIP # instead of stash save git pull git cherry-pick -n WIP git branch -D my_stash


You don’t need to create a branch for that though, you can just use stash.


And how is that better?

You have to remember a second command with its own peculiar syntax and semantics, but don't gain any functionality.

Stash is a superfluous misfeature.


99% of the time when I use stash, it’s ”stash” or ”stash pop”, usually with ten seconds or so between the two. It’s very easy to remember.

Your alternative, on the other hand, uses an obscure flag to cherry-pick. What scenario would you use that flag for, except this particular one? How is remembering that flag any simpler?

Also, I don’t think your sequence of commands is correct. First, ”git branch” doesn’t switch to the newly created branch, so ”WIP” would be committed on your original branch. Second, the argument to cherry-pick should be a reference to the commit rather than the commit message. I believe a correct version would be:

  git switch -c my_stash
  git commit -am WIP
  git switch -
  git pull
  git cherry-pick -n my_stash
  git branch -D my_stash


You are right of course, that my commands weren't correct. Yours are, I'm pretty sure, but I think the following way is better anyway: What I actually do when I want to pull and reapply my local changes is simply `git commit -am WIP && git pull --rebase`. That's it.

I'm don't know now, why I suggested the convoluted temporary branch strategy. Probably because I assumed the GP didn't want the WIP commit, but I guess you could just get rid of it with `git reset HEAD^`. Personally I think WIP commits are way better than having uncommitted changes lying around, and what better time to create one than when you're at the terminal pulling and rebasing anyway? Anyhow.

Now when the rebase fails I can just abort it and be in a very easy to understand state: I have a tracking branch that has diverged from the remote, as `git status` would put it. I find this much better than "my tracking branch says 'up-to-date' but only because my actual changes are in a temporary branch somewhere, or heaven forbid, a stash."

> obscure flag to cherry-pick

Sorry, I'm having a little trouble with this one. What flags aren't obscure then? It's one of the elite 0.01% or so of git command-line options deemed worthy of a short option, so I think it stands to reason that it's rather frequently used.

Personally I used it a lot when I first started using git, before I got the hang of amending and squashing. Almost exactly the same way as I used to use stash, before I realized it was adding negative value. :)

Have you never been in the situation where you pop your stash, have a conflict, fix and commit it and then forget to drop the stash? (pop only drops it automatically if there were no conflicts.)

What if you want to save resolving the conflict for later? Do you just leave it in your stash to have to dig for later (amongst all the redundant leftovers from the preceding paragraph)? Or do you remember to run `git stash branch` at this point, and hopefully don't get interrupted before you can do so? Better, IMO, to just use branches in the first place, instead of this weird out-of-band thing where things are kind of like commits, but not really, and live in a separate place I have to remember to check.

Sorry about the length.


Behind the scenes, stashes _are_ branches! It's just UI on top of them, optimized for specific use case. You don't have to use it if you don't like it.

Now staging (aka index) is special behind the scenes, making the model more complex for Al users.


For me personally I find git to be relatively painless (after years of svn and P4). But working with people in less technical roles (PM/UX) who for whatever reason need to touch git occasion, I’m exposed to how inaccessible it is for the uninitiated. Not saying that’s a good reason to change the tool but maybe there’s room in the market for a more accessible tool.


I couldn't agree more. The fundamental design it's absolutely brilliant. The UI does take some getting used to.

I frequently use Git as an interview question, but only when the candidate lists Git among the skill set. Specifically, I ask how does Git figure out when you've renamed a file. If you don't grok it, don't list it.


Almost everyone would agree that listing 'git' as a skill implies knowing the operation of using git, not the specifics of how it works under the hood...

Why ask such a gotcha question?


I don't think there's anything 'gotcha' about the question. If you understand that git uses SHA1 for the objects it stores, the answer is pretty obvious. If you don't, you really don't know git.


I would say that listing anything as a skill implies knowing of how it works under the hood, until stated otherwise. It’s a resume, not a list of random TIL facts.


> how does Git figure out when you've renamed a file. If you don't grok it, don't list it.

How does git figure it out?


Percent similarity on display, not on commit.

That second part is actually important from the user's perspective, not as details on the internals: every single new hire we've gotten who is still learning version control expects svn to detect automatically, and has to be told about "svn mv".


The ui doesn’t take any getting used to if you don’t use it ;)


That is so true. A lot of people use git as write only repository. Still better than nothing, or copying directories. Maybe at some point they'll figure out how to retrieve a previous version.


You are so right about Atlassian tools. I cannot stand Jira. Very often, it's easier and faster to fix a bug, then to update the status in Jira. It's clutterware.


Every few weeks someone at work will ask about some basic functionality missing from Jira and we just link this as an explanation: https://jira.atlassian.com/browse/JRA-9091


That's amazing. Soon there will be people using JIRA, waiting for a feature that was requested before they were born.


This comment thread is so funny to me because Jira is actually the least unpleasant of all the enterprise software I'm forced to use at my job (lots of Microsoft stuff) so by comparison it's actually fine.


When we were forced to start use Jira a year ago it was kinda maybe acceptable, but every week someone in the organization adds a new custom field to issues, so it's growing scarier than bugzilla...


Back when I used Jira I actually quite liked it. Not that it was the best thing out there, but honestly with a little bit of config we could set up our (mandated by law) process quite easily and follow it.

Speed isn't the best, but it was either that, use Redmine with a massive config or wrap the shop up.


Why is JIRA so slow?


My understanding is that JIRA was originally built as an on-premises solution, so request latency wasn't an issue.

Then they moved everything to a cloud hosted solution, but the assumption of requests being effectively zero latency was still built-in, so now firing hundreds of requests with high latency makes everything feel super sluggish.

I'm working on my own issue tracker [0] that stores everything locally, which means no network latency. Eventually I'd like to build a sync backend for it so you can share it with a team, but for now everything runs locally.

[0] https://twigtask.com/


Oh, that would explain why I had no problem with JIRA.

My company had paid for the locally hosted version of JIRA for security policy reasons.


We use an on prem Jira and it is still shit. Would not recommend at all.


Yeah, our on-prem Atlassian installation is utter crap performance wise, opening a Confluence page often takes 30 seconds or more. I also get pissed off every time we try to upgrade our SolidWorks installation because they share a DB server. Atlassian doesn't support the most recent versions of Microsoft SQL Server, but SolidWorks only supports the latest couple revisions of Microsoft SQL Server so every time it is a pain to ensure that both systems are compatible and my IT refuses to move SolidWorks to a new server.


I think the opposite, but yeah.

The cloud is the original code base and the on premise is a FORK! Can you believe it? It's not even the same code and the on premise solution is so far behind.


Because it's a SPA trying to make 200 requests to get a ticket...and I'm barely exaggerating.


JIRA is not doing the SPA cause any favours :P.

My rage builds even just trying to use the search bar on JIRA. Keys don't get captured and get registered as page hot keys, or some keys are registered and others aren't. Crazy, just give me a dumb static search bar if you're not going to make life better. /Rant


JIRA was not always an SPA and it was still slow back when it was multi page.


> AWS. ... apparently you need a chrome extension which adds a bunch of complicated options I don’t really understand just to be able to change roles

I strongly agree with the rest of your characterization of the AWS console, but that one isn't true: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_us... -- we use IAM Roles extensively at $DAYJOB and have not yet experienced anything that would require a Chrome extension to work around like you describe

Their login screen, however, continues to drive everyone crazy since the URL you visit depends greatly on which account, and at what level, you wish to authenticate to the console. With any setup containing a non-trivial number of AWS accounts, it's just "oh, what account am I logged into" waiting to happen


The AWS web UI shows an MRU (most recently used) list of the last 5 roles only. So if my job calls for me to switch between multiple accounts (7 accounts in my case), and I can't have all 7 in my history. There is a Chrome extension that extends that MRU list. See https://chrome.google.com/webstore/detail/aws-extend-switch-...


I would disagree regarding AWS IAM roles. You can't live without "AWS Extended Switch Roles"[1] if you have more of them. What AWS provides by default is quite a joke.

[1] https://github.com/tilfin/aws-extend-switch-roles


Switching roles breaks any existing tabs/windows using the previous role.

To avoid this I use Firefox container tabs, creating a container for each role. Which will get around the UI's 7 role limit too.


My personal issue right now is that I have multiple accounts with MFA and there’s no easy way to differentiate them besides this generated account ID in the auth app. This means I have to create some type of mapping table between the ID and the account, or try to remember what’s available


We have a very funny situation in our org, where AWS auth is setup using our MS domain, with app push-based MFA. However, the AWS MFA workflow seems to not know about push based notifications, so it asks for a verification code which can literally be anything. After you provide some code and click Verify, only then does it send the push notification, and the UI just freezes until you either accept the auth request or some timeout happens.

Not to mention, we actually have to provide the Domain password in the AWS UI, which seems to go against any kind of security I know...


If you already have an MS domain you could set up SAML login with ADFS (tried this, works fairly well) or AWS SSO if you have a managed AD in AWS (may not be available in your region). Also works very well with AzureAD as the provider, if you use that synced to your on-prem AD.


Every MFA app I've used has the ability to rename the entry, since the MFA key and the text that are displayed to the user are 100% unrelated to one another. And I recognize that you might not have the correct privilege level to carry it out, but AWS does allow you to create account aliases, which helpfully shows up in the console login URL


Exactly what I was about to say. For reference account aliases are documented at: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-...



Fully agree on Jira. Disliked it enough to start a company to compete with it [0].

Also agree on AWS. Their UI is so terrible and confusing that it makes writing CloudFormation yaml files feel alright in comparison. Been using GCP lately and the UI is somewhat better though still confusing and weird at times.

0: https://kitemaker.co


Looks nice! An suggestion: you might want to consider renaming "theme" to "topic" (or "epic").

Also, what about sprints? As of now, kitemaker is solely usable for Kanban, right?


Just as a quick feedback, your main hero gif is a bit too low res.


This, so much this. The main hero image is a tad pixelated to me and while not a huge deal, could be cutting into conversions.

GP, to simplify the main hero consider making it a png. I know as a user seeing a slightly pixelated gif screams out “unpolished” engineering and design.


Every gif on the web should be a video. It would weigh less and still be supported by all browsers.


Thanks! We'll look into swapping this out with something that looks better. We've admittedly spent quite a bit more time on the product than the landing page ;-) We're going to keep polishing it up though!


Neat. You made Trello.


While maybe not the nicest way to phrase it (and I think you know that), I'll take the bait and tell you how I think we differ from Trello:

- Crazy amounts of hotkeys. You can do everything in Kitemaker without using the mouse. It feels pretty awesome to move issues around the board, assign them, etc. all with hotkeys. Also like many modern products we have a command center (ctrl+K or cmd+K) where you can do everything.

- Our issue screen is quite a lot more powerful than Trello's card view. We've talked to many teams who use Trello and they rarely have much content in their cards. In our issue screen, you get a rich document part (feels quite like Notion, with a lot of things you can drop into the issue like images, Figma designs, etc.) and an activity part (with threaded comments, a history of what's happened with the issues, updates on relevant information from integrations, etc.)

- Better GitHub integration. Our issues actually have issue numbers, so you can do things like "Fix ABC-123" in your GitHub commits and our automation feature will move the issue around the board accordingly (you can set up different rules for if such a message appears in a PR, a commit in master...er main, etc.). We show any activity in GitHub related to the issue right in the issue's activity feed as well.

- Better slack integration. Mentioning issues in Slack automatically attaches the conversation to the issue and also provides useful info about the issue in Slack

- List view. You can see issues in a list instead of a board if that's your thing. Nice for use cases like backlog grooming.

And we're moving fast and adding more useful stuff all the time without becoming too complex or unpleasant to use.

So yes, we have a pretty board and pretty boards tend to look like Trello. But there's a lot more to it than that.


That app looks considerably more powerful that trello. Why so dismissive?


Well, it is neat and it does look like Trello. And Trello is now part of Atlassian.


If you haven't noticed the chorus of trashing Jira for the sake trashing Jira in this forum you aren't reading it. It borders on the hysterical. A large part of this crowd believes they have an objective handle on cognitive bias yet most of the Jira commentary seems to come from the subjective experiences of developers who simply don't like having their work organized or fixing bugs. Jira is the most extensible, best platform of its type for workflow management & I would argue (without at all being linked to Atlassian in any way other way than having seen it succeed in numerous disparate use cases) that bad experiences with it are the direct result of not having any idea how to use or configure it correctly to model the work being done.


That's all well and good, but being a foot soldier engineer in a big company, I don't have any influence in either how it is configured or how the work is being modeled. I just know that the page loads took multiple seconds and converted a sub-minute task of updating status or checking information into a multiple minute task.

I tend to track my personal workload in a text file at a more granular level. When my team's project was approaching a deadline and a crunch and I needed to stay synchronized with the developers working closely with me, I transcribed this list to Trello. I showed it to the PM as a curiosity and the next day all of the cards had been printed out and affixed to the wall with masking tape. That's the type of environment a lot of us are working in.


The problem with JIRA is the culture that it encodes and enables. It's rooted in the belief that programmers are factory line workers who aren't smart or organised enough to keep track of their own work, so invariably control of it gets assigned to a "project manager" who then spends far, far too much time engaged in busywork. You end up with hard-coded workflows that don't match how people actually work and the people who need to actually use the workflow get frustrated.

Fundamentally JIRA is an over-grown bug tracker. A bug tracker should be designed, built, administered and used by programmers and only programmers. Project managers should not even have access to it, in my view, let alone try to use it to create reports or control the team.

Typical problem I face in my JIRA shop: there'll be no way to move a task straight from "to do" to "done". You have to move it to "in progress" then "in review" then "in qa" then "done", even if in fact, the ticket just tracked the need to do a quick code cleanup that happened to get done as part of some other task. There's no justification for this type of thing beyond over-empowered project managers.


You believe that Jira has "encoded" that culture in your company, not that your company has encoded it's crappy culture in your Jira implementation? Please see: https://en.wikipedia.org/wiki/Conway's_law


Yes, "encoded and enabled".

I saw how that culture evolved over time as the company got bigger. It didn't start out that way. JIRA was once a bug tracker for us. It became a some sort of flowchart madhouse with horrifically convoluted processes around it. Partly yes, because the company felt a need to hire project managers, and partly because the tool existed and therefore there was something for them to fiddle with all day. If they didn't have the tools to create over-engineered processes, it would be less likely to occur.

At some level, yes, JIRA just enables problems, it doesn't directly create them. On another level, its whole structure encourages that way of thinking.


The main criticism I have been seeing is its performance, not that people don't like how it's being used.


Part of the reason people complain about jira is because their own company has tweaked it so much it became slower than a turtle and is riddled with all those random fields their upper management requires to make some meaningless reports.


>>A large part of this crowd believes they have an objective handle on cognitive bias yet most of the

Yet you claim because YOU've seen it work, everyone else must be wrong?? ironic ?


Jira Server is really hindered by the centralization of its workflow management administration tools. You cannot have "workflow admins" that can change issue type schemes and stuff like that for a subset of projects without giving them full admin rights.

Imagine having a guy in Dev that can fix your workflow so that "Start working" is not hidden in the dropdown menu.


I don't have to imagine it. This is a textbook example of a Jira implementation failure not a Jira failure: "not having any idea how to use or configure it correctly to model the work being done."


Personally I am quite familiar with configuring JIRA - and I agree it is very customisable... but, as many have said - it is far too slow.


i am completely fascinated by this response. it is literally so dense with self-parody and hacker-news-ness that any attempt to quote it, analyze, refute, or satirize it in any way would only dilute the message.


If you are talking about my response, I would really love it if you would try to do any of the things you've implied.


Jira is a good product, and developers don't like it because it is designed to keep them honest. What is complicated about that?


I think if you need a tool to "keep them honest" you may have a major culture problem in your company. We started our company to make a tool where people collaborate to get stuff done together, not to be a place where managers keep tabs on their people.

That being said, despite that I personally don't love Jira I do think there are some cases where you need particularly complex workflows (e.g. compliance use cases) where Jira's complexity is fully justified.

And we know our tool is not for everyone. If your team is happy using Jira, power to you. But I think it really is important that the team is happy with it, not just the bosses.


> I think if you need a tool to "keep them honest" you may have a major culture problem in your company.

What kind of organization doesn't have real OKR's or performance metrics? Do you draw a pretty picture with sunshine and rainbows and report that to investors?


You said developers don't like Jira because it's there to "keep them honest". I don't think micro managing your people via an issue tracker leads to better performance on OKRs.

I report actually meaningful numbers to my investors in terms of value delivered to users, not number of tickets churned through.


> feels and looks like someone made it in a rush with jQuery and Bootstrap years ago.

Unnecessary dig at Bootstrap and jQuery.

There are plenty of websites with great UI built using bootstrap. I don't understand how using jQuery has anything to do with the UI though. It's just a wrapper around JavaScript.


It's just using name brands for describing legacy-jank-by-noobs - not really a dig at those specific tools


Fully this and I think they knew this as well but couldn’t resist pretending to be offended. There’s always one.


Ok boomer


Jira is such a pain to work with. For example, there seem to be two different ways to create a new issue. If you get to the one that uses a modal, the text input is in Textile format. Whereas the other page uses Markdown. It's insane that anyone thought that was a good idea


They’re apparently trying to switch from using something like confluence markup to using the markdown that just about everyone expects now... https://support.atlassian.com/jira-core-cloud/docs/markdown-...

But like everything Jira, they can never seem to find the energy to redo everything all at once, so they do it one screen or one section at a time instead... reminds me of how Office apps never improve all at the same time, just a bit at a time... in one app... if you’re running the Cloud version...


It's what passes for Agile these days, ie. push half-cooked changes upon your users.


Is that what it is? I thought it was our own misconfiguration because it’s so hard to configure screens / easy to misconfigure them.


I think so, I haven't seen a way to configure it and it seems to happen by default in new projects


> I recently started using Gitkraken which allows you to pull changes WITHOUT needing to commit locally first because it uses stashes. It basically does the same option. Why can’t git be smart like that?

This is not being smart, this is trying to be too clever for one's own good. Git does what it does because it wants you to know what might happen and to decide explicitly.

If I do a 'git pull' without remembering that I was doing something and that just goes through and stash my changes automatically then I have lost the exact state I was working in and I need to work to recover it. Now, on the other hand if git stops and tell me that I have changes pending then I can think and decide. It only takes a few seconds.

Trying to automate too much can be a false economy.


Ok I agree that yes you might be worried about current state but generally that’s not something I ever experience whether that’s a solo repo or a team repo. Making some basically fake WIP commit just to keep in sync with the changes is ridiculous to me.


Hmm, I think (Atlassian) Confluence is quite awesome. While you can still replicate the mess you'd naturally have in Google-Docs or OneNote or other places, at least with Confluence if you have a coherent vision for how your organize your information you can create a very useful body of work. I've never seen a Google-Docs, OneNote, SharePoint, or other unstructured-info solution that doesn't devolve into turds-in-gelatin.

I'll add as well (Atlassian) SourceTree (git UI). I don't want to be a git jockey and I can do 90% of what I need in the SourceTree UI -- it's saved me tons of time, and I especially like the chunk-stage/unstage/reset functionality (you can stage/unstage/undo fragments of files in the UI) -- this feature alone is gold. SourceTree performance has improved greatly. I only wish there were a Linux version, but fortunately I do most development on macOS.

EDIT: SourceTree


The bar for Confluence isn't Google Docs or OneNote. It's Notion or Coda. After using Notion I can't go back to Confluence, for the same reason I can't go back to any Atlassian product - it's way too slow and the UX is too convoluted.


Two things bother me about Notion as a documentation platform: no “plain” tables, and the potential for infinite unnecessary complexity with its databases.

I love notion, but as a company-scale doc platform I don’t think it’s there yet.


No matter what I’ve tried, nothing beats google docs for me (in a mixed discipline work environment). It has the familiarity of a folder structure, good collaboration features and version history that works well for non technical users. It works well enough that few users fall back on v2_final-edit naming nonsense. Other tools have a slight edge for organizing information, but no good way to keep both files and Documents together. Which means people use files locally and don’t keep them up to date on the system.

It had 3 pain points for me that are resolved recently. First, they got rid of the desktop clients so users can’t move stuff to their desktop without understanding this is removing files for others. Second, team drives resolve the mess that was shared folders. Third, it can now edit office documents directly, avoiding the confusion of google doc copies appearing.

I use confluence a lot and I never trust that files on it are up to date. It doesn’t quite have enough features to make “native” documents, so it ends up with a lot of content stored as attachments, which inevitably get updated and passed around by email. It’s not convenient for storing files so all of the miscellaneous small files never make it there. If you use a lot of addins, it becomes usable to make documents but since it’s atrocious at outputting files, eventually a final version of something needs to be edited in word and now it’s even worse, you have what looks like an up to date document but the latest version is a word file, which is either hidden as an attachment or not even uploaded. I can see it working well in a team of only software engineers, however.


> (you can stage/unstage/undo fragments of files in the UI)

To be fair, this has nothing to do with SourceTree. You can do this with any git tool, since it’s a feature of git.


I started using Clubhouse (https://clubhouse.io) for my personal projects and like it a lot for a light-weight alternative to Jira, yet more powerful than Trello. Not sure how it scales for big teams though.


We use it at work. Many teams of 5-8 people. We love it.


Clubhouse is great for large teams, but every project manager who starts will spend their first month bitching that it isn’t Jira.


Thanks, we started using Clubhouse about 7 months ago and have very few complaints. The main thing being it doesn’t have multi-second Lang after creating new issues.

Clubhouse is the first Jira replacement we’ve tried that the devs actually like using. Doesn’t have the laundry list of features Jira has, but meets our needs (team of 20).


I first read Atlassian and could potentially get on board (they have made tons of QoL changes, which I love and actually like. Their API still isn't that great, though). And same with AWS. At first it's confusing for sure. A lot of their offerings are wrappers around OSS that is much more intuitive. But comparatively to Azure and GCF, they're all confusing at first.

But then I read git, Docker, and Linux. Now I'm concerned about your approach to any of these tools.

For example Linux. There is _a lot_ of documentation out there. Man pages and arch Linux wiki just to name two that have a massive knowledge base.

Git. I mean holy smokes, I'm going to assume you've never used any other VCS because everything else before it was hell on earth (in my opinion, people have things to say about this). I would focus on learning some git commands and I think you'll really like it. Going straight into a GUI you might be confused when you have to fix a problem via CLI when GUI messes it up.

Docker - yeah, I see your point. It's not as apparent when you're trying to pull different architecture images. Kind of a shame. Maybe Rust WASM/WASI will replace it one day (kind of joking here).


I love git, but the command-line interface feels like it was grown over some time (which it was). It's just very ad-hoc in what commands are used to accomplish something.

The underlying architecture of git is awesome, but even if I know exactly what I want to do based on my understanding on the architecture, it's not obvious which command and which switches to use to achieve this. And I use the command-line all day, and I am good at remembering switches.

But still, for git I've written myself a list on what combinations to what, and when I need to do something more exotic, I look it up in that list. A more consistent CLI would allow me to do what I want without lookup.


This is exactly what I meant, but I guess people were more interested in ad-hominem attacks because I questioned their favourite tools. I also have a list of magic combinations that I know do the thing I need. But I don’t really use them now because I use a GUI.


I’ve used a few source control solutions and Git objectively has the worst syntax. At least the various GUIs help prevent you shooting yourself in the foot.

As for Linux my point still stands. I don’t use Arch Linux because I don’t want to waste time compiling everything all the time. The documentation is still poor.


Jira with a dozen plugins is a death sentence for productivity. Oh Atlassian finally fixed that bug you reported a decade ago? It might have to wait a few months because none of your plugins are compatible with the new Jira release.


> AWS... It is literally years behind Azure.

I’m going to have to disagree with you here, AWS has some quirks, but the UI is being actively worked on and improved but Azure is an outright dumpster fire.

Who thought scrolling sideways was a great idea? Why does the x close _everything_ and take you back to the dashboard and not just close the current pane?

Why is everything about permissions and auth so hard to find?


> Why does the x close _everything_ and take you back to the dashboard and not just close the current pane?

Well, at least if it did that /consistently/ it would be an improved. It sometimes just closes the current pane as expected.

More generally speaking, to me Azure feels very jarring. There are panes that are logically pretty much the same but have wildly different behaviours (I'm thinking of AzureAD 'subpanes', some of which take over and there's no way of going back to the main AzureAD pane even by scrolling).

There's also the issue of the interface not being updated after changes and of having to switch panes for the change to be effective or even to reload (reboot?) the whole page (I'm thinking of setting up auto-provisioning in AzureAD apps).


Who likes Azure interface? It's Windows 95 on the web. Unless you know how to navigate having remembered all the maze structure with years of operation, I can't for the sake find what costed what in the last month.

UI is a total joke. It's like a machine built it literally just listing everything instead of by a human mind.


It's not just the UI either, have you seen the REST API for Azure Blob Storage? It's Kafkaesque.

And Cosmos DB? 'Request Units'? W. T. F.


Oh god their units!

Provisioning disks comes with the caveat that on AKS, Kubernetes sees things one way, but Azure bills you in some bizarre, Azure specific unit of disk space and speed and then there’s whatever the hell goes on with the pricing / units on the SQL Server instances...


Ah, you'd be talking about DTUs! Those are fun. Blended measures of CPU, IO and some other Magic(TM) factor. Impossible to predict how your workload maps to DTUs until you try it and see.


Enterprise software are like baby outfits you get as baby shower gifts.

They are cute, but they have lots of buttons or they have some decoration that makes them hard to wash, making them impractical to use. While no parent would buy these, every parent has them, because someone else made the decision to buy them.



Yes! And also the experience of a recent baby shower.


Confluence is trash. It's slow, buggy, has a terrible UI which is always being messed with (or in Atlassian speak: "improved") and is constantly finding new ways to be unhelpful. Example: if you're trying open a template you don't have access to there's no way of requesting access to it. Confluence instead tells you to ask the person who created it to grant you access. Who?


Totally agree with Atlassian/AWS. Two senior devs should not have to pour over dozens of pages of documentation to figure out how to add a role to a user using SAML.

Git and Linux are great though. Git is well understood and, if you don't do bad things in the first place, easy to use. It's explicit. Linux itself works great and is straightforward.

Docker is hit or miss for me.


I feel your pain on the AWS SAML config. Actually anything with Cognito is this way too, circular documentation links that never actually lead you to your destination. It's like being in a labyrinth.


It's fair to call out Atlassian & Jira here. But I want to give them some credit. They recently rolled out a Jira change that was a huge step in the right direction (navbar at the top that can take you directly to projects and commonly used filters, among other things). It is a HUGE improvement. So it seems they may have finally figured out how to listen and improve UX. This is no small task for software that's used by so many different orgs for as many different purposes.

But really what holds it back still is sluggishness. I'd take a few extra clicks in exchange for instantaneous responses to each click.


Interesting perspective about AWS. I like it. It is boring and functional. It’s not pretty but it doesn’t need to be.

If anything I wish they would just change it even less than they do.

It does have its buggy areas though, which could be a lot better.


Another thought, I think I like it for the same reasons many here like Windows 2000...


Docker most definitely has ARM and multi-architecture support. That is, assuming the particular image you are attempting to pull has been published using the Manifest V2 spec and has ARM images published. The issue you mention is an issue with the image publisher/maintainer not Docker itself.

I maintain a number of Docker images that have multiarch support (as seen in the Tags view on DockerHub:

https://hub.docker.com/r/jmb12686/socat/ https://hub.docker.com/r/jmb12686/unifi https://hub.docker.com/r/jmb12686/elasticsearch/ https://hub.docker.com/r/jmb12686/kibana/ https://hub.docker.com/r/jmb12686/filebeat/ https://hub.docker.com/r/jmb12686/cadvisor/


Yeah you are right but I find so many images that aren’t published correctly


My company wanted me and the rest of the marketing team on Jira. Immediately I was like wtf is this. We were back on Trello after just a few weeks.


Yeah don’t let that happen. Same thing was tried with me a few years ago and I noped out quickly.

Notion is great for marketing teams though.


I cannot get with Notion. It is a jack of all trades master of none. It dives me crazy just trying to organize things and link it all together, it is more work than it is worth at this time. Maybe the API will change that.


If it’s for marketing and you need a hand setting it up, shoot me an email through my profile and I’d be happy to share an overview of setups I’ve used.

It took me a bit for it to click also, but now that it has I can’t imagine using any other tool for our marketing team.


I love it. A list where I disagree on everything you listed up. Then again, I understand where you're coming from, I simply don't agree.


What’s wrong with Confluence? We have a recently-acquired team at work that uses it for everything, and loves it. I’ve used it a bit, and I think it looks awesome, and the pricing is super reasonable.

Confluence looks better than everything else I’ve tried/used as a doc platform: Notion, Nuclino, Coda, Sharepoint, OneNote, Azure DevOps wiki, Microsoft Teams wiki...


My experience with confluence is that it just becomes a landfill of articles that are never read or cared about after 1-2 days they're created.


Confluence is where documentation goes to die. And then rot.


Any suggestions for platforms that help fight against that tendency?


Robust search.

Sorry - not the platform, but capability.


Where to begin? A better question is what's not wrong with Confluence?

When I log in, it shows me a shit ton of articles that I have no interest in. It's like a Facebook feed, or something, where every document everyone in my (1,000+ people) org has written in the last 24 hours is sorted reverse-chronologically. Since I only need to interface with about 10 people normally, this is worse than useless. It actually make finding stuff harder.

But never mind that, how do I find just what I've written? Somewhere there's a list of "recently worked on" things, and that's sometimes useful, but I usually need to edit something I haven't touched in months. I end up having to search all of our Confluence instead of just being able to search only my own articles. It often brings up completely unrelated things and I have to do more work to figure out which are relevant.

When editing, their editor steals OS keys that are used for every app, like Cmd-F for find. Instead of bringing up Safari's find panel, which is 100% always what I want, it brings up their own home-grown find that doesn't actually search the entire page. It only searches the text I'm editing and often does a poor job of it. Other command-keys are also highjacked meaning I can't do normal things like create a new window when editing text. It's bonkers bad.

The calendar section becomes unusable once you have more than about 3 people adding stuff to it. The list goes on and on. I'm actually shocked that anyone here is defending it.


Any suggests for better platforms?


It doesn't help that the Markdown flavour is not standard, and is different again from most other Atlassian products.


And you can only use it to compose and not edit.


Try finding stuff. In a large org, even with as much careful organisation and attempting to make things searchable, it just gets impossible. That doesn't mean Confluence is bad of course - it may just be a hard problem.


the one confluence thing that gets me is that when editing, it intercepts the command + 1 keypresses when im trying to switch tabs.

instead, it just makes my current line h1.


>>and slow

Enterprise Atlassian is so slow, I have to often click a link, and go do something else and come back. Sometimes I even forget why I even clicked on a Jira link, having lost the thought trail.


> AWS. It’s UI is honestly baffling

Haha I used to have the same thought before I joined. But I've since understood that AWS is a set of APIs which is the default interface and everything is able to be called programmatically - the UI only tracks the API. It's not the default mode of use nor is it meant to be.


Accurate. 95% of my AWS usage is over APIs / SDK now so I don't mind the UI so much.


Shameless chiming in about AWS: I am working on a alternative web console for AWS, https://daintree.app, to have a better UX.

It's still in its early days, so not many resources are supported, but I work over it every weekend. It has multi region support (so you can have a fast overview without changing page), fast role switching, it's completely client side (so you don't have to share your credentials with a third-party) and of course it's opensource: https://github.com/rpadovani/daintree


Glad to hear someone feels the same way about Git. I understand why some people love it, but I think it’s overly complex for most workflows.


Yeah, I've used a lot of different version control systems (RCS, CVS, SourceSafe, Perforce, svn, git), and by far the most confusing and infuriating is git with it's made-up words, bizarre naming, and the extra work it makes you do. Terrible to use. It does the thing it was designed to do, but good luck not screwing up because of its byzantine commands.


Fully agreed. My comment about how it doesn’t stash by default for example. Gitkraken seems to do the same default.


I can say many things about BitBucket but it isn't slow. In fact it's significantly more reactive than GitHub and GitLab in my experience.

Also your posts are hard to read if you systematically writes it's when you mean its.


Atlassian does not seem to have an interest in listening to their users. My workflow would be so much better if they implemented browser or desktop notifications, but they only support email or extensions/add-ons if you self-host. Our company uses cloud though, so despite all the countless threads asking for native functionality, they insist it is not important for users.


Like every business focused company that got large enough, they stopped making it for the users ages ago and now make it for the influencers in the middle management chain and above that decide on IT purchase decisions. And most of that is about putting CYA far above usability.


Atlassian does not seem to have an interest in listening to their users.

But they do. Their users are project managers. The genius of Atlassian is how they’ve managed to convince so many programmers that it’s for them. It never was!


At first I found it hard to use AWS because some services are a combination of other services and it was confusing but after dedicating time to learning what each service does then everything just clicked. Obviously the UX is still terrible for beginners because there’s a lot of assumptions but I found it to be pretty manageable after learning the fundamentals of AWS.


You aren't really supposed to be using the AWS Console... the whole point of AWS is automation, not bespoke one-off configuration via a GUI: when they launched it it didn't even have a UI, and the command line tooling was more of a demo set of wrappers for the API to help you debug calls and do some simple shell script automation.


And you think that's how the majority of the users use it? It needs decent UI. I'll never consider using Azure if the choice is on me because... crazy UI.


You can't mention UX in Atlasssian without mentioning bamboo. It's the pinnacle of random placed ui elements. It's faster to navigate by remembering URLs and typing in the browser address bar


> Atlassian [...] Git

Try TFS (especially TFSVC) for a few hours. At least Atlassian fails at attempts to write software for developers/engineers. TFS is written for managers: to hell with your productivity.


Anything Atlassian is often better than anything I have tried in a corporate environment, including MSFT pile of dog poo. It might be slow as a dead dog, ugly as hell, and cumbersome to configure, but it just somehow works. I still don't like it and rate it poorly every time the feedback box comes up, but you never know how good you have it until you have to use something worse.

As for Git, try to go back to SVN ....


I’m not by any means an advanced git user but find it to be well-designed and elegant. And, being constantly refined.


> Linux. It’s great, but it’s so easy to run into configuration problems or poor documentation.

Linux? Are you serious? You mean some app that you're using on top of Linux. Can't believe you dismiss one of the best open source project with a few baseless lines.


I can’t believe you dismissed my argument in a few baseless lines either.


I used to think I hated Jira until I had to use WorkFront. God awful.


We switched from Jira to Rally about a year ago. Our company just did a survey about which tool they'd rather use and Jira won by over 95%. We actually joked about having a party for using Jira.


Jira is a pain, but at least it's a known pain and a semi useful skill you can take with you when you leave that company.


If you have a mac, look into GitUp. It's a great git-client and it creates a timelined snapshot-backup after every action, so you can undo whatever you did.


I tried GitUp, but I found Fork (https://fork.dev/home) to be user friendly (IMHO, YMMV)


Haven't checked it out yet, but is that just git reflog with extra steps?


As for the AWS UI: I completely agree. I'm in the early access beta for a product being built that solves almost all of its problems and felt you might want to see it: https://vantage.sh/

Pretty sure they said they're launching in July so should be live soon.


Unless this is a Chrome extension to redress the existing console there is an approximately 0% chance that I'm handing keys over or giving some unknown entity cross account access for a better UX.


The git safety net against accidental resets is at https://gist.github.com/chx/3a694c2a077451e3d446f85546bb9278


Agree 100% with everything except for Linux and Git.


[flagged]


I don’t understand how someone can say “this is the worst software I use daily” and then you say “you are wrong.” Maybe you use worse software than them? Also, you seem to implicitly default to comparing each piece of software to others in it's class; you’re grading on a curve. The parent comment is saying “of all software, these are the worst”, and you are saying “but other PM/VC/OS software is worse” which is different.

For example, git is the best version control software; it is also a disaster of a UX.

Your appraisal of Docker is also too generous, I honestly can’t tell if it’s sarcasm


When you don’t know what to say, better say nothing or I don’t know.

Instead it proceeds to list the best software in class used by the developers. It just sounds stupid to me.

Regarding Docker, I have this opinion because Docker was the trend for a few years, at every conference there was a hipster making a presentation about docker. So I think Docker made containers the cool topic and a lot of people started using containers because of that. And because a lot of people used it, new services/software started appearing around it.

Yes, Docker uses the existing kernel apis for containerization, but the value it added was publicity, ease of use and adoption for containers, not the core features


What did I miss? It was deleted


Someone listed confluence, jira, linux, git, docker as the worst software he worked with


I could not disagree more with Atlassian. They are among the best software i have ever used. Especially bitbucket is superb. Confluence is by far the best wiki I have ever used. Jira is 10x better than any alternative I'm aware of.


Bitbucket is an acquisition that was decent before the takeover. Jira: How hard can we make it to manage bugs? Jama: How hard can we make it to navigate the document tree?


I think Confluence and Bitbucket work well enough. I hate Jira with a passion though.


That doesn't mean the tools are not terrible, which they undoubtedly are.


No, it does mean exactly this for me. For me they are not only undoubtedly great, but among the best software i have ever used.

But then again, I also love git. Maybe we have different ideas how software should and shouldn't be.

/edit: For clarity: Microsoft Office and SAP are how I think enterprise software should not be. And Atlassian is kind of the opposite.


Microsoft Teams.

I am forced to use it (work) and it is missing really basic features that messenger software had in the 1990s like Push-To-Talk, real multi-window (even with the recent "pop-out" functionality), and its UI is all the worst modern trends. You cannot extend it or fix these issues (e.g. plugins, custom CSS styles, etc).

Plus it is buggy, I keep not getting calls/messages/etc, and every time my computer sleeps/wakes it sits in offline until you open the main window from the system tray. Those are year+ old bugs.

While it is often updated[0], the Team's priorities leave a lot to be desired. Adding new gimmicks and tie-ins while ignoring the dilapidated state of the core software itself for two+ years now.

[0] https://support.microsoft.com/en-us/office/what-s-new-in-mic...


Rearrangement of messages in channel based on threads, forcing replies that weren't in thread out of order.

A UX that encourages replying out of thread because it's too darn confusing.

Unable to quote messages on desktop, but you can on mobile.

Unable to be signed into more than one Team. Have they never heard of consultants? At one point last year I had 4 separate Teams I needed to be signed into. Microsoft's solution have different Chrome profiles (Yep, Chrome, not Edge) for each one. My laptop only has 16GB of ram, so that didn't last long...

Super unclear UX around document viewing. I open a file in Teams and if I have write access I am instantly saving all changes. So many times I've shared a document for feedback and then had to recover the original version from Sharepoint because people changed a lot of things without Track changes on.

Based on Sharepoint. 'nuff said.


I've use Teams every day in education for a couple of years now.

My favourite file access "feature" of Teams (I verified it was in fact working as intended, at least until the pandemic and the warts started getting more obvious) was that class teams had read/write access by default for all files in a team. This meant every student in a class team could modify what you uploaded by default. Of course fixing this required opening up the team in Sharepoint and fiddling with permissions, totally something every teacher is expected to figure out right?

Not really a software feature, but their update rollout style is awful as well. Announce features 4-8 weeks in advance of rolling out patches. Inconsistent rollouts, so my home desktop might have the latest feature patch, but my work laptop won't (I was around 4 weeks out of sync at one point). Manual checking for updates won't apply the latest patches. Meanwhile their consultants in education are crowing about all the new features or bug fixes.

I actually like some of the feature set, and it's very useful in an educational setting now they've brought some of the new features online (3 months later than would have been useful for the pandemic lockdown in my part of the world, but oh well), but enough frustrating elements that I'm constantly supporting workmates in its use.


> Rearrangement of messages in channel based on threads

Wait, what? Do threads move when they get replies or something?


Yup. Straight to the bottom of the page. Did you know, they're pushing it into schools? Every time a student asks a question, all other students lose track of which pieces of work they've still got left to do.


I don’t think putting all the work for students to do is seen as the use case for teams channels - it’s for chat and discussion.

If you are trying to get students to do work, maybe use something like planner, sharepoint or any of the other myriad of tools actually designed for collaborative working rather than chat.


The intended Teams place for these things to be is either Assignments or the "_Content Library" section of a Class Notebook. Both of them are harder for teachers to use than a channel called "homework" (or just the main channel; creating a channel is hard, too).


Why not one channel that pushes work and another that is for questions?


Good suggestion.


I think this is actually a useful design feature - if the thread didn’t move and it was up in the message chain and I wasn’t tagged in a message then I would miss it, but as I want to still read everything in the channel, the fact it comes to the bottom of the channel means I see it.


Apps like Slack solve this by having a dedicated “Threads” channel where you can see new messages in threads you’ve participated in. There’s also the concept of an “Activity” view where you can see recent activity in a channel, if I recall correctly. There’s no need to re-arrange message order or rewrite history to draw attention to new messages. Worst case, just insert a message visible only to you with a link to the thread when updates occur.


Makes sense, but all that is a design trade-off.

If you do it like teams does then you don’t need an activity view and a dedicated threads channel.


Tell me about it. We moved from Slack to Teams to cut costs. Common story.

Leaves a LOT to be desired.

1. The UI took the fun out of well, whatever, Slack was/is. For some of the common interest channels at work, I see less people going to them.

2. I'm in a group where we frequently need to share images (mostly plots) among the members. Sometimes they just disappear. Yes. You upload an image during a conversation, come back to it a few min later, its not there, and the person at the either end of the chat hasn't seen it either. Guess what OS I'm on: Windows 10 Pro.

Because of this I've resorted to using the web version of teams occasionally, which doesn't seem to suffer from this issue.

3. This one is actually baffling: when I try to upload an image in 2 different conversations (one after another), the second one complains the file already exists. This is during upload.

4. Inconsistent UI: did you know you could reply to individual messages from the Android app for Teams? Doesn't work on web or the windows desktop client. So when I am catching up on a conversation, I occasionally switch to the mobile app to reply to specific messages.

So that's my workflow: the Teams website opened on my laptop browser for most of the messaging, Teams running on mobile, in case I need to reply to specific messages, and Teams running as an application on my laptop for video/screen sharing calls.

5. You cannot specify a Download folder. Yes that's a thing in 2020. [1]

But, yeah, "costs". I miss Slack.

[1] https://microsoftteams.uservoice.com/forums/555103-public/su...


> when I try to upload an image in 2 different conversations (one after another), the second one complains the file already exists

That's because, bafflingly, it uses a local directory-cache for files. Think of it as the "Downloads" folder for a browser. Any time you upload, Teams will try to save it to your local cache first; if it finds the old file, it will whine like that.

Any time you want to upload a file, you should really not do in Chats but in Channels, which have a separate area for each Channel (backed by Sharepoint). Except in some companies (like where I'm now) people for some reason use Chats almost exclusively instead of Channels, so the whole thing becomes awkward: go to the channel, upload, get the link, paste the link in chat.

I guess it could be worse, it could be AOL.


Thank you for explaining.

If anything, this points to poor use-case study and/or execution. There is a case for channels and for individual chats: details of how files upload happen should be dealt with under the hood.

Frankly, it feels odd even talking about this issue; we are discussing file uploads, worth a few kBs, in a messenger. This really, really, shouldn't be a problem :-)


This sounds as dumb as the Excel ‘you can’t open two files with the same filename’ limitation.


you should really not do in Chats but in Channels, which have a separate area for each Channel (backed by Sharepoint)

people for some reason use Chats almost exclusively instead of Channels

The fact that there even needs to be such a distinction is itself a problem. They're both conversations, except with some slight differences? That's just asking for confusion.


5. You cannot specify a Download folder. Yes that's a thing in 2020.

Considering that browsers have also adopted this "modern stupidity" for a while, I'm not so surprised, but the lack of a "Save As" option definitely perplexed me the first few times I've tried to download something --- clicking Download and expecting at least a choice, but seeing "download complete" makes me think where did it go!?!?

The response to that feedback item is baffling, but it's definitely not an uncommon thing for a big bureaucracy like MS. The actual code change probably takes minutes, but the mound of process associated with it causes these sorts of anti-decisions to occur.


Sadly the decision to switch products is usually made by the finance side and stuffed to the tech side, and tech side VPs/Directors are happy to enforce that because they don't use Slack/Teams very often.


That's true. And that is also probably why things mightn't improve soon - if the only metrics MS tracks is Teams adoption, I'm guessing its looking good right now. If they aren't counting how many of these cases are "frugality-driven", they are going to be blind to the UX problems.


+1 for Teams. Video calling actually works great, but gods the UX is appalling! It's just so confusing and inconsistent.

As you said too, the whole thing is buggy. Sometimes screen sharing doesn't work unless you reopen the app, for example.

The wiki feature is crap (at least the web version, I haven't tried the desktop version of the wiki) - formatting is a mess, markdown support is practically non-existent, it's buggy as hell, and so unbelievably slow.

If they had a feature freeze and concentrated on overhauling the UI and fixing the bugs, it could actually be a great product... but as it is, it's loathsome.


The desktop wiki feature is awful, but it's awful in the same way that any of the pseudo-markdown for setting in teams is awful. The WYSIWYG editor constantly doesn't recognize backtick monospace formatting, or is overzealous in hijacking the cursor when you are trying to type adjacent to monospace formatting. The enter key seemingly arbitrarily makes either newlines or continues to the next section. I've spent a few hours writing wiki entries this last week and it does not spark joy to the point where I wonder if anybody who works on Teams wiki functionality actually has used it.


That problem with the enter key making it jump around sections is there in the web version too! A few weeks back I spent a lot of time compiling a wiki, and that combined with the lag of the web version absolutely drove me nuts!


The screen sharing one has bitten me a couple of times. I record live classes for students, and we've had occasions when someone who was away goes back to the video and it's a black screen with me nattering away as if they can see it :/

That said, apart from the shitty embedding support and their channel management, I REALLY like Stream and using it for a video lesson platform. The captioning is quite good even for my fast talking, Aussie accent and jargon.


Ah yes, I noticed the live CC recently! I tried it out in a conf call between myself (very Scottish accent), a Swede, a Norwegian, an Indian and an American - it really was amazingly accurate for everyone!

That said, beyond novelty I'm not sure how useful a CC feature is.


Some of my students tell me I talk too fast, so it can be helpful for them to review content, and I've had quite a few students with varying degrees of hearing impairment. Pretty useful in my field.


Massively helpful to me, a deaf person.


And at least on macOS screen sharing doesn't work with a German keyboard layout. Neither the German nor the US keyboard layout modifiers work correctly. At least it is enough to bootstrap a better remote desktop connection.


I've never felt that anything has captured the essence of what it's like to use Microsoft's software better than the URLs Teams generates for meetings scheduled via Outlook. Why use something like Zoom's 9 digit meeting numbers when you can have a 250+ character url complete with long seemingly random strings and a url-encoded JSON object?

The plugin will try to hide this behind a "Join Teams Meeting" hyperlink, but on more than one occasion I've had the link converted to plaintext, leaving the recipient with no idea what they're supposed to do. So every time before sending a teams meeting from Outlook I have to extract the mess of a URL and manually paste into the location field.


It’s weird how OneDrive does the same thing. Why not use the Dropbox and gdrive method of some uid? Obviously a super long url with paths and query string variables is better, right?

Microsoft is pretty cool with training though. During the training they said this wasn’t an issue because the url gets converted to the file name on display. And we’d only ever want to paste urls into outlook or teams, nowhere else.


Company switched to it from Slack recently for cost cuts. Generally a huge downgrade of user experience: channel threads are mess to read after a while of being away; no way to lookup/mention other users in private chats; chats and channels is like two separate apps- constant switching between them; activity feed is not always up to date; messages once red on desktop are still left in notifications on mobile; chats list is dynamic - very easy to choose wrong chat by mistake; code snippet editing is unintuitive.


Code snippet editing is awful in Azure for all the same reasons. Inserting code and then going back to normal text is like trying to exit vim for the first time.


The worst thing about Teams is that for no reason they’ve decided to roll their own notifications framework on macOS that doesn’t respect Do Not Disturb settings. That’s the absolute minimum a notifications system should do: stop appearing when told to.


Same on Windows. Doesn't use Windows 10 notification system. This means sometimes I get a proper Windows notification and at the same time a message and instead of the two notifications to be stacked they are overplayed on top of each other.


There isn't anything that gets me so flustered throughout the day than this.

I would turn these banners off, but as far as I can tell, there is no way to get badges to show up on the icon (only other cue to remind me people want to talk to me) without these banners.

I really wish there was a 3rd party client that was all native that I could use. Teams is definitely the worst part of my software stack.


On MacOS there is. I've remove teams from my mac so can't verify the exact setup, but in the notification settings (in teams) you can disable the banners but not the notifications altogether. I think the badge in the dock icon will be the number of new items in the activity panel.

But yeah, notification management is basically a pain in Teams. Not sure if it's still the case, but even on Windows 10 it would use its own notification window instead of the system one...


And is considered a full fledged “window”, a decision bringing a whole host of annoyances if you have multi screens and/or do window management.


i truly hate when a colleague at mentions the entire department in a channel. my only choice is to leave the channel or continually be annoyed by the notifications. in general, i also am disliking the context switching from these type tools.


Recently switched to Teams and Outlook. When sharing my screen, I instinctively dismiss notifications. It took me a week to realize that the single button on Outlook notifications (MacOS) is not “dismiss” but “delete”!


Spark, the email client, has this same problem on iOS. When I go for a run I DND my iPhone but Spark keeps sending notifications. I ended up deleting it and settling for gmail on the phone, but in actuality, I resist doing any email on my phone because the gmail app is so terrible. Maybe it’s a “win”.


Odd, that generally isn't possible in iOS. Perhaps you're running into some strange iOS bug or behavior quirk?


And sometimes the notification window is just a white box until you click on it.


Like many others, we were also forced to use it at work, hard to pick the worse part of Teams but a big one is how slow it is from the time I click the "reply" link until I can actually type a message. So many times I click, start typing and then I notice it missed about 4 to 5 letters, and I don't even consider myself fast at typing. Oh, and how you upload a file/image, need to wait until it is fully uploaded but after that you still need to click the "Send" button to actually post the file. It's definitely an enterprise kind of app, one that makes sure you take forever to do anything.


There's also a very noticeable lag on mute/unmute, that causes others in a conversation to miss the first word or two that I say immediately after unmuting. The workaround is to wait a second or two before speaking, but I've used VoIP and video back in the MSN Messenger days, on a far less powerful machine, and it didn't have that problem.


I always forget this. And then if you send the same file to someone else it overwrites the file but the first file and the first person can no longer access it? And then you realize it’s not just a file but a share point link? Yeah that will surely work next year when you need to Go back and double check something.


How about when you [alt/cmd]-tab to it, it shows you a blinking cursor in an input field, but no matter what key you hit, you can't type in that field without clicking on it?

Infuriating.


+1 for MS Teams. I am forced to use it at work, too.

Terrible audio focus on a single speaker, it really forces you to speak like on these old CB radios where you had to say "over" every time you were done talking.

The single window UI follows the mobile-first trend but is awfully inefficient on my three monitor setup, even more so with screen sharing.

Plus, our admins lock the whole MS Office 365 down so that there are no APIs or third-party plugins allowed. Data in it is just trapped.

Such a waste of human potential.


>Plus, our admins lock the whole MS Office 365 down so that there are no APIs or third-party plugins allowed. Data in it is just trapped.

To be fair, that's a feature from team's perspective. If your admins are worried about sensitive data leaking out at all, and refuse to have a whitelist of approved 3rd party integrations, then that's on them. Imo it's a good thing to allow admins to do.


The feedback from our users has been that the audio quality is amazing. Sounds like a hardware problem to me. Perhaps you are one of those annoying people who won't wear a headset in a conference call, so we all get to hear your background noise?


You're getting feedback from users right now and it's not amazing. It seems that this one of the longest (negative) threads about a single piece of software in this topic, second only to git which is turning out to be HN's version of the Crusades 7.0


My biggest annoyance with Teams is its shitty search functionality. You search for a topic you discussed with a colleagues a few weeks ago. It'll show you the direct hits, but there's zero way to jump to that point of the conversation and see the context, the message before or after.

It's so infuriating.


I once had to scroll for 30 minutes to find a critical piece of information because of this. I could find the time stamp of a related message but needed the context. So I just had to scroll. And scroll. And scroll some more.

Mind boggling that continues to make it past UAT.


I am going to go against the grain and say I rather like Teams. Video calls work really well. Voice calls are clear. Screen sharing occasionally doesn't work as some have noticed, but restarting the call seems to fix it. It is so much better than Webex though. I think it is still suffering from the teething troubles of trying to bring so many things under one umbrella, Sharepoint (which already had groups), Skype for business, Onedrive and chat. This has created some quirks which will need ironing out.

The killer feature really is that it is a dream to deploy for admins who already had AD. I pushed it by group policy and sent an email telling people to log in with their existing Office credentials. I can't remember what I did with macs, I think I may have just told users to grab it from the appstore.

Think of all the admins faced with having to move their whole company to home working with no notice for Covid-19, you can see why Teams is an app that has found it's moment. Teams has been the saviour of many companies during the crisis. I'm sorry but minor UI niggles (which I personally don't find problematic) just pale into insignificance.


I've been using Teams for some work and I also agree that it's pretty good. I really like the integration with OneDrive/Sharepoint so you can build up a project of files. Using remote files on local instances of MS office products is seemless and super easy to do. Of course, the version control isn't as good as something like git, but my coworkers are not familiar with git and don't have any interest in learning it. So at least with Teams I can have my work live on a Team's folder/repository thing so anyone else at my job can access it when they need to, complete with version history!


So I understand what you say as: it is nice for admins to deploy and the usage issues for the users are the cost of it, but thats none of your problem because you are an admin. Well okay.


Some of the skepticism around here might be a bit outdated. I tried Teams about 4 years ago and found it bad; I was recently forced to use it again and now the experience is fairly pleasant overall. I don't understand why they split "Chats" from Channels though - or rather I have suspicions about causes, I just think the better way forward (from an UX perspective) would have been to keep everything in Channels.


I think it’s to allow companies to enforce official communication channels. Channels are official, chats are unofficial. I think it works but they should be on the same pane. I forget to check channels for days sometimes.


Dunno why but whenever I see this I get a bit angry:

>The killer feature really is that it is a dream to deploy for admins who already had AD.


I've been using Teams at college for over a year now and at work for a couple months. It baffles me that there are simple, obvious bugs that have remained all that time.

For instance, on the Windows desktop app, the word "I've" gets marked as incorrectly spelled. When you click on it to see the spelling suggestions, it suggests "I've". Clicking on the suggestion does nothing and it continues to flag it. This has been an issue in the app for over a year and I refuse to believe that the developers are unaware of it. It's a very common word to be typing.

Another problem is sending files or images. You have to wait for it to finish uploading before it will let you send the message. Not only is it pretty slow (I would estimate 1MB/s, whereas Discord uploads at my full 12MB/s), but sometimes it won't let you send for a couple seconds even after it finishes uploading.

A couple months ago Teams added read receipts, which is really nice, but they don't always work. My work has them globally enabled and everyone is on the latest client, yet each person only sees them for certain other people. I don't see them for anyone, but my coworker sees them for about 50% of our staff.

Notifications are also buggy. Teams will just randomly decide to not give you notifications for messages or calls. I've missed multiple messages in Teams for days because it never alerted me. I had to actually open the specific chat with that person before I saw the message. I've gotten into the habit of checking Teams every 15 minutes because of this. Teams for Android also seems to send notifications a good 30 seconds before the desktop app does, so I usually keep my phone on my desk solely for Teams notifications.

I would also like to point out that Microsoft built a general-purpose notification system into Windows, yet Teams uses a completely custom notification system. This completely baffles me as they aren't even following their own company's best practices.


> For instance, on the Windows desktop app, the word "I've" gets marked as incorrectly spelled. When you click on it to see the spelling suggestions, it suggests "I've". Clicking on the suggestion does nothing and it continues to flag it. This has been an issue in the app for over a year and I refuse to believe that the developers are unaware of it. It's a very common word to be typing.

The spelling situation gets better than this. You're actually forced to use the Teams one. For example, on MacOS, text fields get "free" spelling and grammar by the OS, which honour whatever settings you've configured. Of course, Teams doesn't use MacOS text fields, so they're on their own.

I live in France and so use French in Teams, but I absolutely hate having programs in several languages so all my programs are in US English. If I set Teams to use English for the interface, guess what language it uses for spelling? I'm still looking for a way to tell it in which language to check spelling, but we'll have probably switched to the next shiny thing until this happens...


Can someone explain why Teams is so totally unable to interoperate with anything else, to the point where you can’t save messages, you can’t export chats, and you can’t even print them! The lock-in is intense.


That is a bit of a strange statement. There is an API, there is an app store full of the Trello's and Jira's of this world. Chats copy and paste or share to Outlook just fine for me. You can even use Flow to save all of your chats... literally anywhere that has a connector. The lock-in is imaginary.


I've created a simple bot that posts memes in our chats/channels and '1337' every day at 13:37. The teams API is incredibly bad and illogical in most places. You just can't make a Slack-like bot for Teams, because of how limited everything is. Not mentioning breaking changes in their SDKs(like literally recently message .Text started putting some weird random bytes in front of actual message that broke all regexes for us), 3 different types of conversations that you handle differently and an overly complicated way of adding bots to your teams/conversations. Add to that and incredibly slow Electron app with bad UX, typing lag and around 2gb constant ram usage and here you go, worst chat application I've ever used.


How do you copy and paste chats without having to go back and expand all “show more” links (potentially hundreds of clicks)? Even then, I can not get it to reliably select more than a page or two.

Apps are not allowed in my corporate deployment.

I’d settle for “save to PDF”.


Nobody would use it if porting out was easy


+1. I don't actually have too many complaints about the features, other than perhaps that the download management is intrusive and inconvenient, but it's SLOW. So SLOW. It's mind boggling how much CPU it uses and how much it stutters when merely typing.


I've been forced to use Microsoft Teams recently. After using it once the app decided it's no longer connected to the Internet. Every other program seems to have no problem figuring out that I'm connected to the Internet, but somehow Microsoft Teams is like "Nope"

This is on Windows computer too, like, how do you guys not know how to detect an Internet connection on your own operating system?


As a recent Teams user, I don't know if Teams is bad on its own merits, or if the conception is just enough different from Slack that I can never quite figure out whether a feature exists and where it's hidden.

Generally I don't have much time to mutter about Teams because some Atlassian monstrosity is busting my balls.


It's both.

Everything from WhatsApp to SMS to Slack has a unified list of chats. Teams does not.

Teams is wrong.


+ 1. While in a chat if I open a voice call with that person, it creates a new instance with the chat frame closed. If I want to navigate into a channel and open a file, if I go back to the discussion the file is closed, I need to navigate again. It should have multi-window, multi-tab capabilities.


I hatE Teams.

Search is broken in it and if you scroll back a few days on a conversation it just stops loading messages...

It's just awful.


Scroll down and up again to get it to trigger loading more. You'll lose your place, though, because it will immediately jump, then unload what it just loaded…


While I'd very much wish to put anything Atlassian up front and center, Microsoft Teams is simply way more in my face. I have to use it for communication, and it's a huge pain use. It's huge, bloated, and more importantly; extremely slow and unresponsive. I'd have a hard time suggesting a worse chat application when including all that have ever existed.


Teams is utter shite. Especially if you're forced to use the web version (because linux). This goes for all of Office365.


There is desktop version for Linux. It is still web app, probably wrapped as Electron app, but it integrates a bit better than plain web tab.


It is wrapped in Electron, but as other siblings have said, so are the Windows and Mac versions.

I use the Linux one and it actually works surprisingly well. Video calls, screen sharing, etc.

However, for some reason, if when you start Teams the mic is unplugged, it will never detect it if plugged in afterwards. I often use it on a desktop pc without a built-in mic, and I only plug my headphones in case of a call. 100% of the time I have to restart Teams.

Oh, and as others have said elsewhere, it's painfully slow. There's a constant sort of lag about it. For example the highlights changing in the chats list when moving the mouse on top of them...


Windows version is also a Web app in electron


Yes but ms gov cloud is unfortunately not supported.


Same with Slack


You cannot extend it or fix these issues (e.g. plugins, custom CSS styles, etc).

It's probably possible to mod it, given that it's Electron, and definitely easier than doing same to a native application, but the relative lack of configurability is certainly irritating.

The amount of RAM and CPU it uses is also ridiculous even in comparison to Slack, which was already pretty bloated.

(I wonder if any thirdparty clients have been created --- at least two exist for Slack, but I haven't looked for Teams.)

I've also been forced to use it, and have considered doing some RE and writing a Win32 native one to show MS what it should've done --- if anything I expect they should have plenty of Win32 programmers who know how to do it --- but like many others, have too many things to fix and not enough time for them...


We use Skype internally but some people have started to use Microsoft Teams.

At the risk of sounding like an old curmudgeon, these Microsoft Teams meetings never seem to have a dial-in number (my laptop microphone is horrible). If I try to use my computer's microphone to speak, it asks for camera permission at the same time. I don't want everyone to see me in briefs, just listen to my voice. So it's apparently either share my video and audio, or just be silent. I've been choosing to be silent.

I've spent the majority of my only two Teams meetings trying to figure out these issues. I never had a problem with other apps like GotoMeeting, Zoom, or Discord, or even Skype (also owned by Microsoft)


> So it's apparently either share my video and audio, or just be silent.

Maybe in the past, or on some clients only. On the Windows client you can currently operate camera and mic independently and choose how to respond to each calls (with video or audio only).


We have users on remote desktop machines but the microphone/sound doesn't pass through. IT's "solution" was to install the app on your phone and use that for talking and your computer for viewing. Yay.


Sometimes I get signed out, because of VPN/WiFi issues.

It'll have a little text prompt at the top with a Sign In link.

But if I join a meeting, and I'm signed out, I just get a generic error message. It's like they didn't even code to check that I'm signed in when trying to join a meeting and advise me. Sometimes I have to restart the app after signing in to make the meeting link work again. Just feels janky.

I also had to mute it because on my budget work-provided laptop the Windows 10 notifications for every one line message take up a few inches of my screen which is pretty annoying when I'm working.


MS has adopted the release-early-and-let-user-test-it policy since years ago. I remember that Power BI was barely usable (missing a lot of basic features) until late 2018/early 2019.

They also adopted the seeming good policy to ask users to vote for future bug fix/feature requirement, which of course leads to more feature release than bug fixing. But then this is the norm of software development nowadays so I really don't think anyone can change it.


The lack of a common 'chats' list shows that nobody who used it has ever used another communications tool.


I actually like the UX of Teams' chat more than the other common chat services. Main reasons:

  1. There is whitespace between messages
  2. My replies are a different color and right justified
Most of the other common corporate chat apps just look like a wall of text to me.


Their video is downright buggy. Some users just can't share their screen with me while others can. I've tried "resetting" the video by disabling incoming video and then reallowing it, but that just freezes the video.

Audio is frequently bad too when people speak alternatingly. The new speaker has 2-3 seconds of muffled audio until they're clear again. Especially annoying when speakers rapidly change and all you get is semi muffled audio all the way.

Also the inability to respond to a specific message on desktop has baffled me. It seems like a basic functionality in chat software these days but teams only decided to give it to mobile? Just... Why?

And many emoticons have been renamed or simply removed. Why reinvent the wheel ?


Good for chat channels.

Tries to be a central repo for all of your business docs.

Chews RAM like it’s its prime directive.

Can’t actually find the centralized doc unless you magically remember the channel or team where it was originally shared.

UX is actively hostile and so inefficient.


I miss ICQ.


I miss the heyday of IRC. I'm aware there are niche communities still thriving on it, but I miss when it was the primary real(-ish)-time chat option.


Don't forget Outlook randomly crashing due to the Teams "add-in" failing, and Teams thoughtfully reinstalling and re-enabling add-in whenever it gets updated.


Teams is absolutely awful. I also have all the crashes, undelivered notifications, shitty UI, but whatever, that's par with Microsoft.

I have an issue where if there's any sound in my room in a meeting, it reduces the volume of someone else talking to me even if my mic is muted. My workaround is to only keep one earbud in and constantly listen for cars driving past outside so I can crank up the volume in advance. So Teams is literally painful to my ears.


Using a headset with a physical mute switch on the mic could solve that problem.


And why the hell is it not native


For those complaining about Teams slowness, I've found following this guide to clear out cached content dramatically speeds up the application especially on mac:

https://td.unh.edu/TDClient/KB/ArticleDet?ID=2197


Don’t forget posting a link rarely embeds properly. Posting a YouTube video doesn’t show a player like practically every modern chat platform.

Oh and the most insulting part is how they treat its users like children. You can use giphy to embed a gif but if you search for any “bad” words it says no results. Search for fuck, and it hides them. Everyone using it is an adult, why apply this conservative boomer “nO sWeARIng alLOweD”?

To top it off if you instead copy paste a giphy url it doesn’t embed that properly either!


For the last bit, giphy basically lies to serve ads and tracking. A giphy .gif URL is not actually a .gif, or an image file even.


> Everyone using it is an adult,

It's the primary platform for entire schools, now. Whoopee. So you're going to get lots of new child protection features (that fail at their intended purpose) added.


There is pretty fine grained control for admins over that kind of stuff though.


Some of which fails GDPR compliance, and violates Microsoft's own privacy statement: https://privacy.microsoft.com/en-gb/privacystatement (see the Education sections, where they say they don't collect lots of info that's collected by Teams).


When we were forced to try it you couldn't even customize keyboard commands. Most applications with multiple views/tabs will have something like cmd+1,2,3 to switch between the tabs. On OSX it was some RSI inducing combination you couldn't change.


I noticed earlier even if Teams is switched 'off' in Startup Apps it'll still run when Windows starts unless you tell it not to under settings in the client


To kill the Linux version you need to run "killall teams" in a loop because it keeps trying to respawn itself


+1 for Teams.

It's horrible.


We switched over recently too and it suffers from trying to be all things to all people.


Docker.

I use it and love it every day in both dev and prod, but I also really kind of hate it.

I'll keep my complaints short.

There should not be a system-wide daemon. (Or any daemon).

It should not require root at all (no setuid either).

From outside the container, the container and its processes should be a single process (with threads). (Like glueing a bunch of processes together.)

The containers should be nest-able to arbitrary depth without performance loss (at least to say, hundreds of nestings deep.)

Docker-compose should not exist, instead it should be replaced by nesting of containers.

Basically, I think it needs to follow the UNIX philosophy better by providing simple abstractions that can be combined easily. The containers would visually look a bit more like an old virtual machine (single process) than our current containers.

These changes probably require a bunch of kernel hacking, but I think it would be worth it long-term for a cleaner architecture.

It appears there are some movements into this direction thanks to podman, but it's really not there yet, especially with nesting.

Also, it wouldn't really be a product at all but just a built-in tool on Linux systems.


If you want more complaints, and well informed ones at that, read https://www.linkedin.com/pulse/containers-future-ian-eyberg/.

I particularly love the quote, The kernel developers view of the docker community is that in the rare case they can actually formulate the question correctly they usually don't understand the answer.

There is only so much that you can say to clarify things to someone who is thinking about everything wrong and doesn't realize it. :-(


That article seems overly critical about young developers that don't know it any better because they grew up on containers.

I guess I am one of those so I got to ask, is the proposed solution of unikernels something we had before but lost in favor of containers, or is it something completely new anyways?

It does look like it might be the latter so why blame developers for using containers due to lack of choice? If unikernels are better and just as easy to use then I am sure people will convert.

He blames a lot on marketing and marketing lies but his company (https://nanovms.com/) seems to make it just as hard to figure out what's going on with the apparently only option being a schedule a demo button.

Come on, I remember Docker being that fancy new thing that people at university taught themselves and to each other around ~2014/2015. That hype was well deserved and if you want to compete with that you can't just decide to brush it off as wrong and misguided.

At the risk of pointing out that I also might be one of those that the quote above is referring to, I gotta ask:

Is there a technical reason why I shouldn't be able to eventually just replace Docker with a micro or unikernel? Same or similar style of image definition, completely different runtime technology?

Isn't it up to the kernel and platform developers to build the tools to make that happen comfortably for all of us naive container users?


> Is there a technical reason why I shouldn't be able to eventually just replace Docker with a micro or unikernel?

Many legacy pre-docker apps were able to run inside docker without any dev work.

Very few apps would run on unikernel without dev work (porting). It's a different kernel after all.


I don't know the author, or Denis, but Denis in the comments is right. This is exactly the kind of pseudo-intellectual, inflammatory contrarian opinion that I'm unsurprised to see upvoted.

This article completely conflates containers, orchestrators and schedulers in every aspect of discussion. Something will schedule and orchestrate these microVMs. Something with orchestrate secret manifestation inside those VMs. Something with operate on the host to supervise the VMs (which necessarily will have access to the guests).

So far, every microVM platform with any adoption uses Kubernetes to orchestrate. I don't know, maybe someone is running Kata on Nomad or something, but I've not heard of it. And so far, most (all?) microVM implementation utilizes namespaces and cgroups either inside/outside the VM or both. This includes Chromium's use of OCI in Crostini (their Linux-VM-on-ChromeOS).

Whatever comes along and replaces Kubernetes will push the envelope and will reduce the default blast-radius, will undoubtedly entirely rethink how authorization and namespacing work. The core would be much more minimal. And thousands of lines of generated Go would be replaced with <use your imagination>. And progress will have happened.

I get it. Hating k8s is cool. I hate it too, for a whole myriad of reasons. But it's actually frustrating how bombastic and off the mark that article manages to be. And it's too bad, if it had just stuck with "Kubernetes isn't the future, and actually understood the problems with it, it could've been a decent rant. As-is, I think it does a pretty poor job of justifying the title. (And so far, microVM workloads look to be worse for "image" security than Docker, as the tooling (outside of Nix|Guix) is somehow even worse.)


Interesting thread.

Is there a microvm that can run chromium with puppeteer?

I've been thinking that server side chromium might actually turn into a pretty badass application server platform ... security, async, remote debug, webasm for cross platform secure binaries ...

Some efficient infrastructure for deploying is needed -- but should be far easier to create a fast server runtime for puppeteer+chromium than it is to create a generic container execution environment ... -- so the microvm approach seems like the right one for what i want ...



Thanks - it is good. Tangential - in a thread about bad software, having a link to LinkedIn is quite funny. It’s taken about 10 years but I think I’ve finally detached from their bs.


oh man, the replies to that post are absolute cancer, though. it makes youtube and reddit look like a Parisian salon...


Docker is also essentially completely broken on MacOS and has been for years. The performance penalty on anything doing I/O is like 5x, and it tends to completely hammer my CPU. There are tons of internet discussions, so it appears to not be just me.


Isn't that inherent because Docker needs a Linux kernel, so running it on Darwin has a hard requirement on virtualization and running an entire guest operating system?


Virtualization and even running a guest kernel and OS isn't 5x expensive on the CPU, so the problem is not virtualization per se.

Perhaps the problem is Darwin.


Docker abstracts and re-implements a lot of the filesystem and IO stuff; almost all of the issues (often outright bugs) I've had with Docker on Linux are related to that, too.


I know it's not bad on CPU, but I thought it took more of a hit on I/O? Granted, I suspect that some of this is indeed some issue with Darwin itself, or at least poor integration with it.


I agree, I/O can be pretty expensive.

It depends quite a lot on the kind of I/O and how it's implemented, so design choices matter.

If there's a full Linux kernel inside the VM, then you may as well do I/O inside the VM as well, using something like virtio and a ringbuffer of async block device commands to the host, or at least batching them. That will be quicker than relaying every POSIX file operation synchronously to the host, because the number of VM exits is much lower in the former case.


That's MacOS' fault, in fairness. MacOS does not support containers or the Linux abi in general so you're forced to run docker containers in a Linux VM, with all the CPU and I/O penalties.


It’s MacOS’s fault for not being Linux?


Microsoft added native container support to Windows. Apple has chosen to essentially ignore them.

Microsoft is a much more developer focused company IMHO. Still kinda astonishing how many developers choose MacOS.


Correct me if I’m wrong but the Windows “native container support“ is only for Windows images right? Which no one uses, since 99% of popular software like Redis, Nginx, whatever are for Linux


I always wondered what percentage of apps in production are using Windows images compared to Linux.


There’s probably not a huge demand for native MacOS containers. Even MacOS VMs are a rarity.


MacOS VMs are only a rarity because you're only allowed to run them on Apple hardware. If that wasn't the case we'd likely even have cloud support for the platform and Cross-Platform development would be significantly easier.


Well, yes?


I’ve done way too much investigation into this. They are fixing these issues finally[0] (I’m mc0 mentioned in the thread). It does absolutely suck and is mostly caused by hacks to support macOS inotify event propagation into the docker VM. They are also working on making a different system for syncing data using Mutagen[1] that should fix this completely. That being said, it is very usable today depending on the workload.

0: https://github.com/docker/roadmap/issues/12#issuecomment-652...

1: https://github.com/docker/roadmap/issues/7


If it's a docker problem maybe you're running it with the vfs storage driver which copies every layer every time instead of using overlayfs? If not then it may be a problem with the virtualization solution, not docker itself. VM overhead shouldn't be 5x, not even for IO. Unless you're trying to mount parts of the host filesystem, that's slow with pretty much any virtualization solution, perhaps barring virtio-fs, but that's probably not supports on osx


I thought those were (partially?) addressed (or still ongoing?) with the use of bhyve/xhvye?


I agree about the daemon. Podman is a daemonless alternative, though I've never used it myself.

Strongly disagree about Docker Compose though - I actually really like the ability to compose a stack of different containers together with some simple yaml.


You'd still be able to compose a bunch of containers together, but it would result in a new, single container due to nesting.

It could even be compatible with docker-compose and it's yaml.


I enjoyed docker compose as well (enough to use it for PhotoStructure), but was bit by breaking changes even when I had specified a version in my docker-compose.yml.

It meant that a bunch of my beta users suddenly had broken PhotoStructure configurations because their docker-compose implementation had received a minor update. Why require a version to your configuration file and not increment it on breaking changes?

I ended up tearing out the script that helped people create their own docker-compose.yml file, and replaced the installation instructions with an annotated call to `docker run`.

And don't get me started on how janky it is to update existing containers to new images without docker-compose: there seems to only be one third-party tool to assist with this automatically (lighthouse), but is essentially abandoned. I'd love to be wrong about this, please point me to other solutions if they exist!


I use watchtower with docker compose and the update is seamless.


Haven’t used Podman in production but at home it’s a huge improvement over Docker and enjoyable to use


For me one of the worst were Docker for Desktop on both Mac and Windows, especially when used for local Kubernetes. I fixed this with a project running Kubernetes directly on a local virtual machine(s) and local Docker (without polluting the machine with Docker for Desktop) is a bonus that comes with that[1].

[1] https://github.com/youurayy/hyperctl


When Docker for Desktop came out, I refused to move from Docker Toolbox. My reasoning was probably illogical but my view was that if you're maintaining a number of projects, each of which runs in their own Docker environment and some of which had duplicate container names, then having the power to start/stop different Docker engines for each just made a lot more sense to me.

I don't miss Docker.


Strongly agree about this. Docker is conceptually on the right track, but it's fundamentally the wrong abstraction.


Even I would like to tune in to Docker bashing (in this case one can actually say with confidence: "Hitler was right"[1]) the fundamental architectural problem is on the OS side.

UNIX, and especially Linux, is a monolithic design. Even such an OS is able to separate user processes form each other all system parts run by concept in the form of a "big ball of mud", with "god-like" capabilities available to them by default. Sure, some internal "barriers" have been added, and per process capability dropping has been retrofitted, but this is backwards form the architectural point of view. Cutting things in peaces after the fact is almost always way more complicated and awkward compared to designing things in a modular way form the get go.

This is related as virtualizing a modular OS is almost a no-brainer (conceptually). You just need to start additional instances of the required system servers / modules / whatever-you-call-that-parts. Compared to that virtualizing a monolith is like trying to construct a kind of Ouroboros: It needs to run itself (with an altered, usually constrained view on the 'outside' world) from inside of itself; and it can't just globally drop the "god-like capabilities" its execution context provides—like it would be possible with an external process. It needs to "hide or manipulate things in front of its own eyes" even "it" has the "all seeing eye". Or to put it even more metaphorical: "A God tries to use his divine powers to constrain his omnipotence so he can lie to himself about the things he sees, without himself ever being able to look through this jugglery". Formulated like that the architectural issue is obvious, I guess.

[1] https://www.youtube.com/watch?v=PivpCKEiQOQ , and I just learned it seems he was also a Kubernetes fan. :-)


I was thinking recently all these layers of abstraction is crazy. I would be simpler to write a Python web server using micro python and deploy to a server farm of esp32 micro controllers.

No idea if this is possible.


Psst, don't tell anybody!

Someone will eventually make a fortune on that idea… ;-)


The reality is that containers via `runc` really _are_ just bundles of processes with some sugar to control Linux namespaces. Using another runtime (kata, etc) would get closer to the tighter abstraction you mention, but it would truly be a VM, just a small one.


I like docker-compose so much that I'd use it even if the underlying containerization technology didn't exist. I think it's one of the things they got most right, and I wish there was a bigger ecosystem around managing compose-based projects.


I think it could be better but its features became coupled with swarm. That and the primary maintainer was super hostile to feature requests..


Yeah, docker is an anti-pattern in so many ways.

Linux is partially to blame as well, since the container/isolation APIs can be hard to use correctly, and many people have latched on to docker as something that sort of works.

It also seems to me that the failed security and isolation designs, and painful management and administration designs, of every mainstream operating system have been primary factors in pushing us toward VMs and containers in the first place.


You are probably forgetting about dependency hell, reproducible builds and automated testing. Waaaay tooo often some software won't compile because a bad version of the library is installed in the system or an incompatible compiler is used. Or two perl/python apps require different dependency version. All those problems are quickly solved by Docker. There were no better way to solve it, other than packing and versioning everything like in Chrome build process...


The isolation stuff is a bit arcane and confusing, but also not that hard to figure out or implement as a wrapper.

I think the biggest reason people like Docker is that Docker makes it so easy to distribute containers.


> It should not require root at all (no setuid either).

The only thing that really needs setuid are network namespaces to setup the bridges. Userspace workarounds are clunky and slow. If you can do without network isolation then this would be possible.

> The containers should be nest-able to arbitrary depth without performance loss (at least to say, hundreds of nestings deep.)

Multiple levels of nesting are ppossible if you disable seccomp. I don't know if it scales to hundreds though. Overlayfs has hard limits and btrfs snapeshots don't scale infinitely either.

> Also, it wouldn't really be a product at all but just a built-in tool on Linux systems.

Well, there's systemd-nspawn and machinectl


> > Also, it wouldn't really be a product at all but just a built-in tool on Linux systems.

> Well, there's systemd-nspawn and machinectl

There's also podman, which is a drop-in replacement for docker, and buildah, which does daemonless container builds. I switched to them from Docker recently and will never look back.


I was thinking through how you might do this, and my brain dredged up User-Mode Linux. A UML wrapper around those docker containers would behave almost exactly like you describe. You should (if I remember correctly) be able to nest them, too.

I'm pretty sure this is doable today. It's a monstrous hack, and I've got no idea what the performance overheads would look like, but as a way of hiding a mess behind a clean facade, I'm not aware of any reason it shouldn't work.


Nowadays, it seems like gVisor is doing something fairly similar to UML but a good deal more lightweight.


Yeah, it looks like this is in the category of "things that could reasonably be done with some elbow-grease" rather than "things that are made impossible by some aspect of the technology".


You might want to check out Flockport: https://thenewstack.io/flockport-time-to-start-all-over-agai...

They're trying to use built-in Linux LXC container features.


I feel like the Dockerfile format was very tight and simple to use, and the tools somewhat usable, but over time they keep bolting things onto it by committee. It is better than git, but that's pretty faint praise.

When I'm staring at the worst of it (unsticking myself or worse, trying to explain why it's like this to a coworker who is stuck), I keep thinking that there's a standard for making these containers, won't someone get around to rewriting the user-facing bits with the modern requirements designed in from the start?

But it's good enough, so we are probably stuck with it until someone comes up with a better idea to base application compartmentalization upon. Like an OS that actually does what I was promised 25 years ago and am still waiting for.


I think the idea of a docker file is brilliant.

But one pattern I see all the time is:

  RUN foo && bar && bletch && ...
They should have a way of achieving the same thing (just one layer) without multiple commands and added to the same line


Some good stuff here, however... Strong disagree on compose. I think it’s amazing.


I find people only love compose if it's the first exposure they had to container orchestration. Orchestration is a great concept but basically everything else that solves this problem solves it much better than docker-compose.


Can you mention what are the tools that you use as alternatives to compose?



I agree except for compose. I actually like compose and how simple it is, but am curious about container nesting. Could you elaborate? How would dependencies work there for example?


Give Singularity a look


Yep. Doesn't have a daemon or require root.


Android. Truly horrible platform where I cannot even find a clock app that just works. I mean there is one shipped with a phone, but it has inconvenient timer and I do not like how time selection is done -- a lots of movements to scroll numbers to find one I need, -- but I cannot configure it to my convenience and I cannot find another clock app that works.

And all this "Google phone wants to have an access to calendar" after each call. I do not know why it needs an access to calendar, I'm not going to give it one, so just stop pecking me. But it will never stop, it seems.

And a lots of useless stuff I cannot delete. I stopped it from popping up with stupid messages, but I cannot delete them. It seems that I will be forced to replace Android with PostmarketOS.


> how time selection is done -- a lots of movements to scroll numbers to find one I need

That's the worst way to pick a time that I've seen and used. It requires a lot of swiping, combined with looking for the precise moment to stop the scrolling and not overshoot.

Thankfully in some Android variants it's replaced with much better alternatives. Google Pixel's stock apps in Android 9 and 10 use a round watch face for time points—where you pick first the hour, then the minute with one tap each. However, this still requires rather precise finger work (and has animation in the middle). The best interface IMO is what Pixel and Philips' phones use in the timer: you just type the minute and the second (or the hour and the minute) in four digits, with a huge number pad on the screen. Philips did better here because its pad occupied most of the screen so the tap targets are larger. The benefit of this interface is that you easily develop muscle memory for it, practically no aiming is required.

‘Simple Mobile Tools’ make pretty good apps which are open-source and are present in F-Droid (https://www.simplemobiletools.com). Alas their ‘Simple Clock’ uses scroll spinners in the timer, but perhaps you could ask them to reconsider. I can help with screens from the better interfaces.


Microwaves have a perfectly usable and quick timer input method. Is there anyone who thinks swiping and scrolling up and down to pick a time makes things easier? I have no idea why they think a smartphone timer should be any different.


Tangentially, most microwaves are missing a key feature: a combined `start` and `minute plus` (or +30s, whatever) button.

It's the kind of thing that seems trivial, but once you've used it, is so blindingly obvious that it's the Right Way To Do Things that you'll wonder why every microwave doesn't do it.

I'll never buy a microwave without it again.


What really annoys me about the timer is that there's no option for it to chime for ten seconds or so and stop, instead of making me fumble with it and press the button. Because I use the timer every day when cooking, and my hands are often busy and dirty during that—while I can hear the timer loud and clear (especially if I'm listening to audiobooks).


"Hey google, stop"

Voice commands really shine for cooking.


> I do not like how time selection is done -- a lots of movements to scroll numbers to find one I need

One of the worst things about iOS is the time picker. The numbers spin like a slot machine. I think Android nailed it in this specific app widget.


I believe this has been redesigned in iOS 14.


They just removed it in favor of the normal numeric keypad.


It was certainly fun to spin, though!


I zoom with my mom every week.

Her old tablet cannot upgrade to newer android version, which prevented zoom from updating, and caused zoom to refuse to work.

I bought her a new tablet. A friend set it up and was able to do a call. Everything was working. That was last week.

Today, I spent 40 minutes on the phone with her because after boot the tablet was showing a black screen.

No possibility for interaction.

Eventually, after many reboots, she noticed some kind of google security warning which instructed her to swipe up. I had to train her to swipe up over the phone.

We had the call, eventually, and I still have no idea what her tablet is asking of her.


I was going to say Android, but it's hard for me as a user to know which issues are hardware and which are software.

Common problems, for me:

- Camera stops working, it seems some apps take over it and it won't work again until I close all apps

- Can't hang up on phone calls because the proximity detection that locks the screen bugs out and won't unlock until after the other person hangs up

- Occasionally gets stuck in a loop where it unlocks then locks again instantly, and I have to power cycle

- General UI lag on apps that should be simple like the clock

- Sometimes it just seems to get stuck on a black screen but eventually it wakes up after a number of minutes

As for the timer/clock there are two features I'd like, maybe there's a way to get them. 1) Have a small counter running under a timer after it expires, so I can tell at a glance how long it's been since then (useful when setting a follow-up timer for cooking after fussing with stuff) 2) Let me set an alarm for a time on a day without having to select it as a repeat, which means it'll run again the next week if I forget to unset it.


This comment looks very bizzare to me. The clock thing has been changed years ago, nowadays it's a timeface where you tap the hour in the first stage and the minute in the second, after that you're done setting the time.

> And a lot of useless stuff I cannot delete

Well yes, the os is made by a monopolistic ad company that tries to get your every last bit of sweet, sweet data through its services, but there's an extra step in the distribution chain where the hardware vendor can throw as much garbage into the system rom as they want. I deem android phones without lean cfw pretty much unusable.


> The clock thing has been changed years ago

My previous phone (ASUS ZenPhone 2) had nice UI like you described. I don't remember really, maybe it was not the stock app, but the clock from Simple Mobile Tools. My new phone (Xiaomi Redme 8) has this stupid slots machine instead of UI and the clock app from Simple Mobile Tools works unreliable.


The "tap hour, then minute" UI is for setting an alarm. But for timers ("please beep in 5 minutes and 30 seconds") the app still has the old stupid scroll interface.


My timer UI is a T-9 pad. On vanilla Android 10. Has been for quite a while.


Quote: "I want to talk about the Nokia N9 alarm clock application because it’s a really nice example of thoughtful, functional design – and because it’s only on the N9, so a lot of people won’t have seen it. There are more important things in life than getting excited about an alarm clock app, but it's nice when simple things are done well." From here: http://nition.momentstudio.co.nz/2014/08/the-nokia-n9-alarm-...


The useless stuff, can you uninstall updates and disable?


Microsoft Outlook - decade after decade the icons change but the suckage does not, its 1987 every day when you use Outlook.

Microsoft Teams - drains my battery 1% every two minutes

Slack - the original “let’s forget everything we’ve learned about communications and try to discover it again”. From the threads feature nobody wants to the inability to silence bots or plugins, Slack never fails to disappoint. They pitch it as a knowledge archiving tool but unless you know exactly where, when, and who said something good luck finding it.

G-Suite has been awesome for almost five years now, though it can be problematic when you need to communicate with people outside your org that don’t use g-suite for work. Hangouts drains my battery fairly aggressively also but not as much as Teams, so I’ve switched to Zoom for video - plus it works seamlessly reguardless of which email program people use.


For what it's worth, I love threads. Prior to threads, channels would be pure noise, often intertwining multiple conversations at once.


They’re not done well in slack if you’re not looking for them! The default reply in a channel is not in a thread, so you get people replying inside the thread and outside at the same time. Makes them feel pointless.


I've never used Slack, but it sounds like that's how they are implemented in Teams. If that's the case, I think the problem is one of clarity for the user. I see people replying all the time in what they expect to be the reply box. I'm not sure it's clear for them that the messages they see are actually threads and should reply "to the message" instead of just typing in the bottom box.


Threads are good, the Slack implementation is still lacking though. They really need the ability to subscribe to a thread without commenting in it.


They have "Follow Thread" (You'll be notified about new replies)


Ahh I never noticed that. Not sure if it's new or if I've just been blind.


Or at least allowing people to have the mod/admin privilege of moving messages from one thread to another (or one channel to another). This is basic message board stuff, but not allowed.


Zulip has absolutely nailed threads imo, it's almost like a cross between a forum like Discourse and real-time chat, with the best of both.


It's amazing how bad Slack got. Android app looks slick and the UX is awesome, but functional bugs make up for it: last week I had all _my_ messages disappear from a conversation, I could only see what the other person wrote. I routinely have to force-close and reopen the app to have it show new messages. And for couple of months now, smileys typed in the app (e.g. `:)`) don't convert to actual emojis when sent. Support responded recently along the lines that "it should be fixed now because nobody complains anymore". Well it isn't, apparently sending a smiley to try and reproduce the issue is too much of an effort.


On Slack, I bang my head everytime their link editor pops up. I paste a link and now want to edit it, why is it so hard?


The only thing worse than Outlook is Outlook on Mac. So much wrong and terrible interaction. I've been on it a year at a new role and it baffles me how had it is to use.


“New outlook” on “insider fast channel” update settings has gotten pretty good in the last few months.


"They pitch it as a knowledge archiving tool but unless you know exactly where, when, and who said something good luck finding it."

Really? That's the pitch? That's hillarious. That's absolutely not what I would have said it was good at.


I would LOVE to use Outlook. I’m sure I’d love other mail clients even more; it’s just that we use Lotus Notes.


The Notes ("Domino") server comes with an IMAP "task" in the Notes parlance; maybe your admin has allowed that to run?

It was always kind of funny that the thing Notes was the worst at--being a mail client--was also its primary function at a lot of organizations.


There is a web client we can use; I forgot about that until you mentioned IMAP. If it’s got sane text editing and an OK calendar, I might be able to switch to it.

I was taken aback when I first found out the Notes client app is a customized Eclipse build.


I remember Domino Web Access as being kind of okay, but weird, and never a credible challenger to Outlook. It emerged around the time I had less and less exposure to Notes things; there was also a sort of minified, desktop Notes/Domino server ("DOLS") that could replicate web apps locally for offline use and synchronize when back online. Wild stuff!

As for Eclipse, it's more like IBM found a way to wedge Notes (written in C) into an Eclipse wrapper, likely fueled by the early-aughts mania to make everything a portal/portlet.

Some other apps have used Eclipse as a host, DBeaver for example. Although I believe DBeaver is principally written in Java.


The Apache big data suite (Hadoop/Spark/Yarn/Hive/HDFS/etc).

In several years of big data engineering work, I've believe I've seen only one application that couldn't be refactored into a simple multi-instance framework-free program. People use the big data frameworks as glorified distributed-job management tools, and the resulting systems are more fragile, more complex, more vulnerable to weird version compatibility errors, and less efficient.


Spark is like my pet-hate.

Data Engineering team used it at my old work (in concert with Notebooks) and it resulted in some of the worst code I’ve ever seen, and most inappropriate use of resources:

9 node DataBricks cluster to push 200gb of JSON into an ElasticSearch cluster. This process consisted of:

* close to 5 notebooks. * things getting serialised to S3 at every possible opportunity. * a hand-rolled JSON serialisation method that would string-concat all the parts together: “but it only took me 2 minutes to write, what’s the problem?”

* hand rolled logging functions

* zero appropriate dependency management; packages were installed globally, never updated, etc

Nothing inherently about that workflow actually needed spark, which was the most egregious part. The whole thing could have been done in a python app with some job lib/multiprocessing thrown in and run as single container/etc.


Spark was the worst when I used it. Unhelpful error messages and failure scenarios. Inscrutable stack traces. Thing felt like the worst kind of black box and figuring out why a node timed out during a step or shuffle was soul crushing.


I had prior industry experience.

Eventually it was realized that getting a larger box and just spend sometime to think about cleaning the data is enough. But that didn't sound as good.


You can also think about two layers infra: have large big-data storage, have simple logic of extraction of aggregated/filtered data from it, and do complex work on your large box within single process.


It still made sense to store stuff in Hadoop - but it didn't make much sense to do anything further than extraction in the cluster, which we definitely did try with Spark + mllib.


I never used the Apache big data suite daily.

I had a project in college where we tried to add a feature to Hadoop. Half the battle was spent trying to pass their test cases and figuring out why we couldn't build the program due to dependency issues.

Even though we were trying to build w/Hadoop's docker image, each team member had issues unique to them. The documentation definitely didn't help.


Are there any good articles or blog posts that describe a "multi-instance framework-free" design that would replace a Spark application? I'm having some trouble conceptualizing your suggested alternative, but am very interested in learning.


Out of the box Julia (the language) has support to run remote workers.

I have t used it personally, but the documentation is definitely there around distributing work and getting results back from nodes/etc and the community is very helpful.


Hadoop was never meant to be user friendly. Which is why you have commercial versions of it like Cloudera & AWS EMR, meant to fill that void in the industry.

FWIW, I feel your pain on a daily basis, but I do like Hadoop as a low cost massively distributed db.


Would be very interested in a blog post / further reading about this!


It would be an instant hit. Can't wait to read more.


> People use the big data frameworks as glorified distributed-job management tools

Do you have any tools you like for job management without all the distributed-systems baggage?

I've heard folks advocate for Make for this kind of thing, perhaps that or some other orchestration tool that deals with job dependency graphs would be the unix way? (Having a nice way to visualize failed step would of course be a plus; a common use-case is "re-run the intermediate pipeline, and everything downstream".)


There's a bunch, at various levels of abstraction and slightly different primary use cases: Luigi, Dask, Airflow, Celery, Dagster, Prefect, Metaflow, Snakemake, Nextflow, etc


Have a look at airflow.

However, so far I didn’t switch from rundeck & make.


Airflow is really limiting in some non-obvious ways: https://medium.com/the-prefect-blog/why-not-airflow-4cfa4232...


Modern Spark is nice enough that I will use it to work with massive excel files locally! If someone can use Pandas they can use Spark, and you get the added benefit of distribution if necessary and more resiliancy.

I think it's likely that some subsection of Spark users are the type to over engineer a project, but I'm also confident they'd over engineer a much simpler framework as well.



And I belieieve you. I designed my own on-disk log based format for my last two prorojects.


Someone had to mention this.


I hate to say it, but Signal.

Signal has consistently been a pain to use for my moderately sized (<15) friend group chat and for 1-on-1 threads too.

Messages sometimes don't arrive or arrive out of ordered and appear in the wrong order, scrolling up has random jumping behavior, opening the chat in iOS causes my audio to stop playing, there is explicitly no way to back up any of the chat, copying multiple messages is broken on desktop, search is super slow and search result previews have been corrupted for as long as I can remember, sharing links through the iOS share menu causes the app to behave super weird or just crash (my mom can't share links with me through Signal), you can't mute conversations on desktop (IIRC there have been two PRs implementing this feature in the last 2 years; both not pulled), mutual verification is so frustrating that I literally got yelled at when trying to explain it to my parents, I sometimes can't take pictures from within the app, when I can take pictures the viewfinder is half the resolution of the actual camera and everything looks blurry, the most recent app update causes a several second lag whenever I open the group chat, and I am throughly convinced that every issue I've mentioned is so low priority for the people running the show that they won't get fixed for a very long time. At least we have stickers now.

Seriously though I believe in what Signal is doing and will probably continue to use and suggest the app. But it will hurt every time I do it.


Weird, as anecdotes go I've always thought the signal iOS app was very polished. I just checked three of those issues (camera access, shared links, search) on an iPhone 11 Pro Max and I wasn't able to reproduce. I suspect Signal may not have a QA group large enough to test on every phone/environment.


Yes, I've given up trying to report these issues as it's been years since my initial reports and I've never seen the things I reported fixed.

Signal desktop has been broken for almost a year for me "Error handling incoming message" is shown instead of each message. Theres no easy way to transfer messages between devices out-of-band when migrating to a new device (e.g. via encrypted binary backup blob). Messages constantly fail to arrive when they're sent, I often get them days after the person sent them. etc. I could go on...


Signal desktop "works" for me in the sense that I usually receive messages, but probably about once a day one of my conversations suddenly displays somewhere from 20 to 70 lines of "Error handling incoming message." In talking to people this doesn't seem to be in response to any actual activity by the person on the other end.

I feel like I've seen Signal problems appear and get fixed, like for a couple months the desktop client just wouldn't get half or so of the messages I received, and then one day it seemed fine again. But the long deluges of "Error handling incoming message" have been present, as far as I can tell, for the entire time that I have used Signal Desktop, perhaps 3 years. I guess I consider it a feature now. :/


I wont herald Signal as epitome og UX, but I have never seen most of these issues on iOS. My biggest complaint now is general slowness/sluggish and the fact that sometimes messages will still arrive out of order...


I admit I've never used signal for chatting (since no friends of mine have it) but just browsing the menus on Android and iOS left me with a bad taste in my mouth. Everything looked and felt very amateurish.


Can’t comment on the rest of your criticisms but you can (finally) backup chats to iCloud – features’ been present for the last few months.


Edit: Please ignore this.

Gated behind enabling two factor authentication for some reason. Which I'm never enabling because (A) it's impossible to turn back off and (B) you need a second Apple device for the second factor.


By two factor you’re referring to the Signal PIN? If so, A) is there any real reason that you’d need to turn it off? b) where does it say you require a second Apple device?

Looking at the documentation though, I think I should retract my statement about Signal featuring iCloud backups... according to the docs 1) you can only transfer your data from one device to another and 2) the transferable data doesn’t include message history ️


I'm sorry, I thought you were talking about something completely different. Please ignore me.


Have you reported that behavior, preferably with a debuglogs attachment in their GitHub tracker (or even the community forum)?


That would be a fair question if GP had complained about one specific but niche bug. It's disingenuous when he complains about multiple problems, at least some of which don't need a detailed bug report to discover, and specifically points to two PRs addressing one of his complaints which weren't merged.


Unfortunately, I’ve encountered many of the same issues, so I would recommend trying either Session (fork of Signal) [1] or Telegram (less secure but supports bots) [2]

[1] https://getsession.org/ [2] https://telegram.org/


Telegram is not just “less secure”. It’s not secure, period. Messages are stored on the server in plaintext. That’s what makes it orders of magnitude easier for them to implement all those features (large groups, channels, bots, etc).


Scrolling through the top few dozen posts here, I see a bunch of commonly used development software. IMO, all of those do have some issues, but none are remotely comparable to the horror show that is internal software at medium-large corporations. I've used a bunch of these, actually worked on improving a few, witnessed the development process for others. There's no point in naming them, because people outside the company will never use them.

These types of programs are uniquely terrible for reasons described in other posts - the people doing the development, and setting the priorities for development, have no connection to the people who need to use it day to day. Different offices, rare personnel crossover, systems specifically designed to discourage direct communication. They're usually big and complex enough that a ground-up redesign is either impossible, or will inevitably gather enough poor management decisions to be about as bad as before by the time it becomes remotely practical to use.

I recall one place where a critical application required to record data and deliver it to clients in a realtime application was based on an X-Windows application running in Windows XP using the one X-Windows manager that sort of worked there. Yes, really. I know it's a super weird combo, but it's what we had. I ended up moving into a related software department, and got some behind the scenes info. Turned out that there was just one guy left who was still actively coding for it, already past retirement age, but kept on anyways out of desperation, because nobody else was willing to touch that codebase. There was a project to build a more modern replacement application, with all of the usual corporate bloat and ever-slipping deadlines. It wasn't great, but at least it ran natively on Windows 7 and had a better UI. I think they moved over to it entirely after a while, but I left that place before that move was finished.


This is spot on. One of the worst internal tools I had to use was actually created for the company by Thoughtworks..


Anything which requires me to use a Google captcha or hcaptcha. I generally don't get annoyed very easily but spotting fire hydrants and traffic lights just to login into a site to which you are a paying customer is plain nonsense.

I've actually decided to move my entire infrastructure from Digital ocean to AWS because of this captcha before login nonsense (thankfully DO reverted it just in time)


I've started intentionally making my answers subtly wrong. E.g., if something might look like a fire hydrant, but isn't, I mark it positive. I usually have to do it a few times anyway, and it makes me feel better to think Google's AI datasets are inaccurate.


Hah nice, I thought I was the only one who did this!

I've noticed that in the more extreme edge cases, it lets me through anyway. Maybe other people aren't paying enough attention to notice that there's actually a difficult-to-see street sign in that particular square.

Sometimes I feel bad that one day, a Waymo car is going to miss a stop sign because of me. But then, I also resent being used as a free mechanical turk, and they should know better than to rely on random people from the internet to build safety-critical systems.


In my experience, when I do it slightly wrong it actually takes less steps to get through. I guess in the age of Yolo v4 and such, doing it “too well” actually makes you look like a robot?


I suspect doing it too well marks you as a valuable contributor and tries to get the most out of you. Abuse.


I've noticed this too. If you do the captchas too quickly you get more of them as well. If I 'dumb' myself down a little I usually only just get one of them


We will all thank you when Waymo will be stuck at an hydrant thinking it is a red traffic light lol


Google knows 2 out of the 3. The same with text captchas, they knew 1 of the 2. It assumes if you got one right, you got the others too. So they key is guessing which one is unknown, picking the correct ones, and picking a random one for the last


I never understood the mindset that finds joy in throwing off the datasets being trained on these kinds of captchas. Is it related more to the "rush" of cheating on a test in school (i.e. figuring out a way to "cheat" on the captcha), or rooted more in rebellion against Google/whoever?


The second one. If someone were forcing you to perform slave labor for them, you'd want to do a crappy job as possible just to spite them.


It's "I'm being paid to crowd source Google's future billion dollar profits"


Yes! Captchas are terrible. Does the support pole count as part of the traffic light? How much of the bus needs to be in the square for that square to contain a bus? What counts as a street sign?

And on top of all that, the frustration that I know I’m not a robot the entire time.


On top of being incredibly annoying, I find it insulting to be put to work training algorithms by clicking on the 5th iteration of spotting bikes and cars.

Infuriating


I can't agree more, the idea that google derives an economic benefit from my work makes my skin crawl.


Completely agree, but I must hand it to whoever came up with this idea. Absolutely brilliant.

"Folks, we need an absolutely massive data set to train our text recognition algorithms. We need people on the internet volunteering this data."

"Impossible! What could we possibly offer them?"


It may not surprise you to learn that his Ph.D. was on "on Games With A Purpose, which are games played by humans that produce useful computation as a side effect" and is same person behind Duolingo https://en.wikipedia.org/wiki/Luis_von_Ahn


I usually dont mind too much, but my god i cant stand the slow.... faaaaaaaaaaade........ iiiiiiin.


This is so true. And the bonus is, it works terribly on Firefox, to the point that when I am forced to use it, I just skip the site altogether.


Ebay's side project Gumtree throws up captchas if you so much as open two links in new tabs, for "moving through the site at superhuman speed".


What's the alternative? Why does DO have a captcha to begin with?


captchas make sense when you want to keep spammers out of your comment section. For logging in to an account though, the best alternative is really to just do nothing. Maybe rate limit connections that send bad logon attempts.


That's why I'm asking. Why did DO implement it for their customer logins?


Jira is my daily nightmare. I guess the "no CTO was ever fired for choosing SAP" applies to Jira too. It just does the opposite of that it tries to do, which is making development tracking easy (not to mention those silly ideas coming from agile coaches to use Jira to measure wrong things, which makes of it a horrible combo).


IME, Jira makes development tracking easy, at first.

But then, when software developers realize how much Jira gets in their way, the good ones do their best to avoid using it. Which results in Jira being a great tool for middle-managers to query a very stale database.


Or it becomes a performance piece that mostly says what the developers want to say, rather than the truth.


Not to mention how horrible Confluence is, which is a product I can't believe how strongly it's advertised as a life saver. Any editor I've tried is way better. (Every time I have to "insert macro > other macros > code > choose title > choose syntax highlighter" just to document some code it just makes my life more miserable.)


I agree Confluence is a pain to use, and pages with a lot of info or a lot of macros can been nearly impossible to edit because of how slow they are.

On your point about inserting code blocks you should be able to type `/code` and hit enter. If you’re not using the newer version or a page with the new editor, I think you type `{` instead of `/` but it’s been a while since I’ve used that one.


In the old issue view, you can type

    {code:java}
    ... some java code
    {code}
to mark off a code block, and to use Java syntax highlighting (for example).

That's when you are editing in "raw" mode, which, incidentally, I haven't been able to discover how to do in the New Issue View (which I finally discovered how to turn off, that is to say, switch back to Old Issue View, globally -- it's under account settings, yay! The "New Issue View" is a lab setting you can turn OFF.)

You can also change an issue from the new view to the old view by selecting "switch to old view" from the More menu (three dots).

I have to say, it's painful using Atlassian tools after having worked with GitLab for 5 years... I miss being able to use standard markdown in Issues, and editing the Wiki using Git/vi instead of in a text box in a Web browser, with strange markup.


So what is like Jira but good?

I use jira at work and I like it.

But our use case is maybe more limited/liberal. For us it is:

1) list tasks to do and how tasks are linked

2) archive discussion about issues and integrates with butbucket (so in commit it will link to ticket to read about why something was done; similarly from issue discussion I can see the relevant commits; this also goes well with history either by looking to linked issues or blaming in git and getting issues that resulted in the commits)

3) enables pointing other devs to something (I did some partial task, need help, I assign or cc someone else, they contribute to the issue as appropriate and then hand it back). Helps ensure all relevant discussion is centralized and persisted.

What we don’t do is use it as an explicit performance/formal sprint tool... there is no middle manager questioning me about something I wrote/didn’t write in jira. is this where people start to hate it?


My experience with bug trackers is that people hate them no matter which one you choose. The infinite list of stuff you know is broken or sub-optimal crushes the spirit. (Jira is particularly bad, because it is slow and complicated, but switching to simpler tools doesn't make that underlying problem go away.)

When people complain about bug trackers, they probably need a new outlook on work. They need to aggressively prioritize tasks. They need to be in a mental state where they're happy working on the highest priority thing, not the most interesting thing. You can't get there by buying a new tool for $9.99 per user per month. You probably need a vacation.

At my last job, we switched from Jira to Github Issues to Asana. Each tool had the same problems -- bugs were filed faster than they were fixed. I am personally okay with that -- I know that most of these things will never be done, but it's nice to park the idea somewhere. But to others, it's crushing, and although people will complain that they don't like Jira's UI, what they really hate is that realization that they will never "finish".


Spoken like a true manager.


Ah yes the engineering nirvana where no-one is a manager and targets don't exist..


Aka a well-funded startup with no traction


I think its influence on the organisation is what makes it hated. Where I work we spend so much effort and time setting up filters and rules, creating dashboards and health checks. The CTO becomes irate on slack if a sprint is started without all tasks having story points.

Whenever someone suggests we use another tool, it's immediately rejected unless it can be integrated with the atlassian suite. So if we want to run some kind of vote for understanding how our technical debt affects different parts of the project we can't use a specialist (free) Condorcet app, such as this https://civs.cs.cornell.edu/, we have to use jira's voting system.


You'd probably do great with Gitlab then. It lacks some features of JIRA but the ones it lacks are mostly what you don't use. But it's interface and simplicity is a joy compared to JIRA. Literally everything is keyboard driven via markdown and built in actions in text. The API is simple and crazy powerful.

NB: Not associated with Gitlab the company in any way.


In my experience, you can do all that on github directly, with the benefit that everything's closer to the code. I presume Bitbucket has comparable functionality. Jira is just another tool on top that doesn't add anything unless you're doing the perf tracking bit outside the team.


I use github as well (but never just bitbucket), I feel jira provides a better coordination/overview functionality, although I agree in most ways they are convergent. Part of it is our jira covers multiples related projects/sub teams/independent repos in ways I don’t think github can do seamlessly (but I never worked on a big project on github so maybe it is just my limitation)


Clubhouse.io

Jira recently overhauled their UI to make it more similar to Clubhouse, but it still isn't as good. Jira is still slow and buggy. Clubhouse also has seamless integration with Github which makes it feel like I am using GitHub issues when tagging PRs, etc. There is also a BitBucket integration, but haven't used it. To me Clubhouse does something that no other similar tool does: make PMs and engineers happy.


Pivotal Tracker is okay.


Agreed.

Jira can do many things. Or so I’m told. I just don’t think it helps me as a dev.


I think for the most part it works well, it just has frustrating quirks like sometimes not being able to save comments (what the hell?) or attach images. Having said that though, the user experience is also really laggy... I think if it was faster it would be less frustrating


If you think Jira is bad you should see Remedy.


I still have flashbacks to the year I spent with Remedy.

And then my current company picked up SalesForce.... It's like relieving the horror.

JIRA is terrible to manage and it's permissions system is rubbish but it does issue management okay.


Dropbox. I've used it for a decade, but now it's slow, bloated, and takes over CPU and memory like there isn't a single other program I need to run... and I was paying $20 for the privilege.

But a few weeks ago I switched to Syncthing[0], and it's the best software transition I've ever made. Opposite of everything Dropbox is now: fast, simple, and I don't even notice it running in the background. Seamless setup, and FREE. (So good, you're gonna want to donate anyway.)

[0]: https://syncthing.net/


Dropbox may be unwieldy, but the document version history has been a lifesaver.

I'd love to find something for an environment where there are many people (many uncomfortable with technology) sharing a folder full of code, documents, and media for a project -- something that acts as a robust safety net. OneDrive is ok but has failed us multiple times (failed to upload, failed to sync, filed to notify).

Can Syncthing handle anything resembling an enterprise (ok, enterprise-light) setup? The last time I tried it on Android (~2 years old), it was painful, and that was just for my own personal backup, not a shared environment.

Thanks


I've been looking into a few of these (need to replace keybasefs before zoom kills it)

- syncthing does one thing well. However you need to be your own server admin. Which is great if you are or your company will do it for you, but I don't want to do it for my personal stuff.

- syncany is exactly what I want, but it didn't get out of alpha, the team apparently didn't make money and have stopped maintaining it, and it still has some scary bugs, although probably my needs are somple enough that they woulnd't be triggered.

- cryptomator looks good itself, but you need something else to do the cloud storage part, which ideally supports webdav. Unfortunately the davfs2 crashes my linux box and the other alternatives don't seem to be much better.

- nextcloud and owncloud again want you to be your own server admin

- the guys benind tahoe-lahfs have a reputation for solid crypto and reliability, but it is complex to run. privatestorage.io were going to do a managed version, but it doesn't seem to have materialised yet.

- There are solutions like internxt and ipfs where everyone stores everyone else's files. I'm not sure I trust that not to go down without warning.

- proton are supposed to be coming out with a protondrive, which hopefully will have an open source client, although locked into them.

- There are proprietary ones like tresorit and spideroak, which have closed clients. I may have to grit my teeth and use one of them.

- A bunch of others I didn't evaluate yet.

What I want is for someone else to do the server admin part (availability and backups), but without my trusting them with my keys, which I only use with open-source client code. I don't mind paying a reasonable amount, but apparently this is hard.


Syncing doesn't even need a server if the devices you're using are online at the same time.

I just switched to it from Dropbox.


Yeah, I get your point - I'd like someone else to do the backups, though.


What are your thoughts on box.com and rsync.net?


The main reason I use Dropbox is to just have a cloud backup of all my files so I don't lose anything. It doesn't look like Syncthing serves the same purpose, and syncing files to AWS S3 is also a lot more expensive than Dropbox. (2TB costs $46.99 on AWS S3, vs $11.99/mo for Dropbox.)


I hate Dropbox for different reasons, and switched to ownCloud about 4-5 years ago now, I think. Running it on Digital Ocean, and backing up to Tarsnap. Absolutely love it. I get that it's not for everyone, but it's really not that hard either.


What’s the verdict between ownCloud and NextCloud?


I started using ownCloud before Nextcloud was forked, and NC seems to have evolved to do much more than just file syncing. However, I don't care about any of that, so I didn't see any benefits in migrating. I actually like that OC is focused on file handling. "Do one thing well" etc.


The problem with Syncthing for me is that there is no bi-directional syncing on Android if your files are stored on an SD card. You need to resort to rooting your phone or messing with a bunch of hacks to overcome this issue.

Otherwise, its great.


That ain't true: just create your sync folder in your sdcard under Syncthing's application-specific folder, e.g. /storage/014A-7323/Android/data/com.nutomic.syncthingandroid/files. It is mentioned in the faq and works great for me (two way sync).

I'm using a Moto g5 plus phone with android 8.


I tried using Syncthing to backup my two kids Windows 10 laptops C:\Users\user folders to a home machine but found, it was always chewing CPU in bursts and making the fans whir.

I tried adding ignores for parts we didn't care about so much and fiddling with various settings, but it was still quite problematic.

Although I would prefer an open source solution, I'm looking at trying Resilio Sync next.


Windows 10 is constantly writing to the user profile directory, including the registry hives, temp/cache folders, and telemetry. Syncing the entire user profile directory turns into an never-ending battle of excludes for files, some of which exist only for seconds. Instead, only include the folders (Documents, Music, etc.) that you need to sync, and you will be much happier.


My problem with Dropbox is the client would silently fail and stop on my Windows boxen. As this was easiest (UI-wise) way to share docs quickly between my wife on her windows box and my various Linux/Windows boxes, this was a deal breaker.

Also moved to Syncthing. And equally happy.


Haven’t heard the term boxen in a long time :) any chance you were part of the Distributed Computing/[H]ardOCP community?


Not in any meaningful sense other than being involved in computing when that was a thing. (eg: "I'm old".)


Have you tried FreeFileSync?

It has an automated component that routinely syncs directories, eg. to a remote target if you map via sshfs


What's your plan for off-site or cloud backups?


Not OP but nothing prevents you to configure Syncthing with a VPS.


True, but syncthing does not encrypt at rest. There is an open issue about it [1], but it appears that the assumption that you want to personally control all the machines you run it on (and therefore can trust the admin of those machines) is deeply embedded in its architecture.

[1] https://github.com/syncthing/syncthing/issues/109


Workplace from Facebook.

The company I work for uses this for internal communication. Workplace is basically the same Facebook and Messenger, but tweaked for a private group of people.

The problem is that, because this is basically the same Facebook, it is designed to keep you "engaged". It uses all kinds of patterns to keep you addicted to your timeline and search for attention. Rather keeping you informed with the important topics, it distracts you with a lot of irrelevant stuff. The algorithm will always show you something that keeps you scrolling. Huge time waste.

The motto of this software is "Bring your company together". And it works exactly as Facebook's motto, "Bring the world closer together", in the sense that it does exactly the opposite. The software has all sorts of mechanisms to generate controversy. Because controversy is what ultimately drives more engagement. Reactions, memes, notifications. It makes you fight with your colleagues about silly things, and it makes it really easy to derail any sort of constructive conversation.

Imagine having to try a technical conversation in this platform and then people are allowed to "react" with an angry face or a silly animated GIF. No argumentation required. And those reactions will bring more reactions. And in those rare cases when some meaningful discussion actually happens, then the thread is quickly buried by the constant stream of new things.

If your company is considering this, avoid it like the plague.


+1 to this. I worked at FB for a few years and Workplace is just Facebook re-skinned. My big gripe with Workplace is similar to what ceronman says, it is essentially engineered to create meta-work. People end up using it to self-promote every little thing that they do to get visibility and this leads to it being incredibly noisy and really filled with information that isn't relevant and important things get buried under all of the filler. The only real upside to workplace is that I think it is better for Q/A groups than something like Slack is, at least for larger companies.


I cannot express, how much I hate it. I mean, I don't really see how the last line of your comment is relevant, since it was never up to me what the company I work in would choose as the internal tool for communication, and I was pretty vocal about my disdain for it from the day 1, but that software is just trash.

And I don't even see the need to delve into all that "philosophy of communication" and "culture" you are talking about, the chat itself is just the most inferior one of all I've seen since early 2000's, and I have to use it for daily communication, it's maddening. It lacks the most basic functionality you could expect from a messenger in 2020.


Windows. Not windows applications, but windows itself. Completly incoherent user interface. Impossible to find anything. The wifi dialog in the systray, the new windows 10 wifi control and the old style network interfaces dialog often show conflicting information. Neither of them works. Have trouble with bluetooth (of course you have, it never works)? Windows is kind enough to hide anything bluetooth related so you have not chance to do anything about it. The Start menu. Not only full of ads, but also completely insane. Type word X. add a character. Press backspace. Get a completely different result. Entering notepad.exe works. entering notpad does not. Enter "visual", find no results. Enter "visual studio" et voilat. Ads in the explorer. And the list goes on and on. It's full of nuisances and inconsistencies.


Came here for this. It's a visual mismatch of varying Windows versions, from modern 10 all the way to some pieces still having a Windows 95 icons and layout. Why such a wealthy company can't afford to get every part of its OS updated in 25 years is beyond me.

The file Explorer is sometimes super slow (especially when dealing with media files, which it insists on analyzing first before displaying their folder), hangs on some FLAC files and frequently crashes.

It somehow can't handle pretty standard media files (again some standard FLAC that work everywhere else, variants of H264 or H265, etc.)

The networking works when it wants to - I still struggle to swap files between two Windows 10 systems on my home networks (one always can't see the other machine, and when I move files it's slow as molasses despite having blazing fast Wifi).


Yes.

Work: Win10 fails to manage windows - doesn't remember where they go, can't reopen a set on startup. Don't allow pinning above other windows anymore. Opening a Word doc maximises the other 4 Office windows I have open and makes me spend time shuffling Windows around. So frustrating. There are 3rd party fixes for these things but work doesn't allow that, be nice if they just weren't broken. Win10 as a window manager seems very limited.

Home: For me the sound settings are weird there's no simple way to choose two outputs (headphones and speakers). I have to use a third-party app to make the volume range over 0-100 rather than 0-1 (1 is too loud, 0 is off). Adjusting mic settings is stupidly complicated, why isn't there a slider in with the output slider in the system tray (as I'm used to in KDE, and I swear they used to have in MS Windows?). Some apps it won't let you start as admin from the Start menu, but that works fine from Explorer, urgh.


In my experience, I frequently launch the Visual Studio Installer instead Visual Studio itself because of the bizarre way the start menu does searches.

Meanwhile it finds my portable Postman install no problem, even before I'd ever run it. I don't get it.


Additionally, it is easily to screw up big with mouse accidents, whether on explorer or dialog boxes. It's so easy to grab the filename of something else while saving, even when most of the time, that is not what you want to do. And I've also experienced accidentally moving files and folders just because of a slip of the mouse.

While, not on Windows alone, and I doubt this will change, I also think that close and maximize buttons on the corner of windows are too close that I had accidentally closed web browser windows many times. Of course we can just use shortcut keys, but I don't think that fixes root of the problem, and I am also now immunized on how window border buttons look that it might look aesthetically unpleasing if we depart from how it is now.

Many other software also suffer from this design quirks where buttons with very opposing outcomes are somewhat too close to each other, that you need to slow down and be careful.


Atlassian's Jira and Confluence. Why?

Their search capability is just bad. To find something requires a lot of tries and tricks. I don't want to waste cognition because they re-invented the flat tire.

Their inbrowser text editors are also just bad. On the level of WordPress three years ago. Markdown? no. Cut and paste from other apps? OK, if you remember to "Paste as Plain Text.


Confluence... I was floored when I realized it can't support duplicate page names in separate page heirarchies.

eg. You can't have a page called Engineering > Electrical > Test Procedure and another page called Engineering > Mechanical > Test Procedure, because the two "Test Procedure" pages are considered as occupying the same namespace.


Yeah... this pissed me off. - I end up using prefixes (so "Mech - Test Procedure"

:@


> I don't want to waste cognition because they re-invented the flat tire.

Fantastic metaphor. It just got fast-tracked into my personal lexicon.


I worked on a Trac-based project long ago and I thought for sure when I moved on it would be to greener pastures. But it was simple and if you used it certain ways you could get a hell of a lot out of very little.

Its biggest problem was that the parse and display code were entangled (same problem I had with AngularJS), and it made writing addons an exercise in re-implementing features of the parser over and over again. But I heard they fixed that quite a while ago.


Google Drive.

I have no idea how a company with a search background produced software where it is impossible to find something.


It took me years to realise that GDrive searches by file content by default instead of file name and that I need to prefix my search term with 'title:' to be able to find what I want. Now I just use their API to list all files in the terminal and then I just pipe it to `grep`. This way I can search using regular expressions.


You probably just saved me a good 15min/week! Never knew you could toss “title:” in there.

Thank you!


`source:domain` is also useful for organisations, when you want to search not only files that you've opened, but everything public or visible to you in the entire org (or at least that was the case ~a year ago)


type: is another handy one if you know you're looking for a specific file type.


Same for me, I only realised about 5 seconds ago


TIL. Thank you!


wat


Everyone one of these cloud storage services (Dropbox, Box, Drive, iCloud, S3, OneDrive) has adopted the same mental model of file storage that computer systems from the 80s devised to mimic filing cabinets. Namely: folders. I think a folder hierarchy has some value but they should really all be using a tagging system instead. Orgs tend to have multiple hierarchies based or org charts, projects, disciplines, timelines. Being able to tag documents across all or multiple would make browsing to the right document less of a maze. And make search more accurate.


Tagging is hard from UX perspective, this is why it does not exist yet. Tagging system is at the core of Windows Vista failure, the promise on which Microsoft has never delivered.


> iCloud

Don't forget that Finder has customisable tags which sync perfectly across iCloud. They are a top-level browsing option on the iOS Files app. Probably you were thinking of something more tag-first but it does exist. :)

Personally I really like the file/folder model because I can sync the whole caboodle to my hard drive, copy it to a USB backup, possibly transfer it to another operating system, knowing that I've captured the whole story.


Except iCloud Drive file sync engine itself is not reliable, I lost so many edits and files in iCloud drive that I had to stop using it entirely and go back to rsync.


S3 is a flat object store. It has no concept of folders or hierarchy.


It has a prefix index so it does indeed have the concept of hierarchy.


Only if you think that prefix-matching implies hierarchy.

Are `invoice_2020_10_1.pdf` and `invoice_2020_11_1.pdf` children of their parent in the hierarchy, `invoice_2020_1`?


You used to be able to put files and folders in multiple places in google drive. It was either removed or made a more obscure feature because I can’t find it now. I suspect it’s too confusing to maintain long-term, leading to what appears to be buggy behavior.

I handle this by making a google sheet for a project with links to the main files, many of which inevitably are cross-referenced to other projects or standards. It works well enough, and has a killer feature: if you move or rename a file, which I do all the time if documentation is refactored, the link doesn’t break!


Selecting the file and using Shift + Z should do the trick. Though it's been a while since I did this.

It's really annoying how you can't easily make copies of directories anymore. They just create "Shortcuts" instead which act like symlinks. People though they were copies though and damn did we have a lot of accidentally deleted files these past few weeks. Also, their file recovery UX sucks.


I hate the tagging ux in gmail. I would consider it in Google drive but I doubt I'd like it there either


I love tagging in Gmail, I use it extensively along with the important/not-important and all the different colored stars. It's allowed me to almost completely automate my email processing by bucketing everything into colored tags with auto-filters.


google drive isn’t hierarchical and the folders are just a decoration


This reminds me of the cancelled WinFS project.


Almost the entire G Suite (sheets, docs, slides) - except probably for gmail -sucks.


Curious why?

I rely almost exclusively on search within Drive and it works pretty flawlessly. What's the use case for you that's failing?


I recognize this is totally anecdotal, but about three times a week I have to ping the team asking "where is this doc that I know exists, but can't find?"

Usually I'm searching by filename or for keywords that should be in text. I believe it's an issue with how documents are ordered in folders; Some documents (in personal folders?) never come up in search, etc.


try cloudsearch.google.com

It encompasses Drive, Mail, Calendar, etc.


It’s really hard to search by file extension...


WhatsApp. The desktop version has very few features, requires constant connection to a mobile phone and gets out of sync very often. It's practically irremediable if you're in a crowded wi-fi area and ethernet is the only way to get a good connection. It's also designed so no conversation is ever private despite advertising it's E2E encryption. Everyone you talk to has automatic backups enabled and they're stored unencrypted in Google Drive. And the "two step verification" password is the one of the dumbest things I've ever seen. It must be a 6-digit number that requires you to type it constantly in order to remember it. It basically assumes people are too incompetent to use password managers or simply writing a password down. Passwords you can remember are never safe.


The most annoying thing is that you can’t just message a new phone number. You have to create a contact and then add their phone number to that contact, close the contact app to go back to WhatsApp, press “+” again, search for the contact you just made, select it, then start typing. God forbid the phone number is entered wrong and you have to go back into the contact app. Meeting someone in a bar/club (outside the US), it’s a 3-4 minute process with a high error rate. WhatsApp, let me type a phone number in directly into a new message!


You can get around that using a special "https://web.whatsapp.com/send?phone=[..]" and/or "https://api.whatsapp.com/send?phone=[..]" URL. I think the web. URL only works with WhatsApp web and the api. works on phones, but I'm not 100% sure (I typically use WhatsApp Web myself).

I have a simple form on my website to make that a bit easier: https://www.arp242.net/wa.html.


Doesn't completly solve your problem but you can start sending message to a new phone number using an url. [0]

  https://wa.me/{target-number}
https://faq.whatsapp.com/general/chats/how-to-use-click-to-c...


That’s weird, I use WhatsApp almost exclusively (in the browser) and the desktop version is a joy. Never had syncing issues - in fact it syncs instantly for me.


It syncs very well for me, too, but there are missing features (for example, you can’t post a status on the desktop).


WhatsApp status is one of those things that honestly you could drop and 99.9% of people would never notice.


On macOS desktop, WhatsApp crashes at least once per day. Pretty annoying.


One of the worst apps I use regularly has to be Google Play Music. The UI is horrible enough, but it also randomly deletes tracks from my library - including my own tracks that I recorded under my own name. And sometimes the tracks will show up again randomly. The worst is when tracks don't show up in my Songs list, but if I put it on shuffle, these tracks will start playing.

I don't know what's the status now, but Spotify India had too small a library when it was first launched. Otherwise I would have made the switch


YouTube music makes GPM look amazing


What? I very quickly switched to Youtube Music over GPM because its Android app was much more responsive. In the beginning the UX was also the most intuitive for me, but it seems that in recent updates they randomly add/remove some of my most used navigation options like "Go to Artist", which is annoying.


I tried briefly to put all my music in Google play (years ago, now) and had a similar experience.

It was terrible, and I felt like I couldn't find certain tracks very easily. I wasn't sure if this was accidental, or not. Do you know why tracks are deleted from your library?


I had no issues with disappearing tracks, but Google did helpfully replace much of my uploaded music with the "censored" versions, asking me to re-upload songs it threw away. Thanks, I'll go dig up that hard drive any day now.


I recently switched to using a self hosted Ampache instance from Google Play music. The UI is pretty bad, but it's quite customisable and dsub works well enough on Android.


oh man and the recommandations are so bad


recently gotten worse, it's started giving me a huge list of top 40 stuff that doesn't jive with my tastes

and on the web/desktop version you only get like 4 recommendations, but the mobile gives you a whole fistful.

seems like abandonware mostly. too bad its replacement (youtube music) is complete garbage. the web version can't even cast.

somehow at google we went from "mobile first" to "mobile only" and i guess only old guys like me care? it's just terrible. the new google podcast web interface also does not support casting. i'm not sure how one wing of product managers at google can't talk to the other to make sure their products just support basic standard google media infrastructure?

i tried spotify and it was also terrible. so not sure what to do.


Also try Apple Music.


Apple Music on iOS os fine. It’s terrible on macOS. Every action feels like quicksand.


It's implemented as WebViews with Ember.js inside, it's not built with the native macOS UI like everything else in the app so there's always fundamental incompatibilities (like no click-and-drag between Apple Music and your playlists).


JIRA.

The most complex simple system I used. Simple in theory (Project Management) but complex in implementation.


Not to mention it is slow as molasses(on the cloud at-least) and the UI is unwieldy with way too many clicks required for the simplest of actions.

I am sorely tempted to build a frontend so that I can avoid wasting so much time on it. Just a better frontend not yet another project management tool that will not be bought by management.

I don't understand the slowness at all, even if their backend and architecture is Fubar to fix at this point without massive work, they could have handled it in UX with non blocking loading states, backgrounding actions which were slow etc?


Ran across https://getbodo.com a while back. Dev is a really nice guy and cares about improvements. I think it has a long way to go, but what software doesn't.


I would pay good money for a Jira CLI, preferably with an ncurses UI to make it easy to navigate.

(Edit: also, every program for managing Bluetooth devices ever made.)


There is go jira cli https://github.com/go-jira/jira not sure how good it is


JIRA is heavyweight, but I've never been remotely satisfied with any of the competitors. If your team is more than 5 people or you have multiple teams, you're absolute going to need all that sophistication from JIRA. If you ask me what's the worst piece of software I use every day today, it's Asana.


This just isn't true. We have a bunch of teams, all on Jira, and none of the inter-team coordination happens via Jira, mostly because One Size Fits Nobody. We're not using much that's Jira-specific for the intra-team stuff either.


> If your team is more than 5 people or you have multiple teams, you're absolute going to need all that sophistication from JIRA.

Can you give more detail? I've been on larger, successful teams without JIRA, and every time JIRA was introduced it was a net-negative for real productivity.


ClickUp


Slower than Jira in my experience.


Not sure why people do not use Redmine more. Its totally awesome, free, cross platform, stable as much as software can be, can run hundreeds of projects, thousands of users without a glitch, and OTB is trivial to use. With plugins it can be anything you want.


I use JIRA for personal projects and at work. It's coming to the point where JIRA is so slow that I'm willing to invest the time to migrate my personal projects over to something else. If I simply want to add a label to a ticket it can take an unreasonable amount of time. It's mind blowing when I'm paying a decent amount for seats.


I can't even vaguely imagine wanting to use JIRA for personal projects. Doesn't it need a license?


Jira and Graylog compete for the top spot in the list of software with search functionality I’m too dumb to use properly.


Yeah, you need to master JQL to be able to find anything. Once you do that however (and once it's configured properly) Jira is actually quite enjoyable to use. I had a couple of episodes with other issue trackers and I always missed Jira.

And since we are complaining about search feature I must mention Confluence. Like I've said you can query Jira with JQL but in Confluence you're out of luck.


Yeah, JQL is the key, and they do a good job with suggestions and completions in the query editor. One of the few parts of the Jira UI that I actually think works pretty well.

Don’t get me started on editing workflows...


The main problem with Jira is inexperienced admins deciding they have to use all the bells and whistles all the time.

Replace your IT team before you replace Jira.

My Jira experience is that I couldn’t live without it.


It amuses me that the applications meant to promote agile work practices are presumably written in an agile environment, are almost universally shite.


It is really, really hard to do better than a whiteboard with some cards on it.


Unless you need any sort of traceability, discussion with other stakeholders, support for remote employees or resiliency against a gust of wind.


Yeah, it breaks if you've got bugs in your org.


So... Trello.

No wonder Atlassian bought it.


Agree. Way too slow and too many clicks. Ajax loading is so annoying when its slow.


And they don’t seem to prefetch anything. Why aren’t they loading my labels, team members etc in the background as soon as the main data has loaded, so they’re ready to go when I want to edit a field?


I'm not sure it is worthy of the rewrite requirement, however. It doesn't seem to offer any functionality that is actually useful, save giving some people jobs pushing boxes around.


Jira was a complete nightmare at my last position. I am still convinced it was the PM's poor implementation so they would have the box pushing job. Everything was customized and it took me weeks to learn the workflow.


My vote would be for ServiceNow, which makes even the most complex Jira install look simple and user friendly. But it having used Jira since not long after it came out in 2002 it’s really depressing how bloated it’s become - the first versions were really great and far from what it has evolved into.


And there is the on prem and cloud versions. And they are not feature matched.

One of these days I want to look into setting up Phabricator.


I moved my small team to phabricator after a couple years of using GitHub and Asana. We all loved phabricator from previous companies.

Not only was it really easy to set up, but I think we all enjoy our tools a lot more now too. I still contend that phabricator rules the code review world: nothing else is as good. The projects feature feels just as good as Asana but without the slowness.

We do still use GitHub just as a dumb master (phabricator imports from it), but I’ll likely invert that soon enough to use GitHub as a mirror.


Interesting, as I have the inverse experience with Phabricator (and the related tools in that ecosystem like arcanist). I don't like it, and nobody else seems to like it.


What don't you like about it?


> And there is the on prem and cloud versions. And they are not feature matched.

This is my daily nightmare. We’re building a competitor to Jira [0] so naturally we want to allow people to import their issues from Jira into our tool. Integrating to Jira cloud is a reasonably good experience. But Jira server? Total chaos. We needed to dig up an ancient OAuth1 implemention just to get users authenticated and it didn’t get any better from there.

0: https://kitemaker.co


There's this software that one of my customers use called SAP Fieldglass. Fieldglass was a separate company and sold for $1B and it might be - and I'm not exaggerating - the worst software I've ever used, pretty much ever. But the reason is interesting. It's designed as enterprise compliance software and nobody enjoys using it. The enterprise managers hate it. The vendors hate it. The contractors hate it. The finance team hates it. I can't imagine anyone enjoyed writing it. The UI is unintuitive and self-discovery is practically impossible. It's so bad that companies have resorted to making Youtube videos on HOW to take repetitive actions inside the tool. The system is so anti-success that part of me wonders if this is done on purpose; to delay any kind of payments to vendors / etc.

The best part is it doesn't _do_ anything itself. It's just a workflow system for dispatching operations to different systems and teams. It will create an invoice in an existing finance tool. It will issue a ticket to create a physical badge, etc.

Anyway I think that's a massive opportunity, if that's what you're looking for.


Oh god yeah — fuck Fieldglass.


Android on my TV: (keeps crashing, internet sometimes not working, sound volume usually is wrong, etc.)

Nvidia GeForce Experience: I don't actually use it daily, because it doesn't work. I have not been able to start it for the last 6 months without getting a startup error. I contacted Nvidia support, reinstalled, downgraded, updated, problem is still there. The tray icon always shows when there's a new update, but I have to manually download it.

Google Chrome: Whenever I ALT+TAB back to Chrome it freezes for 1 second. It could be one of the extensions I use, but never found the cause. Google's own note-taking app, Google Keep, was crashing the browser on Google Chrome: https://support.google.com/docs/thread/9482426?hl=en


> Nvidia GeForce Experience

My god what a bad experience... to update my graphics driver I am first forced to log-in which would be bad enough but then also solve two captchas and then for some reason these frequent driver updates are multiple gigabytes in size. I have no idea what the hell they are doing.


Ehh, this isn't really true. You only have to log in once (not every time) and the drivers usually clock in at around 600mb, not multiple GBs.


I boot up my windows machine maybe once a month; I'm not sure what the login timeout is, but it seems to be at most that. I always have to log in. My password is something like "fuckyounvidiayoupieceofshit".


That's brilliant, my username has been "fuckyouidontwanttologin" since they started requiring a login a few years ago. I had to create a separate account to post bugs in the forums though because the username was blocked.

And what's the deal with the captcha during login? I sort of get why some websites require it to login, but for software installed on Windows? Do they seriously have that many bots running on Windows trying to install drivers? Is that even a thing?


What a coincidence. The email I used to sign up for GeForce Experience is nvidiaisshit@mydomain!


Yep, same. I dual boot and only rarely use Windows.


Last time I downloaded factorio it was ~300MB. I think you'll find entire Linux distributions including mesa + Intel and AMD GPU drivers fit in 600mb of data.


Yeah, sure they're large. And they're a lot smaller on Linux. But 600mb is not "multiple GBs".


I say gbs because (not checked recently) they were cached so your nvidia driver folder would be 10s of GB in size. For a driver!


The drivers are an insignificant fraction of the 600 MB. Most of the 600 MB is an entirely new copy of GFE being downloaded every single time, and most of that is the damned advertisements.

Thus just makes me hate anything to do with Nvidia.


I've wasted too much money on Android TV. I bought 4 little android boxes. The best of them being Mi Box S

In the end I caved and bought an Apple TV 4k. I'm just sick and tired of how laggy android tv is, it's lagging on TVs that ship with it, it's laggy on little android boxes, it crashes often, if it's not crashing the apps are.

Apple TV 4k is super fast and never skips a beat, never crashes, just wish it wouldn't flick to the Apple TV app when I want to go back to app screen.


You don't need GeForce Experience. All the tech is in the base driver, Experience only adds social features. Uninstall it, it's just a vessel for advertising.


My DAW (digital audio workstation) seemed to have fewer audio stream dropouts once I got rid of GeForce experience.


If you just need the driver and don't care about the fluff, you don't need GeForce Experience AFAIK. Same for Adrenaline.


I actually liked their in-game overlay and ShadowPlay for making quick screen captures. Also their auto-optimization for games (set some better default game quality settings) was useful a couple of time. Also, the one click to update the drivers is better than googling for new drivers, downloading, installing.


You don't need Experience for the overlay. I only have the driver and I was playing around with it yesterday.


Forgot to ask, maybe anyone knows a fix for the GeForce Experience error code EROR CODE: 0x0003. It just crashes on launch, even after clean reinstall and driver updates.


I'm partially joking here (but not entirely) - Nvidia support will likely give you the standard Microsoft forums answer after exhausting all other copy/pasted "solutions": reinstall Windows.

Also while we are dumping on Nvidia here, why does the 2080 Ti with 5 outputs only support 4 active at one time, while the 1070 Ti could use all 5 ports at once? I paid considerably more for a faster card, yet I'm more limited. Support basically told me "it's too much bandwidth". I guess I can't complain too much, at least tech support has some actual humans replying to emails (albeit the first 3 emails are copy/pasted).


I disagree about Chrome. It's absolutely not perfect, but considering its sheer complexity - browsers are probably comparable to an operating system at this point - bugs are fairly rare and performance is quite good.


Considering its sheer complexity its is indeed well-executed. I just wish I didn't need something that complex to read a document on the internet.


You don't! I switched to using links on the linux framebuffer and it rocks. Yea, there are a few sites that I have to pop over to X and Firefox, but for the vast majority of web sites that I visit, including this one, it works like a charm.

And it's lighting fast. Trully stunning. 10-20ms to render on a circa 2008 thinkpad.

And it's pretty good straight C, and very hackable, and only around 70,000 LOC. First thing I did was join it with guile and write a bit of glue code and I'm now adding features to it faster than you could git clone firefox, let alone begin to read its code.


A large fraction of HN stories are articles on nytimes.com. How readable is a typical page on nytimes.com in links?


It's great. Loads in less than a second. Text and images. Never have to worry about popups.


I mean, modern websites do a lot more than display documents. They're certainly bloated, but they increasingly need to "do everything." Normal people do so much of their computer usage in the browser that it could probably _be_ the operating system and most people wouldn't lose any functionality (see: ChromeOS).


I agree, but Windows for example is also complex. I wouldn't find it acceptable if it froze for 1 second everytime I switched between programs. Complexity is not really an excuse for bugs. If it's so complicated it creates so many issues, maybe it shouldn't be this complicated?


I mean, that problem is hardly common and Windows is definitely full of similar bugs. And I'm not sure it's possible to make web browsers much simpler without losing functionality - the websites they have to support necessitate the complexity.


- GitHub + why do we centralize issues, documents for a distributed version control? + why do we use a a closed source, walled garden to develop free software?

- Git + it's a leaky abstraction. + why do we need to know about the stash? + why is it that changing to a different branch doesn't give any visual clue, even worst it keeps the files I'm working on that are not part of the repository yet.

for an academic treatment of the defects in Git read: What's Wrong with Git? A Conceptual Design Analysis S. Perez De Rosso and D. Jackson. In Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward! 2013)


99% of git usage seems to involve one or fewer remotes. Maybe multiple remotes is just not that useful.


Fwiw, my usual work flow involves 2 remotes, one for the project's mainline repo and one for my fork.


I frequently have 3+. Github/Bitbucket if it's shared there, maybe a original repo if it's a fork I'm submitting PRs too. My server if it's something I'm running an instance of - I like to deploy my personal services via Git pushes. Sometimes a copy of the same codebase on another personal computer or two - if I don't feel like pushing it to Github, sometimes I'll push and pull between computers directly.


- 100% agree about github issues! Not just from the walled garden perspective, but also because you can't quickly grep over all bugs as you can over the code. git-bug seems to be a good step towards this https://github.com/MichaelMure/git-bug#readme

- for git stash: there is a config setting https://cscheng.info/2017/01/26/git-tip-autostash-with-git-p... Arguably should be a default, but then when it fails, new git users would end up even more confused about what happened...


Google Chrome. (I use Chrome because all of the other browsers are even more annoying to me.)

Technically speaking most of the code that seriously annoys me runs inside my browser, but IMO it was never realistic to hope that the myriad creators of individual web pages or web sites would collectively create a good experience for me: my only hope was for the makers of browsers to make choices different from the choices they actually made.

Clarification: the web browser makes a pretty good framework for creating user interfaces, IMO, but it is a bad way for an end user with preferences sufficiently similar to mine to access writing on the internet. Sadly it is the only way to access most of the writings on the internet.

Written documents can be extremely simple: just a sequence of characters in some well-known encoding, but most of the actual documents of interest to me on the internet are essentially programs that require execution in what is essentially a "virtual machine" as complex as any general-purpose operating system.


Google Chrome is constantly creating temp. files that eventually take 40GB+ of one of my drives until it is completely full. Every few months I needed to manually remove a ton of files. It drove me back to Edge, which I thought would never happen.


I do not believe I'm typing this, but I've recently made a switch from Firefox to Microsoft Edge as my primary browser on Mac OS X.

Edge is very similar to Chrome in performance and features while seemingly being slightly better on memory. It also doesn't have the Google's creepiness, as Microsoft appears to be the modern day underdog.

It also supports chromecast, a feature I missed the most in Firefox.

Overall it's a surprisingly competent browser.


Have you tried Firefox?


ServiceNow.

Perfect storm of abysmal design/UX used to represent a bloated and confusing underlying information architecture. It's possible that I'm using an poorly configured version/instance of the product, but good lord, I'll do anything I can to avoid using it at work.


Hi! Designer at ServiceNow. Would love to know a bit more about what you’re going through. Specifically what products you’re having a hard time with and maybe a perspective on what we could do to improve. I’d be more than happy to take it back to the team(s).


Not the previous poster but my experience of ServiceNow is:

It’s slow.

It’s rarely clear which button you need to advance a workflow.

Some buttons take irreversible actions, others lead to further information, and these two types of buttons look identical.

The point about a confusing underlying information architecture is spot-on.

Pages can have multiple tabbed sections which is disorienting.

The approval interface makes it very unclear what you are approving without looking it up elsewhere yourself.

You have to right click on a column header to find the export to Excel option?

Asterisk apparently means ‘contains’ when searching, unlike search syntax in any other product.

No apparent way to search all fields in a list - you have to choose which field specifically to search in.

URLs are long and ugly.

Users are displayed as FirstName LastName, which is friendly and all but there is no way to disambiguate when two users share the same name but have a different User ID - and clashes like these happen all the time in my company of >100k employees.

I’ve no idea how much of this is fundamental to the product and how much is the fault of our configuration. There may be useful features of which I am unaware, but the UI does not invite discovery of these if they are there.


Thanks for sharing your experience. We (designers) don’t often get to hear feedback like this first hand in an unguided conversation. So I really value it.

Your points are super valid, and your last sentence resonates with me heavily. It’s the essence of what my team is focused on improving. Our out-of-box should be as close to ‘great’ as possible. This goes for the most technical implementors, admins, devs... all the way down to non-technical single-app users. A great platform will know how to do this gracefully without forcing the latter through the same experience.

Going to bring these, as well as the other points in the thread, up in my staff meeting next week. It’s relevant to the work we’re currently doing.


Background: I work at a company where engineers use JIRA and support uses service now.

I find basic tasks challenging in your app. A support agent escalates to developers (i.e. me). "Hey, can you look at INC123456". The ticket is not yet assigned to me. How do I find and open this ticket? The support agent can send me a direct link, but there's no apparent relation between any of the query params and the ticket number, and also no obvious UI element in which I can put a ticket number and navigate there. When I navigate to the ticket, comments are mixed in with audit entries. The frame based navigation also means I get questions from junior devs on tickets and they copy links into slack messages that just send me to the homepage.


Thanks Macha. Hearing a specific case of pain points is very helpful. I am bummed that things as (seemingly) simple as referencing records, and wayfinding is a hard thing to do in a 2020 interface. It’s the most fundamental thing you can do in our platform, and should theoretically be the easiest.

Definitely going to bring this into my discussion with other design leaders next week.


You can put INC123456 into the search field at top right and it should take you directly to the incident page.

But yeah ServiceNow is insane. Not sure how much of this is product itself or gajillion of customizations.


Top right is a settings gear and help icon for me, no search box. The only search box on the homepage is "filter navigator" which filters the left nav.


This sounds horrible. So badly designed, so divorced from elementary UX that it makes me wonder if it’s convoluted on purpose.


Thanks for speaking up, and for personally caring about your product. But many (most?) of us have concluded that providing feedback at this level tends to have no observable impact.


I appreciate the candid reply. I’ll infer what I can with the comments that roll in.


Seems like all tools in this space (IT service management) are terrible. At work I have to use HP Service Manager. Just thinking of it makes me nervous. Made for bureaucreats by bureaucreats!


Same. We have it at my job (at a very large healthcare org) and I will do almost anything to avoid using it. It's so bad that there are people who avoid it entirely, preferring to use their own instance of some other tracker, who then have an assistant whose FULL TIME JOB is to copy stuff back and forth between the two.


Every time I complain about ServiceNow someone pops up saying "You're just not configuring it correctly". A service that relies on the user to configure properly (or rather, have an in-house expert) is not a good service.


I think ServiceNow is just a form builder with drag and drop. It's ultimately your company that is creating the horrible forms and wizards that they force you to use.


I have nightmares about ServiceNow from my banking days. Requesting anything via it was like trying to solve a weird puzzle - you need to fill every cryptic field in just right, or `computer says "no"`!


It’s a super competitive industry so everyone is bloating their product trying to shove as many features as they can in without thinking how that affects performance. AI/ML is public enemy number one here.


And this is the ITSM system that has the best reputation of them all AFAIK :)


Maven, since the dependency hell and that __every__ single project requires the same ugly boilerplate and yak shaving tasks, worsened if the infamous release plugin is used.

Jira, because it's too slow and bloated from features you never use anyway.

IntelliJ, because it freezes on every 6-7 autosuggestions, on projects of 50-80K LOCs.


Heh, one thing I love about Jira is all the UI redesigns. At some point I was using 3 Jiras for the same project - a public open source one, an internal company one, and another one shared with a customer. All 3 were different (but relatively recent) versions and all 3 had considerably different UI.

They really ought to fire all the PMs who justify their existence by moving menus around.


Surprised to hear this about IntelliJ, have used it for many years without issue on substantially larger projects. Can't say for sure, but your freezes might be a solvable artifact of your setup.


A common reason for IntelliJ to freeze is not giving it enough memory, which causes frequent GC stalls. You can try increasing the max heap by following the instructions here: https://www.jetbrains.com/help/idea/increasing-memory-heap.h....


I gave IntelliJ over 8GB Ram (on a 32GB laptop) but keeps freezing because they say it's a Linux kernel problem in the 5.4 (shipped with Ubuntu 20.04/Mint 20)


I see such issues on larger multi-module projects. A very reproducable example would be something like Presto (https://github.com/prestosql/presto) or Debezium (https://github.com/debezium/debezium).

I've increasing the JVM heap as much as I reasonably could but giving 2GB of Heap to an IDE on a 16GB system seems wasteful.


The only thing wasteful here is paying for 16 GB of RAM and then deciding to arbitrarily restrict your primary productivity tool to using 1/8th of it.


I have seen quite some companies. and everywhere the same thing. intelij once the beloved replacement of eclipse now gives the same experience as eclipse. insane in memory use. constant indexing and slow scrolling ui's. spontaneous hanging and frustrating slow code hints. now I admit that it's also a combination of many tabs in Chrome, using docker etc. hell everything became slower last few years. CPUs just didnt make enough progress I guess.


It’s quite easy to make any JetBrains IDE stall if it’s resource constrained. It needs a lot of memory and a _lot_ of file descriptors.


The worst thing about maven is that you actually have to use it. The Maven Central website is so bad that I still haven’t difured our how to actually find a package, and building/packaging or even just launching JVM manually is so verbose I never want to do it. There are alternatives but they suck even more (sbt => Scala => additional bloated dependency that’s slow as hell, gradle => need to include the executable in every project + worst backwards compatibility ever ... once I spent an hour hacking gradle versions trying to install & run a project before giving up)


> gradle => need to include the executable in every project

Hmmm ... one of the things that kind of made me really stick with Gradle is the wrapper tool that make sit dead easy to bootstrap a build without including gradle in the project. Of course, the first thing the bootstrap does is download gradle, so maybe that's what you mean ... but it's been a small price to pay for me.

There are much worse things about gradle ...


> I still haven’t difured our how to actually find a package

What?

https://search.maven.org/

Type in the box, click enter?


The only reason I use Maven is because there is a lot of copy paste code snippets floating around to get things done.


After you do your first 5-6 projects with it, you'll find how much copy-pasted and repeated list of things you have, especially the plugin part.

And I literally hate that for each plugin it looks like it downloads the world. Why aren't plugins just part of the distribution?

Then comes the fallacy: by default, it uses the .m2 folder in your home one. Just because of this, pretty distracted people literally forgets to rebuild all the code, causing breaking or making useless bug reports/complaints on something not available/not compiling/not available at runtime.

Sure, you can do a lot with it, especially in small projects, but the price is just a flawed workflow on big ones. Their release process is the worst UX ever designed


OSX/MacOS

This should be popular

It seems so aimed at the consumer market, with everything set up to help with integrating with Apple services.

But what about the enterprise features? It is very common for companies to be running Active Directory networks, why do macs work so hard not to fit in? Why not have some kind of AD support for mapping print queues, network drives that kind of thing? Maybe respecting password policies? Authentication via Azure AD would be really helpful too. But the real killer is forwards/ backwards compatibility. Enterprises have long software life cycles which are respected by Windows. You can run VB6 applications from 1999 on Windows 10.

I get so many service desk issues for macs that are resolved by a reboot, and why don't they reboot?.. because they worry that the updates will take 20 minutes.

I hate MacOS. It causes me so much more aggravation than my main Windows user base. I'm currently having to work on printer deployments and MDM's (solved problems on Windows) just so marketing people can look cool in meetings.

I just gave one of them a Windows laptop to try and they noted how nice the PC Office apps are, and how fast their computer was (processor being 2 gen ahead of the current macbook pro)

We have one coder who still uses mac (he supports some old desktop apps that incidentally are all broken by Catalina), and since he mainly targets Linux nowadays he is currently looking at moving to Windows and WSL.

Great home computers, great for individuals, terrible for enterprise use.


> It is very common for companies to be running Active Directory networks, why do macs work so hard not to fit in?

Active Directory is licensed and patented.

You're literally complaining that someone isn't signing up to vendor lock in.


You can write your own app today that authorises via Azure AD for free.

The code replying to you is proprietary, yes, but you are just talking to it over a network not recompiling it!

Since you can choose not to use AD authentication you are not locked in at all. I'm afraid your comment has rather lost me.


Sound like your problems are actually caused by Active Directory being shit and intentionally trying to lock out non-microsoft operating systems. Let this be a lesson to any future administrators. If you have Mac and Linux users, NEVER chose AD.


>Active Directory being shit

I'm afraid this is just cheap nonsense.

Perhaps you could tell us about Apple's competing directory service and server offerings? Profile Manager is it? What server can I run that on?


Hardly surprising, modern Windows is designed for, and sold to, administrators. Users can suck it.


My experience is that users like to have their network drives and printers mapped for them. They like to not have to think about updates. Business users want consistency. Windows gives them that.


If anyone really cared about users they wouldn’t forcibly reboot their desktops in the middle of the day to install updates, which is par for the course in every large organisation I’ve worked in.


That is the administrators choice. You can't blame Microsoft for that. I personally prompt my users to reboot.


> Great home computers, great for individuals, terrible for enterprise use.

That's what they are sold for. You also don't put consumer HDDs into your servers and then complain that they die an early death.


If only you could convince our marketing and graphic design departments of that...


If only Windows could ship decent graphic design software


Photoshop and Illustrator run on Windows. That is what my design department uses. What software do you use that doesn't run on Windows?


Sketch would be one example.


Finder on Macs. I've used a Mac for over 5 years and it still amazes me how unintuitive it is for basic tasks like copying and pasting files, creating new directories, etc.


I've been using it for 25 years but don't seem to have the same problem. Across macOS Finder, Windows Explorer and the likes of KDE and Gnome's file managers most of those tasks are identical.

Copying and pasting are universally hotkey+c and hotkey+v as an example. Creating a directory is context->new in all cases.

Some changes were weird for a small period of a few days, like when moving from Classic Finder to Mac OS X Finder where the priority of hotkeys for new windows vs. new directories changed. Or when in Windows the address bar got a lower priority than filesystem abstraction of user directories (at which point the purpose got mixed). Same with Gnome2 to Gnome3.

I'm curious to see if it's "hard" as-is, or "hard" when you come from one single environment with a lot of experience that is hard to adapt to something that is not visually identical.


Is it possible to cut and paste files/ folders in Finder?

I feel like I try every few years and am unable to do it.


Instead of using Cmd+V to paste, use Cmd+Option+V to cut from the original location and paste. I like it because it lets me postpone the decision to copy or cut until the very end :)


It should be possible from the right click menu like in every other OS, but for some reason it's not. Same for creating directories.


To create new folder, right click in the window (not on a file nor a folder).

Copy paste also works with right click. To move (a la cut), hold option key.

Also hold option key to see "move" menu option under Edit - Paste (Move)


I think it's in the standard system-wide list, let me check.

Edit: yep, it's in the 'common' list: https://support.apple.com/en-us/HT201236

They are also visible by simply clicking a menu or context-menu which shows the shortcuts on the right side at the end. Alternatively the built-in Help is actually usable as well as searching for menu items (click help and the text field will also interactively point to menu items with a big floating arrow when hovering over the search result with your cursor - that functionality works in all native HIG-conform apps, and it is dynamic so it also works when you have stuff like a "history" menu in the menu bar in a browser).


> Copying and pasting are universally hotkey+c and hotkey+v

After a couple decades, I'm still holding out for ctrl+x. Someday, someday...


A few years ago I lost several GBs (thousands of rendered images) when I stopped a long move action midway. I tried to resume the process by just repeating the directory move, unsuspectingly expecting that the existing files in the destination directory would be left alone and new files just would be appended, ala Windows (since at least 95). I was unpleasantly surprised to learn that on OSX "Warning: This action will overwrite existing directory" means the destination directory will be wiped out prior to starting the move.

Talking to other Mac users, this seems to be common knowledge - I guess only Windows users moving to OSX should be wary.


> Talking to other Mac users, this seems to be common knowledge - I guess only Windows users moving to OSX should be wary.

It's common knowledge because very single Mac OS X user has lost data due to this bug that Apple has refused to fix for years.


Is it actually considered a bug? I have heard from other Mac users that it's just normal, expected functionality, as if there weren't any other way.


Please Check Alfred https://www.alfredapp.com


I found alfred to just be bloat after they improved spotlight. I have it installed but rarely actually use it at this point.


This. It’s easier to swap to a terminal and mkdir than figure out where in hell the new directory button is. I constantly paste files into the wrong directory because I’m actually ‘focused’ on a dir that’s one above or below where I think I am. The noise it makes when you paste sounds like an error noise. It seems to take delight in re-ordering my files in random ways every time I open the window. I still haven’t figured out how to simply order the list in date order when I’m trying to upload a file. The whole thing drives me insane.


Learn CMD+shift+N and your life will be complete.

In Explorer, just learn Ctrl-Shift-N.

And alt-up to go to the directory above (cmd-up for Mac). Honestly, using the keyboard for both applications removes a lot of the pain.


I don't mind the Finder, but I do use Path Finder now and then:

https://cocoatech.com


I've been an avid TotalFinder user for years, it fixes pretty much every gripe I have with Finder:

https://totalfinder.binaryage.com/


Did they ever fix that memory leak?


Have not any any leaks lately that I know of.


Try xtrafinder. I've been using it extensively for the last 5-6 years and it's way easier to use than the stock Finder app.


I can’t find anything easily. I am used to moving around by tweaking path ( win explorer). Really miss that


If you know the name of what you’re looking for Spotlight search (cmd+space) can be a quick way to find it. Not always helpful, depends on what you’re trying to do


Cmd-shift-g for "go to path"


any good alternatives to your problems?


Not the OP but I use a shell and “open” most of the time.


Slack: their web UI is ridiculously slow, and I hate how it creates this expectation that I’m online 24/7.

GitHub: we mainly use phabricator now at my day job (which I love love love), but I don’t really derive any joy from using this product anymore. I think great tools are also fun to use, perhaps controversially. I can’t quite put my finger on it, but I find GitHub sort of a drag for some reason.

NodeJS: I absolutely hate dealing with node_modules. My node-based docker images are huge, and that’s after a lot of hand-held optimizations.

Additionally, we definitely avoid a lot of defects from using TypeScript, but its compile time is awful for large projects. I also don’t particularly like the edges: often I’ll hit odd typing inconsistencies from undocumented limitations of TS.

After years of working in the JS ecosystem I sort of hate the complexity in general.


> Slack: their web UI is ridiculously slow, and I hate how it creates this expectation that I’m online 24/7.

Or 'little' annoyances like it being impossible to mute notifications on one device (say, your phone) and not another (say, your web browser).


Or having to go into every single room and its settings to mute @everyone.


Or how the mute @everyone dialog box disables itself it if you’ve disabled browser notifications.


> and I hate how it creates this expectation that I’m online 24/7

Can't you just log off after 5?


Sure you can, but that doesn't change the untold expectation. It puts the work on us to get away from it, and that is no easy!


Only if you have your personal device signed in to your work slack, surely?


If being on the clock is part of your job it should be in your contract. Just sign out after 5, if your boss wants to make it an expectation they can bargain for it.


"we mainly use phabricator now at my day job (which I love love love)"

What do you love about phabricator? It looks interesting, even if it is written in php. (just joking...)


Not OP, but I prefer the paradigm of phabricator diffs over GitHub PRs. It papers over git's inability to have unnamed branches and makes stacked diffs much easier. It also makes it easier to do "no branches, everything is on master" development, which I feel is superior whenever it's possible.


* Jira - over-engineered, unnecessarily complex and utterly slow.

* Zoom - worst video conference product __EVER__. Can't say a single good word about it.

* AWS admin console - same as jira, at least it's not slow.

* VPNs in general annoy me beyond reason too. At this point I use a raspberry pi to connect to the vpn and I use it as an SSH access server (and tunnel respectively).


I use Zoom because it's _better_ than literally any other video conference product I've ever used, and I've tried a LOT of them.


Have you tried meet.jit.si? The quality is pretty bad but it's way easier to use than zoom which kind of has a reputation for it. I got my dad set up with jitsi in hardly a minute whereas zoom took around 10 minutes


Yes. As you point out, the quality is abysmal.


We use it for 6-10 people one night each week, quality is good for those of us with good webcams and wifi bandwidth. I've found it as good as Teams.


Discord is somehow the best video conferencing tool I've ever used.


> Zoom - worst video conference product __EVER__. Can't say a single good word about it.

I was forced to use Skype in the early 2000s. Believe, it was much worse.


What do you not like about Zoom, and which video conference product would you recommend instead?


My experience with zoom has been on linux.

I hate the fact that it requires you to install the client for it to work.

The client randomly spikes in cpu usage while running in the background. Multiple times I've also had this issue where I'll try to right click the zoom icon in the system tray and quit zoom, causing it to hang and reach 100% cpu usage on one core.

I also don't like that on clicking on a zoom video call link sometimes the browser to client redirect works but sometimes it doesn't and you need to then go back and click the link again.

For me, Google meet works much better.


I was planning on mentioning Zoom as well. The Linux client especially is insanely bad, iirc it also drew itself on top of everything.

My suggestion on Linux at least is to use the web client. Just get the url, do a 's#/j/#/wc/join/#' to it and open it in browser of your choice. You'll need to copy the password manually, sometimes it might require captcha etc, but at least it's somewhat usable.


This works on MacOS as well (in Firefox or Chrome). No way in hell I’m installing Zoom on a Mac.


Zoom can be browser only, it just uses dark patterns to lure you to install the client. The link to join by web appears when all others fail...


But why would you use it when it has like 1 second latency. Google Meet is kind of meh but works. Or pure audio calls like Telegram or something like Mumble (which has rooms, you can host a server yourself, is open source and doesn't suck).

I can see why salespeople prefer video calls but for technical topics it just doesn't make sense.


I haven't personally tried this on Linux, but on macOS at least, the feature to take calls in the browser is hidden behind a bunch of dark patterns.

Take a look at step 2 here: https://it.umn.edu/services-technologies/how-tos/zoom-join-t...


Same here (ububtu, dwm). I can use every other web-based video conference platform with no problem (jit.si, google meet, and others) but zoom eats all memory and crashes the browser. The app refuses to run, complaining that I don’t have ibus installed (I removed ibus, because it’s one of a hundred unnecessary layers of crap added by distro maintainers).


Some of the major problems: 10% of my CPU and ~1GB memory by simply launching the application on linux. Absolutely ridiculous. Can't remove passwords from my personal meetings, controls are sluggish as hell, like I'll click to either turn on or off my camera and have to wait for 3-4 seconds for it to actually do anything. Multiple smaller problems piled on the side as well.

People love to shit on Skype but even the web version of Skype behaves better than zoom for me. Google meet, Skype, meet.jit.si - I take any of those over zoom.


If I had it my way, I’d just use calendar invites and FaceTime. The quality is 10x everything else.


> * Zoom - worst video conference product __EVER__. Can't say a single good word about it.

There are tons of problems with Zoom, no disagreement there. But the heaping pile of crap called Skype for business formerly known as Microsoft Lync is a lot worse. It doesn't even run on Linux...


The magic of aws is is to use the command line tools and sdks.


Pi as an abstraction layer over your VPN, that's genius. I'm gonna use that.


Use mullvad + wireguard.


I thankfully don't use it everyday, but Mac and literally everything on Mac (even the terminal started crashing on resize towards the end of the time I used it every day). Over time, I started keeping a note where I put every bug, missing feature, malicious feature, performance issue, driver issue I had with my 2 different MacBooks day to day, and it's loooong. I'll probably never organize it unless I'm forced to use Mac again.


Haha, I have a similar note. I've worked at two jobs where I was forced to work on company MBPs and it was a daily nightmare.

I scoped a few of the more generic problems with just trying to be productive up on Medium [1] to share with coworkers who swore by the OS (and were way more knowledgeable about it than me), but they never proposed any solutions to make things better. Just a lot of "you're using it wrong" and the occasional "buy this app to fix that".

[1] https://medium.com/@drusepth/multitasking-on-a-mac-sucks-and...


Something else was probably going on with your Mac. The one example (terminal) doesn’t happen on any of my Macs. And I have a few.


There was a specific thread on Mac whatever, or a bug filed I don't recall, with dozens or more of comments. Introduced in a specific version, and never fixed (well, as of 2-3 years ago), terminal would sometimes crash on reflow. Not sure why it would hit specific machines


I've heard many people complain about OSX in similar ways but in 15 years of intensive usage I've experienced only a handful of annoyances.

Compared to Windows it's an absolute dream. I left Windows because it was a mess and applications constantly crashed and also the OS crashed and the multitasking is thoroughly crap. I have a Windows machine and every now and then I think "maybe it's all better now", and I give it a try and instantly the same crashy problems and really bad multitasking.


Heh, I have the reverse problem, on Windows 7 my uptime is measured in months and everything is great. On Mac everything, including drivers for the Mac's very own mouse and the built-in microphone, we atrocious.

Heck, for my first old 4Gb RAM Mac I installed this piece of software from app store that would consume all the memory on the system over a short time to force Mac to actually manage memory and prevent other apps from stuttering and OOMing when the memory was supposedly low (it really wasn't, as this app's overload-free-memory routine showed). It even had a paid version that would do the memory-overload automatically when memory was low. That is the most Mac thing I've ever seen :)


Macs are weird in that you have to surrender to “The Mac Way” before they make any sense. If you try to fight it, it somehow manages to mess with you.

That being said, does sound like something else was going on with your Macs.


Do your feelings extend to 3rd party Mac apps? I'm not a big Mac fanboy, but I really like using iTerm2 for ssh'ing into servers.


I am more familiar with iPhone-only apps as far as Apple specific ecosystem goes and the "simplicity" if usually off-putting, it's just polished lack of features beyond the basic scenario. I suspect Mac apps might be similar compared to Windows/Linux, but don't really remember.

On Mac, I mostly used cross-platform (or multi-platform) apps, and they are about as good as on the other platforms * the amount of focus on a given platform (e.g. Outlook is behind the Windows version, Spotify is the same, some other apps like Eclipse seem to run better).


CUDA.

The GPU is the new Floating Point Coprocessor. (I think they are likely to be integrated on CPUs even for high performance use-cases, eventually. Although this is only happening very slowly...) It should be be programmed with vendor-neutral CPU instructions and if need be, trapped by the kernel and emulated or delegated appropriately. But all of this should be totally transparent to the user application.


+1

And when you need to profile something, get ready to set up custom drivers, custom kernel flags, and recompile 30 GB of libraries and source code for that custom cupti.so.


I agree with the person that says "everything Atlassian", overall it's probably not the worst, but the Confluence WYSIWYG editor has to be one of the most irritating pieces of junk I've ever used. Literally nothing it does is predictable.

Similarly, whomever said Signal has a good point… it never manages to download MMSs for me (which isn't its fault, signal is bad in my house), but it alerts me anyways so I get a stupid "this couldn't be downloaded message" that I have to be distracted by instead of only notifying me when I move into a place where I have good enough signal to download it. It also then says "tap here to retry" but does nothing when I do so (not even an indication that it's working or that I tapped it). Aside from the annoying notifications about messages I can't even read, it tries to make you spread it to your friends and you have to manually close the stupid "Tell this person about signal" thing for every single person you open a chat with. I had to just go back to another SMS app and lose the ability to use their protocol.

The worst though for me is probably pulseaudio (still, after all these years, even though it's gotten a ton better). People knowledgeable about it love to tell me that it's obviously a configuration problem on my part, but every time I start my computer something else is wrong. Every time I plug in my midi controller and start up a synth I have no idea if it will work or not, but it also fails in a different way almost every time. If I turn on a bluetooth device, the device itself mostly connects fine, but then how the audio is routed just seems random. That one works most of the time, but not always, and if I turn the device off my audio settings sometimes go back to whatever they were before, but sometimes I randomly find I no longer have a microphone, etc. everything about it just feels bad.


Creating a bulleted list in Confluence is like playing Russian roulette.


Gradle. I appreciate that it is a fast build system, and a lot of it does just work. When it doesn't just work it's a nightmare. The config language is completely opaque and undiscoverable (Kotlin might fix this, but I ran out of patience to understand how Gradle works a while ago) though.

In many respects I think the fact there's a commercial version of it is a sign that it's lacking in the UX area.


Preach! Yes yes and yes.


Microsoft office. Unavoidable in a business context. Slow. Hangs. Crashes. Menu options hard to find in the constantly shape-shifting ribbon.

I actually have fond memories of office circa 1995 when it was a single platform app. Now it’s some cross-platform monstrosity with horrible performance.

So many features have been piled on top of each other that I suspect it’s impossible to debug now. Image inserted in a shape in a table and commented on? Good luck figuring out why that pauses scrolling for 5 seconds when it’s encountered. Or explaining to someone non-technical why they shouldn’t do it.


I don't use it anymore luckily, but from a couple years ago: Xcode!! Unstable, baffling interface decisions, very poor on features and the features that are there are unreliable. By far the worst IDE I've ever used.


Agree. On 2020 that thing doesn't even have tabs for the open files.

Xcode is one of the most obvious evidences of Apple's despise and contempt for programmers (others being crappy documentation, frequently deprecated APIs, appstore with authoritarian rules, etc).


I'm not a big fan of Microsoft but Visual Studio beats Xcode hands down. It's slow, unreliable, the code completion is abysmal, refactoring support is poor and the documentation is half hearted.


I haven't used Xcode much personally, but it automatically shoots up to the top of my hate list on account of the fact that it's a mandatory 20GB hog just to use the iOS Simulator. In my particular use case (React Native + Expo development), attempting to manually prune the installation files of SDK packages I will never use (e.g. Watch) somehow breaks the simulator.


Yeah and when it's updating some includes you can type faster than it'll show the new characters. That always really messes with my brain, when I press a key but a different (previously typed) character shows up instead.


> By far the worst IDE I've ever used.

xcode is a total pain, but i would have to say eclipse takes the cake imo...


Desktop GNU/Linux.

Too much of a cost to test for and to set up CIs for the distros I'm targeting. There is little to no paying users there because of the fragmentation. But again, "paid support" will have lots of choices, versions, combinations and edge cases to cover. So I listed it as "unsupported: use at your own risk."

Windows and macOS have a much sainer desktop for GUI apps to test against.


Except I use GNU/Linux precisely because what Windows/macOS offer is neither sane nor productive for me.

I don't know why people insist that billions of people on this planet have to be satisfied with 3 interfaces but it doesn't work that way.


I've been using xfce for years and love it. It has basic but sufficient tiling and it very scriptable. With autorandr and hook across, it recognises different monitor configurations and automatically sets up xfce panels, docks and keyboard layouts (ie: at work or at home, pc105 gb, and when it's just the Mac monitor on it's own, use gb mac layout).


You should give Cinnamon a shot next time you're looking at Linux GUIs.


> lots of choices, versions, combinations and edge cases to cover

I think Snap[0], Flatpak[1], and AppImage[2] tries to solve this problem.

[0] https://snapcraft.io/build

[1] https://flatpak.org/

[2] https://appimage.org/


The irony of course is that you're listing three different systems to solve the same problem :)


Just use Fedora and GNOME. Linux is good but suffers from the Android problem where third parties modify it with their own branding and ruin it.


Are you using GNOME? Lots of problems just go away if you switch to something else.


gmail, by so many orders of magnitude.. Email interface designed by people who seemingly have never tried to read email.

Threading is completely broken, filtering is broken, compose screen is unusable.

At previous companies I've had to use gmail but was able to use a sane email client via IMAP so it was almost ok (although still somewhat broken as gmail doesn't handle IMAP correctly). At current work they disable all access except via the unusable gmail web interface. So definitely gmail is the worst I have to put up with everyday.

jira would be a distant second, but no comparison.


Gmail was so groundbreaking when it first came out in 2004. AJAX was barely a thing, and Gmail used it in spades everywhere. I remember it being mindblowing when you didn't have to wait for full page refreshes for simple actions.

My problem is that it's remained frozen in time for years. Yeah, they tweak the visual design every few years. But so many other email clients have far surpassed it, and they've done nothing. Other than create Google Inbox. Which was amazing. And then Google shut it down. ️


> Gmail was so groundbreaking when it first came out in 2004.

Can't agree with that; I was there, got the tshirt.

Literally! I still have a tshirt from the gmail launch in 2004: "Google gave me a gig" (meaning 1 GB of storage).

It was mediocre then, terrible now. Hasn't really changed much other than UI tweaks.


My main gripe with Gmail is how often it will take upwards of 20 seconds to delete/move/spam an email, evidenced by the tab complaining if I go to close it. It's an incredibly common issue and doesn't seem to be directly tied to the quality of my internet connection.


What do you mean, done nothing? They break stuff all the time.


Can you recommend a client that surpassed it?


hey.com

I've only been using it for a few weeks but I like the aspect of the feed and the hand holding it does when categorizing emails.

It is paid, but it's by the same team that did Basecamp. It's very polished IMO.


There was this Google Inbox thing which was loved by many including myself. A true successor to Gmail, in my opinion. But Google scrapped the project.

Edit: clarify


Inbox may have been a good concept but the actual software was horrible. The site took ages to load and was painfully slow.


I've been using email since 1985. For me, gmail remains one of the best email experiences I've ever had. My only gripe would be the psuedo-enforcement of top-posting.


I actually love Gmail's UI, I find the tagging, filterting, important/not-important, different colored starts, etc. all to be extremely powerful.

Anytime I try to switch to another client I find myself missing those features and end up going back.


I agree about threading, but how is filtering and compose broken?


I feel the other comments are really first-world problems. As a doctor from a developed country, the worst piece of software would be my hospital's clinical portal. Not only it is painful to use, I believe the inefficiency it causes actually is detrimental to patient's care and the health economy in general.

I happen to know some web development, so here's a few observations from top of my head:

- Slow speed. Simple page changes takes at least 1 seconds, others such as viewing lab results or clinical letter takes around 3-5 seconds, but often needing repeated clicks to actually work.

- No form autosave & inconsistent saving behaviour. I have had to re-write discharge summaries several times because of save failure. This taught me to write on notepad/Word first and then transfer onto the portal.

- Many buttons are deeply nested in a navbar. Sometimes the nested buttons fail to show up at all on very small or large monitors. We have to resize the window size to find the dropdown button.

- Front-end CSS framework is based on YUI (discontinued since 2014). It supports IE quite well, but breaks on current Edge, Firefox and Chrome.

- The app tries to stop clinicians from opening more than one instance of it, but this often results in us unable to open any instance of the web app at all. Fixed with incognito mode.

- From the occasional server crashes, I can tell from the debug callbacks the backend is written in Java. The point here is that the debug trails are shown rather than a 500 error, which is unsettling for a sensitive data platform.

- Fragmented ecosystem, every part of the portal is an iframe from a different provider. Lots of inconsistencies and crashes. Even the sidebar is an iframe.

- Printing is a nightmare. Whatever sent to the printer often doesn't show up, but that's a story for another day.

I'm sure there are bigger ones I've missed. Unfortunately, the system we have is not the worst in comparison (in one rural hospital I worked at shut the web server for 3 days for a database upgrade). This makes using Outlook, Teams and other stuff a breeze in comparison - they are actually snappy and stable.

Do we have anyone in the community that can enlighten me on the root case?


> Do we have anyone in the community that can enlighten me on the root case?

The technical root causes are pretty boring really. The root cause is the way that software purchasing happens in sectors like healthcare, education, government.

Your portal software undoubtedly cost an eye-watering amount of money, almost all of which went to middlemen while the actual software was built by an outsourcing company probably in a market with very cheap low-skill programming labour, who have probably developed a specialty in taking advantage of unclear requirements to get paid even while delivering a turd.

The middlemen have great LinkedIn profiles and many contacts in the healthcare industry, and the software works (the only people complaining about it are the people who actually have to use it, but thankfully none of the people responsible for buying this software actually have to use it!) so the work keeps rolling in.


This is an astoundingly accurate comment.


Sounds like a mess. If each piece is from a different provider, who put it together?

I've seen what my doctor uses and know from relatives and friends what a pain it was to implement. And this is one of, if not the leader in clinical software. It was an "epic" disaster but now it seems ok-ish. Very user unfriendly still, but I'm sure it gives the hospital administrators the ability to spy, err I mean generate reports.


Windows 10 Home: Ignoring all of the typical complaints about windows like bloat wear and Cortana... I would be happy is just basic things worked. For example, I often have to switch between wireless networks for my job and the wifi icon in the bottom tray just randomly disappears about 80% of the time so I have to go through the full settings menu to get to it. Also, searching for applications or documents from the search bar will also search the internet?? I could go on forever.


I'll second Windows 10 home. Focus changes from the app I'm working on to Windows itself - but the screen still shows that the app I was working on. I hit Alt+F4 to close the app (that I'm seeing and so think still has focus) and get the Windows Shutdown prompt.


Right click on the taskbar, select taskbar settings. Scroll down to notification area, click on "select which icons appear on taskbar" then turn on show all notification icons in the taskbar.

Should at least mean it's always there.


My issue is having my desktop connected via Ethernet and WiFi at the same time. Windows will let me do it and keep it for a few days, but lose WiFi without notifications.


Slack. Hands down.

No issues with the actual product per se, which is quite nice. But the experience while using Slack goes bad exponentially as the team scales if certain usage guidelines are not put in place.


Yeah, hate slack as well. I'm working on 16 core/32gb machine and it's still slow, switching between workspaces takes ages and sometimes it completely stops working. The only way then to fix it is do ps aux and kill a bunch of processes... I really wish they paid someone to rewrite their app!


Same app, but different reason: resource usage! Completely unacceptable for something you have to have running in the background the whole time...


What usage guidelines need to be put into place for it to be successful?


Don't @channel every single time you say something would be my rule #1.

After that, it would be to set the expectation that Slack is not actually real-time. We defined a 2 hour response expectation on my team. We don't want people stopping work to check Slack every few minutes, we want to do our jobs.


I had to write a personal bot way-back-when which listened to all my DMs and mentions and let the people know that I'll get to them before the end of the day and that if I still didn't they could call me up if something urgent.

It's important to set the expectation that chat isn't meant to be synchronous.


I don't have a serious answer, but having used Slack for a few years in my previous job I have a half-serious one I actually applied for a while:

* Don't use Slack after 10am.


Not a guideline, but a feature I'd like to have:

Allow me to disable any kind of indication that someone is talking, not just to me (red dot) but anywhere (blue dot). Not everything needs my attention and having the tray icon change its state is distracting.

You can mute the channels, sure but why not make that as an option in the notifications settings?



Surprised not to see this here, but doing data engineering against any Adobe product in creative cloud.

Specifically: AEM, AAM, Omniture, among others. My favorite is AAM’s “only Adobe could come up with such a stupid data integration” file format: https://docs.adobe.com/content/help/en/audience-manager/user...

The omniture S3 feed comes as a 1004 column TSV. And for fields that capture user inputs, they don’t escape backslashes. But the escape backslashes everywhere else. I filed a ticket on this over a year ago but still no fix.


We’re building a competitor to AEM (and in the process, parts of Omniture); would love to hear more about your gripes with that. (Email’s on my profile.)

One of the things we’ve seen is similar to some of the sentiments expressed about Blackboard: the decision makers often aren’t the users, so feature lists and meta issues tend to win out. Adobe seems to target that market pretty well with their whole experience suite.


The Intel Management Engine (IME).

The most oppressive piece of software ever written makes suckers out of all of us. No amount of campaigning to Intel cuts any ice. Nobody is big enough or powerful enough to get rid of it.


Exactly. Everyone is using it without realizing. More info: https://libreboot.org/faq.html#intel


Skype for Business. Everyone I've spoken to in my company has had connection, audio, or screen-sharing issues. Personally, I consistantly have issues with what I've listed plus instances where Skype just flat out refuses to launch, or it crashes, or messages are randomly dropped or fail to send, or file/image transfers that just do not work. It is truly baffling.

I noticed another comment thread about Microsoft Teams, but for me, Teams is a godsend compared to Skype for Business.


And Skype in general.

Does anyone have skype working on ios? No, it does launch and even works, but messages are delayed, calls are delayed.


The answer is certainly Microsoft Teams but since there's already a large section on that, I'll say Visual Studio.

VS is largely a wonderful piece of software but sometimes just stops working in inexplicable ways. Sometimes I have to build 5 times without changing anything to get it to succeed. Sometimes my build fails but the only error in the error list is about projects that couldn't be loaded (because they failed to compile for some mystery reason). Sometimes it just randomly freezes doing basic tasks. My recent favorite is this endless string of banner errors at the top of the screen saying that there's an error with my projects that I can't dismiss or hide. VS is great, but also sometimes the worst.


At a previous company, I used Google Hangouts Chat daily. This is a business-focussed chat app that takes seconds to load any change to the UI (e.g. changing the channel you are viewing). If you are atmentioned in a channel, there's no way to find out what message thread you were atmentioned in except by scrolling up until you see the highlighted text. Every message sent to a channel other than a reply to a thread creates a new thread, and threads are displayed sorted by most recently bumped, except that your messages do not bump threads on your UI. If you wanted to avoid all these things, you could use the API to make your own client, except that you can't, because there's no API. (Technically there is an API, but because it is designed only for making bots it is not allowed to do things like read messages from a channel you are in that do not atmention you)

If I recall correctly, one of the company's public incident reports explicitly mentioned Google Hangouts Chat as a reason that the incident was not fixed much more quickly. I could not find this incident report when searching just now though.

Edit: This product is apparently now called "Google Chat"


Unless your answer is “ERP”, you haven’t actually seen how bad software UX can be.


I work in "document capture" (OCR, data extraction, and process automation) and every ERP I've had to integrate with has been a terrible experience. I was on a screen share with a consultant for one trying to get my service about the correct permissions and he was scrolling through a list of, what seemed like, two hundred possible roles. Let's not even talk about the atrocity that is their rest API, but at least they have an API as many don't and require RPA (ewww) or similar to input data.


ERP software is painful to use, I 100% agree with you there. But my bigger problem with it is that it encourages a culture of saying things like "streamline knowledge control documentation end-to-end conversion". Fuck that.


So true! They are either old and full of entrenched technical debt, or new and lacking functionality.


* BMC Remedy (Oh my god. Utterly disgusting experience.)

* Atlassian JIRA (never really got the hang of it. Overcomplicated.)

* Workday (the web app is sloooooow.)

* MRemoteNG (The best SSH client on Windows. Also the worst. Alt + Tab navigation annoys me to hell!)

* iTunes on Windows (Why is it like the way it is even in 2020!?)


> Why is it like the way it is even in 2020!?

Isnt apple trying to kill iTunes in general?


Microsoft Teams, hands down. It is utterly atrocious.

I've never seen an app that uses 40-80% CPU on a modern laptop non-stop to do not much more than ICQ/AIM/mIRC used to do in 1999 on a thing that's probably less powerful that my alarm clock.


I guess the beauty of being old is that I have experienced how software has gotten so much better.

It's interesting seeing negative comments about things like AWS, Git, JIRA, etc, and compare to what my career was like BEFORE those were mainstays.

It's cool that so many people aren't satisfied with the status quo, and will continue to push the to make things better.

To throw in my answer, G-Suite (as an IT Administrator).


From worst to slightly less worst: Helm, Istio, and everything Atlassian (Jira & confluence).

Helm: go templates aren't a robust, or even remotely sensible, way to define the configuration changes someone will need on a day to day basis for deploying applications to multiple environments. Some metaconfig language as used in kubecfg and tanka is the way to go but every single time I work with a team on kube they say something like "Helm is fine. Everyone uses helm." It's at times like this that I remember there was a period in human history where bloodletting was an established medical practice and that's the point the software engineering industry is currently at.

Istio: someone had a great idea, implemented it poorly, and just kept hacking at it. Obvious features are missing (setting QPS & bandwidth limits per service-to-service). Configuration is disgusting. Documentation is somehow worse than k8s' docs but, unlike k8s, the code is a mess. There's absolutely no reason why it has to be implemented as a side car, it's just a hack that baloons the resource usage of the entire system and reduces effectiveness of things like edge redis caching. There's so many obvious ways to implement similar functionality to istio except do so in a transparent way. Maesh is one example but it'd also be far simpler to implement it as a combination CNI and DNS system.

Atlassian: nothing further needs to be said. The problem space is so simple and somehow it was implemented so poorly but juuuuuuuuuust enough management features look pretty and it fools people into buying the software.

If I ever get the opportunity to retire I would love to take a crack at fixing all of these.


Problem with helm is that it was not created as a deployment tool in mind, but that is the use-case that caught on. Helm was designed to be the apt get for k8s, where there is a specific set of users who create the charts and a different set that just go 'helm install redis'.

They might make improvements in helm 4, but who knows.


If you don't need to use externally supplied Helm charts consider Jsonnet instead. You can roll your own tooling around it and end up a much nicer place customised for your environment and problems.


Getting buy in from people at work for this has been hard but I've finally broken through that shell. People who've never used kube and who only know how blog post engineering works are afraid of "rolling your own tool".

I've gone this approach for my cluster at home. We're starting to explore this at work.


Cuelang is far better than jsonnet.


Cuelang is not simple or well documented. It's the "right solution" but it's not polished currently. There needs to be a lot more examples to pull from.

There's a dramatic difference between: https://cuelang.org/ and https://jsonnet.org/

I have a feeling that cuelang is still in the R&D phase. Once it's finished that I'll probably move everything I write to it. It'll probably focus more on UX and tooling and simplicity after it moves out of the R&D phase.


Mail.app on macOS. Some macOS apps are really great (Notes or Safari for example), but the average quality is poor. Mail, for example, is slow, search almost never works, etc.


I'm also using Mail.app on my macs and while I never had those problems I do see people complaining about those things a lot and I'm curious what would cause that. Apple's radar/bugreport/feedback stuff is hidden so that's somewhat sad (but understandable) but maybe it turns out most people have the same problem due to similar context (account setup, data in use or something...).

The most heavily loaded Mail.app I seem to have is one with two MS Exchange accounts, iCloud, a couple of IMAP accounts and a single POP account. I generally archive everything older than ~10 months out of my inbox leaving a combined 43k messages in that virtual inbox 'group'. Maybe people with larger message stores trigger some programming fault?


Possible. For me, it's a bunch of small things. I have three mailboxes. For one, search is almost always slow and incorrect. To the point where I usually have to load Gmail's web UI to be confident that I haven't missed anything.

It's strange because I like a lot of what Mail.app does—it's simple, no bells and whistles—but the search experience, etc. just ruins it entirely.


Some of the IMAP accounts I have are also Gmail and GSuite accounts, search seems to work fine (both from the global search thing and per-account). Or maybe I'm actually missing results but I don't know about them because I'm not seeing them (but somehow still finding what I need).


I have a love/hate relationship with Mail. It has exactly the feature set and UI I would want from a mail application.

But god, these bugs. Somwhere down the line it became strangely slow. It's constantly displaying false values on how many emails it is about to fetch. And I accidentally deleted emails on more than one occasion without having a clue on how that happened.


I'm also using Mail.app right now and I've been having similar issues with search and stuff. Does anyone have any recommendations for good desktop email apps on macOS?


Interesting I’ve always thought mail.app has had amazingly good search. I recently moved away from it though because I wanted a more flexible workflow and tried a quite a few other clients. The “pretty” macOS mail apps had not very good search functionality so they were unusable for me.

In the end I went with Mailmate and I’m extremely happy with it.


I like to use Mailspring [https://getmailspring.com]. It does what it needs to do, without too much fuss. The UX is clear and I can connect multiple email accounts and use the unified inbox without any issue. I am in no way affiliated to the product.


Try mutt. Classic, simple, scriptable, it's got everything you could ever want!

https://en.wikipedia.org/wiki/Mutt_(email_client)

Depends on your definition of 'desktop', of course ;)


outlook. everything is looks good but littered with bugs and exceptionally weak dev teams behind it.


I remain convinced that somewhere inside of Mail.app someone decided to try to speed up search with some approximate index or badly rewritten strcasecmp.

Mail not being able to properly find an exact string match correctly means I had to give up and just use GMail in Chrome and on iOS. Once GMail on iOS added IMAP and SMTP, I never needed to go back.


I have used Mail.app and the default mail app on windows 10 a lot. Can you believe that the default windows mail app is even worse? Very basic features are still missing after many years...


Windows file explorer

OSX file explorer

Both are unavoidable and horrible.

Where did I save that file? What was it named? Where did that piece of software save its file without asking me? Do I have to click 10 levels deep to find a file?

Yes, it is a human problem, too, but maybe make things a bit easier for humans? I know johnny.decimal exists but good luck getting people to use it.

Pretty much any email client And email as a primary mode of business communication. Who said what in which message, then changed their mind as an aside in an unrelated email thread and where’s my source of truth about anything? People use their email like a chat sorted by most recent.

My mom uses zoom on android tablet and every time I call her I spend 25 min on the phone trying to guide you through to initiating or receiving a meeting

I paid $300 for capture one but can’t use it because I can’t figure out where it puts my images and why.


Atlassian's Confluence (Cloud). A showcase for the decline in web based software forced by the move to make everything a SPA. A terrible new editor experience. Slow JavaScript heavy page loads. No persisted markup editing.


Anything by Atlassian, but specifically Jira and Confluence.


Trakcare [0] electronic medical record system.

As far as I can tell this is a demo EMS from Intersystems, they provide Cache [1] to companies developing real EMS with modern user interfaces. They don't sell this product in the USA (so not to upset their customers), but have dumped it on the rest of the English speaking world.

I suspect here is some sort of NDA with those unfortunate Hospitals taking this pile of stinking £%^£" as I have never found a user group or trustworthy review.

I get to use it at ground level (talk about poor UI), at management level (no coherent db integrity, very poor reporting) and have seen a complete inability to reconfigure the system to cope with COVID.

When ever we see demos for new clinical system I always ask "Would those coding this system accept this level of quality/usability in their daily software tools?". The marketing guys look at me like I'm from another planet.

I know "you get what you pay for", but for something hundreds of thousands of Hospital staff will be using for patient care (we don't bill in the UK), there should be a floor below which no company should offer half-baked dangerous products. Trakcare is in the sub-basement.

[0]: https://www.intersystems.com/au/products/trakcare/

[1]: https://www.intersystems.com/products/cache/


Intersystems purchased Trakcare, which was developed by an Australian company. They'd love to sell it in the US, but Epic is Intersystems largest customer and they have an agreement to not compete in the US.

Cache is the most archaic and least usable programming environment I've ever experienced. Unit tests are not a thing. MUMPS, which underlies the whole system, is stringly typed. The entire stack is junk, so it's no surprise that Trackcare is either.


Google Chat (enterprise G Suite offering):

- No way to set status (essential in current remote work situation)

- No way to reorder the rooms

- No nested comments.

- Cannot mark conversation unread or have some way to remember to come back to the conversation later.

- If you lose your notification you are lost. Cannot figure out which room you were tagged in.

- Cannot message to self. This is not a big problem but a good to have.


I agree soooo much with this. Like a lot of google products it feels half finished.


Confluence by Atlassian. It is very slow, it gets stuck with bigger documents, or has no useful editor tools (eg marker) and it constantly had issues and bugs. Sincerely Jira is another piece of crap.


GnuPG

I'm surprised that it hasn't come up, yet. But it's CLI interface as well as it's data model are truly archaic. It's near impossible to properly invoke from other programs or scripts and most users don't even understand half of it's "web of trust" concepts.

This is especially bad since small mistakes can easily break your security model.

I don't want to rewrite GnuPG, I want a fresh start without all the cruft.


Love their baffling new client/daemon model making it super hard to run in a serverless pipeline..


Jenkins.

Has a UI that was cool when the Internet was first switched on. They made Jenkins Blue, to be fair, but for all that it eats an ungodly amount of memory (at least when I was using it, dunno if that's changed).

Needing to configure Jenkins to work with other services means I won't be productive for a while; this yak has a hell lot of fur. I have to write extremely detailed notes for myself on what and where to click just so I can do something again (i.e., if something breaks and I need to reconfigure/migrate/etc.).

There was this scene in HBO's Silicon Valley S1, in that episode where they hired this leet hacker kid who turned out to be no more than a skiddie. The kid broke their work and Richard Hendricks had to fix everything and the scene where everything got fixed featured Richard watching his Jenkins build go green. I find it very amusing that to achieve verisimilitude, they had to eschew years of Hollywood "hacker" portrayal, and have Richard stare at the iconically ugly UI of Jenkins. Real life can be cooler than Jenkins but other tools just won't feel legitimate, no?


OneDrive for Business. You can't move folders with more than 5000 files in it (including subfolders). This is by design. The Windows 10 app is atrocious. It fails more often that not. It's built on top of SharePoint, which brings a lot of confusing features and configurations that makes no sense to someone just looking for a way to store the company's files.


Workday. There's not even a close second.


I wish I could force the Workday CEO to fill out expense reports 8 hours a day using his own software.

I bet the software would improve pretty quick.


I don't know how true this is, but I once complained about how unintuitive and difficult to use workday is. I was told, as bad as it is, it's considered best in its class.

I'm not knowledgeable enough, but are there alternatives to workday and are they actually worse?


Yeah, great question. Netflix, as you might already know, are sort of famous for being progressive in lots of ways, including & especially HR.

I asked a couple friends who work there what they use, and sure enough, the answer was Workday.

While there are definitely better alternatives at smaller scale (i.e. Zenefits), at that scale, the only ones I know of are Oracle, SAP, and TriNet, which all sound even worse.


Workday was fine in my opinion the couple times I had to use. The localization was actually really great!

Was able to fill addresses and contact information in the UK and Western Europe and it accepted the local formats and documents. I wouldn't be surprised if most competing tools are plain broken, for example requiring an address with a state which is nonsense outside of the US.


Yes. My previous company had a homegrown system previous. As bad as workday is, it was an improvement.


Stuff that you'd expect to be a lot better like objectives and reviews seem to involve a lot of scrolling and very little of it feels natural. You can sort of smell whatever the internal framework is leaking through into the UI.

We've been moved onto Workday and I hate it and I suspect I'm going to hate it even more as I've just picked up a people management role so I will be spending more of my life dealing with it.

Reminds me of K2 process automation which while it has a lot of value[1] forces the UI down particular routes which can be very sub-optimal for the end user.

[1] Whenever I used it I felt like I could have written the small bit I was interested in less time using lots of alternative technologies, but the amount of time to add all the other bits and pieces like reporting and retrying of process steps would kill you longer term.


Jira. Its WYSIWYG editor is goddamn awful. Runner-up goes to its sibling product, Confluence, for the same reason.


It is amazing how bad Confluence is, and it still seems like the best choice for an internal wiki. I have been close to building one myself, but for now I have withhold.


Anything that includes WYSIWYG with no opt-out is shit. Slack also tried to pull off this crap but thankfully backtracked after the complaints.


Slack needs a tweak to the message editing. Inline editing would be nice, instead of having it the new message area.


JIRA can do markdown.


its their own strsnge version of markdown though, which just adds to the flame of hatred imo

if you were ever so unfortunate to have perfectly marked up content and previewed in the visual mode, only to save it and loose a ton of formatting (seems in visual mode the actual data source isnt the same as markup) upon save...


Cmsynergy

The worst version control software known to man.

It is a bloated IBM tool from the 90s, takes 10 minutes copy a repo that would take git 5 seconds. It has a lock modify unlock paradigm, so if your coworker forgets about a file they were working on and they get promoted, you can forget about working on your project ever again.

The paradigms are backwards. The project doesn’t branch, the files do. You make your commits before you do any work.

It’s slowly being phased out at my company, but it can’t seem to die fast enough. A lot of people have built their careers on this tool so it’s hard to kill.


Thanks for reminding me of this piece of garbage. Wasn't it called Continuus at some point? If not, that that was even worse than CM Synergy


MS Office and it’s UI inconsistencies (where’s the button I need?). While Word and PowerPoint technically have good tools for managing styles, the interfaces steer users to use manual tweaking to the point where I don’t think I’ve ever seen a clean document. And after a few copies and pastes between documents, you now have 100 styles that will never be managed again.

Shared folders are a nightmare for version control, share point is inconvenient and slow. One Drive works OK and finally allows collaboration. Azure is good for some other use case (probably, never used it). So for a typical company, MS should guide companies to transition to use OneDrive and keep things in one system? No, single sign on, IT gets sold on how easy it is to manage all tools, everyone gets every tool. And for good measure everyone gets teams, surprise you’re using share point even if you don’t know it and now all your confusing v2_final files are spread out in 5 places.


I fear the problems with Word and PowerPoint are mainly on the users, most simply have never heard about paragraph styles!

My personal hate object is the Windows10 client for OneDrive/Sharepoint. I have had it on multiple occasions remove locally created files from my laptop so that I could not access a file created a couple hours earlier on the same computer. Had to sync it back from the cloud, how is this a feature?


At least it’s possible to have a clean document with Office. Google Docs only has five(ish) styles, all paragraph level heading styles.

Most users might fall back to manually tweaking with Office, but a clean doc based on styles isn’t even possible with Google.


If websites count: YouTube.

It's appalling how such a powerful company can keep so many things so bad for so long.


Straight from the heart! Only yesterday I rented my first ever item on YT. An English movie, found with an English search query.

"Based on my location" they gave me a French dubbed version of it. No alternative sound track, heck not even subtitles.

I live in Switzerland, we have 4 official languages. I speak one of them: German. Not a word French. The proposed solution: go to apple and ask for your money back. Very poor experience.

Do not even get me going on the "want to use Premium for a month"? I've declined that offer at least 48 times. Did not want it then, do not want it today. Really a pity since there is a lot of cool (not sponsored or monitized) content.


I will say that paying for YouTube premium is worth for me. I hate ads so much.


No amount of paying for things beats the experience of a decent ad-blocker.


Ublock Origin would save you the ads.


Not on most mobile devices, or the native YouTube app on smart TVs.


I haven't tried it to block YouTube ads on mobile yet, but maybe services like https://nextdns.io can help.


I have ublock origin running on firefox on my andriod.


Man, use ad blockers!


Easier said than done if you're watching YouTube on, say, a Smart TV.

Personally I'm very content with my Google Play Music subscription that also includes YouTube Premium. The music service is no different than Spotify (for me, at least) and I also get ad-free YouTube on all platforms.


I assume you mean to ask Google for your money back?

It's funny because I have a client right now asking for some advice on how to design a localizable website that can guess default language and I'm realizing that no one has really solved this very well.


> localizable website that can guess default language and I'm realizing that no one has really solved this very well.

The first and most important step is to offer a very very big option up front and center for reverting to English.

This is an extremely annoying thing when traveling.


Or just a menu that lets them choose their language right there on the page somewhere. If you can automatically redirect someone based on their browser language, then you can add a menu with some language names and flag icons next to them too.

Either way, it must like rule 1 of UI design; even if you think you know better than your user does, let them override that choice when you get it wrong.


I've been trying to not assume an Anglo-centric audience, but it seems like this is a popular choice. Almost every major international site, just has English or region-specific English as the fallback.


Some little British or US flag in the corner works well in my euro experience. I learned to look for that pretty quickly spending time in Austria/Germany.


Don't. I mean it. It's the same things with assuming patterns about names or addresses. A lot of people work abroad. Choosing the language yourself _is not a problem that needs 'solving'_


Personally it is a problem that I want to be left unsolved :)

Or rather the solution I would like is rarely used, I have only found it on some Amazon sites, where you can freely choose the country-level localization (via the domain) and the language-level localization (via a menu) independently.

It was an happy day when I was able to browse the German Amazon in English.


No not at all. All I wanted was to watch the movie in its native language (or a language I could understand at least).

Getting my money back from google is impossible, according to google. Since they could not offer a solution to the language issue, they told me 4 times to complain at apple and try to get my money back from them.

Again: that was not my issue at al. The time it took to dialog with google support was 10 times as expensive as the rent for the movie anyway. I wanted my expectations to be met, was told that it's impossible, so I adjusted my exceptions when being offered to buy / rent from YT to zero.


> It's funny because I have a client right now asking for some advice on how to design a localizable website that can guess default language and I'm realizing that no one has really solved this very well.

Really? How about “guessing” that the client’s language preferences are those expressed in the Accept-Language request header?


What’s wrong with honoring the language sent by the browser?


> I live in Switzerland, we have 4 official languages. I speak one of them: German.

What about English? Your post seems to be perfectly idiomatic (for this kind of forum) English.

Edit: This is very embarrassing. I had thought English was one of the four official languages.


I understood it just to mean that they speak only one of the four (and plus an unspecified number of other languages).


The UI is bad, but the most frustrating aspect of YouTube is the continuous struggle between creators and the automatic copyright strike system. Nearly every single large YouTuber I've subscribed to has had some experience with a false copyright claim interfering with their platform at one point.

It feels like YouTube actively doesn't want creators to grow a community on their platform.


YouTube is between a rock and an hard place, on one side creators expect it to be a reasonable platform on the other side legacy media will attack it with a viciousness proportional to how much it is not a shitty place for creators.

Until they stop siding against the creators they will never escape from it.


It must be tough for a struggling startup like Google to afford lawyers. With their free cashflow they barely spring for 100,000 or so.


Use invidious instead. It's a frontend to youtube without the bullshit. Not all videos work (only the ones that allow embedding) but most do. I've got my browser to redirect all youtube.com URLs to invidious and all twitter URLs to nitter and it's made an enormous difference. Experiencing software that works for you and not against you is a remarkable feeling.


some years ago before youtube was googlfied, they had a different UI that I was fond of. Then google did a full makeover and degraded the experience.


cmd.exe on Windows - trully horrible shell.

bash on *nix - less horrible then cmd.exe but still trurlly horrible anyway.

I want to kill myself any time I enter any of those. PowerShell cross platform made all my cells rejoice.


The new terminal with PowerShell is quite lovely. I recently had to move my work from macOS to Windows and am pretty happy after setting it up like this: https://www.hanselman.com/blog/HowToMakeAPrettyPromptInWindo...


Yeah, lovely. Still, ConEmu is atm far better. If I have to install manually stuff, I will always chose ConEmu until Windows Terminal comes OTB.

You can get similar stuff only in powershell - this is what I use:

https://github.com/majkinetor/powershell_profile.d/blob/mast...

It isn't that artistic but functinality is the same without any dependency.


If I just wanted to write long overly verbose code I’d write Java. Bash is great for getting things done quickly.


Agreed on Bash. It was awesome when I first started using it, but the quirky syntax and pain to configure for anything complex really annoyed me. xonsh is a lot nicer, albeit not as featureful.

Did not know Powershell was now cross platform. Never learned it, but everyone I know who knows both Powershell and the usual UNIX shells prefers Powershell.


PowerShell and WSL. Windows has thoroughly redeemed itself after years in the wilderness.


I never needed WSL. Almost all linux tools are already nativelly available.


cmd is the primary reason I switched from PC to Mac.


ConEmu makes any Windows terminal app far less frustrating


Basically most web apps. They are a clunky, laggy imitation of native apps. For a couple of historical reasons we are all using them, but still there is an enormous abyss between web apps and real native apps.


This.

Not sure how the harmless and cute "Gizmo" web Netscape Navigator becomes the Gremlin monsters of today's web applications.

Perhaps the innocent desire of the developers to make their applications usable in different platforms but because of the laziness or budget constraints make them feed the cute Gremlins after midnight.

Hopefully the likes of cross platform native applications, e.g. Flutter will flourish in the near future and vanish the Gremlin monsters forever.


Windows, usability is worse than MacOS, installing software is more complex than Android and iOS, code is worse than any flavor of Linux but still somehow it is default for most people with a 9x5 job.


Skype. Ever since Microsoft made it that it no longer saves your chats locally, search has become so unusable it's really quite amazing how awful it is. Whenever I need to search text in a thread it does so in the cloud??? And it never finds anything. There are times when I literally have had to manually scroll back several months back in a thread to find what I was looking for. I absolutely hate it.


Not anymore but until 2012, it was Lotus Notes at my work. Hands down the worst piece of garbage I have worked with.


You weren't the only one:

http://www.ihatelotusnotes.com/


I consult to a company that uses Notes to this day. It pains me every time in see it opened up.


My jaw dropped. Unbelievable.


Bash/POSIX shell. It's necessary because it's the standard, and you can't expect computers to have a better shell by default. It's good enough for simple things that scripts for it grow complex enough to warrant something better. It's only bearable because it's familiar after years of experience.

It's terrible because it does everything to make it hard to write scripts. Three syntaxes for using variables, and only one will not cause breakage. Stringly typed. Killer spaces when looping. Arcane syntax for conditionals, where despite 10 years of coding I can't write a simple if/else without looking at references.

And it's widespread enough that it won't die.


Not only is sh so widespread that it won’t die, but my own backlog of sh scripts, code snippets, config, and muscle memory is so deep that I refuse to use anything that doesn’t have good compatibility with sh.

I also hate it. It’s not the worst piece of software I use everyday, but every time I need to do something more complex than completely routine I find myself fiddling much more than I should have to.


Outlook for Mac.

The menu options are a mix of redundant 'possibilities' from where you find things, 'icons' that don't seem to be obvious in what they represent, the GAL is broken (w/ Office 360 cloud), the Outlook connectivity becomes disabled when I disconnect from VPN and I have to click on "Send/Receive" under I think "Tools" once to re-enable it, the list goes on.

Over 15 years ago a senior dev I worked with walked up to our (Sys Admin) communal bookshelf, and noticed a book called Outlook Annoyances. He remarked, "Hm. That looks like it's way too short of a book", something I've found hilarious to think about ever since.


Slack. It has become the ultimate annoying piece of software that I feel I always need to check and keep an eye on. There is an untold expectation to always be online. It's using the same mechanism as Facebook to keep you hooked with dopamine.


Either Adobe Target or VWO. Both have their upsides sure, but both are also an absolute quagmire of terrible design decisions that aren't consistent in the slightest, and that are prone to break an A/B test if you even look at them wrong.

In Target's case, this means stuff like 'install a browser extension when our software doesn't work, so it can load the code that browser security settings will often block', and 'log in via an Incognito window if the editor doesn't work properly, since some setting is now incompatible with your current API version and the interface to disable said setting breaks along with the entire editor'.


Sas hands down. And it isn’t just that The software is bad. It’s terrible, and seems to train users into bad programming habits. But what makes it the worst is the ecosystem around it.

For example the help and forum posts are just agonizing. They are verbose to the extreme, Often including paragraphs on what the author was thinking the first time they encounter the problem, and manage to sound patronizing and naive at the same time.

The official docs and forums being naive and patronizing makes it annoying to find the right syntax, as it’s not my primary language. But Every simple thing requiring a 13 page white paper full of irrelevant digressions makes sas agonizing to use.


Totally! And often, they're PDFs!


Epic EMR (electronic charting/medical software)... -Ubiquitous defiance of UI conventions. -Inconsistent behavior of buttons, forms, etc -Irrationally composed deeply nested menus. -Very slow log in via Citrix, and you have to log in many times per day. -Terrible distraction from providing care. -Was really painful during COVID.


Whatever the OS I am using is, be it macOS, Windows, or Linux.

It always feels like I'm working against the OS now that the OS philosophy has shifted to being all things to all people.

If it's Windows or macOS, it wants to advertise to me, or prevent me from launching certain apps or features.

If it's Linux, it's trying to shift me into some ill-thought out use pattern. This is fixable, but at a significant time cost customizing things. Actually, I'm being unfair to Linux, environments like XFCE pretty much stay out of your way. But I don't like where the mainstream DEs are going.


This is why I don’t use DEs anymore. If you go to the trouble of automating a base install with a preferred wm, you don’t have much to configure but you have a stable and usable system straight away. Still doesn’t change the fact that Unix computing is changing a ton and can’t be fixed, but you can still get some consistency with it


Android because 2-3 years of updates is far shorter than the lifespan of the hardware.


Microsoft Windows. Followed closely by Microsoft Outlook, Microsoft Teams, and...god help me...SharePoint.


There's a lot of essential software that I would improve, but I wouldn't replace or rewrite:

- Nautilus. Serious usability/UX problems.

- Audio in linux. Ubuntu often selects the wrong audio devices (microphone, headphones, speakers)

- Linux sleep/hibernation. System hangs are common.

- GRUB. The interface is dated, why is it so ugly?


Re: GRUB: Have you looked at rEFInd, assuming you can use UEFI? http://www.rodsbooks.com/refind has a screenshot and docs, although you may also wish to refer to your distro's docs (e.g. https://wiki.archlinux.org/index.php/REFInd)


> Nautilus.

A feature I found in Nautilus the other day is (ctrl + L) allows you to edit the current directory path..... Had no idea this was possible, but hugely beneficial.


look into caja as a replacement for nautilus, it's basically a maintained fork of nautilus 2 before they made it suck


That would be German mobile banking apps (websites are just slightly better).

My current bank just wrapped a mobile website in Android app. Logging-in with a fingerprint, though supported, takes 3 or 4 attempts.

The app is also very slow and fails miserably on slow mobile connection (very common in Germany).

Finally the app doesn't do the 2FA feature, it's offered by another, even worse app from the same bank. They're too cheap to offer SMS option.

The 2FA app can only be registered using snail mail confirmation.


SMS leaks info to anyone who cares to listen.


Add UK mobile banking apps to that list as well.


Emacs.

I'm responding to the prompt in the OP, not the title.

> What's a piece of software you find essential that you wish you could replace or rewrite?

Emacs is the most essential piece of software in my workflow. It's probably not the worst, but it's the one where I see the most room for improvement. I lean heavily on org-mode for tracking what I'm working on, it's like my command center. I keep two emacs frames open at all times, one dedicated to org-mode.

Supported by an assortment of magical packages like helm, projectile and magit, I write code and anything else more efficiently than any other editor I've used. I was a vim user for ~5 years, and now use evil mode for modal editing in emacs.

So yeah, my opinion is that emacs is the best editor out there. But honestly it takes too much time to configure and maintain. I spend that time, because I don't feel like taking the productivity hit that I would by switching to another editor, but I wish I didn't have to.

I have a vision for a SaaS app that hosts my emacs config and provides me a nice graphical, discoverable interface for managing my configuration. It would have simple, intuitive flows for setting up the essential packages. Like maybe I could scroll through a list of the most popular packages (helm, projectile, hydra, magit, etc), and click to install.

The current state of the art in managing emacs config is googling the name of the package you are trying to configure, and trying to find someone's blog or github from which to copy/paste code from. There has to be a better way.


I think I’d say that the state of the art is reading the README, then the comments at the top of the source code for the package, then looking through the defvars. And, maybe that’s OK. I think Emacs should give up on the idea that it’s suitable for mass usage and embrace its identity as an editor for hackers who are at least slightly interested in lisp.


I don't think Emacs is suitable for mass usage. I think it's suitable for power users who are willing to invest time into learning to use a powerful tool. And I also think more people are becoming power users. With a well-crafted tool, you don't have to be a hacker to be a power user. I think the Superhuman email company is an interesting bet on this trend.

My guess is there are really good abstractions that can be built on top of elisp that let people configure emacs to be a powerful tool that fits their workflow like a glove, and doesn't require them to learn elisp or package internals.


Sounds like we agree.

> My guess is there are really good abstractions that can be built on top of elisp that let people configure emacs to be a powerful tool that fits their workflow like a glove

Yes, when think about this I get a bit hung up on the UI. Maybe those abstractions are going to have to ship a new one.


I think the only reason why I disagree with the comments here calling Git horrible and unintuitive is because Magit (Git interface for Emacs) makes it so easy to use and discoverable.


Any thoughts on https://www.spacemacs.org/ ?

It improves discoverability of hotkeys and packages for me.


I use Spacemacs. It's horrible. It's:

- Bloated

- Slow

- Encourages you to lock your personal configuration into the Spacemacs ecosystem, rather than writing it in generic Elisp so you can easily extract it (why I still use it).

- Introduces ridiculous abstractions that aren't necessary, just so they can put "spacemacs" in front of the variable name.

- Hasn't released to the master branch in 2 or 3 years (!)

- Consequenty breaks regularly when you use the rolling release (which you pretty much have to do)

- Has an unresponsive owner who doesn't want to hand the project off to someone else (or hasn't found someone)

- Sets up weird default behaviour that's very difficult to disable

- Has awful defaults for most languages anyway. Their Python layer is terrible, the features are extremely limited and it often doesn't work.

Doom is a much better starter pack.


Hah, yeah. I used spacemacs for 2 years from summer 2018 until about two weeks ago. And you're right! It does incredible things for discoverability with the built in hydra integration.

I switched to Doom Emacs about two weeks ago because it's built to be more performant and the configuration is meant to be a thinner layer.

Even with spacemacs layers, one has to go hunting on the googles and spend a bunch of time tweaking things if the layer doesn't set things up perfectly out of the box. And it rarely does.

Overall, I think spacemacs and doom emacs are amazing. Huge steps up from the base install. I just think there is a long way to go still.


Bank apps (eg. HSBC's consumer app). For the most part they are buggy, crashy, slow, lacking in features, and fail to do useful things (like support copy paste, export transactions to CSV, email transaction, etc)


HSBC app shudder, I rage quit the bank because of it, transferred everything over to Monzo. Truly infuriating and I think it's the only bad app review I've ever left.


Git. The UX and design is broken af, nothing work, noone get it.

AWS. I don't know where to begin. Nothing make sense. Nothing works.

Docker. This thing is basically backward at every step. We should have never packaged different things on linux as a single "container". It does not work that way and that has created more pain than solve anything.

K8s: same Go: same

Venv. Goddamnit this never worked well and same as git, noone gets it.


As an ardent git user who has converted multiple teams to using it, I could not agree more.

Git has an absolutely atrocious interface, at every level.

The power it gives you once you've mastered it is probably worth it, but I'm not sure of that, and I think a much better UI that still retains a lot of the power (and adds more horsepower, even) is very possible.


Some popular Git GUIs are also lacking in one way or another, or you just get stuck unable to accomplish what you want. And those who reason with me otherwise, had their client (Sourcetree) installed by their administrator. Especially as Git beginners would likely choose the GUI approach. I've tested several of the popular ones, but the only one that got me accomplishing things, given I'm a beginner, is Guitar.


I never said that it was not useful or that it was not better than any of the competitor solutions.

Just that it was bad. It can be quite bad in itself and totally better than every other solution.


Uh, I was agreeing with you.

"Quite bad and totally better than every other solution" sounds about right to me.

With the caveat that it's apparently a worse option than Perforce and Mercurial for huge monorepos a la Facebook and Google.


Has anything ever worked for you?


This question sounds snarky but is actually valid, I think. Most of the parent comment's complaints about extremely popular technologies simply boil down to "Nothing works" and "No one gets it", without any further elaboration. Perhaps the problem lies with the author of the parent comment rather than the technologies themselves.


Yes. Nearly everything on top of the BEAM.

Oracle Cloud seems honestly to go in the right direction. And it pains me to say it.

Hnoeycomb is a great tool built in a way that make sense.

Gitless is a good progress over git.

There are lot of examples. This is a thread about the worst things though.


It would be very interesting how the API ecosystem would look, if BEAM were pervasive. Haven't used it myself but OTP seems like the right level of abstraction for networks.


What is BEAM? I tried looking it up on google.



Genuine question, what don't you understand about Git? I personally like it, but the learning curve is steep for some of the more complex operations. But then again, it is doing fairly complex things at that end of the spectrum...


I understand it. That change nothing to the fact it is a shit UX, that does not help you to learn it and have relatively bad errors messages.


I find Git powerful and extremely useful, but at the same time I recognize the usability is a major pain in the rear. Some notions are not intuitive (ex: pull request, origin, branch checkout), most operations require more parameters and switches than needed. I love it and hate it at the same time, cannot live without but cannot fully enjoy it either.


This is a hit list against many major modern technologies. Yes, they they might not be working for you and it does not make sense without the time investment. Can you really say they are the worst software you use among the many other software you use very day?

I consider my worst pieces of software to be the ones where I cannot, for the life of me, understand even a tiny amount of why things were designed that way, or why things fail, or why I continue to subject myself to such torture. For the technologies above, I run into many issues with them, but I frequently feel that is on me, not on the software. They have also solved many real problems as well as exacerbate some others.


FWIW using `python3 -m venv` gets rid of most of the virtualenv headaches of the last decade. They finally built it into the language, and using -m forces it to always install with the same version of python you're actually running, instead of borking your system.


I feel like to understand Git, you need to understand pointers. I love git, it's so much better and so much easier to reason about than Perforce/whatever, in my view.


Twitter iphone app.

The home screen stream is this weird mix of people you follow, suggested streams, things your followed people liked and ads.

Each swipe down involves "OK I'm looking at something here it's a surprise...what is it..an ad? someone I follow? Some other gibberish?".

I can totally understand why people just delete the app. It's worse than FB imo - which is setting the bar really high already


Try using fenix, it's a fantastic mobile twitter client.


Peoplesoft Financials.

I travel once a quarter on average for work. I probably spend about 6 hours on vouchers afterward, between account resets, etc. My employers rules are pretty brutal, but the system is impossible.


Probably no one will say Stadia. And it's not because it's good.


I’m definitely disappointed as well. I want to love it, but too often it undercuts it’s own value proposition by being pixilated, jaggy and slow. And we have a gigabit connection plus Google WiFi, so there’s not much excuse.


The privacy invasive, security nightmare, resource hog, commonly referred to as the web browser.


JavaScript has way too much access to everything. It's absolutely insane.


IOS Podcast App. Its absolutely terrible. Stops playing in the middle of episodes, forgets what episode it is playing, episodes disappear, and it throws up a spinning wheel again and again...


I moved to Spotify in order to get my feeds synced across devices. It’s mostly been a better experience, but for some insane reason you can’t add a proper feed to Spotify.


I don't have issues with the app not playing or forgetting episodes, but I do absolutely loathe how it hides played episodes automatically and makes me go find them if I want to listen again.


Mac Finder

- It hangs at least every other day -- the pinwheel of death.

- It sorts files in some sort of weird non-alphanumeric order.

- There's no way to cut and paste a set of files. You have to copy them TWICE, once to an intermediate destination, then again to your endpoint.

- Right mousing on a file takes WAY too long to pop up a list of appropriate apps. This lookup should take a second at most. Adding a new app or removing an old one should update of the hash for affected files IMMEDIATELY when added and never again. This idiot check should NEVER occur on user time every time you right mouse.

- Finder should be rejiggered to publish a simple API so anyone can readily access all its constituent services. That way it'd be trivial for any power user to easily clone, reorganize, revise, and extend any/all of this obsolete malfunction-riddled 35 year old app, bringing the integration and performance of those services into the current century.

Finder has long overstayed its welcome.


You can hold command & drag to move files, not cut-paste but still better than having delete source destination files manually.


Probably Linux. I don't understand how people put up with things like PulseAudio. If I use Windows, the audio sinks behave like I expect them to. They use the device I expect them to. They don't mysteriously set the volume to some bizarre level that has nothing to do with anything when I start a new program, or change the video I'm watching on YouTube, or open a new video in VLC. Whenever I use any audio-capable application, it's like I'm rolling dice as to which device it'll choose to use and what volume it thinks I want it to be at, and none of it has anything to do with previous usage or what I want it to do. What is this crap? Also, if you want to configure anything, have fun trying to figure out what magical command-line incantations will do what you want it to do. Because the GUI tools are all utter crap and don't do anything useful.


Heavy PulseAudio user here, and occasional developer on the project. Pulse is very unlikely to be doing what you describe itself, it is probably something further up the stack in your desktop environment or whatever that is helpfully trying to manage Pulse for you, or alternatively some plugin that your distro added. This sort of demonstrates one problem with Linux - the fragmentation.

OTOH, my Windows 10 computer displays almost exactly the behaviour you describe - when plugging headphones in, some applications will inexplicably continue using the speakers. Volume levels change without any obvious reason between different connections of the same device. Sometimes I have to select the speaker output and then the headphone output and it will magically start working. All of that would be fine, except for the real problem: there is basically no way for me to properly debug and solve this problem, whereas solving your problem on Linux would be relatively trivial for anyone with a bit of experience, even if it is in fact a bug in Pulse.


> there is basically no way for me to properly debug and solve this problem, whereas solving your problem on Linux would be relatively trivial for anyone with a bit of experience, even if it is in fact a bug in Pulse.

I've never been able to debug any of this. I think "a bit of experience" is putting it lightly. I have no idea how to fix any of this and none of the documentation helps. Imo, between "being configurable but being impossible to configure" and "not configurable except for the most important bits, but at least you get a GUI that makes sense and does what you want and expect", I prefer the latter. I don't want to become a PA developer before I'm able to make it do what I want.

Also, if you dive into the Windows 10 sound settings, you can set the default device and the volume for every application and it'll never deviate from that unless you explicitly change it again. This is how it should be, and I don't understand why PA isn't capable of this as far as I can see.

And if a program deviates from that setting for any reason, the only other reason why it could deviate is because the program itself has changed it, and you just need to check that program's settings. There's two places to check. On Linux? No idea. Infinite possibilities.


> Also, if you dive into the Windows 10 sound settings, you can set the default device and the volume for every application and it'll never deviate from that unless you explicitly change it again.

Yes, I've dug deep in the Windows 10 sound settings many times. I promise you, it regularly deviates from it, in ways that don't seem at all deterministic. Your solid belief in Windows 10's sound system not containing any bugs doesn't jibe with my experience of it :)

As mentioned in my previous comment, I suspect there's something other than PulseAudio causing your issues, like some external tool (possibly bundled as part of a desktop environment) trying to manage the sources/sinks/volume. Because of that hunch I'd probably suggest your distribution's bug tracker as the appropriate place to report the issue, as it's likely an issue of integration.


I'm just a regular user sand my experience is more like yours. PA used to be terrible but for the last 5 years, at least, I've had no problems with it.

I just started using MS Win last year and sound is such a pain to configure in comparison, for me.


Can't relate to the Pulseaudio comment. In 3-4 Years of using it on multiple Machines it has "surprised" me maybe once. (Because of a dock that advertised itself as an audio output despite not having speakers/headphones plugged in)


Most frustrating first:

    01) Atlassian entirely. 
        nearly broekn, far from elegant and far too many times broken.

    02) Slack. using it since communication is a must. 
        Yet, noisy, using search too many times (left menu poor performace)

    03) npm. oh lord. miss the old plain vanilla Javascript days.


Concur, ADP, and Workday are all really bad.


ADP is unbelievably bad. That’s 2k software. I’m genuinely scared about their security and hate it that my most personal information are in a system like that.


I haven't supported ADP in at least a decade, but I figured it wasn't any better. I was astounded by how many SOP assumptions I had to throw out the window when setting it up.

No, ADP does it this (incredibly stupid) way.


Snipping Tool. I will never want to replace a file with an identical name. Just add a “(1)” please.


Waves MaxAudio Pro, a thousand times over. It comes preinstalled on Dell XPS laptops. It is used to control the combo audio jack, and it is used to control the speakers. Without it the speakers on windows are quiet and sounds like tin cans.

When you plug in a headset, after a 4 second pause, it pops up a dialog asking what type of device you connected. After the dialog you have another 4 seconds pause while it mounts the device. An 8 second wait while an incoming call is waiting is an eternity.

And god forbid you accidentally unplug your audio device in a call, it goes to the internal mic, and after restoring the device, MaxXAudio wont pop up the dialog until you leave the call.

It is so bad, my next laptop will not be another XPS, even though nearly everything else is great about it.


Have you ever worked with SAP?


SAP was the one that first popped into my head, quickly followed by Teams.

The SAP UI and UX are utterly ghastly - tiny buttons everywhere, hundreds of options, menus and pathways at every screen, and slow on top. It's just horrible to use. Even stuff like printing is ridiculously complex, way more than in a standard Windows app.

It gets a bit more bearable once you're familiar with whatever your area is - for example, you can type in a cryptic code to jump straight to the screen you want, and you eventually learn to somehow ignore the dozens of UI elements you don't need and focus on those you do.

On the dev side, you need to use ABAP, which is absolutely horrible - consultants can make a lot of money tho.

I should add as well, I've never used SAP HANA, so that might be more bearable.


Agreed, accounting software in general is pretty disappointing.

Thats why i started building my own open source system.

https://godbledger.com/


Your software isn't any better. In many ways, it's far worse than SAP or Oracle/Netsuite, since it doesn't even provide a UI (and the issues most people have with SAP and Oracle is how their custom UI was configured. It can be as painful or as painless as your Integrations team makes it.)


Windows because of Windows Updates.


Kodi on Raspberry Pi: slow loading menu, random hangs & crashes, getting bluetooth LE working was a adventure, BLE remote key presses are only recognized after pressing them several times when waking up, SMB file access not reliable (mounting a smb drive and then accessing it works much better), plugins are flaky at best (youtube needs api keys, youtube cast with extra plugin works mostly (when it does not crash), amazon video stutters on SD video, satellite TV is much less reliable than VLC on Windows)

I'm still using it because the alternatives come with their own drawbacks (usually high price but still having enough quirks).


I moved from Kodi to Plex and haven’t looked back. Granted I don’t use Pi devices (my tv supports plex natively) it works much better than I ever found Kodi to


I feel like I should post here as a sort of public service announcement.

If anyone reading this is considering trying or moving to HubSpot, I urge you to take our experience as a warning and seriously reconsider.

We moved to their sales CRM 2 years ago and have been filled with remorse ever since.

It’s hands down the most poorly thought out software package I’ve ever had the misfortune of using.

Aside from our sales performance taking a nosedive, it’s painful to use in a multitude of ways, and everywhere you turn is frustration, inefficiencies and dead ends.

Such was the frequency of our frustration with nearly all aspects of HubSpot, the phrase “fucking HubSpot” even became a meme in our office.

Run. Don’t look back.


CISCO WebEx: the worst.


1Password.

Core of the product hasn't seen any noticeable features in a while.

1PasswordX was launched without the feature set of the desktop version. Dumb stuff that hasn't been fixed in forever like not being able to delete a single item from the trash, password formulae are rigid - words with no digits or symbols or random mess of all characters, no TouchID/FaceID, Apple Watch unlock support, can't selectively sync a single vault to say my work laptop.

There should be some open standard data-attribute on password fields so the app can read in the required formula to create the perfect password without me fiddling the settings.


> There should be some open standard data-attribute on password fields so the app can read in the required formula to create the perfect password without me fiddling the settings.

Yes, please! This is a fantastic idea.


1Password supports FaceId and, before that, I used FaceId on my iPhone. But I'm using an old version. Has this changed?


Desktop sorry. It does support Face/TouchID on iOS.


Office 365.

Word processors and spreadsheets shouldn't be rocket science, but the updater seems to have been designed by Satan's "I wrote some Python in school once" nephew [1], and many versions [2] seem to have rather obvious UI bugs.

Word still doesn't do some very basic things it should, and it probably never will now.

[1] Updated recently. Still bad, but not quite as bad. The really hilarious part is that I also have updaters for various music packages from Arturia, NI, and so on, and all of them are far more streamlined and professional.

[2] The number does seem to be decreasing. But it's still higher than it should be.


Whatsapp, absolutely. Every single night it does a forced backup of everything that I do not want and hangs for about 10 minutes.

And if it fails for reasons such as storage getting full, it gets corrupted and then it's half an hour until it restores an old backup, losing the day's messages. And it also stores a week of backups, so that's 7x of the size which on many phones is untenable.

And this can't be turned off! I hate it with a passion but literally everyone I know is on it. There's even no way to hide a conversation from view without blocking it forever.

Awful.


Anything with the word "Enterprise" in its name or description. Any "Enterprise" search system will be useless or unusable [0]. Any "Enterprise" file/document management system will be a nightmare in any possible way.

[0] I once had a page-long note file on literally how to search for a document by title in $HUGECO's search application. Because it took me 3 hours to figure it out the first time. Not exaggerating. It would probably be easier to operate a DNA editing machine than this thing.


I've still havent't figure it out how to open an email in a new tab with just a single click when inside GMail. It. used to be possible, of course, like all HTML links (by clicking the middle button on my mouse, for example), but since 3 or 4 years (at least) that feature disappeared. I'm still upset about it and that is why I consider GMail "the worst" piece of software I use everyday (it's also because I don't use that much "different" pieces of software).


What about ctrl+click ?

I use that often, my only complaint is that it you close the main window, for some mystical reason it decides to also close all the other tabs opened that way


Thanks for that, sincerely. Still looks a little bit awkward because it only opens the email message in sort of its own thing (no menus like in the "main" tab) but it works.


Slack. I've got two or three people DM'ing me, threads going in more than one channel, and four other channel's @here'ing me. So I mute all the channels except for when I'm directly @'d, but why isn't that the damn default. I can't view more than one conversation at a time because the stupid client is a single window that doesn't even have tabs.

When I paste a link, I don't want it to attach what's at the link because that takes up like half the window.

Lately the client has tried to auto-format things. Bulleted lists. Code. When I type ''' to start a code block, sometimes Slack automatically terminates the code block for me and sends my message before I'm done and sometimes not. I think you continue bulleted lists with the return key but code blocks with ctrl-return, I can't remember, it seems inconsistent though.

Somehow the Slack client doesn't register for links to my company's slack domain so links to channels end up opening in my default browser then bouncing back to the client.

God I hate Slack so fucking much.

I want my IRC client back.

Jira's not great either but I've never used a bug tracker that didn't suck in one way or another and it doesn't suck any better or worse than others. At least I can open issues in more than one browser window/tab.


Why can't I parallel multiple workspaces on one of many cheap monitors.


Toggl the time tracker somehow went to complete shit in terms of performance. Its workflow is great, the Mac app worked splendidly until the redesign of a couple years ago. The redesign changed nothing drastically, pretty much only polished things, but somehow everything became much slower and gets slower still. Doing any single change requires you to wait. It feels like they do synchronous network requests on every action (which they quite possibly do, judging by the interaction with the mobile client). Sometimes CPU usage spins up too, for good measure. Even completion in text-dropdowns is hella laggy. Just switching to the app is often ‘app is not responding’ territory.

It's productivity software that I need to touch every half-hour or so. Productivity software has to be snappy. Toggl is the opposite of snappy now.

On top of that, the app forcibly updates itself and has no option to disable that—while I'm using Homebrew for all other updates. The Android app is also half-baked compared to the Mac one, which is no surprise by this point.

Toggl's workflow fit me almost like a glove: no automagic guesswork, just manual entry and tracking of me being AFK. No alternative app has that same model, from what I've seen, and/or the interfaces are meh.

Somewhat ironically, Toggl's client apps are open-source and I've cloned the desktop one right after seeing the redesign. But fiddling with them would likely require coming up with my own storage method. I might as well redo the app in Lua with Qt or whatnot, as Lua is hella fast—but the state of GUI libs for non-native languages fills me with endless dread.


`git`. I mean, its so popular that you get used to it eventually but the commands never make sense or map well to the mental model of what you're doing. And "getting used to it" is a seriously low bar for software IMHO.


Even though what you're saying is controversial I strongly agree with you. The number of time I had to Google things wrt is git is insane.

Unfortunately whenever somebody asks what could a better option there are generally no answers except keep at it and you'll get used to it.


Haha - I've used mercurial almost exclusively for maybe ten years, and the biggest share of my points on Stack Overflow is from a question I answered about a confusing part of git.


Do you have any regrets with sticking with mercurial instead of hopping on the git bandwagon?


I only regret that the young people who come work with us are learning something that's nonstandard.


Honest question: Which bits don't make sense?

For me it's the other way round, git clicked way faster than other systems.


Git has a very clean and simple data model. Unfortunately, this nice model often has very little bearing on how the `git` CLI works; it often takes things that should be simple operations and confuses or complicates them in various ways.

For example, say you’ve just made a commit, and then realized that wasn’t what you wanted to do so now you want to undo it. This can be described under git’s data model as “set the current branch to HEAD^ and discard the orphaned commit, leaving the working tree alone.” For some reason this is a “reset” operation (the same command you’d use to unstage a file, an otherwise unrelated operation) and you have to decide if you want to do a “hard,” “soft,” or “mixed” reset. If you get it wrong you’ll have to go grovelling in the reflog to get your files back.

To be fair, this situation is improving; the recent introduction of the switch and restore subcommands has helped to disentangle the especially overloaded checkout and reset subcommands, for example. But it’s still harder than it should be to convert a mental image of what you want done into the appropriate (series of) git commands, and vice versa.


The philosophy of git is fantastic, it is its unending collection of quirks, footguns, and inconsistencies that irritate people.


I agree git is not user friendly. But there are 2 solutions, that are pretty low friction

1. There are great cheatsheets online that you can just print out and keep on your desk.

2. Write a user friendly cli wrapper on top of git (i think there might already some projects out there)


I have observed vastly different opinion of git among people for whom git was the first vs, and people who were using svn or cvs before. The former is mostly fond of git, and the latter highly critical, mostly I assume because the concepts don't map the same way.

While I myself think I am pretty familiar with git cli, I don't really use the cli anymore, since intellij covers all the features in a much more intuitive way. e.g staged edits, rebase.


SVN is so dead simple to learn and use. And while I see the benefit of DVCS it hasn't really had much impact on developer productivity. The tools around are just so much more sophisticated than what we had for SVN. And I kinda miss being able to checkout subfolders directly.


People who champion git, how do you counter this?


I don't champion git, but it is sort of the least worst SCM overall. I'm a graph thinker so that aspect never gave me much trouble, but the CLI is a seriously weird jungle of odd naming, based limitations¹, do-all commands with flags changing the entire command out for a different one and poorly written manpages.

I'd also like to point out that the concept of not having the history local (as in CVS, SVN and some of the still-used commercial SCMs), but only on the special sanctified server, feels seriously weird and extremely limiting to me.

¹ The by far weirdest one is --set-upstream specifically (intentionally?) not working if local and remote branch names don't match, so "git push repository branchLocal:branchRemote -u" doesn't make "git push" work if you are on branchLocal. It feels like that's half the point to have that option in the first place. But nah.


I've never had problems with git "not mapping" to my mental model of what I'm doing, so maybe you could help expand on what that means. But I've run into two categories of people that struggle with git

Novice developers that just haven't taken the time to learn more than three basic git commands. Their lack of knowledge is the problem 99.9% of the time, but they don't know enough to know they are the limitation, and they blame the tool instead

Old developers that come with a mental model of another VCS and either cannot or will not change their mental model and continue to be frustrated that they weren't consulted when git was designed

A third category may exist, but I have not met these people IRL


Supposing you have an accurate mental model of what git does, the odd thing is that many of the most common commands don't correspond to simple operations on that model.

Most notoriously, 'checkout' and 'reset' have a number of very different behaviours depending on the shape of the parameters you give them (which is why they've very recently added 'switch' and restore').

And some things that ought to be primitive operations don't seem to have any simple command at all. For example, if I have branch 'wip' checked out, and I'd like to advance branch 'dev' to point to the same thing as 'wip' without changing the currently checked-out files (even temporarily, because I don't want their timestamps to update).

And the preferred commands for managing the per-branch and per-remote push and fetch and merge settings have changed so often that I gave up years ago and just edit .git/config directly.


This. A lot of the responses in this thread seem to conflate git commands with the git idea. The idea, which is to model a tree of files as a set of objects that contain metadata pointing to content-addressable files, is a very good one. The commands are very bad.


Git tooling has improved dramatically and papers over most of the confusing parts. The biggest flaw by far is the opaque command line rules. There's a reason "how do I undo a commit?" has >20000 votes on StackOverlow instead there being like "git undo" or something obvious like that. There's dozens of Qs like that because it's so far from obvious. A lot of git purists in the early days insisted on uselessly complex workflows (rebase this and bisect that) despite adding little value. And the general concept of staging a commit isn't very useful either.

https://stackoverflow.com/questions/927358/how-do-i-undo-the...


My use case is simple enough. Git provides a list of checkpoints I can rollback to. I generally squash over merge, and I use vimdiff to resolve conflicts. I know every command I need to do those things. What's complicated to learn?

If you want a coherent mental model of git, just do https://learngitbranching.js.org/ and never look back.


For 99% of git, I'm happy with GUI tooling in the likes of VS Code, Visual Studio and Rider - it's clear, and it works great.

It's only very occasionally that I have to drop down to a command line to fix some kind of merging snafu - if that happens, I'm guaranteed to have to Google it, but at least I'm also guaranteed to easily find a solution on StackOverflow.


GitHub desktop works really well too


Yes, I used to use it before VS Code came along, and before VS improved their tooling, and before I switched to Rider. Github Desktop was probably the first good git GUI I ever used.


I've never felt that the commands don't make sense or that they don't map to my mental model. Actually I don't understand that complaint. It's not like I set a mental model prior to learning git and expect git to follow it. I base my mental model on git while learning it, so of course it's going to map it. That's what learning how to use a software entails.

If we're talking about inconsistencies in git, the only one that comes to mind is how diff's `...` behaves like log's `..` and diff's `..` behaves like log's `...`. I.e. if you want to see the changes of `git log a..b` as a single diff, you'd use `git diff a...b`. If you want to see the changes of `git log a...b` as a single diff, you'd use `git diff a..b`.



I hate the Hole Hawg story with a passion. Firstly, because it's wrong: the story say things like "it's a cube of metal" and "the handle is not ergonomic".

But look at pictures from the maker. It's not a cube, and the handle is in fact ergonomic. Indeed, I would hope that a drill used by expert for hours every day would be 100% designed to make their jobs easier, and that includes not given them crippling injuries. And it's 100% purchasable from Home Depot. And, looking on Amazon, it's half the price of a truly expensive drill.

But there's another level at which the story is bad. The story feels like a story about gatekeeping: either you're one of the special people, or you're a useless homeowner. Either you have big problems, or you shouldn't be here. Either you've dedicated your life to drilling holes, or you're not welcome.

So, I read the story, and it sounds like both an exciting story of a newbie learning that some profession has unexpected depth. At the same time, it's also a story of a person who wants to be part of the special exclusive club.


I read the story and still cannot decide if you're for or against git, because "It's so powerful that will gladly drill a hole through your wall, and even your foot, if you don't give it its full due respect" is definitely not a characteristic I want for a system managing my source code.


What makes git different than other cli tools like grep, sed, curl, etc?


- I have to interact with it much much more often

- I have to be a good user of it. I can get away with knowing a couple flags for these tools

- Git is inherently stateful. I can iterate on my grep-ing/sed-ing/curl-ing and try random stuff, but git operation can be destructive or leave me in a state I don't understand and do not konw how to get out of


I just use a decent GUI with all the use cases I need: SmartGit does it for me. Totally recommend


It maps very well to my own mental model? I'm not arguing that the parent poster doesn't have the problem that they say they have, but it's a problem I do not have and haven't encountered very much with new users after explaining it to them?


git gud


I assume that people who find git extremely difficult are unwilling or incapable of learning the internal data model. I think if you want to have distributed source control, there is a minimal complexity that exists. I also previously used cvs, svn, and perforce, so maybe that affects my opinions; I strongly believe git is a huge improvement over all of the aforementioned.

Note I think git could definitely be easier to use, and the reuse of eg checkout to switch branches and revert a dirty file to either staging or the most recent commit is a bit strange. But calling it uniquely bad is silly, imo obviously.

For working software engineers, I both think -- and recommend to juniors -- they must invest the effort to learn an editor, git, and at least one language + toolkit deeply.


I think that the most important goal of our profession is to find and implement high-level concepts so that our users don't need to worry about tiny details.

As an example: when I buy a back-up hard drive from a typical brick store like Costco, the "back up hard drive" is abstracted away: I don't need to study the USB timing diagrams, or worry about the details of how the magnetic domains are imprinted on the spinning disks, or really any of the chemical details of the surface coating.

This abstracting away of details is AWESOME. I can buy a $150 disk drive after spending less than a minute considering the purchase.

Git, on the other hand...

Let me give a real-life example of where real-life git and real-life published work flows don't work: you can go into GitHub.com, and make a project. And you can write code in Visual Studio, and save it up to your new git project.

Unless, of course, when GitHub.com recommended that you add a license. The instant you add a license, the project isn't "empty", and once the project isn't "empty", you can't trivially push your new Visual Studio project up.

The fix for this is to delete your GitHub.com repo.

I bet you'll reply and say, "that's just real-world problem! I only want to hear about theoretical problems!" -- which, IMHO, is one of the problems my profession faces. Real-world problems are ignored in favor of theoretical ones.


> I bet you'll reply and say

Maybe don't imagineer what I would say based on poor evidence.

Because (1) github doing that is kind of dumb (though (1a) how often do we make new projects?), and (2) we're discussing git as used for source control, particularly the commands. That's distinct from using github as a remote.


The internal data model is not too bad, the problem is that the commands are overly complex with too many edge cases and options


A programmer doesn't have to know the IR (intermediate representation) of their compiler to write code and they shouldn't have to know the internal data model of git to store code.


I had this problem until I spent time to learn the underlying data structure of git. Everything pretty quickly fell into place after that (git checkout still has too many jobs IMO).

The git commands do not abstract over the internals, they pretty much just provide a direct interface to them.


> I mean, its so popular that you get used to it eventually but the commands never make sense or map well to the mental model of what you're doing.

I don't really find that to be the case in normal use at all.


People who criticise git fall into two categories:

- Those who have never used Clearcase, Perforce, or any other enterprise monstrosity.

- Those who have and suffer from Stockholm syndrome.


Because other things are worse git can't have problems?


The problem addressed by git or any other serious version control system is complex. Any seemingly simple solution will be severely limited, even if it does some particular things reasonably well (e.g. Subversion).

Git offers the flexibility to let each person work the way they prefer, even (to a large extent) on large shared projects.

With some wrappers and hooks, you could quite easily cripple git so as to emulate most any simple VCS. The aforementioned enterprise products barely work at all, so replicating their non-functionality might require more effort.


It being flexible is not the reason for all criticism of git, and simple wrappers don't fix all its issues. (and even if it were, "you need wrappers and hooks to work around its pitfalls" would be a completely valid criticism)


Perforce is fantastic and I'll take it over git any day.

Clearcase I agree was a POS.


(Question for OP)

Just curious:

Were you inspired to ask this question by the recent CoRecursive Podcast interview with Jim Blandy (https://corecursive.com/054-software-that-doesnt-suck/) in which he talks about how the motivation to design a CVS replacement come from the question "What's the worst software that you use every day?"


I was! Thanks for being a part of creating Subversion.


Webflow. The menus go 10 levels deep to interact with an element. As a dev, even I can't understand it. Raw HTML is better than their menu-driven WYSIWYG


iTunes because it adds indirection I don't want and yet somehow is required for a variety of tasks I'd rather do from my file system or browser.


Literally any electronic medical record system ever built.

HUNDREDS of different systems on the market. Some with maybe a handful of doctor's offices using a particular system.

Worst UIs you could ever imagine. Limited interoperability.

In even well-established systems with large numbers of installs you'll see multiple bugs in production code that don't get fixed.

Switching costs are essentially infinity so doctors get locked into a system no matter how bad it is.


I accidentally bought a gaming laptop that can't run Linux, so I'm stuck with Windows 10 exclusively. Although it really isn't that bad now.

My workplace uses SmartCAM, an ancient CAM package for manufacturing. It's probably not that bad, but I couldn't wrap my head around it compared to other CAM software. It turns solid geometry into low-poly mesh, and nothing is intuitive like Autodesk HSM.


for me it's phpmyadmin. I guess I should just find another tool that does the same, but I don't use it that much, just for quickly changing things around when building prototypes or just looking at things. I've been using it for over a decade and 10 years ago, I loved it. now I hate it. it's inexplicably slow when doing nothing at all, it uses frames for the sidebar so your list of tables goes out of sync constantly (presumably so it doesn't have to reload all dbs/tables on every request, but then why is it still so slow? it takes like 10 seconds to load sometimes when I'm not even doing anything with any data involved). every change they make to the interface makes it worse and more cumbersome to use. the default settings paginate your sidebar after like 40 tables or something ridiculously low. so you have to wait for the slow-ass frame based sidebar to load 3 times before the table you wanted to look at is even in your list. you can change it by modifying some php file somewhere, but it didn't use to have this problem.


I worked at a company that made financial planning software called Xplan. What a user could see on screen for their client was a combination of over 1k user capability controls users group membership, which was hierarchical so you used your parent group settings of your primary group unless they were overridden (primary group.. yes you could be in any and all groups, all with their own settings throughout) clients group membership page settings, with every page AND field showing controlled by conditional rules that could be based on any of the thousands of fields of the current user or client country set for user module allowed product lists that could be applied at user, group or global level, and group hierarchy applied

Client portal could display information using the above rules, and more rules

Thousands of site settings were in an admin area which was grouped by major module, or just placed on which page the developer picked at the time (some pages dedicated to a couple of settings, other general ones full of unrelated random settings)


Calibre eBook reader. Wonder why no competition from other in ebook reader apps.


Apple Xcode. Not because it is bad-bad or worst. Just because all other software I use is better. Firefox, Things, Emacs, etc. Perhaps, this is what is happen when there are no alternatives. I know about AppCode from JetBrains, but in many cases (like, build system, dependency management, etc.) it behaves just like a wrapper on top of the Xcode or requires to launch Xcode itself.


Firebird, and by extension the industry specific application which utilizes it.

This applications is absolutely usability nightmare, created in 90s, and it hadn't undergone any change since then. It's database design is also absolutely horrible.. yet it is faster, and more comfortable to just use plain SQL to work with it than bother with UI.

Then there is that piece of shit known as firebird. It has all downsides of file based databases, while also having all downsides of service based databases.

It also has its own way of doing things, and it doesn't even have services/systemctl service by default. Prior to version 2.5 you couldn't drop connections, and guess what - that PoS application set it to a week.

File itself wont update if there is any live connection.

That piece of shit app uses legacy client dll for firebird, so you can either connect to firebird 3, or to firebird 1/2. but not both.

And then there is firebird documentation, which is horrible, and fragmented.

I could rewrite that piece of shit, and design a better database but we won't ever compete with that company for political reasons.


1. Gimp (not natural to use it, so UX/UI sucks)

2. Freecad (difficult, weird UI)

3. WordPress+WooCommerce (they charge you for as basic as simple shipment tracking plugin)


Google? It captures me with its convenience and illusion of transparency but is probably also selling a window into my deepest curiosities.


Managed Workplace. It is an RMM tool so it does monitoring, automation, and facilitates remote access to client environments.

- Loading up the client list takes forever ~15 seconds

- Loading up the asset list for a given client takes even longer.

- Remote access is hidden behind a 2 layer context menu

- All URLs are dynamic so you cannot bookmark your favorite assets / jump boxes. I use a selenium script to automate the page navigation because it can take ~5 minutes to get to an asset by name due to a combination of needing too many page loads and not being able to just start from the search page.

- Terminal experience is way worse than putty. Output formatting is always jacked up and a command takes ~5 seconds to return output.

- RDP all goes through a relay and your connections will just die occasionally.

- 90% of my work interacts with it in some way.

BUT it makes pretty reports for management so we are stuck with it. I demo'd some alternatives like apache guacamole or remote desktop services but the consensus was that we didn't want to take on the risk + we are already paying for a product that "works".


MS Excel.

It can give you nice plot results, but to get there you need to struggle with the UI. The UI for adding data series is a pain as while there is a editable text indicator indicating cell ranges for the data, typing on that indicator activates cell selection on the background that also modifies the text as you type.

It is a nightmare if you have many Y-data sharing the same X-axis. The methods for bringing out dialogs also rely on being able to click parts of the chart, which is largely hit or miss, especially if you have dense superposed data.

Scroll position changes when I select data (using several methods) so new charts are often created at the bottom of the long spreadsheet and I have to manually bring it to a more sensible higher position.

Well, I might be wrong for using Excel in the first place. But I use it for the same reason I use MS Paint instead of Gimp. Sometimes you just need something quick and familiar. And for plotting, the alternatives seem to require some learning.

I'm recently lookeing at SciDavis and hope this solves my nightmares.


The new google chat

No new user, and rarely an experienced one, starts a new thread. Every reply just builds on the original.

All this even when the new thread button is _right in front of you_. But the design is so terrible I don’t blame people for missing it.

(On a separate note, I see no Apple products in main threads. I see a few google ones, Microsoft, Amazon (AWS) and Facebook (workplace))


Home Assistant.

Don’t get me wrong, I still love it and it makes my life easier but it just breaks all the time, especially when I update it.


Home Assistant is amazing but you really have to read the release notes for every release to make sure something you're using isn't going to break. I appreciate the improvements it has seen over the years but it's definitely not something you can just update and assume all is well.


I think it’s also lack of manual and automated testing. Few weeks ago one of the updates just broke the iOS companion app. (For everyone).

I had to rollback to my latest daily snapshot and didn’t update until they fixed it, which took around a week.


Are there any other CPU/GPU designers here? I feel like EDA software in general is pretty frustrating to work with.


Modelsim

I would hate to rewrite it but I wish someone would. It has the worst and buggiest UI of anything I've ever used. Everything looks incredibly dated, and while the backend (the useful bit) does what it's supposed to (though very slowly unless you're paying for the big boy license) it's just a horrific place to be.

Coming home from work and working on my own stuff with the tools I like rather than have to use is like a breath of fresh air.

Vivado is also notoriously a bit of a bloated and buggy pig. For hardware simulation, Active HDL is probably the least worst thing that I've used that has all the features. But for just doing simple simulations without all the bells and whistles, GHDL is by far and away the best experience, and it's the free one.

https://github.com/ghdl/ghdl


I really haven’t had a positive experience with Microsoft Teams



All of my "worst" softwares that I use daily have alternatives that are equally as bad if not worse IMO or will be a huge pain to switch to, so I still "love" them by comparison.

Lastpass + Authy - main frustration is helping wife use them - her usage is less frequent so she needs help each time. Also they don't sync reliably so adding new accounts can be painful.

Anything that starts automatically on boot by default, slow to launch, or has a separate "installer/updater" that is constantly annoying me (looking at you Adobe everything)

Alexa - only listens to me; doesn't cutoff quickly enough when someone tries to issue a new/improved command or dismiss a response

So many posts on here about X not working on Y system where Y is not a money maker for X. Yes, you are an afterthought.


I work as a control systems engineer and ClearSCADA is my biggest pain point.

Crashes all the time on both the front and back end. Bloated mess of user displays that you have to drag and drop elements on by hand. Oh and let's not forget that I'm usually interacting over a slow RDP connection.


The software I run every day on my laptop is ok (Firefox, thunderbird, emacs, terminal, Ubuntu in general) so it must be something on my phone. Probably the OS because the phone is as good as my previous laptop but Google limits what it can do, more and more with each release. And yet any alternative I can think about is worse. Example: iOS is even more locked up and a Linux phone won't run some apps I must have so I'll end up with two phones.

Aha! I was about to submit the comment and it came to me that my laptop's nvidia proprietary device + linux kernel combo is (let's be kind) under optimal (still better than the open source driver.) The main point: 40 Hz refresh rate with Ubuntu 18.04 and 20.04. It was 60 Hz with 16.04 and earlier.


KMail. It hangs so frequently that I have a shortcut-key combination to kill -9 akonadi (ctrl+alt+k), which then respawns and fetches mail again.

At the end of every startup it used to present a dialog 'Mail has encountered a fatal error and will now close'. If you clicked 'OK' the programme would terminate.

Fortunately the dialog wasn't modal, so you could carefully tuck it into an unused corner of the screen and continue as normal. Eventually I did some googling and deleted ~/.local/share/local-mail/templates which got rid of it (but I lost the templates)

That said, I still find the UI much less fiddly than gmail, which is why I use both.

In fact I'm writing this comment while I wait for Kmail to re-load it's mailbox, so I can reply to an email.


Pocket ( https://getpocket.com/ ). It’s really bad. Been using it for years and it’s always been broken. Crashes often, narration sometimes works most of the time it doesn’t, other times it works if you force stop the app and restart it. It’s very slow too. I depend on for my long daily commutes and I only stick to it because InstaPaper is also very broken and there is no reasonable way to move the stories from pocket to instapaper. I am convinced the people who build it never really use it for those issues are otherwise trivial to encounter and I would think trivia to fix as well. I hope someone will build a better such app and make them irrelevant.


I'm surprised no one has mentioned Adobe Acrobat here; maybe techies view/edit their pdfs in ed.

I have to admit that I don't use it every day--I have PDF-XChange Editor on my home computer (and a couple other PDF viewers), but when I do have to use it, I hate it. The UI has gone through lots of changes in the past few years, and each time it's worse. Most everything is icon-based--tsort of like Microsoft's Ribbon, except these icons are randomly displayed above, or to one side of, the doc you're working with, leaving little room for that doc to be displayed. You can get a menu, but its primary use seems to be to bring up rows or columns of icons. And the icons are both large and ugly (and often indecipherable).


Web browser. It is hands down the most insidious. Complexity by default, no alternative. No debate.

What is that website "browse happy" or some such? All due respect, I simply cannot agree. I am not happy with those recommendations. Web should be friendly to all user agents.


Windows 10


What do you dislike about it? I enjoyed Linux desktop for many years, and then spent almost 10 years on OSX enjoying that, and now I've been on Windows 10 for a couple years and find it just fine. It's completely out of my way, doesn't crash, and so far updates haven't eaten my data.


It's not better than Windows 8.1 in any dramatic way, but it's chokeful of junk than no user wants - ads, telemetry, forced updates, the whole OS-as-a-service angle, etc. You don't feel like you own the machine anymore. It's like you bought it just to let Microsoft to do as they please with it.

Then, there's also the UI that is just... awful. Touch-oriented white-on-white macro bullshit for people with poor vision. It's a smaller gripe and easier to fix, but still.

Windows 10 really feels like something that Microsoft decided to stuff down everyone's throat just because they were in position to do so. It clearly shows that MS treats users as a cattle, basically. You can moo all you want, but that won't change a thing. If you don't think it's true, look at LTSB (or what it's called now) - that Windows 10 edition for people who are really paying. Can't piss them off, so - no ads, no Windows Store, no Cortana or any other crap just gushing out mainstream Windows releases. So it is perfectly possible for MS to release reasonable OS editions _and_ they readily recognize their bundled junk for what it is, it just they don't give a fuck of what unwashed grey masses want.

So, yeah, Windows 10 is the worst piece of software. Not because it's lacking in the tech department, but because of a fundamentally rotten and disrespectful attitude towards their users on Microsoft's part.


Agreed. Win 7 was the pinnacle in terms of stability, UI pleasantness, staying out of the user's way -- overall usability. Other than WSL, every new "addition" in Win 10 is a negative.


What stops you from just buying LTSB? I believe we pay $130 per employe per month for Windows enterprise and the entire office suite. In my opinion, it's a pretty good deal.


>> What stops you from just buying LTSB?

Microsoft -- it doesn't sell those versions to individuals (or even small companies without Volume Licenses).


Horrible update system. Inconsistent patchwork of multiple legacy UIs. Terrible out of the box CLI. Over-reliant on GUI for administration. Bad default browser. Installing 3rd party software is a mess. Difficult (or impossible) to get good ports of open source tools. App Store is not worth mentioning. Limited cloud services. Needs rebooting practically every day. Very slow to boot. Very little integration with phones, tablets, watches etc.


I would like Windows 10 a lot more if it didn't ship with adware / spyware.


auto update = auto break

Especially perhaps if you were lured in to the free upgrade route from Windows 7, which means your hardware is decent but not the latest and greatest. Fortunately, I made image backups when I upgraded.

Normally we'd think of updates as the correct thing to do to maintain your PC. So I find it insulting that it is the updates that are breaking the system.


Apple's XCode. In particular its configuration (project and environment) features. Yet, making distributions and the whole signature magic is, ummm, something. Seems like it is in principle impossible to generate and build native UI project outside of XCode...


Evernote, Spotify, Netflix

I am gradually migrating to Notion instead of Evernote but I am stuck with the other two.


I switched from Evernote to Notion 6 months ago. Their block-based editing system drives me up the wall. But, they really nailed their media integration in a way nobody else has, so I continue to use it.


On every workday: Microsoft Teams. When trying to make a link, it overwrites the clipboard. When formatting text in the text box, it sometimes randomly moves the cursor into the previous block.

Unfortunately the company has decided to use it and my colleages have as well.


It used to be Jira. Thankfully my current company doesn't use it. Now it's probably DBeaver, which is hard to complain about because it's free and full-featured, but it has one of the worst user experiences I've ever encountered.


Dragon Pro, voice recognition software. Awful UI, known bugs that never get fixed, incompatible with critical applications like web browsers. Why? It's my understanding that they have no real competition. If you need to "drive" your computer with your voice, Dragon is all there is. In fact, it is pretty limited without the addition of Voice Computer, which allows you to command Windows to do certain things, like switch programs, etc.

Dragon is so important to my workflow, while so shitty a program, that I would pay three or four times its cost for a competing product that actually worked well.


Outlook for the search and threads. The search is attrocious, the well known Ctrl-F means "forward" (why, but why?) and the search does not highlight the result in the mail, good luck finding it in a 1000 lines email thread.

Email threads are not there; "Find related" works, but it does not help organize emails, while long emails with embedded history of other 20-30 messages and no capability to identify, expand/colapse messages are a nightmare.

And the calendar is useful, but a black box. My calendar has about 0.5 GB and I have no idea what is taking up all that space and how to reduce it.


The GitHub web UI. It's. So. Damn. Slow.


Strange, I find it to be significantly faster & lighter than most other webapps I interact with daily. I think historically they've had a huge culture of using as little Javascript as possible, which I really appreciate.


Other web apps probably aren't any better. It's just that other than some Wiki stuff, where network interactions aren't in the fast path, GitHub is the only web UI I'm forced to use with any frequency.


Any poor sole here using Google Jamboard? Half cooked product released out ever!


This was back around 2005, so I imagine the software has improved since then, but... Sonic Scenarist for DVD authoring.

The thing we hated most about it apart from the slowness (computers were slower back then too, but anyway) was that it auto-saved after every action and had no undo. If there was an option to turn this off, we couldn't find it.

It was all too easy to select a bunch of items and accidentally drag them to the wrong place, and so we ended up just making a backup copy of the project file from time to time, and before attempting any type of operation that might mess up.


Cisco Contact Center Express. This is a pure disaster, this damn thing is full of hilarious bugs that exist there for many years through many major versions.

One of examples: if you click 2 (or more) links in its web interface and open the links in new tabs, the content of these tabs will be a mix of content from the links you just clicked. It’s not very obvious and it’s very easy to change something in the tab A, thinking that you’re changing the call center configuration for application A, but in fact you’re changing a random piece from site B or C.

Cisco doesn’t care much about it.


All calendar and todo list applications, on desktop, on mobile and in cloud.


All of Google's Android apps, by far.


The new MacOS. When WiFi is active it needs seconds (!) until apps like VLC open. Normally this just takes miliseconds.

It slowly (haha) steels time from me every day and I was never so frustrated using a computer.


Slack


I would consider you fairly fortunate if slack is the worst piece of software you use.


agreed - it's a massive cpu hog for a basic chat client... it excels primarily at turning my macbook into a toaster


I only use the web version. The native version is a resource hog (or was, when I last tried to use it).

The network connection quality on Slack calls seems to be very lacking compared to other call apps.


This one burns. Slack is excellent in so many ways, but it really wants to become a noise machine that drowns you in alerts and simultaneous demands for your attention.


You can snooze channels.


How is it possible that I have to spend perceptible amounts of time to search/view logs? I didn't ever have this problem in the 90's or 00's.


There are a couple issues I have with slack. Threads and message editing.


I second this


I third this


Between Confluence, Salesforce, Azure portal, and Addepar, I am starting to wonder if I am the one that is insane in expecting web pages to load in under seven to ten seconds.

Typing in Asana is painful as well.


tmux. I mean, I know it's better than screen, but I'm a user of emacs for 25 years, and I still can't get used to the tmux keymapping. I'm reluctant to customize them because I want my fingers to do the right thing on an unfamiliar system. And so many of the defaults are just bad, like constantly renaming windows when you run commands (without making a config file change). Even the command line arguments are different for the same parameter depending on which sub-command you're using.


I’m very grateful for iTerm - I tried to use tmux on a few occasions but it’s just so bad with the defaults. With some software it’s fine to have bad defaults but the occasions I need tmux is on random systems where I don’t want to have to ship dot files around.


> I'm reluctant to customize them because I want my fingers to do the right thing on an unfamiliar system

How often will be be on a system which does have tmux but doesn't allow you to download your own tmux.conf from GitHub (or wherever)?


If you work together with a client on their system using a shared session - all the time, I guess?


Yeah, I do a lot of sensors work, and we throw tmux on computers hosting the hardware and share a user account.


MySQL workbench. It's slow, buggy and hangs again and again. I have to force close it multiple times everyday because it freezes so often. Same experience on MacOS and Ubuntu.


Not many marketers perhaps in this thread, so here's mine.

Dynamics 365: millions of unwanted features that bloats the system. Very complex where it shouldn't be, poor search features... Could go on and on. On par with Salesforce in my opinion.

Marketo: entreprise software that was probably good 10 years ago. Nothing has changed since then. UX/UI is shameful. Landing page builder is just a joke. Not being able to write custom objects from a form defeats the purpose of using an advanced tool like this.

Also... Concur?


Messages app on iOS is the most frustrating app I have to use often and Apple doesn't allow any alternative as well. There is no way to star/pin certain messages in it. It doesn't allow copy-pasting partial text in a message. Results of searched query are often not what I am looking for. Finding historical messages in some date range takes minutes.

Many other Apple-built apps and products (especially those that cannot have any 3rd-party alternatives) are horrible to use.


This really applies to every CAD software I've used, but Solidworks is an overly heavy, unstable piece of crap that drives me absolutely nuts every day I have to use it.


I’m not sure it’s the worst but I continually find myself frustrated by how sluggish slack feels.

Even with the new UI it still seems strange that the site is so slow vs others I have to use.


I recall reading the Subversion architectural chapter in Beautiful Code. In fact it's probably the only chapter that stuck with me (there's another IIRC but I can't recall which. My brain didn't make an association to the book).

One of my design mental exercises is to try to figure out if you could tweak the svn architecture into a DVCS, preserving the superior subtree support. I think it could have been, it's just that theory and execution diverged.


ConsoleZ on Windows that I use with Cygwin, being on one hand the best terminal app for Windows, on the other there were things that were driving me insane. The main project seems to be sort of abandoned, so I eventually fixed them myself[1].

[1] https://github.com/youurayy/console/releases/tag/1.19.0-pers...


Do you know ConEmu? It has pretty extensive configuration and is under active development. Though I am not that much of a console user so I wouldn't know the pitfalls, if any, I just love it because it's so configurable, and it's been very good to me.

https://conemu.github.io/


Another option worth trying is Microsoft's Windows Terminal.

https://github.com/microsoft/terminal


If you are willing to fix stuff by yourself I can recommend Babun[1]. It's unmaintained but still works. Its biggest problem nowadays is running Cygwin update - some urls are obsolete and you need to substitute them.

[1] https://babun.github.io/


I'd say basically half the software I use on a fairly regular basis is usually pretty much garbage. Corsair Link is a clunky, laggy mess. It takes like 10 seconds to open it, every single time, even if it's running in the background. I have yet to use good software for "peripherals". Google home devices are cool when they work, but I've gotten frustrated with them too many times that I barely use them. I could go on.


Corsair Link is horrible. If you use Linux you should check out ckb-next which is really nice.


Sysaid, Jira, the entire oracle software sphere of influence.


Jira. How can so simple a concept be implemented with so many unnecessary lines of code and run so slowly? Despite (because of?) several major redesigns, that is.


Outlook's webapp email client. Mandatory(1) at work. No IMAP access.

I truly can't think of a single positive aspect of this absolute garbage piece of software. It's so mindnumbingly bad that most of us just avoid email whenever possible, even if it means going to physically seek out a person who may not even be available.

(1) The actual Outlook client is an option if you're willing to forego root on your computer. To me that's far worse.


In summary:

Docker: crash o plenty Service now (bloated forms system on .net or slower) Teams - UI, no sizing of window, spyware (look it up) One Drive/ SharePoint (ugh - group of us said we would take pay cut to not use) Finder - anything but. (How is a file in past 30 days and not recent that I made 5 seconds ago?) Photoshop? Nobody mentioned here. Adobe anything... OSX Mail - particularly Big Sure flavor Itunes Connect SAP Concur


There are no words to describe how much I hate JIRA. Terrible UX & slow as hell. The mere thought of browsing for my next ticket in JIRA gives me seizure.


Airflow. Hard coupling to their own ecosystem, buggy as hell, and fully tied into Python's terrible dependency management, ensuring you will fail but only after you build an entire ecosystem onto it and will face a massive challenge moving away from it.

Running it in a kubernetes cluster is basically like holding a marathon in a minefield. You know someone's gonna die, you just don't know when.


Not to mention how "missed SLAs" don't function like you expect them to


AWS console set of web pages ... granted any big shop most certainly automates all their commands so rarely if ever needs to use that site ... evidently AWS console is a victim of its own success in continuing to have a 1990's look and feel ... yet being such a cash cow AWS should launch an entire re-write ... the underlying SDK and cli are great and they deserve a better UI


Apple CarPlay is an absolute piece of garbage. It always hangs on the “connecting to iPhone” screen. I just want to see my nav. Infuriating.


In case this helps, my Android Auto went through an infuriating phase where it refused to connect, and my cars screen would continue to say exactly what yours said. For about two weeks I was incredibly frustrated, until I discovered that I just had to clean out my phones charging port with a toothpick and it immediately began working again. The dust and debris from repeated connection and disconnection had piled up and prevented certain data pins from connecting, but once removed, it worked like brand new. I now clean out my phone’s charging port every month and haven’t run into the issue again. I was relieved that the issue was this simple to fix, and hope yours is too.


This was an issue for me recently, I had a massive hair ball in my charging port. I was having charging issues and what not. The not connecting issue was a problem long before and after the hair in my charging port though. It’s definitely a cause in some cases though.


I find it more infuriating that car makers like BMW make you "rent" CarPlay despite already paying for all the hardware. They make you pay extra for a luxury vehicle to overcome their garbage infotainment system only for CarPlay itself to be disappointing.


They reversed their position on that, didn’t they?

https://www.autoblog.com/2019/12/04/bmw-free-apple-carplay/


The Android one completely disables my phone. The car never acknowledges that anything is happening. The worst is when it does this when I just want to charge the phone in a car.


Bad software usually gets out of my workflow quickly as a software engineer. Postman's workflow is really confusing to me however.

Also why bad software exists: https://twitter.com/jaukia/status/1114044716616753152/photo/...


I can't say I've ever seen a time card system that was not hot trash. The more full of enterprise they get, the worst they are.


I like FreeCAD but it keeps crashing, slow operations freeze the UI and by slow I mean for up to a minute, it's a bit ugly, failing operations usually just give you a cryptic error message when you apply an operation. If you can get used to the quirks it's a pretty nice tool. I've used worse software but I don't use truly bad software every day.


The software that powers almost every appliance or device on the "Internet of Things" that I've ever used.

The manufacturers of those appliances and devices really do NOT know how to develop usable, secure software.

See https://twitter.com/internetofshit?lang=en for egregious examples.


Hard to pick between Skype and buggy apple mail client that splits my screen every few minutes just to fetch new emails (super annoying)


Jira. Slow, clunky, stupid syntax, no integration with source control, idiotic menus everywhere, and a laggy UI that makes zero sense.


Slack - for being unstable (crashes frequently). We have very little noise, so it is only an interruption when somebody actively needs to interrupt me.

Skype - an absolute trainwreck of instability and messages not syncing between devices. Always needs to update - and never improves. I only use it because it is still the de-factor standard for a lot of poeple.


Do websites count? Ebay can be pretty bad at times.

But the winner must be agresso, or whatever it's called now. Just awful in every sense.


Workday. Intentionally misleading design, discouraging anything any user wants to do in the portal. Absolutely unintuitive.


PTC (formerly MKS) Integrity

It's a "product lifecycle management" that is basically version control plus issues list tracker. It has horrendous 80-90s-era interface and require clicking for every possible steps. Formatting always involves MS Word style rich-text button with sans-serif font.

Worst: it has to stay Online just to do version control.


Kijiji. Ebay owned Canadian classifieds site that is absolutely horrid experience with hundreds of http request and a bazillion ads loading on 1995 web servers. Its still one of the most popular classifieds in Canada. I'm annoyed to the point of rewriting their UI and entire app and thinking of open sourcing it.


Products “based on Eclipse”. All 15 of them.


Jira: slow, confusing, ugly, but then again most of its competitors suck too. All ticketing and PM systems suck.

Xcode: don't use it every day but damn it is unnecessarily weird and unintuitive. It's clearly something designed for the people who know it and nobody else.

Mac Mail, but unfortunately the alternatives suck too and I hate web mail.


Jira. I freaking hate everything about it. Its task is so simple and yet it sucks so monumentally at it. If I'm done with a task, it's freaking hard to find it. I can never get to the overview of tasks for a project, and it's cumbersome to log my hours for a task I haven't worked on before.


What's more interesting about a lot of these products is that they are widely used and still highly embedded in workflows. Even though they're shite. Re-enforces the point that your product can't just be the "best user experience". You have to have a strategy to dominate as well.


Operating systems and browsers in general


Skype (Windows)


From the point of UI / UX, I cannot think of a worse software than Skype (all platforms including Android).

It's always a hard struggle, effort and suffering to make a call to a phone number, even if this phone number is in the contacts of the phone, or has been called before.

Adding to that, when Microsoft acquired Skype, they were offering to merge the Skype and Live accounts, which I agreed to, which rendered my Skype account unusable (with credit on it and lot of contacts registered).

The. Worst.


I agree with you, but raise you with Skype for mac.


Skype is now shit everywhere because it's the same Electron-based garbage.

Back in the day Skype used to have a beautiful, native Mac client.


I feel neither of you might have tried Lync for mac, it beats skype hands down.


Confluence/Jira... slow, chaotic, broken search engine... Basic stuff hidden or not fully functional... I never understood the raison d'etre of confluence expecially, it's a broken wiki basically... I'd rather pay an intern for an in-house solution.


I’ll say web browsers . They’ve taken 30 years to provide desktop GUI functionality and APIs from The 90s . And they require gbs of ram.

We really should have live reloadable Cocoa apps and the desktop experience would be 1000 x better , with 10x battery life and better responsiveness


Azure. From blob storage to DevOps. Almost every interface attached to it, UI or API, is an overcomplicated wedge of grief.

I can navigate it, sure. But I'd also use an elevator caked in dried urine, to get to the top of a 14 story building, like most people would. So go figure.


Hey I'm working on an alternative to Jira. If anyone would be willing to try my website I would appreciate it. I'm looking for product market fit and I would love to hear feature requests. Check it out at kanception.io. Or just down vote me if you want :)


I have to use it once a week, but since it requires filling daily slots, I think it qualifies too: NetSuite time tracking. It's just database internal structures exposed to end user with no business logic layer whatsoever.

ADP is even worse, but I don't use it daily.


Microsoft Teams. I can't decide which feature is the worst: lack of native widgets, including pop-ups (macOS); random crashes it induces (including kernel panics); or using my machine's CPU and GPU cycles to heat up enough to cook an omelette.


I do not use it every day, but I’ve found the most difficult to be hands down DocuSign.


Tuya. They make Wifi chips for everything in the world, and their interface systems are 1/2 Chinese 1/2 English so that basically nobody can understand. It's like Monty Python software, I can hardly believe it works.


Android Auto on my Passat b8... I made it work 2 times. Any other tries it just restarts again and again... I tried to reset csctory settings on a car. Uninstalled android auto app... I will be forced to use sygic with mirror link.


Any chance you're listening to the 99% invisible podcast when it restarts?


Nope :)


Eclipse Scala IDE. Using Vscode but still the support for Scala isn't good.


Amazon Alexa and the FireTV. Been around for some time now, several iterations except that the UX hasn’t changed, quality isn’t any better than couple years ago and painful/buggy 3rd party app integrations.


Have you tried any other TV OS? FireTV is the best of a bad bunch.


Passively used a few others, didn’t find them compelling either to switch. Why is FireTV OS the lesser evil?


Because it actually works, most of the time. The controller isn't horrible. The commonly used apps, like Twitch, Youtube, Netflix, Amazon Prime, etc all work.

I got so fed up with my Samsung SmartTV and it's horrible controller and glitchy apps that I run my tv through an old laptop now.

I tried a FireTV stick for a bit. It's wasn't powerful enough to drive my 4k tv.


I think the real problem (and the one that doesn't get much attention) is that the current standards for TV OS' are not as high as those set for other platforms like the web, etc. After spending the day using more superlative platforms such as a rich desktop/mobile OS, the evening experience on the TV and connected home is not quite the same and it somehow feels like a minor but a noticeable downgrade, one which is constantly improving but isn't quite there yet as marketed.


I really dislike git. After years of using it almost daily, it still trips me up when I'm doing something that I don't do every day. Want to do X? Here, remember this random command with some flags!


Fiserv's Signature UI (their Desktop Teller is also trash but not near as bad). I don't even know where to start with how bad it is, but I'd need a BAC of at least .1 to get through it all.


JIRA - easily the most clunky, slow, confusing app I have to use every day for work (with my current client), coming from GitLab issues it’s a nightmare along with just about all other Atlassian software.


The Google Productivity Suite (Docs, Sheets, Slides, Mail) apps for iPadOS.


I remember this question being asked in the Fog Creek forums about a decade ago and the winner by far was Adobe Acrobat. It's interesting that it doesn't appear anywhere in todays responses.


SAS. I do data analysis everyday and it is just so antiquated to modern data needs. The organization I'm with is on a path to sunset and move to Python. Can't happen soon enough for me.


Outlook. How can a flagship product be so useless, after decades of work?


Without a doubt: Websphere.


I worked with WebSphere (version 5 maybe?) many, many years ago. The admin console was seemed like it was designed to increase confusion. Eventually a consultant I was working with tipped me off that there was a scripting interface, which came bundled with Python (Jython). This made administration so much easier once I got the hang of the APIs, since I could just automate/script things.

I have no idea if this is still possible with modern WS.


SharePoint.

The site is trying to do absolutely everything and the performance shows.

I already have Outlook and Teams open. There's no need for SharePoint to be running extra code to notify me of an e-mail or Teams message.


Spotify on Mac.

It’s Chromium-based, so, of course, it’s slow. Specifically, search is excruciatingly slow, removing an album from your library redraws the whole page, and—most frustratingly— as soon as you lose internet connection, your perfectly nice and readable page get replaced with “Artist pages are not available offline”. It’s a list of tracks and albums which is updated (at most, on average) several times a year, why require connection to continue showing it?

Not Mac-specific, but extremely weird: sometimes Release Radar playlist has tracks by wrong artists with the same name. I don’t think a recommendation model would use names instead of IDs, so it probably means that track was first ascribed to a wrong artist, and that’s... even worse?


I think you have a problem with your Spotify installation. Maybe try removing it and re-installing it?

I use Spotify all the time on my 2016 normal-powered Macbook Pro and I don't experience any of your performance problems. Everything's lightning fast including search, and I've got 10,000's of tracks saved in 100's of playlists.


Confluence, SAP, Skype for Business, Discord, Slack, Chrome, Windows 10.


Previous employer transitioned time tracking (and all other hr things) to this giant all in one SAP thing. It took so many clicks to do anything. Took 3 clicks to just save your hours.


Thank God I don't use lastpass anymore.

It was ugly, confusing and slow as hell.


what do you use instead?


Mac OS X. Apple keeps going out of its way to make life harder for power users, even though the non-power-users are increasingly moving to iOS/Android/ChromeOS anyway.


Jira is bad, but Google Doc and Google Drive are so, so much worse.

Knowing it is not Jira is what makes Pivot tolerable. Knowing both are coded in server-side Java, though, is oddly satisfying.


at my old company Cherwell sure took the cake my god it was awful


yes! awful p.o.s. I've seen Service Now mentioned but it was wonderful compared to Cherwell.


The platform I'm partly responsible for developing at work.


Checkpoint VPN. It does not run on Linux so I need to run a Windows VM just for this piece of cr4p software. And it's slow.

Besides that: Jira. (A distant second to Checkpoint though)


Oh yeh!! Also, Trac.

There is literally nothing good about that issue management program except that it is free. It is impossible to understand what you are looking at. It is just awful.


QGIS but sadly I don't think I could come close to creating something that huge and still free. Doesn't make it less frustrating that it's buggy as shit


Google Maps on android. It has such a hostile UI: zoom out too far and the thing you're looking for disappears. Zoom in too far and it disappears again.


The AWS management console (Not the AWS services themselves which are great). Just navigating the console and getting things done is a major source of frustration.


I use a free desktop edition of Quickbooks from 2007 or so to keep my businesses' books. It's clunky but it works and there's no subscription fee.


> What's the worst piece of software you use everyday?

Every (space) day? Definitely the spelling/grammar check and autocorrect software on my phone. ;-)


The Oracle eBusiness Suite. Specifically, iProcurement.


Outlook. Hands down, it's utter trash. I quit for the web version at my company. I'd LOVE to get rid of it, and I'm the damn CIO.


Google Chat for our teams internal slack replacement.


Wickr (Encrypted chatting).

Bloaded, Slow, Buggy, Unreliable. Unfortunately some customers are too stupid and/or lazy to use a Jabber/OTR client.


I’m the only one on the planet, but I hate Notion.

It’s a mediocre spreadsheet, half assed database, and infuriating WYSIWYG ... but all-in-one!!1

And it’s search sucks.


LinkedIn.


Totally agree. LinkedIn is dumbest ux sitting on a gold mine of data


Lawson, but thankfully only a few times a month.


Used to be both Windows and Maven, hands down. Now Mac OS has switch the windows place as the #1 most badly designed software.


I have been using this for last 6 months. Apart from all these issues, search for a chat in a conversation is not possible.


Any modern OS: MacOS, Windows or Linux. All have major problems. _Works out of the box_ vs _is actually fast_ vs _is good UX_ and so on.

All of them lack some kind of functionality: mail calendar apps are buggy (win and mac), GPU suspend problems (linux for me), can't replace hardware parts(macos), weird finder problems, weird "explorer.exe" problems, weird nautilus problems.

Why can't OS'es just work? Why is UX getting worse? Frustrating to say the least.


All the security/passwords/confirmation prompts is tiring as well. And from the developer side its even worse, at least on macOS. Security Scoped Bookmarks are a nightmare to work with for anything but the simplest case.


It's not just Desktop OS's. Mobile, TV and Car OS's are mostly terrible as well. Are OS's really that hard to do well?


Can't believe no one mentions Salesforce


Twitter on the web. The worst program I have ever used. Jumping, twitching, changing so I can't read. It is torture.


Amazon Music on Android because every time I open it it shows a full screen ad for their music subscription service.


Probably not what you’re looking for but, the internet. General internet usage has become tedious for many reasons.



Emacs.

It's such a mess, but nothing else comes close.


LinkedIn Jobs (as an employer) - lots of bugs, constant work-arounds and clunky to share it with anyone else.


Chrome or firefox. Egregious wastes of my time, 90% inaccessible, untrusted interpreters of untrusted code.


macOS has an extremely weird UI to me.

* Why does the maximize button fullscreen by default?

* Why can’t I simply drag windows to the side to split half and half? No, I don’t want to switch to fullscreen mode to do this.

* What is the point of the minimize button and why do things minimize to a special area on the right side of the dock?


TI Code Composer. Because transparent Cmake and GCC and my choice of editor would make life too pleasant.


Xero Workflowmax to submit timesheet

It’s not at all intuitive and takes weeks getting used to.

I used Salesforce earlier and it was smooth.


Hands down, it is JIRA. But close seconds include zoom, ring central, and slack video/voice calls.


WSL2's clipboard integration, or maybe terminal emulator. The agony of line endings is enormous.


npm will be the official reason I stop writing Node code at some point. It does not know what it wants to be and it disagrees violently with concepts from the tools it pretends to emulate. This whole lock file debacle makes me angry and I'm not close to the only one.


Hands down, Windows 10. Don't even have list the 100 reasons why, because we all know them.


Cisco webex teams. Slow, feature lacking, horrible formating. Reminds me of Salesforce Quip.


Bash and its derivatives, I think.


Android OS on my Philips smart TV.


Its been a few years but still recent, using Oracle eBusiness (EBS) was like pulling teeth.


Hacker News.


Probably SAP apps at my employer


Teams.

I step away for 3 hours and that process that is consuming 4GB RAM is none other than Teams.


Microsoft Teams. Thoroughly shabby. Free to my company, and worth every penny.


Eclipse. Killer feature being a live expressions viewer for my embedded target.


webcam control panel. it’s meant to adjust and control logitech cameras but it resets the camera back to defaults (no gain, no exposure) every time a piece of software restarts the driver.

it’s wretched and ruins every zoom call.


Atlassian is a garbage fire.


Sorry jira but it's you


The entire AWS web console.


Chrome


What's stopping you from using another browser?


It is possible for Chrome to be better than all of the other browsers and still be the worst piece of software GP uses every day.

If you like the web, then maybe this does not compute for you.


That would change the brand in the answer, but not the spirit.


What is so bad fundamentally about chrome apart from the Google telemetry.


Memory consumption.


Genuinely curious, has this always been the case for Chrome or have the evolution of features brought this on?


iCloud sync. It's broken and it has been broken since a long time. Considering it's run by a company as wealthy as Apple (on their closed ecosystem) it's an utter disgrace.


Any web browser.

Just the simple act of going back a page makes that page reload; why?


homebrew. I can probably replace it with nix, but in two months I'll just hit my hardware refresh cycle and ask for a Linux laptop from my employer and be done with Mac for good.


Slack. Frustratingly slow and bloated. Company is addicted to it.


Sage 300. 32-bit software still exists. Macros are written in VB6.


Gsuite admin interface. (thankfully I don't use it every day)


Netsuite trumps everything, I have fond memories of JIRA as well


Teams & SharePoint.


music.youtube.com

slowest interface ever. songs are impossible to find when playing from a playlist. focus never switched to the music player. no native cast plenty other problems


All enterprise technology - SAP, PeopleSoft, ServiceNow etc


Every city parking app and every local authority website


Android. And things that run on Android like WhatsApp.


Windows Command Line


Ryver, an unheard of, abominable clone of Slack.


I haven't ever used it. Why don't you like it? Is it buggy or lacking features


Java browser based document management system.


Quicken (well it was an open-ended question).


MySql Workbench. What an utter piece of crap.


I actually very strongly dislike using slack.


I would remove Slack from workplaces solely so that my co-workers can no longer waste the day on social slacks that are not even tangentially related to our work.


Not me, but my wife - an EMR.

God they're fucking terrible. The actual EMR's are often fine. Then some hospital administrator gets involved and completely destroys usability.


Google Chrome. It takes so much of a memory.


Every tool I use and hold dear, apparently!


Proofpoint spam filter! Drives me nuts!


Also building docker images with bazel


LinkedIn web app and firefox mobile.


Google Doc Search

Google Doc search is totally useless


IBM/HCL’s Lotus Notes Domino.


Every web browser that exists. :)


CheckPoint VPN client: pure evil.


Anything from Microsoft really


Without a doubt IBM Clearcase.


Service Now


Windows servers in the cloud.


Anything from Oracle really!


Apple Music. Trying to make it play something on a HomePod from iOS takes a computer science degree.


Firefox


Expensify


Jira & Microsoft Teams


Atlassian Jira. Its Slow.


The internet. I mean, I love the concept of what the internet could have been, but it's currently the most hostile thing I have to deal with on a daily basis. Bad actors are too prevalent, and the amount of BS stuff we've tried to come with GDPR/Cookie banners, Do Not Track, AdBlockers, etc.


i think the problem is capitalism incentivizes bad actors, rather than the internet itself.


IRC / Matrix+Riot


Mac OS Big S


Cerner

Literally kills people every day


Confluence and Jira.


Dropbox’ desktop App


My “smart” tv’s ui.


Android

I have a computer in my pocket but I am not allowed to do even the most basic stuff I would like to do with it. Like using a shell to work on my files, use git for version control and to sync to other machines, use vim to edit text ... the list goes on forever. Heck, I cannot even easily backup all of my data. Like the contacts for example. No way to read the files in which they are stored.


> Like using a shell to work on my files

As others have mentioned, Termux is Free and Open-Source. You mentioned trust, but considering Termux is already open source, I'm not sure how the author could gain your trust.

> use git for version control and to sync to other machines

You got me with git, but Syncthing might solve the same problem for #2 - there's a FLOSS client available on F-Droid as well :)

> use vim to edit text

I'd assume Termux has a vim package, meaning you can stay open source for the entire stack. If it doesn't, then my mistake.

> I cannot even easily backup all my data. Like the contacts

Ignoring using a carddav server for to have them backed up all the time, you can easily back them all up in vcard format via Simple Contacts - an open source app availble on F-Droid.

Hell, for the most part you can completely disable whatever you want, root or no. ADB can disable everything you don't want to run, including all the way down to Google Play Services. I can verify that, as I've done it myself on my BlackBerry KeyOne.

It (mostly) can all be done, it just takes a little bit of looking. Like anything else with modern computing, the fun stuff is hidden away, and all we're presented with is the glossiest interface the OEM can shove in front of us.

If there's anything that actually cannot be done via FLOSS software, I'd honestly love to hear it, because I'm drawing a blank at the moment.


I don't use or condone Android (it's just on my backup phone), but have you checked out Termux?

https://termux.com


Do you actually want to do those things on the go without a full size keyboard?


Sysadmins do.


You can work on a shell, (and even have a full GNU/Linux installation) with all standard tools using Termux.

Also, rooting your phone gives you access to all files, but I understand it's not everyone's cup of tea.


The question is how trustworthy you consider the guy who made termux. And if you would trust them to have full power over your operating system. I prefer more popular and proven providers like Debian.

With rooting it is similar. You usually give full control over your machine to "someone from the internet" who provides you with the root mechanism.


> The question is how trustworthy you consider the guy who made termux.

Termux is open source. I fully agree with you on the one that provides the rooting mechanism, as I believe that's normally closed source.


> Termux is open source

Good luck on reading and vetting all that code.

And then installing Android Studio (It is a beast!) to compile the code into an APK.

And don't forget to repeat the two steps every time there is an update.


Classic example of why companies need product managers to decide what problems to solve instead of leaving it up to the sysadmin.


check out termux. it's a command line on android


[flagged]


Hi, we try to be neutral or friendly here on hn.


i think what he meant was that it would be easy for it to do these things, but Android doesn't let you do them.


Java, FortiClient


Google Chrome.


Oracle openair


Every period. Web period. Browser period. Ever.


Skype


Quicken


Slack


Latex


Quip


Gitlab


IBM Notes


Instagram


LinkedIn


I love this question.

JIRA.


Jira


Jira


JIRA


SAP


Jira


Slack


Citrix


Gerrit


Printing.


Helm


Apple News


1 git

2 jira


Webex.


Twitch for not moderating chat.


iTunes, Google Sites.


TrustArc cookie / GDPR / tracking popup. It is filled with all the possible dark patterns.


macOS Finder. It is hard to fathom how bad a file explorer could be if you have used only windows and linux file explorers. Finder is astonishingly bad. Default search is global, it means searching while you are in a folder will search across all documents. This can be changed, but search is even then far worse compared to windows or linux.

Sometimes Finder simply won't show certain files, and you need to do a mv from terminal to another folder, where you can see them in finder.


This is a very good answer, even getting to your user root directory is a pain in finder, I have usually go to terminal and run 'open .' to get anywhere.


There are plenty of ways to get to your home directory in Finder that are easier than opening Terminal:

- If this is where you most commonly want to get to, Finder => Preferences… => General => New Finder windows show <home directory>. All new Finder windows will open there automatically from now on.

- If you leave the above setting on its default, new Finder windows open ~/Documents. Hit ⌘↑. Or if you have the path bar switched on (View => Show Path Bar), double-click your home directory in the path bar.

- Drag it into the sidebar or go to Finder => Preferences… => Sidebar and tick your home directory.

- Drag it into the dock.


cmd + shift + h, to go home

cmd + shift + g, to go to any directory.

browsing the menu bar for keyboard shortcuts is useful.


Drag your home folder to the finder sidebar.



ooohh - is that how I do it :-)

thanks !


+1

I am quite comfortable dropping to a terminal to run `ag` but this shouldn’t be necessary. Such wasted potential in a GUI file manager and seemingly no chance it’ll ever be improved.


+1 I hate it. Probably only thing about my mac


Any apple product.


gmail


webpack


iTunes


iOS


iTunes


gimp


It’s come a long way and slowly keeps getting better. Hopefully it’ll exit this list someday :-)

I wish I knew how to get design feedback to the GIMP team in a way that would be appreciated & that people might take action on. I also wish they’d rename it something like “Image Lab” so it would be easier to promote at work.


I keep meaning to do a full audit of their contributors list. I have suspicion that there's likely saboteurs from adobe doing some kind of open source espionage.

I would certainly do this if I was adobe.


Interesting. Granted, I don't use Gimp every day but I do use it regularly and the more I do the more I like it. Nothing is perfect, of course.


What do you use GIMP for? Also, have you given Glimpse a try?


IBM Clearcase


Jira.


Android.


What is so bad about "Android", as in stock Android?


Mobile devices have insane potential, but we are essentially stuck with Google's design choice monopolies, rendering the OS consumer-friendly but a terrible experience for power users.

What's worse, there is no viable alternative to it, though some tries have been made.

The default Android phone comes with loads of bloated and useless apps that spy on you. Unlocking bootloader, installing a custom ROM, installing all your favorite apps is a long and painful process (some vendors take weeks to approve your unlock request).

All of these, in the name of a platform which is'open-source'.


the latest versions of android has virtually all data collection options enabled, and virtually every app from the keyboard to the phone app is trying to phone home constantly. Google has become increasingly privacy hosile and they're trying to get as much information as possible from the end user.

You have to make an effort to get ROMs without GAPPS and even then, Google is making changes to the OS prevent things like MicroG from succeeding.


Jira


I almost said this, but... Jira is bad, but it’s definitely not the worst (in my experience).

It’s close though.


Has anyone here ever met anyone who loves Jira?


love is a strong word, but when Jira is configured well, it can be a boon to productivity


Don't get how people still use Jira. Linear is great https://linear.app


SaaS-only is a pretty big difference alone.


That's an easy one to answer. They don't support Linux or Windows yet.


It works inside web browser


Android. Very bad for the consumer, from a privacy standpoint. Hopefully a plain Linux phone will be my next phone.


macOS Finder and how every sane alternative costs serious money.


Office365


macOS

I have a very bad UX. It's small annoying issues, like minimizing a window. If you don't explicitly minimize the window and open another program, the other window is hidden. Where is it? How can I open it? Yes by minimizing every window until I have found mine. For applications, this is not that bad, since you have the dock and just click on the icon to reopen your window, but what happens if you have several windows open of that app? It's a nightmare.

I could write a whole list of toxic UX in macOS.


I find macOS to be much more pleasant than Windows.

> If you don't explicitly minimize the window and open another program, the other window is hidden. Where is it? How can I open it? Yes by minimizing every window until I have found mine.

I don't understand exactly what you mean.

> what happens if you have several windows open of that app?

One of these:

• Right-click/Control-click on the Dock icon

• Check the Windows menu of the app. Minimized windows will have a Diamond

• Press F3 to open Mission Control.

• Press Control+F3 to see all windows of the currently focused app.

• Press Alt+F3 to open Mission Control settings and configure them to your liking, along with setting Hot Corners for showing application windows etc.

• If you "Group windows by application" and have a mouse with a scroll wheel, you can use scroll the wheel when hovering over an app's window, to "spread" that windows stack.

• Press Option+Command+H to hide (not minimize) all windows except the active app.


When you minimize an app and switch to another, it disappears. Even if you alt-tab back to the app it remains hidden. It's ridiculous.


> When you minimize an app and switch to another, it disappears. Even if you alt-tab back to the app it remains hidden. It's ridiculous.

When you minimize a window, it disappears, period.

It becomes an icon on the right side of the Dock unless you set the "Minimize windows into application icon" option.

There's a very explicit animation of where it goes, that macOS is/was famous for (the "genie" effect).

And all windows of an app can be accessed by right-clicking on its Dock icon, or its windows menu, or Control+F3.


While the UI UX in macOS has degraded a bit, minimizing windows you’re not using as the main way to manage a desktop is, I think, a Windows habit.

macOS works much better if you manage windows with hiding, rather than minimizing. Once you get the hang of it, with cmd-h (hide), cmd-tab (switch applications), and cmd-‘ (iterate windows of an application) I (almost) never leave the keyboard and can get right to the window I need quickly.


iOS:

I almost never use it myself, but I get called upon to deal with it for some of my relatives. The fact that you can't just mount the file system on a non-crippled computer and transfer files to and from the device just drives me mad. Getting someone's music into the right place if they don't have access to a machine with iTunes is miserable. When the "files" app appeared a few years ago, I thought "finally, they'll let you manipulate files directly", but no - it's just another silo too restricted to be of any use.


> The fact that you can't just mount the file system on a non-crippled computer

What do you mean, non-crippled computer?

I think one of the reasons iOS doesn't expose the device as a Plain Old Disk is so that it can continue to enforce content restrictions etc., i.e. such as those set by parents.


- Google products.

- - Gmail intentionally doesn't filter spam or phishing emails.

- - Google Voice used to be useful but today is being blocked by more and more services.

- - Google Contacts is pervasive and uselessly so.

- - Google Calendar also supports tons of spam and phishing.

- - I stopped using Chrome because it stopped being a user agent.

- Atlassian products. Slow bloated pieces of privacy violating garbage.

- - JIRA is more and more confusing every day. Frequently changing UI incurs cognitive costs. Its workflows are confusing af.

- - Confluence is functionally inferior to Media Wiki. That's not even the worst part; the worst part is that it doesn't use markup like the rest of the world.

- Microsoft products.

- - Skype. Once upon a day Skype was nice and usable. Today Skype is functionally, measurable, objectively less useful and less stable than it was just half a decade ago.

- - Github. It was great until a few weeks ago. That new UI is still worse.


> Gmail intentionally doesn't filter spam or phishing emails.

my spam folder is fully of spam and phishing emails. no idea why that doesn't work for you. i see essentially zero spam in my inbox (and i have several extremely public email addresses)


G-Suite

Google Slides makes me want to cry every time I have to use it. Google Docs isn't much better. They're poor web versions of office software from the 90s.

Google drive is a disaster of product. Uploading and finding files are both incredibly painful.

Google sheets is fine for simple stuff, and I get why people use it, but there's far better alternatives. For anything moderately complex it's a dog.

I can't stand the gmail interface, but I can at least see why some people prefer it. It's the one part of the suite that isn't far inferior to its competitors.


you are mistakenly judging g suite on the individual product requirements. eg how a spreadsheet should function. that’s not what g suite is.

all features are MVP and the main selling point is being collaborative.


Fair. I also find the collaboration tools clunky and annoying to use.

When judging it as a whole, I find it worse than judging individual components. For example, sheets on its own is a decent tool; sheets as part of the suite is dragged dow by the rest.


clunky and annoying compared to what? they are the best i’ve seen and quite good. if there’s something better please share. i would love to know about it.

comments in spreadsheets stink but everything else is pretty great. ok one more flaw. you can’t unassigned a task from yourself. you can only reassign to someone else or mark it done (which clears the comment thread).




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: