Use Cases

I currently have the following Use Cases on my to-do list:

Advanced Shopping List ()

I have a relatively simple shopping-list App, which I'm planning on slowly making a bit more sophisticated. But in this long post, Siderea describes all the dimensions that are involved in The One True Shopping List. I suspect that not all of it is possible in the foreseeable future, but it makes a fine checklist of what would be desirable, and it's worth thinking about what features would be helpful in order to support that.
One aspect, which I mention in the comments there, is that, while having the app simply spit out the complete shopping list is hard, it's much more straightforward to build a constraint-solving assistant, that lets you check off aspects of the problem and it shows you the remaining solution space. This might be a very powerful and useful feature, if I can get the abstractions right and make a UI that isn't awful. Note that it's a similar problem, conceptually, to the LARP-casting problem that we addressed manually in A Respectful Calm. What would be involved in building a generic tool for that?

Notes from my Diary

  • Set up the new Shopping List Space. Include a new-style _createHere button for adding new Items. Might do that during vacation.
  • Need to add a “search and then” function, which displays a search box and then executes some QL with the found item. In principle, I want this to be a Marco Polo field, but one under more control, where I can supply constraints, so I can say something like:
[[_searchAndThen(from = Items._instances) -> ...]]
  • Then we’re getting to the “store” function, I think. I want the QL for “search and then” to be “add this Thing to the Shopping List”.
  • I suspect both of the above have to be entered as enhancements: they’re too big to do right now.

Ann's House Inventory (Ann and Peter)

Ann would like to have a system for managing her personal inventory -- what she owns, what lives where, and what needs to be moved when they move house in the spring and fall. She is currently managing this using paper lists that she is writing up twice a year.

Arisia Job Management ()

This is a big job, with its own Issue Management Space, but I'm going to use this Use Case to track the related Issues here.

Book Club History ()

Inspired by the Wellesley Book Club that Kate has attended, this would be a place for recording the books that the group has read, who attended the sessions, discussion and commentary, and so on. Probably links to the books on Amazon, or something like that?

Carolingian Site Book (Carolingian Autocrats)

Carolingia used to maintain a paper Site Book, for keeping track of our potential sites. A while back, we designed what should exist on a website to track this stuff, but I don't believe anybody ever implemented it. Let's see about doing so in Querki.

Catering CRM ()

A suggestion from a Boston New Tech Meetup: small catering companies have serious CRM requirements - keep track of their customers, interactions, and so on - but not enough money to use something like Salesforce.
The observation is that they are using HubSpot currently, so we should investigate that more seriously, and understand Querki's competitive advantage there. (Is HubSpot free? Are they ripping off user data? How hard is it to manage real data? Can/should we position ourselves in opposition to it?
Looked at that: yeah, HubSpot is just another CRM company, albeit probably easier to get into than Salesforce, and with a free entry level program. No sign that it is anywhere near as flexible as Querki, but a competitor for the CRM side of the problem.

Checklists (Justin)

This started as a User Story, but it's really a Use Case.
I've hit multiple times where what I really want is simply a proper Checklist Type. For example, in Querki's Design Notes, I really wanted a checklist for App Implementation. It could be hacked at the user level, but needs some enhancements under the hood to really sing.
Conceptually, a basic checklist is just a Model Type with ExactlyOne YesNo and ExactlyOne Text, which is easy. But there are two features that are currently impossible:
  • When I click the checkbox, it should strike through the corresponding text.
  • The text should be easily editable: I should be able to just click on the text and edit it.
Both of these are really lower-level features, and both might happen, in which case this story is really a Use Case. That first feature becomes possible when we have a websocket connection and a "live" relationship between fields. (Indeed, it's a great example of that sort of data binding.) The second becomes possible with the _editable command that I've pondered from time to time.
This is also probably a precondition for Abby's Task List Use Case.

Cooks Guild Database (Carolingian Cooks' Guild)

I want this one a lot -- the existing DB works, but is a PITA to use. Have sent a note to the Cooks' list, asking whether folks are okay with me doing this.

Cross-stitch Gallery (Kate)

Kate needs a Space to show the progress of her stitching projects. This gallery needs to hold lots of different projects; for each project, there should be a bunch of check-ins; for each check-in, there should be one or more photos. Photos are front-and-center here, the main point of the exercise.
This is initially aimed at her cross-stitch, but there is no obvious reason to limit it to that. In the long run, this should become a general Craft Gallery App, on top of the more-specific one.

Database for the Soccer Mom ()

Suggested by Shava, as an excellent use case for marketing: make it easy to run soccer teams.

House packing list (Ann and Peter)

They need to move back and forth between MD and FL each year, and are currently maintaining hand-written lists for what needs to be moved and how. This is an interesting problem, and may call for a new feature or three -- interview them in more detail.

Inventory Space (Lochleven, Boston Babydolls)

Lochleven has an existing Space, which is working pretty well. It's a bit customized to our needs, but a good proof of concept.
Mina has been talking to me about setting up a Space for the Babydolls to track (and rent?) their stuff. Need to talk that through with her.

Meetup ()

Just a high concept at this point, but seriously: Meetup is obscenely expensive, and doesn't do very much. I think I could roll most of its functions as a fairly straightforward Querki app.

Nautical Info Space (Peter)

There is apparently a lot of information to keep track of when running a boat. There are existing tools, but not obviously perfect ones.

NE Scala Proposal Management (NE Scala and other propose-and-vote scenarios)

The notion here is that we should be able to use Querki to easily construct a Space where people submit proposals, and they or others can then vote on those.
I built a prototype of the proposal part for NE Scala 2018. That wasn't ultimately used, but the conversation around it provided some useful thoughts on how to make such a thing really hum.

Online RPGs ()

This came up in conversation on Dreamwidth -- see this thread for the discussion. It seems like a challenging use case to support well, but provides yet another motivation for sharing data across Spaces, and introduces an argument for letting a given Identity have multiple Persons in a given Space.

Period Games Space (Me)

Long since started -- this was one of the earliest "real" Querki Spaces (the second, I believe) -- but it's time to get more serious about it, flesh it out with all the functionality of the old Medieval and Renaissance Games Page, and get other folks involved with it.

SCA Bibliography ()

Lift this out of the Cooks' Space -- it would be useful to have a bibliography app that specifically recognizes the two-level structure of SCA and other historical research.

SCA Event Registration ()

An App based on Eleanor's registration spreadsheets seems like it would be great, and really useful.
Might need to implement the Currency feature to make this work well.
Have mentioned this to Eleanor, and asked if I can pick her brain. Use her spreadsheet to guide development.
Think about input both for preregistration and day of. Also, will need reports for gate, focused search, and event reports afterwards.
Note NMS and family price caps.

SCA Kids' Clothing Swap (Rachel)

The idea here is a community Space for East Kingdom parents (at least in our region) to keep track of the garb they have for their kids, so that it can be handed off from parent to parent as kids outgrow them

Scheduling (Verse and Vodka)

Suggested by Kate.
Talk to Kathryn and sanity check this: are there good existing options? I know Doodle, but that's kind of weak.
The idea here is a general app for scheduling groups of people, particularly for repeating events. Members could put in their conflicts and their good or bad times, and it would help puzzle out the best scheduling options. Done right, this seems like a powerful and general tool.
Ideally, this would be built on top of a general constraint solver, which suggests good options and lets you treat variations. The same tool could then be used for, say, game casting.

Scroll Database (Scribal Community)

The proposal seems like a good fit for Querki: as described, it's downright quick and easy, just a few minutes' work.
Should have one more field, for Calligrapher, which is often separate from both the artist and the author.
Also needs a field for what the award / recognition is, so folks can look up, eg, the texts of past Troubadours. This will be a common use case, since one of the major questions this is supposed to answer is, "show me some example texts for this scroll I need to create".

Bureaucracy

I expect the biggest challenge for this project is the Kingdom bureaucracy. There is a strong tendency towards micro-management and NIH Syndrome, that leads to demanding that everything run on the Kingdom's own servers. Even pace that, for this project to succeed it would require significant buy-in from the scribes to actually use it.

To Do List (Abby)

Abby wants to set up a fancy to-do list. Some additional features may be required -- in particular, I believe she wants the ability to define "weekly" tasks, which reset each week.

Watch Database (Aaron)

Aaron has an existing homebrew database for his watch collection. Let's use that to begin working with MySQL import into Querki.
Later: that much is done, but what Aaron wants now is to be able, when he buys a new watch on eBay, to make an API call that sucks the info into the Space, based on the lot number. This is a particularly good use case for APIs.