bnicholson / QView

QView - Manage Quizzing Tournaments
3 stars 0 forks source link

Thoughts on MVP (Mimimum Viable Product) #24

Open bnicholson opened 1 year ago

bnicholson commented 1 year ago

What is the smallest set of code that we can finish to get some feedback from a tournament director and from the public.

1) Home page containing a list of tournaments. 2) Division page containing a list of divisions for that tournament. 3) Some way to collect each scoring event from the QuizMachine client (/scoreevent api). 4) Some way to analyze all the scoring events from a quiz and figure out who won and lost. 5) Some way to find all the quizzes in a division and rank the teams by win/lost. 6) Some way to find each quizzer in a division and rank the quizzers by total points. 7) Some way to display each quizzes scoresheet so the tournament director and staff can break ties.

That's probably the absolute minimum needed to show other people.

bnicholson commented 1 year ago

Let's start by just looking at the Qview home page. This home page is a start. But are the next month and previous month buttons actually useful and obvious to the average public quiz watcher?

Each tournament card is ugly. What could we do to make it look better. Cleaner. More usable.

image

TheSecondPower commented 1 year ago

@bnicholson Who will be choosing the tournaments from the main page, Audience or Admins or both?

TheSecondPower commented 1 year ago

I think we could use a much simpler interface for tournament selection. I created a Figma account and made what I'm thinking, more or less. (Figma showed me a page with "Material 2" things so I just pulled in elements from that.)

Expand to see desktop screen snippet. ![image](https://user-images.githubusercontent.com/8635640/208801028-822a342b-8f78-4006-8f5b-4e746c9f74e8.png) https://www.figma.com/file/rDzlAHSXI7q9ZaFaZnDnmh/Tournaments-Finder?node-id=0%3A1&t=7Q8PCn378j2SJAkw-1
bnicholson commented 1 year ago

I love it! Easier to use too probably. How does it look in mobile sizes? A big use of this will be phones. The kids and coaches will be using their phones to look at schedules, other teams scoresheets, etc.

I love that you incorporated search. How would you look at Q2018? Four years in the past? Another user of this site might be people in India, Germany, England, etc. So I've been using the term region instead of state.

bnicholson commented 1 year ago

Oh, I never answered the question about who would be using this interface. Why not everyone. The public to get to the statistics, the schedules for their team. Admins to get to the Tournament editor that they'd use to change or add schedules, rooms, make sure the right quizzes are used in the team stats and individual stats.

TheSecondPower commented 1 year ago

I've been thinking of the app as having an Audience perspective and an Admin perspective, and I'm trying to understand where these two perspectives might overlap. I'm guessing an Audience user needs to be able to find the tournament the user is watching or participating in, and an Admin user probably also needs to be able to find a tournament to edit it.

I edited the Figma designs; I imagine we probably should have a field for country and then show regions inside to that country; maybe most countries don't have that many regions?

Regarding mobile and desktop designs, I picture that the page will have a max-width so that it doesn't appear too spread out on ultrawide monitors. I picture that the components on the page will have a max-width of 100%, so they'll shrink if the page is smaller than their set width. And the components can be in flex boxes, so if they overflow their row they'll be pushed to the next row, which on phones will mean everything appears in a single column.

Expand to see mobile screen snippet. ![image](https://user-images.githubusercontent.com/8635640/208804683-52af6b6f-3772-437f-af3c-58dd3cbb5f86.png)
TheSecondPower commented 1 year ago

How would you look at Q2018? Four years in the past?

I was thinking about including a district box, but that wouldn't work so well with Q or regionals. I figure that if you wanted to search for a Q, you'd choose the month and state it was in, so Q2010 would probably come up under July 2010 and Ohio. (It'd appear as several tournaments for local, district A, district B, and regional divisions, right? At a district meet is novice a separate tournament?) Oh I don't have a year named in the example; if we can procure a date picker and display that will allow it and be easy to use, choosing year and month on the same field seems best to me.

bnicholson commented 1 year ago

That looks good! The design should work well on anything.

You are correct about overlap. Often a tournament director is also a coach. Ryan P. is a good example of that.

If you look in the code under migrations/xxxxxx/up.sql you can see all the database table structures. As I created some of them I thought about some of the issues like country, etc. It's probably not right, but it's a start.

Generally in a big meet all the quizzes are in the same tournament "i.e. Q2022". Then you'll have multiple divisions such as "Local Experienced", "Local Novice", "District Experienced", "District Novice", "Field A", "Field B", "Old Timer's", etc.

bnicholson commented 1 year ago

My original thought with the home page is that it would show all tournaments that would be active today and a month in the future. Often the public likes to see what might be going on in future quizzes.

TheSecondPower commented 1 year ago

Wouldn't that be a lot of tournaments? I'm picturing that on any given day, there's potentially 0-2 tournaments in Michigan alone with 2 in the next month. If every state is like this it'd be 200 tournaments in the US alone. I guess most districts won't have their meets in QView.

With this design we could load a list of tournaments before any filters are applied. We could also add a way to clear the filters. It might make sense to pre-select the current month and year and load the results when the page loads. We could also show a from and two date, and pre-select a range that will give the current meet and next month's meet.

Edit: If an Admin user logs in, we could show the same page but have a create tournament button at the top and an edit button left of "GO" for any tournament results the Admin has access to edit. Alternatively, the Admin could have a separate page showing only tournaments that the Admin can edit.

bnicholson commented 1 year ago

Let's start by just looking at the Qview home page. This home page is a start. But are the next month and previous month buttons actually useful and obvious to the average public quiz watcher?

Each tournament card is ugly. What could we do to make it look better. Cleaner. More usable.

image

bnicholson commented 1 year ago

I hadn't done the math on how many tournaments a month we could have. There really could be quite a few. That's much more than I expected and if you add international the numbers could get even higher. We have to think about international.

We definitely need search. And some way to think about just today's quizzes. Grandma Freida will want to watch her grand daughter's quiz so we need to ensure it's simple enough for her. There's also the idea of 'breadcrumbs' (short urls) that her grand daughter could text to Grandma Freida to help her find the right place.

bnicholson commented 1 year ago

Keith, a tech guy that helps run several quizzes reminded me that tournaments generally don't occur by state, but by district, region, or field. There are two Nazarene districts in Michigan, three in Illinois,. I think North Dakota, South Dakota and Montana are one district. A regional invitational might draw from four or five states. A field is a dozen districts and generally draws from several states too. The Olivet Field for instance draws from Indiana, Illinois, Wisconsin, and Michigan I think.

TheSecondPower commented 1 year ago

I think there's too much information about the tournament. If I were accessing the site as a quizzer, parent, or quizmaster at the tournament, I would expect to know the date, district, and host church. If it were the day before the event I might use the site to tell me the host church (so I could get navigation information and know when to wake up), so I would only know the date and district. I think most other items should be removed. They can be displayed after the tournament is opened.

As for the next and previous month buttons, at the moment these are the only navigation options; they're the only way a quizzer could get to last month's results or a parent could find information about the next meet.

bnicholson commented 1 year ago

During a tournament the quizzers, coaches, grandparents will do as you said. What about six months before the invitational? Q for instance.

TheSecondPower commented 1 year ago

If we keep just the buttons, the user would have to click through 6 months ahead. With the design in Figma, the user could choose the dates directly. (I think if we used the Figma design, the one date field should be replaced with two for selecting a range.) With the design in Figma the user could also choose a wide date range but select the region that Q is taking place in. Or at certain times major tournaments could be pinned so they always appear, although the majority of quizzers won't go to the regional and national events so it'd get in their way.

bnicholson commented 1 year ago

We might even be able to geolocate them to help select tournaments. I love all of your suggests. Are you worried about any of the coding?

TheSecondPower commented 1 year ago

Worried in what manner? I think all of the ideas proposed here for the home page could be implemented fairly quickly.

bnicholson commented 1 year ago

No idea. It's a question I ask to make sure there's no concerns. I vote for trying out your new design in code. I like it, it's simpler, more user friendly, and probably easier to modify or update in the future. I'm working on the rust code right now to change from logging to tracing. I'm hoping to get rid of all the logging and on the dependency to the downloaded version of create-rust-app. But, tell me what you'd like me to work on. Or if you want to work on the UI while I continue working on the rust side, that's good too.

TheSecondPower commented 1 year ago

For now my work will have to be limited to the frontend because I don't know Rust. I'm working on remedying that but I've been meaning to learn Rust for nearly a decade so who knows how far my latest effort will go. I'll start work on the new design for the tournament list page.