Re: [Tails-ux] Porting DAVE to Web Extensions

Delete this message

Reply to this message
Author: Uzair Farooq
Date:  
To: sajolida
CC: anonym, Tails user experience & user interface design
Subject: Re: [Tails-ux] Porting DAVE to Web Extensions
> - Some aspects of the download as done by the current extension would
also be affected by Web Extensions, especially the pausing and resuming?

Chrome have support for resume/pause. If we handle download ourself, we can
also pause/resume programmatically. One thing to note though, Chrome does
not allow resume after browser is closed.

> - It would be less coding work to decide to remove the download part

from the extension instead of porting it to Web Extensions and Chrome?

Yeah, without the download it'd be less work.


On Wed, May 31, 2017 at 8:54 PM, sajolida <sajolida@???> wrote:

> We are looking into porting DAVE (the Firefox extension behind
> /install/download) to Web Extensions. This would be required for it to
> keep working on Firefox in the future and would also make it easier to
> port it to Chrome.
>
> We contacted a freelancer to do this job and he pointed out the fact
> that Web Extensions or Chrome Extensions are not allowed to read back a
> file once it's downloaded (we rely on this to compute its hash). And
> that the only way to read back that file would be to let the user select
> it through a file chooser widget.
>
> I think that this new limitation could lead us to rethink quite in depth
> what this extension does and how it is integrated in the installation
> instructions. Hopefully things would not become more complex overall.
>
> Moving the download out of the extension
> ========================================
>
> For example, in the current implementation, the download is handled by
> the extension partly because it then allows the extension to know which
> file has to be verified. If the user has to select the file again
> anyway, then the download part could be removed from the extension and
> done by the user through the native interface of the browser.
>
> Another benefit from having the download handled by the extension is the
> nice way to pause and resume the download, even across mirrors. This is
> especially useful since it's a huge download. For example, on the Tor
> Browser shipped in Tails 3.0~rc1 I couldn't find a way of doing this
> from the native download interface of Firefox. I don't know the
> situation with Firefox (and not Tor Browser) or with Chrome and I should
> check.
>
> But if we could rely on the native browser interface to pause and resume
> the download, then I wouldn't mind removing it from the extension.
>
> Anybody else knows how pausing and resuming work in Firefox and Chrome?
>
> Making sure that people verify their download
> =============================================
>
> Another important aspect of the current extension is that it forces you
> to do the verification because it's an automatic step after the
> download. If the verification become an extra manual step, how could we
> prevent people from missing it, skipping it, etc.?
>
> Downloading the ISO image is always the first step in an installation or
> upgrade scenario, for example:
>
> https://tails.boum.org/install/win/usb/
>
> So we could either:
>
> - Find some mechanism to hide the following steps until the
> verification is successful. Note that we would then have to adjust
> step 3 in which we are telling people to visit the same page from
> another device.
>
> - Split the download step in a separate page and only point to the full
> instructions once the verification is successful.
>
> But none of this sounds very complicated.
>
> Reopening the instructions
> ==========================
>
> The last interesting aspect of the current extension is that, even if
> you close your browser and come back to the instructions some hours
> later, the extension still displays the local path of the ISO image and
> that it has been verified. We thought that displaying the path would be
> helpful for people to be able to find it back later on when they need to
> give it to Tails Installer. If the download was not finished or
> interrupted, then the extension proposes you to resume it.
>
> I wonder if this would still be possible with Web Extensions...
>
> Not trying to do everything at once
> ===================================
>
> So we could do many things... But still I wonder what would be the
> minimum changes that would be acceptable to do as a start. So I wonder
> whether:
>
> - Some aspects of the download as done by the current extension would
> also be affected by Web Extensions, especially the pausing and resuming?
>
> - It would be less coding work to decide to remove the download part
> from the extension instead of porting it to Web Extensions and Chrome?
>