10 ms·
The reason you’re not more productive at work? It’s not boredom, it’s bad UX
- oxymoran 5y agoEnterprise software is not going to ever be fixed until people start to realize that the people that actually do the work need to be heavily involved in the design process and the developers need to be embedded in the actual underlying job more thoroughly. The idea that some developers and process people can make high quality insurance claims software for instance, without actually knowing who’s to handle an insurance claim is preposterous to me.
- skohan 5y agoCouldn't agree more. I have to use JIRA at work, and it's absolutely awful. Every action takes up to a couple seconds to execute, many tasks have no way to be automated or done in batches, and some seemingly simple actions require jumping through several unintuitive menus to complete. To me it's clear that the people making this software almost certainly can't be the ones using it, and the people generally choosing and paying for it probably are also not the ones using it heavily day to day. Otherwise there's no way this level of performance would be tolerated.
- dheera 5y agoAbsolutely. JIRA has one of the worst UX I have ever seen. Creating a ticket itself is so painful that it's easy to be lazy to not do it.
- petepete 5y agoDefinitely going the GitHub route next time time I'm moved onto a new project. The past two have used Jira and Trello and both are just a continuous source of frustration for me.
- th5 5y agoCurious what you don’t like about Trello. I rather enjoy it. It’s the only “proj mgmt” software I keep coming back to for the last decade.
- petepete 5y agoSo I think Trello is great for some things and on a smaller board with a handful of tickets it's one of the better tools around. There are several 'weak' bits of the UI though, like not being able to open a ticket in its own window, having a clunky search and an excessive amount of horizontal scrolling on larger boards.
- TheMightyLlama 5y agoI've got to say that this is a problem with relying on the UI itself. When working with a development team I always provide as many options as possible to automate that worklflow. This might take the form of integrating bitbucket with Jira such that you can assign a commit to a ticket or advance or close a ticket. A few years ago I was looking at the jira API and managed to dig into the documentation. The result was a small gist which contains some of the harder to figure out actions. Including creating a new ticket. https://gist.github.com/TheMightyLlama/9427202 https://gist.github.com/TheMightyLlama/9427202
- kayodelycaon 5y agoIt can be easy to create tickets in Jira using company-managed projects. The problem is the people who set up Jira see all of these knobs and buttons and feel like they need to use them. Creating tickets in my department require two things: ticket type, summary. We use procedures, not software to enforce the rules. Once I finish our migration to Jira, other departments will have different screens that require a few more fields like description. My goal is to keep these to an absolute minimum. Configuring this stuff is a massive pain in the ass but the day to day use is manageable by creating custom boards and saved searches. A some training and documenting for my team takes care of the rest. For my coworkers, it’s no more painful than the workarounds needed to make a “simpler” system work. GitLab and Github do fuck-all to support our workflow. Jira allows me to tailor it so both my team and management can understand what’s happening.
- kwertyoowiyop 5y agoUgh, Jira is just the worst. I’ve used a lot of software but Jira’s slowness and lag made it the one I dreaded most. Every - single - thing - needed - three - to - twenty - seconds.
- DevoidSimo 5y agoOne of my friends works at Atlassian (not on JIRA). Apparently they do use JIRA there. Presumably things which are not performance are prioritised higher.
- skohan 5y agoI guess they might also be running it on private servers, and cheap out on their hosted version for customers
- jdgoesmarching 5y agoAgree completely. When you prioritize the requirements of infinite shareholder growth over people who actually make the product and do the processes, you’re not optimizing for the best product or processes. European countries are at least familiar with the idea of codetermination - having workers vote for board representation. Sweden, the Netherlands, and Germany practice some form of this to different degrees. In the US (and especially in the tech world) we are allergic to the idea that anyone besides the bagholder should have a role in decisionmaking.
- MilStdJunkie 5y agoMaking a new system recently I did exactly this. I basically joined the group as a low-level doc-pushing twerp and worked through everyone's jobs. Then we started sketching out the system, having seen the pinch points and dead ends. Unfortunately, leadership later threw out all our design decisions, because they had a "Perfect Product Architecture" they were trying to enforce at the time.
- snth 5y agoI agree with this article that the UX of the software I have to use for work is terrible, and it's very frustrating and demotivating. But their proposed solution at the end- internally developed software, seems to be the worst offender. The worst software I have to use tends to be internally developed, poorly documented, supported, and designed copies of widely used software like bug trackers, project management tools, CI systems, etc. The justification for reimplementing these internally is often security, scalability, or integration requirements though, not UX.
- jaclaz 5y agoI agree while disagreeing, it depends greatly, some anecdata. In the old days of DOS, circa 1992, I worked in a construction company, a program to make public works accounting was bought (at a very dear price BTW). It soon became evident that the programmers had (maybe) read a couple of (theoretical/outdated) books on that particular type of accounting whilst they never spoke with an experienced accountant, let alone ever done any accounting themselves. When the program crashed - actually because of an overflow when we reached on a site works for more than Lire 9,999,999,999 - and some two years of accounting had to be recreated manually (imagine 12-14 people scribbling day and night for one week) because we needed to recreate on paper the progress report to get paid as soon as possible (the software company people were on holidays for the month), we decided to become "independent". We found a freelance programmer that started working side by side with one of our most expert accountants, and he created (if I recall correctly in three months time or so) a simple/rough program (mind you those were dbase III/Clipper days, no program was actually "refined" from a UX viewpoint) that simply worked. We kept using it until the late '90's switching to a (hardly better) commercial program in Windows 2000 times. The original clipper program had its own little quirks and you needed to learn a number of combo-keys to work with it, but once got the hang of it, it was much faster to use than any windows based program. Same thing happened to me with a hotel managing software, the old software had been originally written by someone who had a cash register maintenance business and actually knew how the actual operations are carried in practice, when it was needed to switch to more modern software (mainly because of some changes in the Laws) I tested some 5-6 of the most common professional (commercial) softwares around, and while 3-4 of them were simply jokes, of the 2 remaining we didn't actually choose the "better" one, but rather the "less worse" one. And still a number of "common enough" operations are incredibly complicated/take too much time when compared to what the old one could do. I believe there is nowadays this "detachment" between programmers and actual (expert) users that greatly impairs the usability of software.
- Aune 5y agoI spent 5 hours doing a 15 minute task this week. The program kept crashing, then you have to wait for five minutes since the program runs a net liscence that needs to time out before you can restart. In the end I found a 40 minute work around.
- crazygringo 5y agoI've sometimes wondered why it seems companies aren't measuring time wasted by slow applications. I can't count the number of times I've called customer service and have to wait 2-3 minutes for the agent to bring up some screen as they apologize and explain "our systems are really slow". It regularly takes up a majority of the call's time. Back in the early 1900's, time and motion studies [1] in factories were all the rage. And today Amazon certainly optimizes for the actions warehouse employees are required to do. But when it comes to the actions people do with computers, I've never once seen a company actually measure wasted time waiting on slow applications. It seems like such an obvious thing to try to optimize. And it's not like it requires constant surveillance or anything -- it's just statistical sampling. Watch 10 randomly selected employees for two hours each or something, with their consent. In many cases "good UX" is impossible to measure in any conventional sense. But when it comes to repeatable enterprise tasks, the time aspect actually can be measured. Does anybody know why companies don't? It feels like such low-hanging fruit. [1] https://en.wikipedia.org/wiki/Time_and_motion_study https://en.wikipedia.org/wiki/Time_and_motion_study
- georgewsinger 5y agoInteresting point.
- jrockway 5y ago> I've called customer service and have to wait 2-3 minutes for the agent to bring up some screen as they apologize and explain "our systems are really slow" I have a friend who works in a call center. They work 10 hour days with no breaks between calls (the queue is often 40-50 people deep). (They do get the federally-mandated breaks of course.) "Our systems are really slow" is 100% true, but is also probably a welcome break for the agent. So if you are the clever software engineer that goes in and removes the sleep(180s), that's probably great for a few hours until all the call center agents burn out and leave early and use their spare time to start organizing a union. (Of course, if you save 2 minutes a call with software, you can just give people a mandatory 1 minute break between calls and come out ahead -- a true win/win. But that would require that the software team and the call center management team coordinate, and I don't think that's ever happened once in the history of large companies. You'd be the first!)
- tomp 5y agoIn my free time / personal projects, I've slowly been moving towards this mentality as well. Whenever I start some new, long, dreadful task, I always ask myself, "how can I make this as fun as possible", then start creating better and pseudo-GUIs (Trello or Jupyter usually being the first iteration!) to help me get the job done!
- adzm 5y agoA huge factor in moving on from my previous position was that I had to use Salesforce all the time, which has a terribly count clunky and slow UI and half-baked knowledge base and search stuff, ugh.
- nobody0 5y agoAnd also inertia, I found a simple trick that gets me into a quasi-flow state zone, which is telling myself that I will just do it for ten minutes. Then I don't have to analyze and do the inner talking for another ten minutes. Also, don't try to automate just now, try to do it few times, then write down the steps, and selectively automate them. It's actually a good way to train yourself to live with boredom. We tend to find hyper stimulus, that's how we were wired. And we waste a lot of energy not in doing the chores but worrying about them. It occurrred to me that someone once said that learning math and other subjects in school is training yourself to do the mental chores. And patience is such a rare thing to have in this constantly attention-grabbing society. A balance check is important, do give yourself something else to do when you leave the work.
- darepublic 5y agoMyself am using a modified version of Pomodoro. With slightly longer work periods but also longer breaks. I tried to hold myself to the official formula but had better results when I adjusted for my current attention span
- travisjungroth 5y agoInternal tools also help get around the "9 babies can't make an engineer in a month" (or whatever it is) problem. Netflix (where I work, listed in the article) is maybe the best example. There's a limit to how many engineers you can have working on Netflix's 1 flagship service (it's a big limit). You can increase that limit by having other engineers come in and build tools for the whole company. I'm also surprised what percentage of engineering teams are directly "developer experience" at big orgs. It's probably < 1% but I think it should be more like 5% (probably an obscenely wrong opinion).
- Chris_Newton 5y agoI agree. Developer experience is just user experience for one specific type of user, so we definitely shouldn’t underestimate it. I’m reminded of an HN discussion from a couple of months ago, where we were talking about writing code for computers to run vs. for developers to read. I did a quick calculation¹ of how much time is wasted by some modern dev tools just by having a few seconds of delay before giving results. Spoiler: It’s crazy how much time we waste that way if millions of developers are using the tool regularly. If one way to be a 10x developer is to help 9 of your colleagues become 2x developers then someone who creates excellent developer tools might be a 100x developer just within a large organisation, or orders of magnitude more if the tool is released openly. Personally, I’m hoping for someone to write a good, comprehensive standard library for JS/TS data structures and algorithms and convince the major browsers to include it out of the box. I don’t know how to measure the amount of time that could be saved firstly by making it easier for millions of web developers to write good code and secondly by severely cutting back the huge dependency trees that result from the current culture of pulling in tiny dependencies to do tiny jobs all over the place. It must be astronomical. ¹ https://news.ycombinator.com/item?id=27420500 https://news.ycombinator.com/item?id=27420500
- f32jhnjk33jj 5y ago"9 women cannot make a baby in a month" is the correct version
- simonbarker87 5y agoThis is my primary gripe with MS Teams, it might be free with Office 365 or whatever but I’m pretty sure the time lost due to its flakiness and rubbish UX costs more than Slack or similar.
- animesh 5y agoThank you for saying this. It's become so much of an annoyance, that I am actively seeking to read people talk about how much it sucks.
- ssss11 5y agoIt’s UX is unbearable! Individual functionality is pretty good - teams channels, chat, video, but the UX bringing these things together is total garbage!
- perryizgr8 5y agoSame with Google chat. It is bundled with gsuite so company thinks it is a waste to pay for something property like slack. But Google chat is literally the worst software I've used. Something as simple as search is broken every other week.
- tomxor 5y agoTime to boot my laptop and open browser: 5-10 seconds Time to load and login to slack: 120-180 seconds with about 7 clicks ... sometimes I even have to wait a while for it to catch up with my typing like i'm superman or something. At which point I usually revert to copy and pasting messages from VIM... that's how slow slack is on a 2 year old laptop.
- armchairhacker 5y agoBad UX absolutely hurts productivity, but the reason I’m not productive is still boredom and short attention span :) Seriously, when I was more motivated I used to write code in garbage Xcode which was slow and crashed all the time. I just powered through. Now IntelliJ offers crazy code completion and instant refactoring/navigation, but I space out every time I have to wait 5 seconds for the app to build.
- AtlasBarfed 5y agoI recall another recent story lamenting that software had not produced massive gains in productivity in essentially the 2000s. Terminal/3270 screens may have been ugly, but they show about the same amount of information as a modern enterprise app does. The sheer waste of modern CPU speed is why there isn't anything big coming out of the screenpusher labor economics. Why I have screen lag in a modern PC is mystifying. It should basically NEVER happen.
- menotyou 5y agoI studied computer science with a minor in psychology. It's long ago, but at that time I some courses on the topic of ergonomic design of UIs. Shortly speaking every UI which stops the user from be interrupted in is workflow by waiting or searching is a microstressing event. (Interruptions are the most important of all stressors when working). Many microstressing events leads to stress and stress leads to bad productivity. What can I say? The last 10 years UIs went ergonomically from bad to worse. Loading time of screens are to long nowadays. While loading and rendering the browser typically keeps on moving screen elements around. Each of this movements interrupts the search for the relevant information for the eyes. Each of these movements enforces the eye movements, search for a new object to focus and accomodate its lenses. Nowadays it is in many application not uncommon to have several of these movements in one loading of a page.(This problem comes is actually somehow connected that HTML is a sessionsless protocoll in connection with modern JS which makes increases loading times. Using microservices quite often lead to bad UI because of the uneven loading times). Other problems are coming from opting into gimmicks like using "effects" or to scrolling instead of paging. While scrolling and paging is ok of websites (in most cases), in most business application you want to avoid this because it is coming with the same problems as slow loading and moving elements on the screen. Another set of problems coming form bad choices from UX designers. Look at the example in [1] - Wasting of precious screen real estate for white space leads to searching for information you need and again: scrolling, eyes movement, accommodation. - Lack of optical guides like lines. Try to set all cells to white background in excel and start working then you see the effect. - Lack of contrast: Dark grey text on light grey background (which MS Office does as well in their settings menu [4]) - For design purposes the chosen fonts are much to small to be readable in a convenient way - Header and actual data (i.e. relevant information) are indistinguishable. Finding Information in the "basic data" section in [1],[2] is a hide and seek game for the user. Assume you seeing this display 50 times a day during your work. You are guaranteed to come home with a headache Another example of bad UI are the tiles in W10 start menu [6]. Instead of allowing the eye to scan the entry from top to bottom in one line, the eyes are forced in zig-zag of the tiles and they have transverse a bigger space on the screen because you have much less tiles on the same space as lines is the old menu structure. Another example what causes stress and frustration with software is when the UI of one software does behave differently the others. Your software should generally be designed as what the user expects. An example of a bad UI for this case is MS-Outlook [3]. Some of the more often used navigation elements (switching between mail and calendar) are moved left bottom corner. This is against user expectation. Microsoft Outlook moves its navigation elements to somewhere where no one else put them. No one would design a car with gas an break pedals exchanged and putting the gear shift in the trunk. Microsoft Outlook does so with its navigation elements. Another common problem is that to many screens in your application look to much alike. While it is desirable that the screen designs meets expectation, it is important that the user can spot immediately in which screen he is working. When for Nested menus / hidden functionality is an typical issue in software as well [5] Flat design is generally a stressor because is lacking optical help. Examples of bad UI: [1] <https://blogs.sap.com/wp-content/uploads/2017/08/Object-Page-Customer-Example.png https://blogs.sap.com/wp-content/uploads/2017/08/Object-Page...> [2] <https://experience.sap.com/fiori-design-web/wp-content/uploads/sites/5/2017/02/04-new-object-Page3.jpg https://experience.sap.com/fiori-design-web/wp-content/uploa...> [3] <https://topbestalternative.com/wp-content/uploads/2020/08/outlook-email-chat.jpg https://topbestalternative.com/wp-content/uploads/2020/08/ou...> [4] <https://storage.googleapis.com/fe-storage/2020/09/85e03ded-excel-options-1.png https://storage.googleapis.com/fe-storage/2020/09/85e03ded-e...> [5] <https://docs.microsoft.com/en-us/azure/devops/test/media/new-test-plans-page/define-tab-context-menu.png?view=azure-devops https://docs.microsoft.com/en-us/azure/devops/test/media/new...> [6] https://filestore.community.support.microsoft.com/api/images/fc091333-4fc7-4085-8bbf-4193ff601f13 https://filestore.community.support.microsoft.com/api/images... [7] Overloaded screens: <https://www.it-telesis.com/wp-content/uploads/Analytics.png https://www.it-telesis.com/wp-content/uploads/Analytics.png>
- geysersam 5y agoGoogle Cloud web UI. Navigating between different products/settings is super slow. I don't understand why it is loading that much. The CLI is good though
- joshxyz 5y agodont get me started with aws. jesus fucking christ its 2021 its still painful, haha.
- tuatoru 5y agoIt's not just work. Computers have bad UX for everything, and ordinary people don't know that things could be any better. I found this to be an enlightening read: - https://www.kilobitspersecond.com/2020/09/22/people-expect-technology-to-suck/ https://www.kilobitspersecond.com/2020/09/22/people-expect-t...
- oreally 5y agoFuck companies that have codebases with long compile times and code in a way that you have to search multiple hoops to get to the actual cod e that matters (modern c++ in case you're wondering) Iteration times should be one of the major tenets in our programming books other than the stuff they recommend to derisk your software.
- France_is_bacon 5y agoWorked on an app for a manufacturing company. Took literally 3 hours to run. Brought it down to under 3 seconds, for the exact same thing. 3 seconds made them very, very, very happy with the UX. At 3 hours run time, it really f-cked up the assembly line, like, a lot. The speedup happened on the exact same computer - same CPU, same memory, same hard drive. So it had zero to do with hardware, and everything to do with coding. And if you threw faster, better hardware at the problem, it would not change anything for shit. So never depend on the false hope hardware will solve shitty software design issues. The whole idea that it is cheaper to code fast to get something out fast is bogus. It just takes knowledge on how to do it correctly in the first place. I don't think the coding that I did took any longer than the original coding. The original person just sucked ass. So, whatever language you code in, you should start watching videos or reading articles on how to maximize your application's speed. It usually is not that difficult, if you spend some time. Most of it you can copy and paste. Do searches on "Top 5 ways to speed up x language". So easy. That really drilled the lesson home on the importance of the approach to making real fast systems on the design side and not on the hardware side.
- chousuke 5y agoI don't think you even need to learn how to make truly fast systems right out of the box. Just learn how not to make mind-bogglingly slow ones. There's a lot of low-hanging fruit when it comes to performance and quite often it seems to be left in the tree...
- France_is_bacon 5y agoRight. I agree. That's why I wrote: " Do searches on "Top 5 ways to speed up x language". So easy." The thing is that once you learn these techniques, everything that one subsequently writes will automatically incorporate them. Once one knows how, it would be super difficult not to use them on every project. But, yeah, I usually like to read "Top 3 ways of optimizing xyz".
- xtiansimon 5y agoThis post was in the back of my mind today when my #1 pet-peeve about Windows reared it's ugly UX right as I was starting to get into a rhythm of productivity. Focus Stealing I'm using many apps and portals over the internet on Tuesdays, and I would be so much more productive if I could start something in one app, then leave it to do something else and only return to that app when its done thinking. If I could run all of my work's accounting apps in Linux, I'd be i3 all day long.