IIRC the part the got me to give up on trying to do anything useful with it on the command line was realizing that to get a list of tasks under a team (which we treat as a project) I was going to have to make multiple queries, and it would be even worse if I wanted to show all tasks for a user across all teams (which, again, we treat as projects). It became clear that I was going to have to do a lot of filtering and request-chaining to just view basic things, let alone edit—which I'm guessing the web frontend has to do, which is part of why it's so heavy.

Glancing at the docs, it looks like they've gotten better in the last few months, which is great. Maybe some of that stuff's been fixed. I'll take another look at it when I've got some time.

More broadly, there are three things that would remove nearly all my complaints about Asana:

1) Clicking on a link to a task from outside Asana should bring up an ultra-light view of just that task (and its comments and such) that loads in under 200ms—under 100ms, ideally. If it must be read-only for this to happen, that's OK. Provide a link to open it in the full "app".

2) A light (think: basic-html-mode Gmail) version of the app itself. Most of the dynamic features are liabilities for me. Drag-and-drop happens accidentally more often than intentionally. Sometimes all the JS steps on its own tail and makes my cursor, and my typing, go places I don't want it (happened this week again, actually), along with other periodic, odd glitches. Editing task titles and such in-place happens more often by accident than on purpose. Every time I mess around in Asana I leave not certain whether I've mucked up the project without noticing. I'd much, much, much rather have a very fast-loading low-memory interface where such things happened only when I wanted them to. I don't mind full page loads if necessary (see again: basic html Gmail, which is faster than regular Gmail and certainly Inbox, most of the time, despite frequent full-page loads). I'd be happier with a zero-javascript interface, really, since the JS features mostly get in the way. However, with how much logic I suspect is housed in the frontend to achieve what's seen in the "app", this may be asking a lot.

3) Search. It needs to do The Right Thing by default. It should search the project I'm currently in unless I tell it otherwise. It should support inline filters, with auto-suggestions (as in Slack's search) so I don't have to clicky-clicky-typey-clicky-typey-clicky-typey-clicky to accomplish even fairly simple searches.

4) (BONUS POINTS!) Slack-style @ referencing, so I can just type it and don't have to use the autocomplete list to make it take (rather than just adding the text literally and not referencing the person I was trying to, which is what happens now if I don't select someone from the autocomplete list)

5) (BONUS POINTS 2!) It'd be nice if the "Inbox" displayed something like a colored diff-view of each item when it's selected, to make it easier to see what's actually changed. Clearing my Asana inbox takes more time than it ought to.

6) (BONUS POINTS 3!) Add an option to reverse-sort and never collapse any part of comments sections on tasks.