Slashdot Mirror


Ask Slashdot: Should You Invest In Documentation, Or UX?

New submitter fpodoo writes "We are going to launch a new version of Odoo, the open source business apps suite. Once a year we release a new version and all the documentation has to be rewritten, as the software evolves a lot. It's a huge effort (~1000 pages, 250 apps) and it feels like we are building on quicksand. I am wondering if it would be better to invest all our efforts in R&D on improving the user experience and building tools in the product to better help the user. Do you know any complex software that succeeded in avoiding documentation by having significantly improved usability? As a customer, how would you feel with a very simple product (much simpler than the competition but still a bit complex) that has no documentation?"

42 of 199 comments (clear)

  1. Yes. by Nimey · · Score: 2, Insightful

    en tee

    --
    Hail Eris, full of mischief...

    E pluribus sanguinem
    1. Re:Yes. by disposable60 · · Score: 2

      Hos this a Troll and the False dichotomy, which says the same thing, Insightful?
      / I know, don't complain about moderations, but some times ...

      --
      You're looking for quotes? See my journal.
  2. False dichotomy. by aeschinesthesocratic · · Score: 5, Insightful

    Invest in both.

    1. Re: False dichotomy. by Narcocide · · Score: 2

      I think what you're really getting at is that UX should not omit attention to the UX of the manual itself.

    2. Re:False dichotomy. by ShanghaiBill · · Score: 5, Funny

      Invest in both.

      You should go into management. Then you can bring world class excellence to any organization, simply by making everything a top priority.

    3. Re: False dichotomy. by CanHasDIY · · Score: 2

      I would say however, that a big source of frustration for users when they need to dig into the manual is digging thru to find what they really want to do.

      To which I add the caveat, if the documentation SUCKS , ie poorly written/laid out/indexed, it's an even bigger source of frustration. Like, "I would really like to throttle the idiot who got paid to write this offal, preferably with a Franklinator" kind of frustration

      --
      An enigma, wrapped in a riddle, shrouded in bacon and cheese
    4. Re: False dichotomy. by macs4all · · Score: 2

      I test with users for a living, and I agree that this is a false choice. You should have both. I would say however, that a big source of frustration for users when they need to dig into the manual is digging thru to find what they really want to do. The UX should support ease of use for most people. The manual should focus on everyone else. (Possibly supported by a quick-help guide for the really basic user.) YMMV

      I have been incorporating "online help" available directly from the application. These "help" buttons are linked to Bookmarks in a MS Word -> PDF document that is located on an Amazon S3 Server. The nice thing is, unlike your typical "Help File", which tend to have "explanations" that are circular, or that refer to even MORE gobbledegook, this is the "real" documentation, "opened" to EXACTLY the relevant Page.

      Personally, I think this is a much better alternative to a simple "here's your PDF, have at it" (they can still save-as the pdf for offline perusal), or even worse, the usually all-too-brief typical "CHM" file-style "Help" docs.

    5. Re: False dichotomy. by MrBingoBoingo · · Score: 3, Insightful

      And then there's the matter that a number of people who really benefit from good documentation are developers. Documentation helps describe to your team what these chunks of code are supposed to do and in the long run can help to avoid the problem where "new features" end up poorly replacing popular well used features.

    6. Re: False dichotomy. by Anonymous Coward · · Score: 3, Insightful

      "you're not wrong but you're wrong", ofc the manual should be userfriendly but even the best manuals are often ignored by the users, tests have shown that even with very simple (that is, easy to read, understand and apply) documentation, in a population you will find two groups of users - the group that understands the interface and uses the manual, and the group who turns to members of the first group for help at the slightest frustration.

    7. Re: False dichotomy. by dskoll · · Score: 2

      We do something similar in our product. We use LaTeX as the source format for our documentation. This generates a very nice PDF for offline reading. It also generates very nice HTML using htlatex. Finally, we define custom LaTeX commands that link specific sections of the manual to specific pages in our web-base UI. So when you click on the Online Documentation link from any web page, you go exactly to the spot describing that page.

      We also have custom LaTeX commands that expand to null commands when generating the PDF, but which embed training videos when generating HTML.

      To the OP: I would never use a product that lacked documentation. To me, that shows that the developers are not serious about producing a polished application.

    8. Re: False dichotomy. by dskoll · · Score: 2

      I am not a big fan of having the primary documentation for a product off-site. Unless you take a lot of care to set up version-specific pages, people who are running an older version of the product end up reading the documentation related to the current version and get very confused.

      A wiki has its place as supplemental documentation to answer frequently-asked questions or to help with troubleshooting.

    9. Re:False dichotomy. by mjwx · · Score: 3, Interesting

      Invest in both.

      Fuck no.

      Documentation is worthwhile.

      UX is willy-nilly bullshit 99% of the time that you'll have to revisit over, and over, and over with each new fad. Any changes to "UX" shit will also force you to unnecessarily rewrite half of your documentation.

      This. Documentation will tell people how to get something done. UX will just waste time and money.

      UX is a bullshit field that is completely unrelated to HCI/HMI (the proper science behind how people work with computers and interfaces) made up to justify some companies incredibly crappy GUI.

      If your interface is not user friendly, make it better but dont rely on pseudo-scientific quackery like UX to tell you anything, especially anything remotely useful.

      --
      Calling someone a "hater" only means you can not rationally rebut their argument.
  3. You're doing it wrong. by seebs · · Score: 5, Insightful

    If you have to rewrite all your documentation, you've done something horribly wrong.

    Suggestion: Consider focusing on stability for a while, because stability is a huge win for user experience.

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
    1. Re: You're doing it wrong. by fpodoo8256 · · Score: 5, Informative

      We actually have four documentations: developers, community (how to contribute), designers (how to develop theme), users (accountant, crm, point of sale, ecommerce, ...) The first three are stable enough and we will for sure invest in a great documentation. But the latest, the business apps, will evolve a lot in the coming months as they are plenty of areas to improve. My question relates only to the user documentation. For developers and designers, we more or less freeze the api/interfaces.

    2. Re: You're doing it wrong. by seebs · · Score: 5, Insightful

      I am pretty sure that that is exactly the wrong thing, then, because the entire point of "business apps" is that people are supposed to be able to build a stable operation on them. If you are changing things so much that you have to rewrite the documentation entirely, that means you are changing them so much that anyone using the software must completely redo their entire process, retrain anyone using the system, and so on.

      That's way too much change. If you are changing things enough that you are rewriting documentation every release, then you are not "evolving".

      --
      My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
    3. Re: You're doing it wrong. by BaronM · · Score: 4, Insightful

      As an admin/IT manager, what I'd like to see is:

      1. Meaningful, specific error/log messages when something goes wrong.
      2. Accurate documentation of what those errors mean.

      Most end-users won't read long or complicated documentation, business application in particular almost always require end-user training on how to use them --as implemented-- and --in accord with company practice/policy--, so generic docs are of limited value.

      On the other hand, I sincerely miss the days when I could actually expect proper error codes and documentation thereof, and having that available would certainly influence a purchasing decision on my part.

    4. Re: You're doing it wrong. by ravyne · · Score: 4, Interesting

      Having a well-thought-out, consistent, orthogonal, and to-the-extent-possible obvioius UI can go a long ways toward the user experience, bring relevent information nearer to the user, and even make the documentation easier to write -- but even having achieved that ideal, UI/UX cannot and will not substitute for documentation.

      At the end of the day, your users have a business goal, and you've sold them on the idea that your software package will help them achieve it better and more easily than other solutions. You sell solutions and solution components, but you also sell 'better' and 'more-easily'. Documentation is necessary, no amount of UI will take you from splash screen to solution whilst navigating a large set of outcomes and a series of interdependent choices.

      DO provide UI reference, but scenario-driven documentation is your users' greatest need.
      DO automate common, simple tasks to the extent possible.
      DO make doing the right thing easy, and wrong or dangerous things hard.
      DO bring the most relevant information into the app in abbreviated form (apply the 90/10 rule)
      DO link the UI to relevant documentation.
      DON'T get hung up on covering every possible scenario (again, 90/10 rule)
      DON'T believe that a perfect UI avoids the need for documentation.
      DON'T try to bring all the documentation into the UI.
      DON'T rely on your own intuition about what's common or difficult for users, ask them or collect the data.

    5. Re: You're doing it wrong. by infinitelink · · Score: 2

      If by "plenty of areas to improve" they meant the code and interfaces, then I agree with your statement: the end-users need something stable, minimum for 1-2 years. THAT DOESN'T MEAN SEPARATE VERSIONS CAN'T BE MADE! largely relying on the same codebase, it's just that when a large groups signs-up at first they need to be able to learn and keep a solid set of expectations.

      If by "plenty of areas to improve" they simply meant the documentation for business use, however, then it just means they need the documentation improved.

      --
      Intelligent idiots are we. | Evil men do not understand justice.
  4. UX by Raven42rac · · Score: 3, Interesting

    No one reads documentation.

    --
    I hate sigs.
  5. Not all documentation is giant documents by penguinoid · · Score: 4, Insightful

    Have every menu command give it's keyboard shortcut, either next to the item name or as a tooltip. This is superior to a giant list of keyboard shortcuts. Wherever you can eliminate documentation by improving the user interface or integrating the documentation with the user interface, do so. However, there are some things that simply belong in separate documentation.

    --
    Don't waste your vote! Vote for whoever you want, unless you live in a swing state it won't matter anyways
    1. Re:Not all documentation is giant documents by pavon · · Score: 2

      Absolutely. There are many advantages to this approach:
      * Users can get info they need more quickly as they are already in the correct context to get help on that feature, and don't have to search a document.
      * Users are more likely to use integrated help than a huge user manual, saving you support time.
      * It is easier to enforce a policy of updating documentation when you update code.

      The only thing your separate documentation needs to cover are high-level concepts of the application, and common HOWTOs. If you must have a monolithic reference document, then use a system like docbook that generates HTML and PDF, and integrate HTML help into your application.

      Of course this is assuming that these are GUI apps. Server apps or anything that needs configuration outside of a GUI must have full reference documentation.

  6. Open Source It by Anonymous Coward · · Score: 4, Funny

    And just make a wiki and the community will do all your work for you.

  7. When every feature undocumented by sinij · · Score: 4, Insightful

    When every feature is undocumented, how do you expect to attract new users or introduce new features?

    Plus, there is no such thing as intuitive GUI, the best you could possibly do is to have shallow learning curve.

    1. Re:When every feature undocumented by Lunix+Nutcase · · Score: 3, Interesting

      That's interesting because I see people on a daily basis fumbling with the debit/credit machines at checkouts. Even with basic things like swiping their cards. A big pain point is also becaue each one for each store chain has to be different in unnecessary and inconvenient ways.

  8. Poor documention = Poor perception by NotDrWho · · Score: 3, Interesting

    If you want your software to be taken seriously by anyone outside of a tiny niche, bite the bullet and get a decent technical writer to write decent documentation. Sloppy documentation is equated (usually rightly) with sloppy coding, sloppy security, and an overall sloppy effort.

    --
    SJW's don't eliminate discrimination. They just expropriate it for themselves.
  9. No doc by Oligonicella · · Score: 4, Insightful

    As a developer and a user I absolutely *hate* apps with no documentation. None of the apps I see on your linked page are primitive enough to stand without. Actually, nothing more complex than say... well, nothing.

  10. Depends on the target: by fuzzyfuzzyfungus · · Score: 3, Interesting

    If something is an end user product, it appears to be sad but inevitable that nobody RTFM anyway, so you are probably better off doing everything you can to make it actually work when prodded by the clueless. Try to make sure that it's all point-and-drool simple(if it is possible to back yourself into a 'mysteriously doesn't work, provides meaningless or nonexistent clues as to why' corner; an elegant way to roll back is nice).

    If the idea is that the product will be set up and administered by the customer's IT minions(internal, contract, or purchased 'as a service'), then Please, Please, Please document. IT minions are largely innured to the suffering of merely bad, hostile, and unintuitive software; but they are the most likely to need to know how things fit together, where they may need to bodge some shim together and keep an extra close eye on things, and so on. They won't like it; but they'll like it a whole lot more than an equivalent product where they need to deploy a mixture of reverse-engineering and pure mysticism because the system is a total black box.

  11. Functional spec by mspohr · · Score: 4, Insightful

    Back in the very old days when I had a software company, we wrote detailed functional specs and used these as the basis for the documentation. It's much easier to go from a good functional spec to documentation than start from scratch. It's also a good test of whether or not the software works as intended.
    I don't know if people still do that. It seems most software these days either copies some other product exactly or it's just the whim of the programmer.

    --
    I don't read your sig. Why are you reading mine?
  12. Every release is a rewrite? by BitZtream · · Score: 3, Insightful

    Then you're doing the whole project wrong.

    I'm guessing you've got developers with no leadership or plan and certainly no forethought.

    You should invest in some project management and developers who are playing for the team rather than just writing what gives them a buzz that day.

    No one is going to use your software if every release is so different that you have to rewrite the docs. People use software to get something done, not because they want to spend their time learning how you decided to rewrite it and do things differently.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  13. UX? Meh. I have enough experiences in life by caseih · · Score: 5, Insightful

    All this talk in recent years about UX as in "experience" drives me up the wall. Talk about euphemism! Why can't we go back to calling it what it is: user interface?

  14. Games. by pla · · Score: 2

    Do you know any complex software that succeeded in avoiding documentation by having significantly improved usability?

    To answer your direct question: Yes - Games regularly do this, because no one reads the manual (if they even have one).

    That said, no one reads any manuals until they get stuck. So realistically, time invested in useability will provide far, far more benefit than time spent on a book that never even gets opened.

    However, games have the rare luxury of forcing you to play a tutorial when you start. As much as I wish I could force most of my coworkers to "play" an Excel tutorial every time they start a new spreadsheet, I doubt "serious" users would have the patience to put up with that level of handholding (even when desperately necessary).

  15. Mod parent up! by khasim · · Score: 4, Interesting

    As an admin/IT manager, what I'd like to see is:

    1. Meaningful, specific error/log messages when something goes wrong.

    Do this.

    And make the error reports unique. No more "an unexpected error has occurred". Even "purple-monkey-dishwasher" is better than that. Make it easy for your users to report real problems to your developers. And that means making each error unique enough that the developers can search the code for it.

    And have someone spend some time sorting through your forums (make sure you have forums) who can move threads and messages around while still maintaining the links to them. So someone with a "purple-monkey-dishwasher" error can see the other posts about that WITHOUT having to dig through unrelated "vitamin-can-hook" errors. Sortable by version. And by date.

    1. Re:Mod parent up! by techno-vampire · · Score: 2

      Make it easy for your users to report real problems to your developers.

      Many years ago, I did tech support for a small startup that used a proprietary database (btrieve, I think) as part of its back end. The developer who wrote that part would have the program show the user the exact error message returned if the database had a problem. Alas, not only didn't the messages make any sense to the users, they didn't make sense to me, either, and I wasn't given any access to the documentation, meaning that unless the developer came down from his ivory tower, they were useless. Not only that, he refused to modify his code so that we had an idea which file was causing the error. This is just one of the reasons that the company folded.

      --
      Good, inexpensive web hosting
  16. UX can only go so far by Dracos · · Score: 2

    Just as there is no such thing as absolute security, there is no such thing as a 100% intuitive and self-documenting UX.

    No matter how simple or complex software is, there is a limit to how much "help" the UX can offer. The UX should have enough hints/labels/tooltips/etc to keep the user from getting lost performing light to medium tasks, but inline is not the place for describing complex workflows, data structures, APIs, or other heavy topics.

    Documentation is the ultimate resource for the users, most documenting elements in the UX should be considered a convenience. The phrase "RTFM" exists for a reason, there is no "RTFUX".

    It also sounds like you're handling your docs wrong... they should evolve with the codebase and not need a complete rewrite for every release.

  17. You are doing it wrong, obviously by angel'o'sphere · · Score: 2

    Make the Apps self explanatory, use mouse overs and build in help. Code so that the developers have to write the code and the build in help same tim, after all the build,in help should come easy from the story/use case descriptions.
    Oh, you neither use user stories nor use cases, see headline ...

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  18. I've used the software by Pop69 · · Score: 2

    I've used the software, it was OpenERP in its previous incarnation. I've ploughed my way through the developer and user documentation.

    The documentation is abysmal, much of it is not updated between versions and can refer to settings, functions, etc that no longer exist. In some cases I've seen it refer to whole sections that no longer even exist like report design and outlook integration. There are numerous places where it refers to things that do not exist unless a specific module is installed but at not point does the documentation ever mention that the module should be installed.

    On the developer side, there appears to be much that is broken by design rather than by error. For what is supposed to be a piece of critical business software, the inability to do something as basic as a bank reconciliation and print off an aged debt report out of the box is unbelievable.

    Perhaps working on the core competencies of the software instead of diverging into including web site builder and CMS systems ? Your product can't do something as useful as calculating the cost price of a Bill of Materials assembly, so get the basics working and documented clearly before you do anything else.

  19. At least start documentation wiki by raymorris · · Score: 2

    At very least, start documenting new stuff via a wiki, before new commits get integrated. Better yet, documenting a new feature BEFORE coding it can increase quality and reduce development time by causing developers to think through the user experience before implementing something.

    We also have our support and and customer service people copy/paste emailed answers to the documentation wiki so they aren't typing the same thing repeatedly and the information can be found without emailing support in the future. That doesn't require writing any more documentation, just copying and pasting info you're already writing.

  20. Re:If you need extensive documentation... by ColdWetDog · · Score: 2

    If you need extensive documentation... you had failed.

    At Kandy Krush perhaps.

    At a real program, not so much.

    --
    Faster! Faster! Faster would be better!
  21. Any software requiring documentation is broken. by tlambert · · Score: 4, Interesting

    Any software requiring documentation is broken.

    I blame Bob Wallace.

    Bob Wallace was one of the originators of the concept of "shareware", and he got paid not for his software. This made people wonder how Quicksoft was able to stay in business.

    When questioned about this at one convention, he made circling motions with his hands on either side of his head, and said "Software is ... all up here ... it's not real, it's ephemeral. I don't sell software, I sell manuals". So Quicksoft made its money, and its livelihood in the margin between the cost of mass-producing a manual vs. printing it out from a floppy disk and using up a bunch of tractor feed paper and expensive ribbon.

    Or, to put it another way, Quicksoft made their money by having a relatively feature-full product which was nearly impossible to use without documentation. And people have been mistakenly trying to copy his success by utilizing the same technique, ever since.

    Why did WordPerfect lose out to Microsoft Word? It wasn't because WordPerfect didn't already own the market; it did. It wasn't because Microsoft Word had more features; it didn't. Was Word a lot better, intrinsically, than WordPerfect? It actually wasn't.

    Frankly, it was because of the F1 key. By the time WordPerfect got around to deciding they needed a "Help!" key, some of the function keys were already assigned, and so they assigned the next available one to be the "Help!" key. It helped sell a hell of a lot of keyboard templates. And it hid the help from anyone who'd experimentally go looking for it by hitting unlabeled keys in order until they found it (in fact, this would totally screw you up in WordPerfect).

    Microsoft hit on a UX innovation: when something goes wrong, make the "Help!" key the first key someone is likely to hit, before all other keys.

    And then they did it one better: The F1 was assigned to be the "Help!" key in *all* their products. Instead of just being a great UX thing, locating the key where they did on the basis of probability, they turned it into a Schelling Point: anyone who wanted "Help!" in any Microsoft product knew where to go to find it, if they had ever used some other Microsoft product, and needed "Help!" there.

    So back to the original question: should you invest in documentation? Well, yes... if your product has already failed to the point where it's nearly impossible to use without documentation, or because, like Bob Wallace, you intentionally made it nearly impossible to use without documentation because that's one of the premises of your business model.

    Maybe you want to write books on your project, once it's used by enough people to make that profitable, and that's how you plan to turn your hobby into a vacation fund. Or maybe you want to get to be a published author about a product so you get hired as a tech writer somewhere, or you get a lot of speaking engagements, and monetize your efforts that way. But if making your product hard to use was one of your initial conditions, then I think your software is broken.

    1. Re:Any software requiring documentation is broken. by msobkow · · Score: 2

      See the IBM User Interface Styleguides for where the notion of "F1" as a help key came from.

      Microsoft followed CUA; they did not create it.

      --
      I do not fail; I succeed at finding out what does not work.
  22. no by Charliemopps · · Score: 2

    I support a lot of apps... some with lots of documentation, some without.

    If management came to me an asked me to assure them that your application was secure enough to store sensitive data in it, and you had no documentation... how could I assure them of that? Does the application calculate financial data accurately? I don't know. What's the developers long term goals for the product? Does it support X format? How far along is the API? Are they getting rid of it?

    Documentation is far more important than just "How do I save a file?" Without it, most businesses will never approve your product for use because they'll not be able to get answers to whatever questions they need answers for to approve it.

  23. User Experience can go a long way by mysidia · · Score: 2

    Applications should strive to be "Self-documenting". The user interfaces should be self-explanatory. If they are understandable, the business using the app will in general be perfectly fine working out how to train its users about the proper use of the application.

    But for a business application, you need good detailed administrator documentation, also; including technical design information and recommendations, which are needed to understand whether to use the application (or something different) and how to appropriately design the deployment in a manner that suits the needs of the business.

    If you can't bother to do that, then I, and other technologists will tell the business, that we need to buy a different product, because this one isn't adequately documented: which is a huge big red neon warning sign.