Opened 7 years ago

Last modified 2 years ago

#3889 new enhancement

Caching of pages for offline reading (global bookmarks)

Reported by: erikos Owned by: erikos
Priority: low Milestone:
Component: browse-activity Version:
Keywords: Offline Browsing Cc: kimquirk, mtd
Blocked By: Blocking:
Deployments affected: Action Needed: design
Verified: no

Description

So to split this into clear parts i have been taking this out of tickets like: 3741 and 2875

I will summarize a discussion i had with Eben yesterday:

You open a browse session at school called "My science report", with several session bookmarks for various pages you care about. You might want to read one of the long pages at home that night. So you star it. That makes you a bookmark entry in the Journal. But when you get home, you just resume the browse session from before. When you go back to the page you starred earlier (navigation history or by clicking on the icon in the session bookmarks), Browse recognizes the URL and shows you the cached version automatically, and it lets you know it's cached by "lighting up" the star icon and giving you a message telling you how old it is.

The star button will be used to mark an URL for keeping. This generates a journal object and stores the cached data with it. When opening a browser session the journal will be searched for the global bookmarks and loads the data.

You could just open up a bookmark directly as well, but you would just get a new browse instance with it.

Change History (10)

comment:1 Changed 7 years ago by marco

Implementation looks pretty simple in general. Though the security system will need to grant access to the browser to all global bookmarks. I think there are ways to do it but it's yet another case to handle when integrating security.

comment:2 Changed 7 years ago by Eben

I still think that this is a really important use case, as I suspect that kids won't have persistent internet access. Allowing them to "download" a page to read at whim later seems like a really big win with our intention of making information easily available. Of course, I don't think anyone here is disputing that.

For now, we could simply hide the bookmarks (eg. not make them global, but retain the offline viewing portion). Starring a page within a given session could simply store the associated data within that sessions entry. Resuming that particular entry/session would then reveal the cached pages, with a non-modal alert indicating that the page is cached, and optionally providing a button to refresh it. All of this can be done with no security implications whatsoever.

In the future we can enhance this by exposing the bookmark as a separate Journal entry and by allowing them to span sessions.

comment:3 Changed 7 years ago by kimquirk

  • Cc kimquirk added

I think I'm missing something here... are we talking about a book or document that is so big that it is not automatically downloaded in its entirety to the laptop when the student clicked on it?

Is this a real use case?

comment:4 Changed 7 years ago by jg

  • Milestone changed from Untriaged to FutureFeatures

comment:5 Changed 7 years ago by Eben

I think this ticket could use a little clarification. We've talked about a variety of bookmark types, most notably session, global, and offline bookmarks. This ticket actually describes offline bookmarks, which I think are different from "global" ones, depending on how we define them. Here's what I think we actually want (please clarify or argue these definitions):

Bookmark: A combination of the former definitions for both session and global bookmarks. When created, a thumbnail appears within the bookmarks tray, and is shared among activity participants. It's presence gets stored with the browse session for future reference. In addition, the bookmark gets added to the global bookmark list, though it's not directly exposed anywhere (and it does not get a Journal entry). As an entry in the global bookmark list, it will be available for autocompletion, and will show up in any future implementation of a bookmark/history browser (from within any browse session).

Offline Bookmark: (Better phrasing welcome.) Offline bookmarks create a brand new Journal entry containing the cached page. Optionally, we could add settings to limit the size, compress or scale down images, skip embedded video, etc. But that's all in the details. The general goal is to provide a cached copy of the page which the kids can access later, while offline. Special handling of this form of entry will be required within Browse, so that it's made clear that the page is not live (and, in fact, its actual age is shown), and so that it's not possible to accidentally attempt to click a link and wind up losing the cached data. We can be smart about this. It seems that any offline bookmark should also get added to the list of global bookmarks, accessible from anywhere. A future bookmark/history browser could indicate which bookmarks are offline.

To sum up, there are two types of bookmark, with separate purposes. One creates a session thumbnail and shares it, the other creates a private journal entry and caches it for offline viewing. Both types register the bookmark with the global registry so that a bookmark/history viewer can show them, and so that they are used for autocompletion purposes.

comment:6 Changed 6 years ago by adgor

  • Action Needed set to design
  • Keywords Offline Browsing added
  • Priority changed from normal to high

Eben has explained the terms needed perfectly.

Bookmark: A combination of the former definitions for both session and global bookmarks. When created, a thumbnail appears within the bookmarks tray, and is shared among activity participants. It's presence gets stored with the browse session for future reference. In addition, the bookmark gets added to the global bookmark list, though it's not directly exposed anywhere (and it does not get a Journal entry). As an entry in the global bookmark list, it will be available for autocompletion, and will show up in any future implementation of a bookmark/history browser (from within any browse session).

Offline Bookmark: (Better phrasing welcome.) Offline bookmarks create a brand new Journal entry containing the cached page. Optionally, we could add settings to limit the size, compress or scale down images, skip embedded video, etc. But that's all in the details. The general goal is to provide a cached copy of the page which the kids can access later, while offline. Special handling of this form of entry will be required within Browse, so that it's made clear that the page is not live (and, in fact, its actual age is shown), and so that it's not possible to accidentally attempt to click a link and wind up losing the cached data. We can be smart about this. It seems that any offline bookmark should also get added to the list of global bookmarks, accessible from anywhere. A future bookmark/history browser could indicate which bookmarks are offline.

The thing I would like to add to browse as well ass the offline bookmark is the ability to share these bookmarks and so when there is no internet anyone in your mesh can still see the page you are looking at.

Here is the scenario:

We are a private school in Toronto tutoring inner city children. We are going to be going around the city mostly by bus with internet for short periods of time. We would like to have the students look up web pages about where we're going, disconnect from the internet and read the information on the bus. Then have them select a few good web pages they have found and share them with the group.

This could easily translate to the third world where internet access is not constant and have the ability to share your findings with someone who does not have internet. To save a Wikipedia page on your computer then walk back to your village and share and teach everyone who has a laptop what you learned today.

My goal is to integrate this into the browse activity to make it easy to use and reliable.

I have the vision but not the skills needed for this task. I'm asking anyone who can help tackle this challenge to contact me this feature would be a huge leap in the learning applications of these machines.

you can e-mail me on .mac at agordonxii(@mac.com)

comment:7 Changed 6 years ago by gregorio

  • Milestone FutureFeatures deleted

Milestone FutureFeatures deleted

comment:8 Changed 6 years ago by mtd

  • Cc mtd added

comment:9 Changed 2 years ago by godiard

  • Priority changed from high to low
Note: See TracTickets for help on using tickets.