Big Picture - Natively Upcoming Features (2023-2024)

Feel free to add a paid user type before adding any premium features! I’m sure I’m not the only one whose Japanese learning has been vastly improved by Natively, and at least I would love to give a bit back and feel like I’m contributing money towards future development (with the hidden hope that at some point video games will be added, of course :stuck_out_tongue:).

It has been said a lot, but it can’t be said often enough: Thank you for all of your hard work making Natively!

Also, best of luck finding a partner! I’m sure it’ll work out though; it seems the community is positively saturated with developers.

30 Likes

You can already do that!

16 Likes

What a well-hidden page. Guess that’ll be the thing I finally create a Patreon account for, then!

20 Likes

I say great and I look forward to some new positive changes! Seems like automating those types of tasks is a good place to start and free up some time for feature development. :blush: This is definitely my favorite place on the internet and has given me such an outlet for my hobbies that I didn’t have before so thanks for everything you do for us!

24 Likes

Not gonna lie, offloading that busy work of manual editing to either automation or helpers would be a huge step, one I’m glad you’re seriously exploring as a first step. I really appreciate that you’ve hung on so long answering requests for minor (sometimes major) database cleanup; there are so many sites where their data is sloppy, inaccurate, and just generally gross, and I know for me as a user finding a site where they care about accuracy and prompt corrections means a lot.

Can’t wait to see how natively develops in the future!

22 Likes

Thank you for the update! I’m glad you have a plan for keeping the site sustainable, hopefully both from an administration standpoint and for you (and the possible co-developer) personally :pray:

I’ll be keeping my eye out if any of those community volunteer roles open up!

16 Likes

Goodreads has a volunteer role, you could check that for inspiration. I am a goodreads librarian, and I had to take a test (question from a manual and a write in of why you want to to be a librarian). I think you can take it once every year or 6 months. While the whole system doesn’t quite work well anymore on goodreads, (due to the sheer size of the site as well as bad management and bots repeatedly messing up things) I think learnnatively would be a good fit for this system.
Personally I’d be happy to apply to be one here as well once implemented :slight_smile:

18 Likes

Second for wanting to be a librarian if/when that role opens up. I imagine that there are quite a few of us on the forums that will want to do it :joy:

10 Likes

Yeah, I wouldn’t mind helping as well!

9 Likes

I’d also love to be a librarian. I’m curious to see how such a system will be, but I definitely think it’ll be helpful to Natively. As a community, I’m sure a lot of us would be more than happy to help!

Any plans for opening other languages, like French or Italian? Since this is something that was mentioned last year. (Feel free to not answer btw if this is too stressful to think about, I was just wondering)

13 Likes

Glad to see you have identified what’s eating up your time/resources and a plan to eliminate that. We have been worried you’ll burn yourself out. :hugs:

I became a librarian on GR because the German and Japanese entries were atrocious and it was a PITA to open a request every time.

In case you are curious what the GR librarian edit screen looks like:



There is also an option to combine, seperate or create new editions for a work. This allows to collect different languages, formats etc. under 1 book entry. The combine functionality usually first requires a clean-up of the stray entry as it works by listing all book entries that have the same author (I think) and at least on GR the author names for Japanese books are all over the place.

I don’t remember what it was, but some things still required me to open a request with the “Superlibriarians”. Probably stuff to do with duplicates and author pages. And there probably should be some sort of four-eye principle in place for things like deleting books or changing ISBN numbers, etc.

GR uses their forums to keep track of requests. This could work here as well, imo. The “Have Feedback?” button (maybe changed to “Report an error”) could lead into a librarian sub forum or something. I kinda like the transparency of that. :smiling_face:

And last but not least, it would be good to keep a changelog, so in case someone messes up, it can a.) be changed back more easily and b.) the librarians can learn from the mistake. :slight_smile:

21 Likes

Thank you all for these wonderful responses, super encouraging and i’m overwhelmed! :slight_smile:

This along with all your volunteer requests make me so happy ~~

If my planned work on to fix the spanish book adding process goes well, potentially! TBH though, all those intiatives come after my current roadmap of making Natively more sustainable.

Thanks!! Yeah I’ll definitely be tapping your knowledge a bit. The biggest issue is around ‘rolling back’ bad merges / edits… that’s really hard to do well if you’re also updating attached user data as well. What happens if you merge two items and related user data, then a user updates there data again, and then you realize the initial merge was a mistake?

Head spinning stuff :confused:

18 Likes

One approach that might help with this is EventSourcing, which means you’d have an append-only log so you can always look at (and potentially go back to) previous versions. This approach can be applied to certain data only (e.g. user input only), of course. This way you can easily figure out what changed between two versions, and you can perhaps re-apply the same change to a previous version of the data on rollback (depending on how much your “merge” would affect, of course).

10 Likes

Hmm, interesting. I took a quick look at a Stack Overflow answer about Event Sourcing and it kinda sounds similar to the flux pattern, with a store of changes made.

Right now I do have append-only logs for the states of certain critical items (Difficulty ratings, user tv seasons / user books / user episode data, quite a few other things…) but I don’t really have a log of ‘actions performed’ which might be nice. Of course I have my general application logging going on, but no specified actions being stored.

8 Likes

Yes, absolutely. I also sometimes do a mashup of sorts by persisting (some of) the events in my React/Redux SPA in the backend :crazy_face:

Please note that EventSourcing is not a log - at least not in the way how I understand “log”, i.e. where you write something to a textfile, which is then only read by humans, if at all.
In EventSourcing you produce (and persist) a list of events which you use instead of a relational database. So on every system startup, you will run over all of the events to get to the current state of the system. Think of it like your bank account. If you start from when you opened that account and go through all the changes that happened to it (like “paid my rent, 500$” and “got b’day money from granny, 100$” and so on), you will eventually get to today’s balance. That’s EventSourcing in a nutshell. :blush:
(If you have further questions, I guess we’d better clarify this offline rather than cluttering this post with tech-blabber :sweat_smile: )

7 Likes

Huh, doesn’t that make the startup phase eventually get super slow? I know you don’t expect to be restarting the server all that frequently, but still…

5 Likes

Of course, that depends on your definition of “super slow” :stuck_out_tongue_winking_eye: If you really think it’s unbearably slow, then there are ways to prevent that (e.g. persisting a snapshot of the current state and starting from that) but in my (unfortunately very limited) experience (where another team in my company introduced event sourcing), they had millions of events and got along fine without using snapshots.

Here are some articles that might be interesting to you:

(that I just found by googling “event sourcing startup speed” so there might be better ones out there)

9 Likes

TBH as i’ve looked at this more, it very well could be a solution worth exploring, but it’s such a large paradigm shift, it’s feels unmanageable to do at this point. But i’ll definitely take some more looks at it, there’s probably some inspiration i’ll take from it :slight_smile:

13 Likes

Now that we’re into April, can we get an update on how things are going on this goal?

7 Likes