spmvg
Joined 4 years ago
Joined 4 years ago
It's way past bedtime here, going to get some sleep and will check later again.
Let me illustrate a bit what my motivation was:
Q: What is the goal of the application?
A: The goal of this application for me personally is to communicate the impact of IT maintenance towards product managers and the rest of the team, in a language that they understand (which is table and architecture diagram).
Q: What is the benefit of having the diagram?
A: Personally, a diagram helps me to understand things better than a big Excel sheet would.
Q: Maybe I'm misunderstanding the purpose but to me it seems like the main output from this software is the "maintenance table", but how do the pointers/diagram help instead of just having a dropdown in the table?
A: You're exactly getting it. The goal is the "maintenance table". I draw the IT architecture diagram (which is how I think about IT in my head), then add periodic tasks to them (maintenance plans), and then it renders the maintenance table automatically. I guess you could also just make a big Excel sheet?
I like your suggestion. I was doubting a lot between hours and days and eventually settled on days because I noticed product managers (in bigco) making rough estimates based on "fractions of FTEs over a quarter", so days are granular enough for me to get my point across, but maybe people prefer to calculate in hours... I think it shouldn't be so hard to make hours/days configurable in the "Effort" modal.
Dump of related thoughts: - Should hours vs. days be a global setting? Or per maintenance plan? - How many hours are in a day? 8? More? Another config? - People can put fractions of a day (like 0.125). Maybe this is fine already?
I must defend the design choice for the dictionary of arrays though, this has been a very conscious choice:
- The "dictionary-of-arrays" approach allows lookups in constant time O(1), irrespectively of how much data has already been stored (compared to one big array)
- The dictionary structure allows me to throw away data in the middle easily (without having to handle growing arrays), because the "dictionary-of-arrays" has already been chunked. The audio looper will use only some parts of the recorded audio, leaving big parts in between unused.About another interface: I do want to keep the application supporting cheaper interfaces such as the Scarlett, because the target audience (hobby musicians) will be using those. Still would be a nice upgrade for me!