Manual Sorting Emulated

The very fact that there is so much debate in this thread about how to implement manual sorting almost proves my point that an elegant solution isn't obvious.

Global vs per-view has been one sticking point. I'll just point out another. Filters. Suppose you are manually sorting your list of 100 items and you have it all perfect. Now, you apply some filter that hides 90 items leaving 10 displayed. Now, you drag item 5 to position 2. Now, you turn off the filter. What is the new state of the list? Its confusing. There is no good answer, and this would happen all the time. Without a clear, consistent behavior for this scenario, I am very hesitant to proceed with any half-baked solution.

My hesitance comes from my experience with subtasks. I feel that our implementation of subtasks is inelegant. I was persuaded to do it based on customer requests even though I had concerns about how certain things would work. While we have made improvements over the years, and I am happy that we have this feature overall, I think that subtasks are confusing to use and I still do not have a solution for making them perfect. I do not want to repeat this experience, so I want to make sure that if we do implement manual sorting, that it is done in a way that is obvious and clear to everyone.

There is also the small but no longer important fact that I initially made Toodledo because I didn't want to waste time constantly micromanaging the order of my list. I wanted smart sorting options to do that for me, hence "Importance" and 19 ways to sort your list.

Manual sorting has been suggested by many people many times. Although I am personally an enormous fan of having a manual sorting order I have always argued that in Toodledo it is probably well nigh impossible to implement due to the open structure of its other sorting options - where and how would it fit in?

That is how I started my initial post, remember? It mirrors what you say quite well, doesn't it? In fact, I would almost say we agree completely. The filtering aspect you brought up is yet another complication factor that speaks against manual sorting.

Hence my initial suggestion in this post: To implement something that for all (or at least most) practical purposes looks and feels and behaves like "manual sorting", but which is in fact just a convenient 3-in-1 quick edit operation (taking advantage of the 2-3 tier automatic sorting already available in Toodledo).

No manual sorting orders would then need to be maintained either openly or behind the scenes, so there are no new consequences. It would all behave exactly as if user had changed those three fields manually, just in a quicker and more convenient way (which resembles manual drag-and-drop sorting).

Yes, Purveyour pointed out the same thing. But at least this is "just a little UI thing" - if I may call it that. It introduces no new ambiguities in the data or the underlying structure.

UI-wise, for me personally, I would have no problem at all with using shift-drag or something like that, and I do not think I would have any problems with a regular drag either - it would just work a bit differently compared to when you reorder subtasks (the subtasks have a "real" manual sorting order that gets affected).

But this was just an idea. If you can make something useful of it, which I believe is possible, then be my guest. If there are unsolvable problems with it, or too much confusion with it, then you'd better leave it alone.

Posted by Jake: The very fact that there is so much debate in this thread about how to implement manual sorting almost proves my point that an elegant solution isn't obvious.

True. So let's keep the discussion running and see if we can figure this out, despite the signs that it might be impossible. If nothing else, we will have gone through our options.

Posted by Jake: Global vs per-view has been one sticking point. I'll just point out another. Filters. Suppose you are manually sorting your list of 100 items and you have it all perfect. Now, you apply some filter that hides 90 items leaving 10 displayed. Now, you drag item 5 to position 2. Now, you turn off the filter. What is the new state of the list? Its confusing. There is no good answer, and this would happen all the time. Without a clear, consistent behavior for this scenario, I am very hesitant to proceed with any half-baked solution.

Is there a way for us to approach the problem that you would like to bring up about this whole deal? Are there only a few but deal breaking issues you are trying to tackle or are there a gazillion small and large issues around this whole manual sort ordering monster? A compiled list of concerns could help out spark discussion about it and see if there are any suggestions of solving things _good enough_. I say good enough because in a complex system there are never any silver bullets.

Posted by Jake: My hesitance comes from my experience with subtasks. I feel that our implementation of subtasks is inelegant. I was persuaded to do it based on customer requests even though I had concerns about how certain things would work. While we have made improvements over the years, and I am happy that we have this feature overall, I think that subtasks are confusing to use and I still do not have a solution for making them perfect. I do not want to repeat this experience, so I want to make sure that if we do implement manual sorting, that it is done in a way that is obvious and clear to everyone.

What is it, more specifically, that does not work as you'd like to or intend it to? Is it the case of the filter issue mentioned above?
In the current situation, [sub-tasks] follow a set of rules based on the actual implementation. These might be sub-optimal (I'm not sure in what way as I hinted above, but that's most likely because I don't use them the way everyone else does) but they are still there and users are likely to use the functionality. Theoretically, would all hell break lose if this kind of implementation would be applied to the [parent tasks]? "An ugly hack way of looking at this" would be to make them sub-tasks to a non visible [grand daddy parent task] and use the same implementation on the [parent tasks] as the [sub-tasks]. I'm not saying this is a good solution at all, I'm trying to figure out where things go horribly wrong and people would perceive this as a visible, tangible drawback or if it's actually something that people can live with.

Posted by Jake: There is also the small but no longer important fact that I initially made Toodledo because I didn't want to waste time constantly micromanaging the order of my list. I wanted smart sorting options to do that for me, hence "Importance" and 19 ways to sort your list.

I don't have an exhaustive list of the difficulties of manual sorting of tasks, but the main issue is that your list is rarely a complete list. You may be using filters, have an active search, or are in a tab that limits the tasks to a small subset. If you manually sorted that subset of tasks, it is not at all clear how those tasks should be represented when you move to a different subset of tasks.

As for subtasks, the main problems that we see people having is that they have a subtask that is urgent, that is inside a parent that is not set as urgent. Because they have their list set to have subtasks hidden or indented, these subtasks can sometimes get lost. We could blame this on the users and say that they aren't looking at their list the right way, but we don't think that is fair. We should have a way to surface important subtasks even if they are hidden inside a parent. We have ideas for how to fix this, but its just one example of hour our subtask feature isn't perfect yet.

I completely understand that this is a tricky business because of all the customisation abilities presented.

How about a test-program sort of way of trying new ideas out? If I understood you right you're concerned about the way people would react to these kind of changes, because it could become a bad user experience. Then, how about offering users an experimental playground so to speak, where you clearly state that the features are only for experimentation and that the functionality is never to be viewed as permanent.
People who are inclined to test these features can opt-in and you select a batch of subjects to run wild.

Just a thought. I know it takes a lot of resources to ship an idea like this, but then again, it can also depend a lot on if the live section of the site needs much attention.

And meanwhile, until all this has been figured out, wouldn't it be quite a big step forward to have a 3-in-1 quick edit operation just like I suggested? Implemented as an "emulation" of manual sorting (drag-and-drop)? Something that requires no underlying manual sorting structure whatsoever and which therefore does not incur any of those complexities?

With all due respect, my mind is absolutely blown by the level of resistance you are showing to adding a manual sort option, when it is a deal breaker for so many people, which includes myself.

I've read repeated posts about how complicated it is in light of all your other sorting options, how inelegant it might be, etc. etc.

There's no way I, or any single user here can go toe to toe with you about what it would take to integrate it into your system and how it might affect other features. But I'm just going to speak in general terms.

I honestly think you need to examine if you are in fact just too close to your creation to see this issue with any sense of perspective. It may well be that a manual sort can not be "elegantly" functional when used in conjunction with all the other sorting categories you seem, IMO, incredibly defensive about preserving.

But what you seem to be sorely overlooking is the fact that for scads of people including myself, there are far more sorting options than we are ever going to use, short of totally transforming our productivity habits to David Allen levels of super organizational efficiency.

For many of us, we are unable to implement all these sorting features in a functional way. Believe me, I wish I could. But because I cannot, at my level or organizational skill, I absolutely need a manual sort function in some limited capacity (and not the severely limited sub-task non-solution.)

For me personally, the best use for this for me would be to have a Dated Page that combines items labled Due Today + Start Today + Defer to Today (I only Due today only, but this would accommodate those who use the others.) Then a manual sort would enable you to move things around conveniently as priorities and circumstances change throughout the day.

I have seen similar suggestions about implementing manual sort just for Starred Items. This would be fine too.

You are brilliant guys. Believe me, you can figure out an option for people use manual sort that need it. 2Do has it, and they have a pretty rich set of sorting options and customization. The problem with 2Do of course is that they don't have a desktop option. (A Mac OS version is coming, and I have to say, if it's good and you still don't have a manual sort option, I'll stick with only 2Do and not look back.)

If 2Do can do it, you guys can too. Yes, you have a lot more sorting functions, and a manual sort may not enable perfect implementation of all of these, but again, but why are you unable to accept that offering a manual sort function that perhaps limits other options, or functions in a limited capacity, is STILL the best, nay NECESSARY option for many of us out here?

I truly think your pride in your system and desire that it be used by everyone at its most detailed level of function is blinding you from the big picture, overlooking one of the most basic principals about the evolution of computer technology in general.

That principal is this: as thing evolve, they ideally become more user friendly and intuitive, so that everyone gets the maximum benefit of the technology AT WHATEVER LEVEL THEY ARE ABLE TO GRASP IT.

Customization and intuitive usability. Is there any better description for the appeal of Apple products across the entire spectrum of consumers, from the tech savvy to the technically challenged? They are not perfect in this regard, but by in large, intuitive, user friendly functionality does not inhibit greater detail and sophistication in the feature set of their products. The point is, they think it through to meet each user at their level.

I'm not trying to be rude or overly personal, but I think you need to get over the technical perfectionism of your egos and make this thing work. There are plenty of good suggestions in this an other threads about how you could do it, but you keep answering them with excuses, excuses, excuses.

I don't need a manual sorting option, I'm fine with the present sorting options offered now, so I guess you could say I'm neutral on the implementation of this issue, as long as it doesn't screw up the current sorting methods.

Looking at this discussion and the many manual sorting options that have been suggested, it seems to me that they are all much too complicated and would only be used by a very small percentage of users. The idea of having other fields change as I click and drag tasks up and down in the list seems utterly undoable for most users, just as having zones where if I click and drag from the upper zone in the task's area has result x, and clicking and dragging from the lower zone has result y, is just not feasible in the real world. There doesn't seem to me to be much incentive to TD to go to that much trouble for a handful of customers. And it sounds like a programming nightmare, not to mention the issues that would all but take over these forums in the arguments about what algorithms are the correct ones to operate this process.

That said, it seems to me that manual sorting would be much more easily implemented if it were a major option choice that would switch off all the other sorting options that it conflicts with, that being most of them. IOW, a "DIY sorting" option. That way, the manual sorters could have it the way they want, and the rest of us can continue as we are. This seems to me the only way that would allow users to click and drag and have no effect on any other sort order, because there aren't any in that mode. And this wouldn't take a lot of coding, I don't think (I'm not a programmer, and don't subscribe to the theory that "anything I don't know how to do must be easy", so I don't really know). But from what little I do know, turning on the DIY Sorting option would just bypass all the sorting code and use other code that would assign a number to each task and reassign those numbers whenever the user clicked and dragged a task in the list. I could do that in VBA.

It might also require abandoning subtasks. A lot to give up for those who want it, but it would be very straightforward and a lot less confusing than any of the options I've seen suggested here.

It's really quite simple. Take ANY sort order view. Optional Manual saves that sort order into a separate folder/context/whatever allowing manual sort, disabling any further sorting categories. Going forward you can add items to manual sort list by tagging.

What, I ask you, is so hard about that? You Toodledo guys are way over thinking this thing. Keep it simple and stop believing every option has to be perfectly integrated with every other one.

The very features that make Toodledo so powerful(many fields, and many options to sort and filter on those fields) are the very features that make manual sorting very difficult to implement. The problem is structural, and has nothing to do with Jake's attitude. You simply have no clue what you are talking about.

If manual sorting a today list is that important, I suggest you do one of two things: 1) go find another task app that provides manual sorting, or 2) Create a Parent task in Toodledo, call it "Today" and drag your tasks into it and manually sort it to your heart's content. Of course, using subtasks would require you to actually pay for this service, which I see from your profile, you don't.

It's amazing, it's like you didn't even read my posts. I fully admitted the system has an incredible array of sorting options. My suggestion is to have a manual option that by nature disables other options as necessary, so that people who need it can use it this way. Hence the point about different levels of use and customization. It's not hard to understand it if you read it.

You have accidentally made my point: they won't offer this feature because they are so proud of their system that they don't want people using it in such a way that, although it may work better for them, represents a compromise in their eyes. If you don't get that, then it is you that "simply don't have a clue."

I don't think I have to pay for the system to have an opinion. That said, if your subtasks solution can be effective, I may consider trying the free trial to see. However, considering the method I woould theretocallissue to order my tasks is actually far simpler than this elaborate scheme of integrated sorting options, I don't see $15 annual as much of a value for processing information at that level.

As to your suggestion that I find another software, again, already covered. I talked about 2Do. I paid for it, because it was a one time charge for the IPhone/iPad software. As stated, the problem is they don't have a desktop version available yet. It's coming but they are not saying when.

Brian, it's time for the pot to stop calling the kettle black. Your approach is full of smug condescension.

What is your intention in your three posts? If it is to demonstrate your naive approach to solving problems, then you have succeeded. Of course, you haven't actually solved any problems -- you are just saying that the problems are easy to solve.

If your intention is to criticize and patronize anyone who doesn't understand your insights, you win again.

If you want to demonstrate your ability to be vague and inconsistent, then pat yourself on the back.

If, though, your intention is to be helpful, then you have failed miserably.

Please examine your approach. You haven't received any positive feedback about your posts. Of course, you'll think that there can't possibly be anything wrong with your approach. Think again.

Okay, well, for just for the record and for the last time, the issue is this: they say manual sort won't work because it's not compatible with all the other elegant and sophisticated sorting options (I'm not being sarcastic - I agree they are as described.) I suggest that it be made available in a limited capacity in which those other sorting options don't come into play for those who would find it useful, which obviously number in the many by their own admission as it is one of the most frequently requested features, as evidenced by many posts dating back literally years.

I don't have to be a software developer to know it is clearly possible for them to offer this. THEY ALREADY DO IT in subtasks. Is that not sorting in a limited capacity?? I don't know how you don't see that. Do you actually think it does not stand to reason that similar principles could fairly simply be applied in some fashion to the free version, regarding proper Tasks? If so, I'm not going argue this further, it's just a waste of time because you're too tied to your position to admit a simple truth.

If they are holding a manual sort option back from the free version so that those who want / need it badly enough will pay for it, that is their privilege, but of course that's not what they are saying all. Obviously they could if if they wanted to. The fact that I can't write out all the code to implement it doesn't disqualify the idea because you call it too "vague."

I'd say at this point there's plenty condescension to go around. Okay, guilty on my part, but go ahead and reread your own post. While you're at it, give yourself extra points for using high school grade sarcasm.

As for my not getting positive feedback, excuse me if I don't find that meaningful when there's only evidence of three people (including you and me) even following the post the end 2 of which were already engaged in validating Jakes contention that the option isn't presently feasible. Not exactly a Gallup Poll of Toodle Do users, would you not agree?

FYI reply was to Purveyor, i did not see Jake's posts before hand. I still think my points are worth considering to the Toodledo staff. I make them out of frustration that the discussion, IMO, seems to repeatedly get lost in how to make manual sort compatible with all the other features of the site. I think for those who would use it, full compatibility is unnecessary. But I have never seen that point made a part of the discussion.

I'll try the free version and see if subtasks can help me with my issue. If it works for me, I'll pay the $15, and assuming 2Do comes out with their desktop version with manual sort intact, I'll reevaluate whether 2Do is a better value moving forward.