Weeks 6, 7, 8. New features, testers, and optimizing tables
This post is part of a series of posts in One experiment a week project.
Between a potential WW3 and my mini-vacation, I missed my deadlines for these posts. On the positive side, though, this didn't slow down my progress on the app.
Two user tests with real users, complete ✅
I provided patterns to two test users through the app and received good feedback from them. They were able to point out a few bugs for me, give a glimpse into their preferred techniques of keeping track of patterns, and give me ideas for future functionality.
- Overall, testers found the app helpful and easy to use for keeping track of the pattern
- If the pattern is for a paired item (like socks), some prefer to do parts of the pattern for each of the items simultaneously (Toe of Sock 1 => Toe of Sock 2 => Heel of Sock 1 => Heel of Sock 2, etc.) I wonder how widespread this is and whether some users would prefer to finish Item 1 before starting on Item 2. For now, I simply duplicated rows.
- The app's value is portability (seamlessly going from laptop to phone), a tangible indication of progress, reduced ambiguity of the following steps (which could be especially useful for beginners).
New features added: selecting the size of the pattern
Since one of the patterns that my tester was working on was socks, and those have sizes, I quickly figured out how to enable that in the app. Luckily, the Glideapps community is highly responsive, so they pointed me in the right direction in no time. Now I know how to:
- Create a database structure to accommodate multiple sizes
- Allow users to select size
- Load instructions based on selected size
- Change selected size.
It remains to be seen what breaks if the user changes size halfway into the pattern. I also suspect that my progress indicator might be broken, but we'll find out!
Pattern instructions update: presenting instructions as a list
I've been thinking about showing instructions more efficiently, and while implementing the sizing feature, I figured out a solution. So instead of showing Round/Row instructions as Rich text (bulleted list), I can now show it using the List component.
While a bulleted list wasn't a wrong solution, it had some significant disadvantages:
- Adding bullets to text was primarily a manual process through Markdown or a complicated dance with custom HTML. Both made it very difficult to automate the process of adding patterns.
- The same goes for the size of the text in the Rich Text component. Once you add bullets, the size goes down and is impossible to adjust without some custom HTML.
While I'm itching to figure out how to restyle the list to look less clunky, it's definitely easier to read and can afford some future improvements. For example, I could add a progressive #of stitches a user should have made by this point in the round.
Next steps: optimize existing features, fix the ones I broke, continue testing
While working on sizes and better presentation of instructions, I discovered a technique that might help me with another problem I've had. Currently, I pay Glideapps for the number of rows of data that I'm using. Not per row, but that's their limit. So it's logical that I would want to limit the number of rows as much as possible.
One way to do it is to implement repeat rows. Many patterns rely on repeat rows to save space on instructions. So you'll see something like "Rows 3–12: repeat row 2." Currently, even though these are repeats, instructions for each row take up one row of data. This week I'm going to try and optimize that.
In addition, I need to fix Notes functionality as, for whatever reason, it doesn't show up anymore.