Menu

Prioritization for usability improvements and feature requests

2021-09-18
2021-10-14
  • Dimitry Polivaev

    I am writing this post to discuss a way how usability improvement and requests can be handled.

    Currently Quickfold is preparing Freeplane documentation and also managing a backlog of issues which he believes need to be changed. We have regular online meetings and communicate often beyond the forum working closely together. The backlog and the road map from his view are maintained as tickets in https://sourceforge.net/p/freeplane/planning/ . This collaboration gives us a possibility to discuss not only requests but also their costs and clarify whatever comes up.

    As you can see at https://sourceforge.net/p/freeplane/planning/2/ we have created a list of tasks which can certainly keep me busy over weeks or even months because I can only spend time for Freeplane development at the weekends. The ticket descriptions contains two lists, to discuss and to implement, where all items are sorted in descending priorisation order. Having just a list of items is easier than maintaining tickets.

    At the same time other community members including Euu, Henk and many others share their ideas and sometimes criticize existing or new UI in the forum. I appreciate their contributions and often share their points. Not everything can be solved timely, some things require planing and consideration.
    Some issues should be added to the backlog first because they require discussion or might require significant coding efforts. As an example I can sharea a link to recent post https://sourceforge.net/p/freeplane/discussion/758437/thread/945c81a9a3/ which contains valid points not having an immediate solution. So we need to find a way how the issues can be added to the backlog so that they are not forgotten and how they are prioritized.

    I would appreciate if @quickfold could take care of clarifying and prioritizing such issues so that I can work on them in a particular order playing a role of a product owner whos main task is development of a product vision and priorization and clarification of all incoming feature requests together with the development team.

    Folks, can you see the points?
    Quickfold, could you take this role? I believe that you could do it greatly and it helped us a lot.

    Regards,
    Dimitry

    @quickfold @euu @haaihenkie

     
    👍
    1
  • Henk van den Akker

    Points taken! Good initiative by @quickfold! What happened to the other developers @boercher and @fnatter?

     
  • quickfold

    quickfold - 2021-09-19

    Hi, I am willing to serve this role, although I am not sure how it will work yet. I cannot commit to actively manage the huge backlog of feature request tickets. Let me explain the current situation to the community to provide context and get feedback.

    I expressed my opinions about Freeplane in a long post some months ago, here:

    https://sourceforge.net/p/freeplane/discussion/758437/thread/4a9b7007e1/?limit=25#befe

    In short, FP is super-functional but is not nearly as popular as it should be because it is far too hard to learn and has poor documentation. In the last months looking at different mind mapping forums and programs, I think that the second biggest obstacle to FP being popular is that its UI is dated and confusing.

    There is a 3rd challenge: currently, FP's most vocal community members (other than me) are those that love FP despite these problems because the community is largely driven by people who are comfortable programming, who are already used to FP's quirks and UI, and who see more functionality as the most important thing. Let me be clear in saying that FP cannot ignore these people and their needs, and we must make sure that FP doesn't change in ways that significantly reduce functionality for its most dedicated users.

    However, if feature requests are driven mostly by maximizing the efficiency of the personal workflow of FP's current userbase, FP will never significantly grow in popularity. It will continue to be the Emacs of mindmapping programs—insanely functional but unusable by anyone but programmers. My main goal is to change that and to open its functionality to the general computer user. This must of course be balanced with meeting the needs of its current users, but FP has been focused on improving complex functionality for 10+ years already. So currently, I think that FP should have a moratorium on any new features that are not aimed at the goal of improving ease of usability for beginning users. I have some personal investment in other types of new features also, such as Zotero integration, but I have put my desire for those on the back burner because I don't think they are the most important thing for usability.

    I will also mention that there is a bit of a negative motivation situation on this forum because the changes Dimitry and I are making are usually things that current users who post on the forum don't care about or even dislike, so there is not much positive feedback despite our working quite hard on the project. It would of course be easiest to get praise by working on the personal requests of the 20 or so people who post here a lot, but then in 10 years we will just have a tool that continues to work great for a very small group of people rather than a tool that has been widely adopted. So current users might feel a bit dismissed by my attitude, but I hope that they understand the purpose. If other people want to contribute more, we can achieve our usability goals faster, and then I would be fine getting back to improving niche functionality, such as easier editing of Node Attributes (which is a function that I am guessing is probably used by a few dozen people around the world at most).

    Above, Dimitry linked to a ticket in our new "Planning" section where we are listing topics to discuss and changes to implement. I haven't yet mentioned this to Dimitry, but the items on the "Backlog" ticket are just a small number of the total number of usability suggestions that I have recorded. I have about 50 more that I haven't yet posted because I want to organize them and I don't want to overwhelm Dimitry. There are also a number of things that I think are high-priority that are not yet defined as concrete tasks because we haven't decided how to implement them yet.

    My current focus is writing FP documentation for the general user. I have a list of dozens of topics (for current functionality) that require documentation here https://github.com/freeplane/wiki. It will take a while. One person has offered to help, which is appreciated. Anyone can comment or give feedback on the draft branch, but what we really need is people to write new content. I'm an academic in the humanities, not a programmer, and learning GitHub and document collaboration are all new to me. Anyone with experience in managing collaborative documentation projects is welcome to make suggestions.

    I'm also open to suggestions about the best way to manage feature requests. Here are some ideas off of the top of my head, so feel free to comment to agree/disagree:

    • prioritizing by having users vote for features would be counterproductive for FP, since we want to broaden our appeal to users we don't currently have
    • it is reasonable to set a general goal, like better documentation or clearer UI, and prioritize feature requests for those areas, and to just record other requests in other areas and not worry about them at all for now
    • those who contribute to the project should have more say in deciding how to prioritize feature requests
    • perhaps the feature request ticket template should include factors such as "how many mindmap users are likely to benefit from this change?"

    I look forward to seeing what others think.

     
    👍
    1
    • euu

      euu - 2021-09-19

      I 100% support your vision on prioritizing the improvement of usability for the general computer user.

      I think you are doing a good job in analyzing critically the users feedback and suggestions. It´s an important role, because the users usually give opinions based on their personal experience, so we need someone that has the wider vision on the long term planning of the priorities. It´s also important (as you usually do) to express the result of this analysis to the user (Something like: You suggestion makes sense, but it will be way down in the backlog for the next couple of years, because it´s not in the priorities and is too difficult to implement).

      One idea is to start an official temporary endeavour focused on improving one aspect, like the UI, so the users know that the team is focused on the UI, so any other suggestion will, automatically, be considered low priority. Maybe, this will stimulate more users to help in the endeavour. So, the idea is to make it clear for everybody that we are in a war against UI flaws, so hold back your suggestions about any other stuff and use your brain power to think about improvements for the UI. Maybe, create a thread to be the base discussion about the endeavour, where everybody can see how things are going, what are the priorities right now, what are the needs, etc. Maybe, creating a specific backlog for the endevour, besides the general permanent backlog.

      About the documentation, it's still not clear to me how it will work, so I'm waiting to see the ball rolling so I can decide where do I fit.

       
  • awolov

    awolov - 2021-09-22

    I agree with euu.

    About documentation, I wonder if we are bold enough to aim for the goal of making the interface clear enough that people in the group lose interest in improving documentation. It would mean sacrificing some features, I am sure; but think of the juice the project would get if usability became the foremost goal. Now that we already have such an incredible feature set, and such high usability, the stumbling blocks are all around the too-high cost for most would-be new users to get up to speed.

    My companion post is another approach to this idea, using Intuitive Interface / Full Interface.

     
    • quickfold

      quickfold - 2021-09-22

      About documentation, I wonder if we are bold enough to aim for the goal of making the interface clear enough that people in the group lose interest in improving documentation.

      I love bold goals. We need to actually have decent documentation before we can lose interest in improving it. There are currently huge gaps. Everyone agrees the UI should be dramatically improved; the obstacle is finding people who can devote time and skill to implementing that goal—including moving past general discussion and towards making very specific proposals.

       
  • awolov

    awolov - 2021-09-22

    Intuitive Interface / Full Interface:

    I would like Freeplane to have the option of presenting the user an interface that contains only clearly intuitive items, a subset of its full functionality. I believe this would encourage new and casual users to spend more time using it. Maybe like training wheels on a bicycle; in the beginning they enable you, later on they frustrate you till one day you take them off. One goal is to allow the new user to more quickly develop an enjoyable sense of mastery. We hope this will encourage them to explore the more arcane options. The more they trust and enjoy using Freeplane, the more likely they would be to venture out into areas of the program they find more frustrating to learn.

    Maybe we could institute a straw poll feature of this group to show Dimitry whether the group feels a feature should be included in the Intuitive Interface or not. Voters would base their opinion on the tradeoffs of such things as:
    how intuitively appealing the feature is,
    how widespread the appeal,
    how much time for a casual user to learn the feature without making mistakes,
    clarity of purpose of the feature,
    ease of understanding how to use it,
    how immediate the (visual) feedback is in the interface to enable user to know if they understand the feature and see immediately if they made an error in using it or understanding it.
    For example poll, see the example at https://strawpoll.com/r6qdgpzqq

     
    • quickfold

      quickfold - 2021-09-22

      We have discussed the idea of a beginner/advanced interface before. I actually do support this notion, but only in combination with a UI overhaul that allows more user customization of the interface. But the community has not yet decided to support such a move. We should discuss this specific idea in a different thread, however.

      However, I don't think a current user vote is the way to decide what features should be included in a beginner interface for reasons mentioned in my previous post. Do you disagree with my reasoning there?

       
      • awolov

        awolov - 2021-09-24

        I think we both have the same goal, that of us trying to envision what would best grow the user base.

         
  • awolov

    awolov - 2021-09-22

    Sorry, another item:

    I was a consultatnt doing accounting applications development. I quickly found that my livelihood depended on my user interfaces being so intuitive that the users did not need documentation. They would have simply told management that my software was impossible to use; not even that they would have to read, understand, and learn something new and they didn't have time to do that. They were right. They taught me a discipline that kept me well-employed for a very long time!

    I would love to be able to introduce Freeplane to my friends and not cringe because I knew they were likely to whine, "I don't get it!"

    One of the hurdles I think is that most word processing interface models are list based, where the medium moves in only one dimension (up-down). People understand this intuitively. The mind map model is also intuitive, but it is > one-dimensional and when you start to add nodes you quickly realize that it is much more difficult than just adding a paragraph to a document. It is a weird dimensionality where each cell can have its own universe of offspring. Very easy for the inexperienced user to get lost in.

    It's kind of a psychedelic spreadsheet model, where the relationships start out fairly straightforward, 2D, but then the cells start to wander off and drift, because of the incredibly subtle ease of use that encourages dragging the entire map, and the ease of moving, drag and dropping, and resizing of each node. I think this is overwhelming to most people and one prime usability idea I have is to limit that flexibility so that the text area model is easier for inexperienced users to grasp as they add nodes. But I think this idea, to reduce basic mind map flexibility, will shock most people reading this so I left it for the end! It's really part of the "Intuitive Interface / Full Interface" toggle idea.

     
    • quickfold

      quickfold - 2021-09-22

      I actually can't imagine any software being "so intuitive that the users did not need documentation", especially anything with lots of customization options. Can you give some specific examples of such software to help me understand?

       
    • quickfold

      quickfold - 2021-09-23

      Hi, when I asked for examples, I was not asking for examples of proposals for Freeplane. I meant examples of actual, public, existing software I can examine that is so intuitive that no documentation is needed. I don't know what you mean by that so a concrete example is needed to take the conversation forward. But such examples are best given in a new thread or just message me directly. Thanks.

       
  • awolov

    awolov - 2021-09-22

    Absolutely - I have several specific Intuitive Modes, with restricted interfaces, in mind. But first, I certainly agree with you that up to date, accurate, and lucid documentation is an essential component of any project as complex and groundbreaking as Freeplane. I do fully support that part of the project continuing.

    Here are six examples I have been working on, all of course to be further refined:

    To create a new map, the user would select one of the interfaces below. The map would allow elements of only that type. In all of these kinds of map, the available options in the Freeplane interface would be pared down to the level it would be if the function of the mode was a freestanding app, with the addition of an option to change the interface to one of the others, including of course full Freeplane. Each of the following allows a little more functionality and requires the user to have a little more understanding to avoid frustration and misunderstandings. Finally, some of these would be losslessly convertible up to the next higher Easy; e.g., user could create an Easy Memo Map and then later open it/convert it to an Easy List:

    . Easy Memo Map: one node style like a post-it, freely positioned. Maybe allow cloud and grouping as well as font and simple node formatting.

    . Easy List Map: one dimensional, medium length node style. Inserting a new freestanding node would create a new List, and with that user could create children of fixed size and format, resembling a list. There could be many Lists per map.

    . Easy Outline Map: user can adjust how many sub levels allowed. Maximum number of levels should be restricted in order to minimize the chance of the user getting too confused. This would look like the List above but with children being indented like an outline rather than normal mind map dangling off to the right.

    . Easy Journal Map: add simple date node capability. Each date would allow as children a node which could be simple, or the parent of a new List as above, with optional cloud.

    . Easy GTD Map: a little more complex. Provide a Projects list, a Next Actions list, @ lists, some kind of Weekly Review reminder checklist. Each Project and each Next Action could be Lists or Outlines as above.
    Added complexity: each Next Action could be linked with a Project. In that case when focus is on a Project, the Freeplane Spotlight would turn on, highlighting that Project and all the Next Actions that the user had previously associated with it.

    . Easy Spreadsheet Map: I don't know how useful it would be, but it looks like it would be a fun project. The trick here is that each node would exist in a 2D rather than the current 1D space, probably with no children.

    I know there is a lot here, but my goal is to provide a way of making Freeplane more inviting by paring down rather than adding complexity. Even the GTD option would add only a minimal amount of new functionality (multiple simultaneous Spotlights).

     
    • quickfold

      quickfold - 2021-09-23

      Hi @awolov, thanks for spending so much time outlining your vision. We try to keep threads strictly to one topic per thread so the forums don't get out of control. I can't move posts, so if you want to talk about specific proposals for changes to the UI, please copy/paste the post to a new topic with an appropriate title.

       
  • Edo Frohlich

    Edo Frohlich - 2021-09-26

    Dear @quickfold, dear @dpolivaev,
    I absolutely support your vision on prioritizing usability for new users, better UI and documentation.

    I post here my opinion because I'm one of the hardcore users that can do some coding and are confortable with Freeplane as it is for my day to day use.

    I use Freeplane daily and I would love that others would work with it too. It's not only a software, it opens another way of organize and discuss projects. I want more people to use Freeplane so I can share my work with them in an easy way.

    IMHO, a way to slowdown the feature request on special features is to clearly declare that when something can be done through scripting and the API it loose priority as a new freeplane feature.

    The AddOn platform and webpage should be improved so new users know that they exist and can be useful. I think that it is more difficult that we get more developers to work in Freeplane that on individual projects like AddOns.

    But in my experience, doing little scripts is something not so complicated. I am sure that there could be a lot more FP users that could use scripting for little tasks and help each other solving little problems. This way the request for new features would decline. Most of them are from intermediate users that are not the priority right now.

    Just my thoughts,
    BR

    edo

     
  • Robert STeiner

    Robert STeiner - 2021-10-14

    Toughts towards clean and simple

    The next words, are more or less similar to others in this thread. I just want to express my thoughts, which might be a little diferent :)

    Focus on the goal, using a dedicated dicussion space

    You guys said it. This needs a goal, therefore focus. I suggest a dicussion board with a clear focus on this endeavour. "Project: Freeplane, clean and simple", or something like that. Create a big fat sticky, maybe an alert emoji, so everybody gets the point of the discussion board. I think even the word "Project" in the title will put the normal user off from posting on that board. Whatever the board is called, it must be clear what it is about.

    Raise awareness
    The space must also draw new users towards it. This space could be advertised. Stickies, signatures at the end of each thread opening post or something. The more people participate, the better.

    Voting on features, in the dedicated space

    I would strongly vote yes, for a polling method. Like uservoice. But only if a dedicated space was established, to keep the polls clean from requests, that do not support the goal.

    .

    Identify and engage with newcomers

    • Feature request/bugs could get an additional field, to track user experience level(1 month or less, 2-3 month, more than 6)
    • If a newcomer was identified, a survey could be pushed upon the user. Maybe by replying and asking the user to fill out a little questionnaire about goods and bads or seomthing. Or by putting a link to a survey in the answer :) With asking the user directly.

    .

    First you feel, then you read the documentation :)

    I agree. Newcomers need to feel Freeplane before they even can consider the documentation. If Freeplane doens't feel right in the first 5-10 minutes, you lose the newcomer. Sure documentation can help avoid that, but I am guessing that this applies only to tech savvy personas. Us ... lol.

    .

    Some ideas on improvements

    Well.... I do not have a clear vision, but I know what I frown upon.

    • Lots of mindmapping tool are webapps. Therefore the installer must be flawless to avoid disruption. The installer itself must be nice.
    • freeplane.org is far too nerdy and geocities like. :) Looks like a math wiki from some university.
    • The colors on the videos and examples maps are from 1995. "If something looks old.... it probably is.", might be the association.
    • The UI needs a structure. Buttons that work together need to be grouped... etc etc.
    • To much functions are revealed to a newcomer. I also like the idea to start with a basic set of buttons and menus.
    • Newcomers look for intuitive usage and a nice look. A no brainer so to speak. If they are hooked, they will stick with Freeplane.
    • Integrate cloud storage. gdrive, onedrive, dropbox. USB sticks suck ;)

    .

    What now?

    Collaborative tools

    How about a mindmap :) Or google sheets, for collaborative editing. User tasks? Wiki?

    Next Steps I like

    Clean discussion space
    Prepare
    1. Collect topics and group them
    2. Prioritize groups
    Analyse, collect requirements and create
    1. Discuss one group
    2. Vote on ideas, Create mockups
    3. let's get it on :)

    ... well you get the point :)

     

    Last edit: Robert STeiner 2021-10-15