MyHomeworkSpace / client

The MyHomeworkSpace client.
MIT License
4 stars 4 forks source link

General life planning? #185

Open thatoddmailbox opened 2 years ago

thatoddmailbox commented 2 years ago

(sorry I ended up writing a whole essay because this was a really fun way of procrastinating my work, but there's a summary at the end if you don't feel like reading...)

So apparently at some point this whole school thing actually finishes. This has started to make me think about how MyHomeworkSpace could work as a more general life planner instead of just focusing on schoolwork. (or we should even be trying to do that in the first place)

The problem

The main issue I see is that the current model works very well for assignments with specific types (HW, Quiz, Project) and clear due dates; however, outside of school, most tasks are a "I should do that at some point" without super clear deadlines - although obviously some tasks still do have due dates! They also don't fall as neatly into specific categories and are normally assigned by yourself instead of a professor.

(I'm ignoring things you have to do for a job since I'm assuming that they would have their own system for tracking this - i.e for software developers, something like JIRA. Although your own personal task tracker could still be useful in a work environment I suppose)

MyHomeworkSpace is pretty bad at this more general "to-do list" style of task. There is tasky (for Web and Android), but that is more of a giant hack than a viable solution: it makes Planner view unusable and does not even try to integrate with standard MHS. The big question is if we can support this without making things bad for those who currently use MHS for schoolwork - in my opinion, the specific focus on homework (with the colored prefixes and planner view) is the exact reason why MyHomeworkSpace works better than its more generic task-planning alternatives.

The solution?


A fourth tab?

Just tacking on an independent "todo" view probably won't work because I think it would add too much confusion between homework and todo items. On the other hand, homework without a due date has literally nowhere to go in the current model! The Dashboard, Planner, and Calendar views all require dates. Our users seem to have a pretty good mental model of MyHomeworkSpace (they understand how adding stuff to Dashboard makes it appear in Planner and vice versa, and how Calendar is weirdly separate) and I wouldn't want to drastically disrupt that. It would also still leave in place a lot of the "homework" focus, which would be confusing for potential new users who also aren't in school.

Our integration of the Calendar has also always been pretty clunky - I know I personally don't use "add from homework", except infrequently for a quiz or something like that. The data also backs this up: excluding schedule imports, there are currently 1,644 calendar events on the live site, but only 153 homework events. And 79 of those homework events are mine. Yes, this is a somewhat unrelated issue, but it's one that would be even more important for a general life planner to solve, and seems to point at us needing to change how the whole app fundamentally works from a design perspective. Which is kinda scary.

Our motivation


Lines of code added to client over time. Note how it drops off as we get into college.

The other thing I should mention: we don't really do that much work on MyHomeworkSpace anymore. Part of this may be due to college life being busier than high school life. But part of it is that MyHomeworkSpace reached a point where it's sort of..."done"? Of course there are bugs to fix and features to add, but the fundamental functionality works reliably. This is fine by me (and indicates our core design is good, given how long it's held up!), but shows how this has always been a side project driven by our own interests.

We obviously take user feedback into account, but the primary motivator for our work on the site has been that we want to use it to plan our lives! We've never tried to monetize it (or seriously advertise/promote it). We only got support for external accounts when I graduated Dalton and had to write that code. The list of schools with supported schedule integrations is just the list of schools that we (or close family members) go to. And this is OK! "We do what we're interested in and hope others like it too" is a perfectly valid way to run a side project!

However, the logical conclusion of this is: if we ignore this, within a few years MyHomeworkSpace will probably be abandoned. I do NOT mean this as a threat - I'm happy to keep the site running indefinitely, even if its only user is some sixth grader at Dalton who I'll never meet. I mean that our motivation to do anything on the site will be lower than it is now, since none of us will be daily users. The remaining school integrations will become dead code, just as the Dalton one (presumably) did, and we might not even be aware of any bugs that pop up. Obviously this would be somewhat sad, but it is an acceptable outcome - still, we should acknowledge it.

(and, yes, we could say "oh we'll keep it as-is but still maintain it", but practically I'm not really sure that would do anything in the long-term, because I don't really see us constantly updating a website that none of us even log into. I don't even know what that would look like - how would we know what to fix or what to add?)


This has been far too verbose and deep for a GitHub issue that's going to be read by three people max so I'll stop here. But in summary: does "general life task planning" seem like something that we should attempt to make part of MyHomeworkSpace? If so, do any of you see a good way of doing that without compromising what makes it good for homework? If not, are we OK with the site eventually fading away? Or should I instead just go off and make PlanBolt instead... :stuck_out_tongue: