Project

General

Profile

Feature #12003

Set a warning message in RCs and alpha releases

Added by anonym over 2 years ago. Updated 7 days ago.

Status:
Fix committed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
11/28/2016
Due date:
% Done:

90%

Feature Branch:
feature/12003-custom-home-for-rc+force-all-tests
Type of work:
Code
Blueprint:
Starter:
Affected tool:

Description

https://www.reddit.com/r/tails/comments/5f5kwl/tails_30alpha1_is_fucking_amazing/

tl;dr: some users seem to have migrated to Tails 3.0~alpha1 for what seems to me like real usage, not for testing purposes.

spriver suggested that "we should have a custom background image for alpha/testing releases which is saying blahablah this is dangerous". We could generate such an image at build time if the conditions are right, e.g. we are building from a tag with -alpha or -rc in it.


Related issues

Related to Tails - Feature #15768: Use desktop background to warn users when their Tails needs to be updated Confirmed 08/06/2018
Related to Tails - Bug #15312: "Tor check" button is badly aligned and looks buggy In Progress 02/15/2018
Related to Tails - Feature #14544: Spend software developer time on smallish UX improvements In Progress 08/31/2018
Related to Tails - Bug #16117: Change warning about virtual machine pop-up time of appearance Confirmed 11/11/2018
Blocks Tails - Feature #16209: Core work: Foundations Team Confirmed 03/22/2019

Associated revisions

Revision 14bda7c0 (diff)
Added by intrigeri about 1 month ago

Make custom home page for alpha/RC/etc. version-independent and update it to work as our current default home page (refs: #12003)

Revision 55dd8482 (diff)
Added by intrigeri about 1 month ago

Release process: document how to feed and clean up home/testing (refs: #12003)

Revision eb90a3b6 (diff)
Added by intrigeri about 1 month ago

home/testing: use terminology proposed by sajolida (refs: #12003)

… instead of "experimental", which does not apply well to our RCs.

This terminology comes from #12003#note-5 combined with the original
web/12003-custom-home-for-rc branch. Changed I had to make:

- Solved the conflict between "testing version" and "testing an image", that
don't play well together when used in the same sentence, so I've replaced the
verb with "trying".
- Add bits about actual experimental images: we can't claim they're safe
to use.

Revision b5ffff17 (diff)
Added by intrigeri about 1 month ago

Make home/testing translatable (refs: #12003)

Revision e2c799fe (diff)
Added by intrigeri about 1 month ago

Fix "Tor check" button position on home/testing (refs: #12003)

The way this button is implemented implicitly relies on the fact its the first
content in <div id="content" role="main">. If that's not the case, then this
button will be placed somewhere in the middle of the sidebar, instead of on top
of the download button, as intended.

So, let's refactor home.html so common bits are in inlined sub-pages,
in a way that allows me to order the Tor check button properly
on home/testing.

Revision 3490acea (diff)
Added by intrigeri about 1 month ago

Salvage translations from home.*.po (refs: #12003)

Revision 7174efed (diff)
Added by intrigeri about 1 month ago

Set Tor Browser's homepage to https://tails.boum.org/home/testing/ if building anything but a stable release (refs: #12003)

This depends on web/12003-custom-home-for-rc being merged into master,
so that this new specific homepage actually exists.

Revision 2c7355a2
Added by sajolida 22 days ago

Merge remote-tracking branch 'origin/web/12003-custom-home-for-rc' (Closes: #12003)

Revision 1fb2f34b
Added by anonym 14 days ago

Merge remote-tracking branch 'origin/feature/12003-custom-home-for-rc+force-all-tests' into stable

Fix-committed: #12003

Revision 3f57651b (diff)
Added by intrigeri 7 days ago

Really test that we're building anything but a stable release (refs: #12003)

This is a follow-up on 7174efed4c79c346d5f3dbd79a63086666866187,
that claimed to test whether we were building a stable release,
but merely checked whether $TAILS_CHANNEL == alpha. Both are equivalent
at the moment but as anonym pointed out, this assumption might become
wrong, e.g. if we ever add a "beta" channel.

History

#1 Updated by nodens over 2 years ago

I think it should really be stating that this is unsafe, we can make that funny as well but the point needs to be made.

Suggestions on #tails-dev:

  • big scary text: "YOU ARE NOT ANONYMOUS. YOU ARE ALONE. TESTING PURPOSE ONLY"
  • maybe with uncle Sam pointing the finger to the user, with the fce of Don^Wfuture president of the USA

This was half meant as a joke but it drives the point home while still being funny (not sure about puting the face, that could be asking for trouble, but the uncle Sam is a good one)

Cheers!

#2 Updated by sajolida over 2 years ago

For #10508 I used a red background: https://git-tails.immerda.ch/tails/plain/config/chroot_local-includes/usr/share/tails/desktop_wallpaper.png?h=feature/10508-ux-testing-iso.

Maybe we could add a warning icon. I would also change the Syslinux menu to make clear this is a testing version from the very start.

I would avoid culturally or politically connoted jokes as we want our user base is very diverse and not everybody will receive the message in the same way.

#3 Updated by intrigeri over 2 years ago

  • Target version deleted (Tails 2.10)

Anyone who wants to make it happen, please assign this to yourself.

#4 Updated by emmapeel over 2 years ago

  • Subject changed from Set scary background image in alphas to Set a warning message in RCs and alpha releases from Tails 3.0 on
  • Assignee set to intrigeri
  • Target version set to Tails_3.0

We talked about this on our December Contributors meeting.
We realised that we were being too scary when giving ISO images for testing to the users, and that the ISOs could sometimes have bugs but they are passing all the security tests, at least on the Release Candidates (RC) or Tails 3.0~alpha1.

So maybe there are some bugs but not security issues.

We decided to change the background to grey and add a warning saying:

"Hey, you are running Tails 3.0 alpha. It is safe to use but might still be broken in many ways. Report any problems to " and a grey background.

#5 Updated by sajolida over 2 years ago

The phrasing I gave during the meeting was just an example :) Maybe this is a bit better:

You are running Tails 3.0 alpha which is a testing version. It should be safe to use but might still be broken in many ways. Report any problems to tails-testers@boum.org." 

#6 Updated by intrigeri over 2 years ago

Thank you!

#7 Updated by intrigeri over 2 years ago

If I got it right, we want the warning to be displayed as part of the desktop wallpaper. This sounds OK to me, but after attending the "Rebooting Firefox Nightly" talk at FOSDEM, I've had other ideas about how to adjust how a running Tails system could have communication specifically aimed at users or alpha/beta/RC:s. The idea is to get this specific public more involved in our QA process, and more generally in our community. Remember: the power-users of today may be the contributors of tomorrow :)

E.g. it would be nice to let them know what's new, what might be broken, and what we particularly need feedback about. Firefox Nightly does that with:

  • A dedicated blog.
  • What they call "snippets", that are small bits of text displayed below the search entry form, in the middle of the browser's homepage. It's kinda like the good ol' "Did you know?" dialog from the 90's, but less intrusive and non-blocking. I don't think we have any good, existing way to do that in our Desktop (perhaps the Greeter would be a better place to display such info by the way), so let's ignore it for now. I'm looking after low-hanging fruits here.

I propose that we piggy-back on our custom browser homepage. We could have that homepage display additional content when loaded from a non-stable releases. It could display:

  • Some text on top, communicating whatever we want to non-stable release users. This could include the warning this ticket is about and additional information and requests, as suggested above. It serves the same purpose as the "snippets". I would simply hard-code this additional text in the custom homepage source file, not bothering with inlines (and their bugs wrt. translation). If anyone wants to do it in a more fancy way, e.g. with JavaScript that displays/hides stuff depending on some URL parameter, be my guest (another URL parameter passing the version could be even better, so we display content depending on the running version; we would not pass this parameter in stable releases); non-blocking, can be done later. This content needs to be kept up-to-date; we don't have to do anything when we don't feel like it, apart of dropping obsolete chunks of text, so it's work we can do if, and when, we feel like it.
  • The same content as the normal homepage, because there's no reason that users of non-stable releases don't get that.
  • If/when we ever want, additional blog posts specifically aimed at users of non-stable releases. I'm not counting on us writing such blog posts any time soon, but it's good to have room for it :)

Thoughts, opinions?

I'm asking here and now because I'd rather do all that directly, than implementing the wallpaper-based solution now, only to dump it to the trash later if/when we do what I'm proposing here. I don't think the solution I propose requires more work than the wallpaper-based one, it makes me more enthusiastic, and we can update the content displayed to users whenever we want, without waiting for the next ISO to be published, so I'm all for it.

#8 Updated by intrigeri over 2 years ago

  • Assignee changed from intrigeri to sajolida

anonym, sajolida: what do you think about my last proposal on this ticket? (ETA: I would like to implement this during the next Stretch sprint.)

#9 Updated by intrigeri about 2 years ago

  • Target version changed from Tails_3.0 to Tails_3.1

Too late for 3.0~ => postponing.

#10 Updated by sajolida almost 2 years ago

  • Assignee deleted (sajolida)
  • Target version changed from Tails_3.1 to Tails_3.2

So you are proposing to have a custom homepage instead of a grey wallpaper and a notification, right?

I'm fine with both:

  • The grey wallpaper and the notification will be noticed even without starting the browser and will always remain visible (at least in the activities overview, new desktops, etc.).
  • The custom homepage allows for more dynamic content but is less visible.

Maybe they are complementary actually.

Note: for the wallpaper option, if the message is printed directly in the wallpaper we won't have translations. Why wouldn't a (translated) notification be enough?

#11 Updated by intrigeri almost 2 years ago

  • Status changed from Confirmed to In Progress
  • Target version deleted (Tails_3.2)
  • % Done changed from 0 to 10
  • Type of work changed from Discuss to User interface design

#12 Updated by intrigeri almost 2 years ago

  • Assignee set to sajolida

We didn't reach an agreement in time for me to implement this during the "porting to Stretch" cycle (which was the main reason why we wanted to do this quickly), and brand new ideas are still being proposed (by myself and sajolida), so I'm dropping the target version and calling it something that needs UX design instead and is not ready to be implemented.

So you are proposing to have a custom homepage instead of a grey wallpaper and a notification, right?

Yes.

Note: for the wallpaper option, if the message is printed directly in the wallpaper we won't have translations.

I think this is incorrect: we would generate the wallpaper programmatically so it could easily be i18n'ed and l10n'ed.

Why wouldn't a (translated) notification be enough?

I don't know (I've already documented the reasons why I prefer a web-based approach, so I won't repeat myself :).

#13 Updated by sajolida 11 months ago

  • Related to Feature #15768: Use desktop background to warn users when their Tails needs to be updated added

#14 Updated by sajolida 10 months ago

  • Target version set to Tails_3.10.1

#15 Updated by huertanix 10 months ago

Related to this issue, I've proposed setting the desktop wallpaper color to a dark red, with a lighter internationally-recognizable warning symbol (⚠), for older versions of Tails. Check out: https://labs.riseup.net/code/issues/15768.

#16 Updated by sajolida 9 months ago

  • Assignee changed from sajolida to intrigeri
  • QA Check set to Info Needed
  • Feature Branch set to web/12003-custom-home-for-rc

Going back to this very old proposal.

Yeah, let's have a custom /home for RCs and alpha releases! :)

What's not super clear for me from #12003#note-7 is:

  • The mechanism to point people to this custom /home. Is the plan to encode, let's say @/home/3.0~rc1 in the image for 3.0~rc1?
  • The content (in terms of ikiwiki directives) of this page so we get both
    • The custom content relevant for this test release
    • The usual content from /home (as mentionned in #12003#note-7)

Would something like web/12003-custom-home-for-rc work?

My web/12003-custom-home-for-rc breaks the "Tor check" button so we should fix #15312 at the same time as this ticket.

#17 Updated by sajolida 9 months ago

  • Related to Bug #15312: "Tor check" button is badly aligned and looks buggy added

#18 Updated by sajolida 9 months ago

  • Blocks Feature #15392: Core work 2018Q2 → 2018Q3: User experience added

#19 Updated by intrigeri 9 months ago

  • Assignee changed from intrigeri to sajolida
  • QA Check changed from Info Needed to Dev Needed

Going back to this very old proposal.
Yeah, let's have a custom /home for RCs and alpha releases! :)

Woohoo! :)

What's not super clear for me from #12003#note-7 is:

  • The mechanism to point people to this custom /home. Is the plan to encode, let's say @/home/3.0~rc1 in the image for 3.0~rc1?

Yes, I would encode at ISO build time a custom home page URL when we're not building a final release. This way, users who we've asked to test a nightly build also get the warning.

But I would not bother maintaining multiple /home/$VERSION pages. I would instead always use the same home page e.g. /home/alpha. In the vast majority of cases we have only one call for testing alive at a given time. They should be listed (with pointers to instructions for testing) on top of that home page. Most of the time there would be nothing there; during the freeze for a major release we would point to the current RC's call for testing; and sometimes we would point to a call for testing sent to tails-testers@.

  • The content (in terms of ikiwiki directives) of this page so we get both
    • The custom content relevant for this test release
    • The usual content from /home (as mentionned in #12003#note-7)

I would hard-code on top of the page a general warning about the running Tails not being an official release + whatever we currently want to display to users of non-stable releases (see above for examples).

Would something like web/12003-custom-home-for-rc work?

I'd rather avoid nested inlines until the corresponding bug in ikiwiki is fixed, so for now, just duplicate what we have in wiki/src/home.html and insert the additional, non-stable-specific content on top.

#20 Updated by sajolida 9 months ago

  • Blocks deleted (Feature #15392: Core work 2018Q2 → 2018Q3: User experience)

#21 Updated by sajolida 9 months ago

  • Assignee changed from sajolida to intrigeri
  • Target version changed from Tails_3.10.1 to Tails_3.12
  • QA Check changed from Dev Needed to Info Needed

Actually, it's not clear to me that it fits in my core work responsabilities (and if so, maybe not more than FT, RM, or whoever writes the calls for testing).

I wrote a quick prototype to clarify what we were talking about but I'm not sure I should be the one to finish implementing this.

The next RC is for 3.12, so let's at least reschedule this.

#22 Updated by intrigeri 7 months ago

  • Related to Feature #14544: Spend software developer time on smallish UX improvements added

#23 Updated by intrigeri 7 months ago

  • QA Check deleted (Info Needed)
  • Type of work changed from User interface design to Website

QA Check changed from Dev Needed to Info Needed

(Not sure what info I've been asked but failed to provide, so dropping this.)

I'll try to work on this, if time allows, during one of our Buster sprints: I'd like it to be ready when we'll release a public Tails 4.0~betaN.

Remaining work to do includes:

  1. website: make the website ready for this, based on sajolida's PoC + my feedback
  2. code: adjust the homepage at ISO build time or at boot
  3. contributors doc: integrate this into our release process (and possibly release notes guidelines: even if our tech writers are not responsible for all calls for testing, we — at least I — may use that doc when putting out a RC or call for testing)
  4. tech writing / UX design / whatever we want to call it as long as someone better at me reviews my draft: write the additional text needed for this custom home page

Dear sajolida, I won't bother you (with the part I'll need your help for) before the other bits are ready, in order to avoid you spending valuable time on this before being 100% sure it'll be actually used :)

#24 Updated by sajolida 7 months ago

  • Related to Bug #16117: Change warning about virtual machine pop-up time of appearance added

#25 Updated by intrigeri 7 months ago

  • Subject changed from Set a warning message in RCs and alpha releases from Tails 3.0 on to Set a warning message in RCs and alpha releases

#26 Updated by intrigeri 6 months ago

  • Target version changed from Tails_3.12 to Tails_3.14

#27 Updated by intrigeri 3 months ago

  • Target version changed from Tails_3.14 to Tails_3.15

#28 Updated by intrigeri about 1 month ago

intrigeri wrote:

  1. website: make the website ready for this, based on sajolida's PoC + my feedback

Done but I still need to salvage translations after the refactoring done in e2c799fe710bafa3f02141fd3219b579d857c336. Also, we'll need to update ikiwiki.setup on our production website accordingly.

  1. code: adjust the homepage at ISO build time or at boot

TBD

  1. contributors doc: integrate this into our release process (and possibly release notes guidelines: even if our tech writers are not responsible for all calls for testing, we — at least I — may use that doc when putting out a RC or call for testing)

Drafted something. Likely it won't be clear enough for my fellow RMs but I'll only learn about what exactly is unclear once they try it.

  1. tech writing / UX design / whatever we want to call it as long as someone better at me reviews my draft: write the additional text needed for this custom home page

As written earlier here, I'll ask help from sajolida here only once I'm done with the other bits.

#29 Updated by intrigeri about 1 month ago

  • Assignee changed from intrigeri to sajolida
  • QA Check set to Ready for QA
  • Feature Branch changed from web/12003-custom-home-for-rc to web/12003-custom-home-for-rc, feature/12003-custom-home-for-rc+force-all-tests
  1. website: make the website ready for this, based on sajolida's PoC + my feedback

Done but I still need to salvage translations after the refactoring done in e2c799fe710bafa3f02141fd3219b579d857c336.

Done.

Also, we'll need to update ikiwiki.setup on our production website accordingly.

Done and deployed, to avoid this blocking the merge of web/12003-custom-home-for-rc into master.

  1. code: adjust the homepage at ISO build time or at boot

TBD

Done on feature/12003-custom-home-for-rc+force-all-tests. I've built an ISO and I confirm that the home page is https://tails.boum.org/home/testing/ when I login in English, and https://tails.boum.org/home/testing/index.fr.html when I login in French.

Of course, the homepage will yield a 404 error until web/12003-custom-home-for-rc is merged into master. And then I'll have to update the automated tests on feature/12003-custom-home-for-rc+force-all-tests (it's too impractical to do this before web/12003-custom-home-for-rc is live).

  1. tech writing / UX design / whatever we want to call it as long as someone better at me reviews my draft: write the additional text needed for this custom home page

As written earlier here, I'll ask help from sajolida here only once I'm done with the other bits.

I've done everything I could do before web/12003-custom-home-for-rc is merged into master ⇒ @sajolida, please review, fine-tune phrasing as you wish (see commit messages for why I had to diverge from your various proposals, that did not work well once combined with each other), and merge into master. Ideally, I'd like this to be merged by June 16, so we can take benefit from it when we publish a first alpha during the next Buster sprint.

Then reassign to me and I'll finish the code side of things :)

#30 Updated by intrigeri 23 days ago

  • Status changed from In Progress to Needs Validation

#31 Updated by sajolida 22 days ago

  • Status changed from Needs Validation to Resolved
  • % Done changed from 10 to 100

#32 Updated by sajolida 22 days ago

  • Status changed from Resolved to In Progress
  • Assignee changed from sajolida to intrigeri
  • % Done changed from 100 to 10

All good, I merged into master!

https://tails.boum.org/home/testing/

I'm sorry you had to deal with the weird "Tor check" button that I'll probably kick out of there for #15312.

I wouldn't have done the extra work to make the donation message work on /home/testing as well but it's good that you did it :)

Do you have to do anything else before closing this ticket?

#33 Updated by intrigeri 18 days ago

@sajolida, see 3329d12c38e1b88405fd83b7e3f0f1c8a1967255 and fix it up if I guesses your intent wrong :)

#34 Updated by intrigeri 18 days ago

  • Feature Branch changed from web/12003-custom-home-for-rc, feature/12003-custom-home-for-rc+force-all-tests to feature/12003-custom-home-for-rc+force-all-tests
  • Type of work changed from Website to Code

Do you have to do anything else before closing this ticket?

Yes (documented in comments above).

#35 Updated by sajolida 18 days ago

@sajolida, see 3329d12c38e1b88405fd83b7e3f0f1c8a1967255 and fix it up if I guesses your intent wrong :)

Good catch!

#36 Updated by intrigeri 18 days ago

  • Status changed from In Progress to Needs Validation
  • Assignee changed from intrigeri to anonym

Actually, there's no test suite update to do, so @anonym or @segfault, please review and merge into stable :)

#37 Updated by anonym 14 days ago

  • Status changed from Needs Validation to Fix committed
  • % Done changed from 10 to 100

#38 Updated by anonym 14 days ago

  • Status changed from Fix committed to In Progress
  • Assignee changed from anonym to intrigeri
  • % Done changed from 100 to 90

I've merged this, but I have one tiny code nitpick/question:

+    if [ "${TAILS_DISTRIBUTION}" = UNRELEASED ] \
+          || [ "${TAILS_CHANNEL}" = alpha ]; then
+       HOMEPAGE="${HOMEPAGE}testing/" 

Why not || [ "${TAILS_CHANNEL}" != stable ] instead? Seems more correct in general, and future-proof if we ever would find the need for a "beta" channel or similar. Am I missing some corner case?

@intrigeri, if you agree with this change, consider it already ACKed by me so you can just push yourself and close this ticket.

#39 Updated by intrigeri 11 days ago

Why not || [ "${TAILS_CHANNEL}" != stable ] instead?

@anonym, because we never explicitly set TAILS_CHANNEL to stable during our build. We only ever set it to "alpha". "stable" is the default.

#40 Updated by anonym 11 days ago

intrigeri wrote:

anonym, because we never explicitly set TAILS_CHANNEL to stable during our build. We only ever set it to "alpha". "stable" is the default.

Ok. Then || [ "${TAILS_CHANNEL:-stable}" != stable ] would work, but whatever. :)

#41 Updated by intrigeri 7 days ago

  • Status changed from In Progress to Fix committed

Then || [ "${TAILS_CHANNEL:-stable}" != stable ] would work, but whatever. :)

Right ⇒ done.

#42 Updated by intrigeri 7 days ago

#43 Updated by intrigeri 7 days ago

  • Assignee deleted (intrigeri)

Also available in: Atom PDF