-
Notifications
You must be signed in to change notification settings - Fork 631
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Turing Way/REG collaboration on UX/UI project update #2071
Comments
Here is a related issue: executablebooks/jupyter-book#1389 |
Moving discussion with @choldgraf here:
With @LydiaFrance and @myyong, we are interested in improving user experience in The Turing Way. Over the next 2 months, we will explore different ways to improve findability. Some ideas include:
This work may affect JupyterBook codebase downstream in The Turing Way repo, or dependencies of JupyterBook. I am talking about it from my perspective and I am sure both Lydia and May might be able to add more notes and query that could be useful for moving this project forward. |
Going to jump into this thread to get notifications!! I would love to help 🚀 |
Update: 29 Oct
|
I'm also going to ping @damianavila who has been working in the EBP project 🙂 |
It sounds like most of this work will be at the level of html-based UI. In the Jupyter Book world I've been the one doing much of the work on the book theme (which is what defines the default UI of Jupyter Book). I'm happy to give you pointers and brainstorm (though only have "nights and weekends" time for dedicated development). @damianavila is planning to get more acquainted with the sphinx builds and html stuff soon, so perhaps he can help as well. I also wonder if this issue is something that @mmcky has run into with the quantecon books, which I believe is pretty big. One thing to check out for search is algolia - I've seen other sphinx sites use algolia for their search and I think it is much more powerful than the default sphinx search. Have you looked into that? For multi-usecase books, one question I have is whether you've explore just having different books in general, or if you have a preference for one book with lots of different ways to slice and dice the chapters? |
I think, if I've understood you correctly we're looking at the second option. We are aiming for a book (let's call it the-turing-way), which contains the superset of all chapters. We will create multiple books (eg. the-turing-collaborator, the-turing-version-controller) based on this superset. We are looking at a profile.yaml file to allows users to edit reader-profiles, to contain a subset of pages relevant to that reader-profile. The idea is that we use the profile.yaml to auto-generate multiple tailored table of contents and folders based on superset content and superset toc. Each time someone makes a change to the-turing-way superset, the multiple books will be regenerated and redeployed. |
Meeting: 19 Nov 2021
We have 3 KPIs that we agreed upon:
|
A quick though on implementations here. One thing you could try is using a little bit of Javascript to hide different chapters in the left sidebar. E.g., you could use a little dictionary like: {
"persona_a": ["page1", "page2", etc],
"persona_b": ["page1", "page4", etc]
} And then a few buttons in your sidebar or topbar where each button maps on to a user persona / use-case. Clicking a button would trigger some javascript that looks up the list of pages associated with a persona, and then hides all of the other pages. It might get complex if you wanted a ton of specificity here, but maybe it'd be enough to hide just the top-level sections in the table of contents? Or maybe 1-2 levels deep? |
Feedback needed: 30 Nov 2021We need some help here. May Yong, Lydia France and Iain Stenson have created a prototype here for a student group called ‘Enrichment’ which is a Turing scheme for PhD (still need to be populated with curated chapters): https://the-turing-way-customise.netlify.app/editions/enrichment/welcome.html (notice the -customise.netlify and /editions/ in the link) :baby_yoda_soup: Can you please provide some suggestions to replace ‘customise’ and ‘edition’ with something like ‘persona’ or ‘profile’ - can you reply below with some ideas? (once a few prototypes are in place, we will be working on providing entry way by redesigning the welcome page - we will come back for feedback on that in a week or so). |
Porting my suggestion from Slack:
|
I like the use of pathways for each persona. Can we instead think of combining “persona and pathway”: https://the-turing-way-persona.netlify.app/pathway/enrichment? or makes more sense when reversed https://the-turing-way-pathway.netlify.app/persona/enrichment |
Is the idea that |
Plural (pathways) does fit better. @myyong suggested plural as well. |
just a note that the netlify link above doesn't work for me! When I go here: https://the-turing-way-customise.netlify.app/editions/enrichment/welcome.html I get:
|
Apology for not updating @choldgraf, the link has moved to the test link (which will update again soon to some semi-permanent location): https://the-turing-way-choose-your-own-adventure.netlify.app/welcome.html. |
ah interesting - so you're building a new book for each pathway? |
At the moment that seemed like one of the solutions for us. I don't see the repo that @Iain-S @LydiaFrance @myyong are working on (can folks working on it make it public: https://github.com/alan-turing-institute/bio-Turing-Way/?) - but they have gone ahead with the plan to create a separate yaml file that has list of curated chapters for each persona which then builds separate books which can be accessed via the main book (as suggested in the test page). Do you have some feedback on this? This solution can likely be useful for the translated versions as well (pinging @camachoreina, @acocac, @BatoolMM, @AndreaSanchezTapia). |
wowww great solution for improving users experience! also very useful for the translated versions (: @AndreaSanchezTapia @crangelsmith and I were indeed discussing today the most optimal path to deploy the translated versions in Netlify... a pending discussion with @sgibson91 |
I had recommended branch subdomains to @BatoolMM https://docs.netlify.com/domains-https/custom-domains/multiple-domains/#branch-subdomains, which would look something like:
where each translated version was hosted on a branch of the GitHub repo named with the same subdomain name (i.e., But doing a little further reading, you would need to configure a custom domain name for the site, i.e., this wouldn't work with @acocac you asked why we hadn't gone with a custom domain name in Slack, so if your plan is to do that for the Environmental AI book (sorry, I've forgotten the new name!) then I think the above link would work for you :) |
thanks @sgibson91 for the guidance (: we'll get back to you to double check about the custom domains once we all have a decent knowledge of Crowdin, the localisation platform for translation. I'll also have a look at the link to the Environmental DS book 📚 . |
@choldgraf (adding @Iain-S)
We are experimenting with different solutions. In the current version, we have a single book with pathways branching off that book. So the dir structure to the phd-student pathway would look like There are pros and cons, but the blocker at the moment is that we end up with one ginormous build (~20 mins build time). So yes, we are now considering the implications of having different sites/build/book for each pathway. We are checking to see:
The current design with the huge build checks all the above boxes, but we think perhaps might be less scalable if Netlify has a limit on each build time, resulting in timeout errors. |
IIRC @ltetrel is using multiple Jupyter Books for the NeuroLibre paper submission platform (https://www.neurolibre.org/ https://docs.neurolibre.org/). Do you have any insight into the above questions? |
@myyong In our case we have one jupyter-book that takes 8 hours to build (!!). We ended up using jupyter-book caching to cache the re-execution of notebooks for our build: neurolibre/neurolibre-reviews#6 |
Hahaha, we are actually debating if this submission fits our requirements.
So in our case, build time was never an issue, but rather notebook execution (which is really fast now with caching).
Basically it will help you decompose your jupyter-book build into multiple independent pieces (one piece being phd-student build):
|
That's exactly what our code does:
But the final build folder is large. For each piece (phd-student-i in your example) it adds about 6 mins to the build. If we reach up to i = 30, we would be looking at 180 mins for each build. And each time a contributor makes a change, we'd be rebuilding. I am wondering if we should deploy a new site for each phd-student-i, but really, the total build time is still the same. But at least each of those builds won't be exiting with a timeout. But there are many advantages in having a single build. goes round in circles Updated 0800: Netlify has a build cutout time of 15 mins. My impression from here is that Netlify would bump it to 30 mins if it was a Pro account with an associated payment card. I think for us, this means splitting each pathway into a separate deployment. We could create a separate index page for each pathway, and maintain a single content but I see some user experience issues there. Also, this approach wouldn't solve the problem when we have necessarily a different content (eg. different language). Updated 0840: The different language books would have to be deployed separately anyway. |
Rocking up a bit late but I like +1 on please make https://github.com/alan-turing-institute/bio-Turing-Way public. |
Tagging @myyong @LydiaFrance and @Iain-S for update from our last meeting as a few sentence in the comment here. 🙌 |
Process for handover and conlusion of this project
Actions on REG members, @myyong, @LydiaFrance and @Iain-S, working on this project Actions on me |
The deployed version on this project Turing-Way/Pathways can be found here. The repo where this project is developed is here. The pull request to merge this work into The Turing Way is here. The deployed version contains three pathways:
The documentation contains information about:
A summary is as follows:
|
Summary
What needs to be done?
Who the stakeholders are?
Timeline
Phase 1: October
Phase 2: November
Phase 3: December
Main tasks beyond as described in the timeline
Updates
The text was updated successfully, but these errors were encountered: