-
Notifications
You must be signed in to change notification settings - Fork 72
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
Discussion: future of Scribe-Data as a package #26
Comments
Hi @wkyoshida :) Firstly, apologies for my relative absence the last couple days. Lots going on between getting healthy, work and the rest of life... 😊 This issue will definitely help, thanks for it! I had discussions enabled on Scribe repos before, but I feel that it only divides the discussion until we actually have more conversations happening. As far as the next two points are concerned:
Would we be able to do both? Say that we have up to date versions of the packs that are available for direct download, and the package also has Python codes that generate the packs? We could keep the current structure of
To me it makes sense that we make downloading the packs general and adapt the way that language packs are downloaded within the app. Should be doable 😊 |
Here's the See NumPy for the inspiration (not sure if you know their logo 🙃). I think we could do the same for |
Further thoughts on this:
|
I'll later add some thoughts to the above as well, but real quick, regarding the discussion here:
My initial inclinations were to store the emoji data with the below format: {
"emoji": "👀",
"is_base": false,
"rank": 38
}, My thinking was that could make more sense over storing
The initial inclination (and JSON format today) made more sense before as I was imagining that, for each auto-suggestion trigger keyword, Scribe-Data would already do some pre-processing to only save the (for instance) 3 most popular emojis for that trigger keyword OR to already order the possible emoji suggestions by
With the separate JSON/table idea:
Mostly just adding some thoughts here regarding the format of the emoji suggestion data, since the work completed for the feature was mostly done before the idea of Scribe-Data as a general-use package was around. Wondering now if the general-use package idea could influence anything related to how Scribe-Data processes/stores the emoji suggestion data. |
I'm kind of mixed between some of these points. I'd say for making it work for many people, we'd definitely not want to just save the top 3, but then this is being covered by #28 where they can choose how many they'd like :) So on the generation side definitely keep it open. With that being said, what Scribe-iOS saves can totally be only what it needs so long as we make sure that the order of the outputs is maintained correctly, which should be very doable. So if we want to just get rid of Maybe an option is to do this in a similar way to verbs where we'd just have keys that are |
Hey @wkyoshida! Here are the points from our discussion yesterday with some updates:
Let me know if I forgot anything above! Great talking to you! 😊 |
@wkyoshida, let me know what you think of the current projects as well as how the road map is looking with them listed rather than the versions and issues :) |
I'm thinking this could likely be implemented as an option 👍 So, users would be able to specify outputs in both formats or either format.
As we discussed in our call, the functionality to "save the top 3" and what is covered in #28 refer, in fact, to separate output customization ideas. The "save the top 3" idea, though, could definitely be implemented as another option to specify how many top 'n' popular emojis to save per trigger keyword 👍
The way I'm thinking the data could be saved is with a database in Scribe-Server [1] itself (this appears that it could be a possibility with Toolforge databases). So, I'm thinking perhaps that Scribe-Server could do something like:
Then, when a user requests for new data for an existing keyboard:
When a user requests for data for a new keyboard:
Projects are up 🙌 Nice!! Thanks for looking into them A quick suggestion for projects - I was thinking actually of even having something of a 'main' project that has all the work represented in it. Was thinking of using something like a priority field to rank the importance of issues/work; that way, potentially eliminating the need to keep track of this in the Also, quick other note, it seems that when accessing Projects, GitHub by default takes you to your
Likewise, good sir!! [1] Referring to Toolforge/Wikibase as well here, since that is perhaps where Scribe-Server will be hosted. |
Makes total sense to me! 😊
Ah yes, I remember now :)
Makes sense to me 😊 Will edit them now to get that in there!
Was annoying me as well! 😄 Will change the links :) |
@wkyoshida, how does the new road map section read? I think that the idea of doing a main and branch projects will be sensible to folks, and will allow us to add a bit of context to the main project board so we know if some issues are related. Sadly you can't add links to a drop down so that we can link directly to the branch ones, but maybe some day 😇 Lemme know what you think! |
Or ya know, I think that the branch project idea can be fixed by simply using the filters, so I'll delete the other projects and just make |
I think it reads much better now and will be much more useful going forward. Let me know if you have some suggestions for more columns 😊 |
Was going to suggest this 😆 I think it's looking great, @andrewtavis! Some other ideas could also be:
The above are more just other ideas I had, but I wasn't thinking they were needed per se, more so if they end up making sense potentially in the |
Are you able to group by values yourself, @wkyoshida? I think that the baseline view being a group by of Looks much better, thanks for the suggestions! |
Yup! That's the behavior I'm seeing. Can modify filters/groupings on my own view if desired, but doesn't save. I think it's looking good! 🙌
If another color is needed, thinking that 🟣 could be an option in between 🔴 and ⚫ |
We can definitely do 🟣 if we need another one 😊 Sorry for not getting to things! I've been having a whirlwind of a last few weeks, but there's some amazing news for me (and Scribe for that matter 😊). Will let you know on a future call 🙃 Will get to the PR in the coming days! 🚀 |
How exciting! Look forward to hearing about it! |
Putting a random thought I had in here as well 😊 Something that I've been considering is how link downloaded custom keyboard data to a custom keyboard extension within Scribe-iOS. As of now I'm not sure how to download an extension into an app. There should be a way, but the big thing is then that we need to make it accessible within their phone's keyboard settings 🤷♂️ This might be hard/annoying 🤔 What we could however do is create a baseline keyboard view that's loaded by keyboards that do not have data files. So the user would go into their settings and select the keyboard they want. Ideally they'd then or have already downloaded the Scribe-Data pack, but if not then they could still switch to the keyboard and would then be prompted with a keyboard sized field that says "Hey you need to download the data for this keyboard — press the big button!" We could then add some basic UI in there to show the download length, and once the data is downloaded the interface would update with the keyboard :) |
Sorry, I've been trying to understand what you're getting at here @andrewtavis So, the core issue, if I'm understanding, is that:
Did I get it? If I did, then yeah! I think that your idea of using a baseline keyboard makes sense. I'm thinking that a keyboard with the correct keys layout (QWERTY, AZERTY, etc.) could still load and still function as a regular keyboard. The difference could be that the Scribe command bar simply doesn't work. The prompt to go download the data could go where the command bar would go. |
Generally yes :) I just don't know how to also download that menu option into their settings to select
This is great 😊 This is exactly what we should do! Thanks, @wkyoshida 🙌 |
@m-charlton: I wanted to bring this issue to your attention as well :) I think that this discussion in general will give you a very good understanding of what we're planning on the Scribe-Data side while also including some bits that link it to iOS and Server (some points - read "my random logo tangents" - are definitely skimmable though 😅). Having all three of us in here will also help with the planning of some future issues in line with us transitioning this software from something that I run locally to more of an all purpose Wikidata language data extraction tool (something the Wikidata Lexemes community has welcomed). Initially I think that #47 is something to take a look at generally as Scribe-Data is in much better shape than it has been as far as its processes, but the formatting scripts are a mess... The issue is that there are line limits for SPAQRL queries on Wikidata, so we can't just write whatever SPAQRL we want, but have to start from relatively raw data. Going through and doing all of these conditional checks via Python leads to code that's not fun to maintain, whereas leveraging the structure of SQL and by loading the results and "querying" them to format them in Scribe-Data could be much cleaner. I'd be happy to do an exploratory query to replace one formatting process as a proof of concept, and then we could break it up and make some issues if it all works out? If we can get this figured out I think the overall code base will be much nicer to work with and from there we can work on expanding out the current queries to include new languages as well. The beauty of it then is that we're to a non-trivial degree decoupling Scribe-Data/Server from Scribe-iOS where the latter is just a client of the former process 😊 |
Looking through things, @wkyoshida, I think that this issue has served us well and we're ready to close it up. Future issues can be made into individual ones, but generally what's in here is covered by GSoC '24 and Scribe-Server 🚀 Before closing, once more for old times sake 🙃 Thanks for this great conversation! |
Terms
Issue
Opening this issue to continue the discussion from here and here. I thought it could be good to move it to a separate location where it could continue even after the linked PR gets merged.
I'm thinking this issue can be used to generally discuss what Scribe-Data could provide to a greater community as a package. Some related topics could include:
scribe-data
to something more descriptive of their purpose?Some thoughts were already made in the linked PR, but we can resume here. I agree that Scribe-Data could potentially become something useful for a larger audience 🧑🤝🧑 🙌 Continuing this discussion could be good to see what that could be.
The text was updated successfully, but these errors were encountered: