16 ms·
> Most of these things are not ridiculous asks - universal undo (depending on what kind of operations you're running and how large your databases are, this can
by danShumway 7y ago
> Most of these things are not ridiculous asks
- universal undo (depending on what kind of operations you're running and how large your databases are, this can be a really weird problem. How do you "undo" a one way operation on 5-10 Gigabytes of data that takes several hours to run?)
- optional cascade deletion (Does your app allow references in formulas anywhere? Have fun trying to automatically rewrite those formulas in a user-predictable way)
- translated to my language (AKA, hire a translator that speaks that language)
- works with the database and version we use (more on this in a second)
- WYSIWYG editor that behaves like Word (Hahahaha, Slack)
- etc...
None of these are "ridiculous" in the sense of, "we could never do that." Many of them are significant asks.
To pick one example, I've worked in enterprise environments that allowed on-premise installs with customer-specific databases. It is a serious pain in the neck. Every time you want to do anything interesting with a data format, you have to figure out what which clients support it, what connectors they're supplying you, and how you can hack consistent file-locking and modification times onto someone's outdated WebDAV client.
And honestly -- we've gone to customers and said, "hey, we could get features out earlier if you switched to an industry-standard infrastructure", and a lot of customers are very happy to make that tradeoff. The big thing to remember is that customers are using your app to solve a problem. That's what matters. End users do care about this stuff, but only if it doesn't get in the way of allowing them to solve their problems.
- eru 7y ago> - universal undo (depending on what kind of operations you're running and how large your databases are, this can be a really weird problem. How do you "undo" a one way operation on 5-10 Gigabytes of data that takes several hours to run?) You can still fake your undo like gmail does before it sends email. I prefer that over a confirmation dialogue, that users are trained to click through without reading anyway.
- blotter_paper 7y agoIn some cases, universal undo really isn't possible. As an example, what if the app activates a shock collar for dog training purposes? A delay isn't acceptable, and undoing is impossible. This is a real product, there's more than one on the market.
- eru 7y agoYes. Obviously the fake doesn't work when latency is critical. Some of trying to 'unsaying' something in Skype. Fake 'unsending' an email only works because we tolerate latency.
- gmueckl 7y agoThat is not what undo is for. Undo is for data changes without physical side effects. You might just as well have asked to undo printing a page when the printed page is in the printer's output tray. People have enough common sense to understand that this is irreversible. This is less obvious for an action that only changes data that is displayed on a screen.
- eru 7y agoA good rule of thumb: whenever you could tell a human valet 'sorry, I changed my mind', you should be able to tell the computer. Eg you should be able to undo changes to your restaurant order, as long as they haven't started preparing the meal.
- dbtx 7y ago> what if the app activates a shock collar for dog training purposes? That is the wrong shock collar; undo the purchase.
- c3534l 7y agoYou're cherry picking. At the risk of cherry-picking myself, there were 10 formatting wants. 9 of those are reasonable and you chose the 1 that was difficult. Not only that, but "behaves like word" is probably meant to be a class of things users want rather than a single thing. It's basically saying that users want things to behave the way they're used to behaving, which is a very valid design consideration. The language used in the list is a bit flippant, so "Undo everywhere" could seem unreasonable if you interpret that as "users generally request undo features for most actions" and not literally any conceivable thing you can think of regardless of whether or not it makes sense needs to be undone. You immediately jumped to databases, which instead offer a wide range of security and and protection mechanisms to prevent accidental deletions instead. People pay good money for regular database backups because being able to recover from a mistake or failure is important to people, on account of people constantly making mistakes. Even GMail has undo for sending emails now (it just waits half a minute before it actually send the email). Obviously some of these are silly. "Use this color from here" is a joke (nothing you do will please everyone). "Deploy on exotic configurations/platforms" is almost a joke, but there is always someone who asks when you'll get around to porting your autocad program to the iWatch.
- jmiserez 7y ago>At the risk of cherry-picking myself, there were 10 formatting wants. 9 of those are reasonable and you chose the 1 that was difficult. The problem is that this is absolutely not clear to many end users and devs. I have actually dealt with 8 of the 10 formatting wants in the past year, and none are as simple as they sound. E.g. "using the fonts I use in Office" can be expensive to impossible if you want to properly license the fonts for server use. "No .00 for integers" sounds trivial, but what about ".0000004" when you also implement "No weird .0000004 formatting anywhere". Solveable, but you may need to change the types and not use floating point in some other parts of your application or round the numbers (when?). "The right locale" to use for formatting might change over time in subtle ways due to updates and political/regional changes. Emojis look different in each browser, so you use images: now they look "wrong" in iOS and you probably can't use the Apple Color Emoji font icons due to licensing, etc. >Not only that, but "behaves like word" is probably meant to be a class of things users want rather than a single thing. No! Some users might literally find "this behavior is not 1:1 the same as in Word" and if you word ;-) it that way at least someone will understand it as such. Failing to deliver 100% on such "easy" functionality is often not an option, so just hope that you planned enough time/budget for all the little issues or explain it very well.
- onion2k 7y agoHow do you "undo" a one way operation on 5-10 Gigabytes of data that takes several hours to run?) That's an edge case that you'd need to make sure the UX team have thought about and designed a dialogue in to the undo feature to warn users before they do a one-way operation. That's a common feature in most enterprise apps. Saying no to a feature because there's an edge case that makes it hard is exactly what the article is talking about - that's a strong signal that the developers don't care about what the users need.
- danShumway 7y ago> that's a strong signal that the developers don't care about what the users need. No, I can guarantee that if I went and asked any of the clients at my current company whether they wanted universal undo or the next core feature that we're working on, none of them would choose universal undo. That's the point that the original commenter was getting at: > I've contracted for a small dev contracting shop, and it's amazing how, when customers come with a long wishlist of things they want a piece of software to do, these customers quickly "stop caring" about most of these features when they see actual dollar amounts next to each line item. Of course users want this stuff when they think it's free, but it's not free. Once they realize that it's not free, they very quickly come up with very different priority lists. Being honest about which features are hard, and which features will result in delays, is an unpleasant but important part of caring about users.
- mcbits 7y agoThe lack of universal undo, a.k.a. non-destructive editing, has been a showstopper for a lot of would-be GIMP and Audacity users for a decade or more. Literally none of the other features matter because using the software is not an option. But obviously it wouldn't top the list of requested features if you polled the current users for whom it's not a showstopper.
- danShumway 7y agoThis should still be handled by talking to potential users (why don't you use GIMP) and evaluating the cost-benefits of supporting those users. Case in point, universal undo matters for creative applications like Blender, Gimp, Photosop, Audacity, etc... For how many people are the lack of features like custom branding or dark modes showstoppers in Gimp? And even if it would be nice to have those, are there enough users for whom its a showstopper to justify ignoring existing users who want something focused on their needs? I'm not arguing that there's never a context where you'd work on stuff on this list, I'm arguing that the list isn't free, and because of that should be prioritized alongside other features and maintenance based on user research.