Looking to design a simple to-do list (mobile) that can be filtered first by person then by topic. There are anywhere from 2-6 people that tasks could be assigned to, and then 1-14 topics within each person's responsibility. I don't want to do tabs or segmented controls because the topics could be up to 7+ and go off the page. Is the best experience something like a grid view to first choose the person, then a grid view to choose the topic, then finally see the list of tasks? That seems like a lot of steps just to get to the content. What are some options to explore and test?
If this is going to be a mobile solution I would consider staying away from any grid views, which tend to lend themselves better to large screen real estate.
It might make sense to do some thing of a “drill down“ in which you allow the user to select a person from a drop-down selector or similar control (I am assuming ”Person” is your top level filtering category for this example), then either displaying a list of cards grouped by topic, or perhaps even a second dropdown type of control that lets them select the topic before displaying the list of cards with each task for that person in that topic area.
Obviously drop-down menus are just one way to handle this, and I am using the term somewhat generically; make sure to consider whatever similar native control options are available in the mobile environment you are developing for. I know you said you were concerned about showing the full topic list because it might be long, but if there is going to be a fairly set number of topics - say 20-30 max (the right number or range should be verified with users of course) - presenting them in a single scrolling list does not strike me as a problem. Users in general really are not that afraid of scrolling these days - especially in a mobile environment - as long as it doesn’t get in the way of what they are trying to accomplish.
All of this should be subject to validation with your users, of course. Whip up a few lightweight prototypes - even just a series of sketches showing some ways you think it should work - and run those by a few people who will need to use the tool. Once you have a solid direction do a more interactive prototype and test it again.
Try understanding the users task and build for that. You can take a look into how Jira or similar task trackers are doing it. Are there users roles that need to view all users tasks for all topics? Are users looking for their own tasks? Do they handle different topics at the same time? Do they need to see other users tasks in conjunction with their own?
Try doing some task analysis and setting up an information architecture to help inform your design.
Possible solutions are using dropdowns for users, tasks and topics. Custom views/ filtered view with ability for user to save them.