bibledit / cloud

Source code for Bibledit core library and Cloud binary
GNU General Public License v3.0
13 stars 3 forks source link

Task 7: Enable quicker client resource installation #498

Closed warpok closed 3 years ago

warpok commented 3 years ago

Let's say that Maria is a seminary student with a few advantages. She has her own computer and she is frequently goes home. Her home is in town where she can get a good cellular connection. Many of her friends in the same class are stuck for longer periods living in the dorm. While they have good enough cellular connections to make calls, it is impossible to get a connection for long enough to download a resource.

Imagine that ten members of a class went to the same small town Internet cafe. If they all attempted to download the resources at the same time, that would slow down the satellite connection. Those connections don't have much band width.

We need a way that Maria could beam resources via bluetooth or wifidirect connections, or apps like ShareIt with a cellphone. Or, a way to transfer them via flash disks. I have repeatedly tried to do this to set up new team members in the past. I will try it again soon to see how difficult it is. Then I will report back. Before the various processes I used were unfriendly and often didn't work.

I think that you did not want to supply archives of resources before due to copyright issues. Maybe there is a workaround, if we can discuss it.

This is important, because when we start having students sign up for paid Member identities, they will be paying their $7 based on the desire to be able to install all the resources.

warpok commented 3 years ago

I’ve had an idea! I know there were copyright reasons for not just installing some resources. One of them that comes to mind is NET Bible. That is one we have talked about in the past, and it is bigger and has given problems. That one is copyrighted. So we can’t just indefinitely keep or supply copies.

So here’s my idea: Out of the 30 resources I have chosen for the Indonesian users more that half are Opensource or no longer copyrighted. These could all be installed to the client upon installation in several compessed archives, leaving only a small portion that would need to be downloaded by each user.

teusbenschop commented 3 years ago

So here’s my idea: Out of the 30 resources I have chosen for the Indonesian users more that half are Opensource or no longer copyrighted. These could all be installed to the client upon installation in several compessed archives, leaving only a small portion that would need to be downloaded by each user.

But there's no intention to make a special Indonesian client of Bibledit, a version that would include those 15 resources you have selected.

And the 15 resources that would then be included with the general Bibledit client would bloat the client quite a lot, and might not be used by other translators.

If half of the total of 30 resources were installed, the Indonesian student would still need to download the remaining resources.

teusbenschop commented 3 years ago

This is important, because when we start having students sign up for paid Member identities, they will be paying their $7 based on the desire to be able to install all the resources.

If they pay that amount, they will be able to install the resources. There's lots of Bible apps that have to download their resources too.

teusbenschop commented 3 years ago

I have repeatedly tried to do this to set up new team members in the past. I will try it again soon to see how difficult it is. Then I will report back.

That is great, I will await what your findings are.

teusbenschop commented 3 years ago

I think that you did not want to supply archives of resources before due to copyright issues. Maybe there is a workaround, if we can discuss it.

Yes, due to copyright issues Bibledit cannot "copy" the resources.

But like browsers do, Bibledit could "cache" the resources. Browsers cache web content all of the time.

So copying resources from one device to another would be to "copy" the resources. And that's would not be allowed at times due to the copyright status of a resources.

teusbenschop commented 3 years ago

There is a way to significant speed up resources download.

The current method is that a Bibledit client contacts Bibledit Cloud, with the request to the Cloud to cache an entire resource, and then the Bibledit client can download it. It's not the downloading by the client that takes most of the time. What takes most of the time is the caching process done by the Cloud.

So one way to speed up resources download would be if the Cloud had the resource already cached. The client can then immediately start downloading it.

warpok commented 3 years ago

So one way to speed up resources download would be if the Cloud had the resource already cached. The client can then immediately start downloading it.

Oh, please, let's do that! Some of the freely available resources will never change and could be cached forever. Others are being updated, and should be refreshed from time to time. Is there is a limit to how long a copyrighted resource can be cached?

teusbenschop commented 3 years ago

The Bibledit Cloud instances were updated to enable quicker resource installations by the clients.

This is how to start using it.

Step 1. Enable the setting in the Cloud to keep the resource caches for an extended period of time.

Step 2. Using a client, let that client cache all resources.

Step 3. All subsequent client cache operations will be super fast.

This is how it works. The setting is available in Settings / System. If the setting is on, the Cloud will keep cached resources for up to one year after a resources has been accessed for the last time. The first client that downloads all resources from the Cloud will cause the Cloud to cache all the resources that the client requested. The Cloud will keep the cached resources for up to one year. So subsequent client downloads can access the cache that is ready for download, and download it immediately. And that works fast.

warpok commented 3 years ago

Wonderful! I have activated that for both port locations.

We will just need to tell our users about the link in Organize > Install …. Thanks so much!

teusbenschop commented 3 years ago

Wonderful! I have activated that for both port locations.

We will just need to tell our users about the link in Organize > Install …. Thanks so much!

If you have activated it then it will be activated for all users, even if they don't know about the option.

warpok commented 3 years ago

Hold on! When we have Members, I am certain (based on my experience with my team) that we will have people trying to download the Whole StudyLight set of resources. Some will go crazy looking at all the historic stuff, and searching for useful things. I told my team to go directly to StudyLight and that partly helped.

So I would think that you would want to make it so that my set of 30-31 resources will be set up for fast installing(long caching), but not all the others that other members will download.