Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add first run page #2314

Merged
merged 1 commit into from
Jun 13, 2023
Merged

Conversation

Ahrotahn
Copy link
Contributor

This PR adds a new patch to introduce a first-run page with useful information, which would resolve #1979.
I've picked what I consider the top three most asked questions to be the first entries on this page.

ungoogled-first-run_1

ungoogled-first-run_2

I've made the links to internal pages highlight the relevant section when appropriate.

I'm interested in feedback on what other information would be useful to add to the page without assaulting new users with a wall of text.

@NeverDecaf, I'd be interested to know if you're comfortable with how the information is displayed for the chromium-web-store extension. I tried to keep things as simple as possible.

@PF4Public
Copy link
Contributor

This is awesome!

I have following suggestions:

  • Do not shorten internal links: <a href="chrome://flags/#extension-mime-request-handling">extension-mime-request-handling</a><a href="chrome://flags/#extension-mime-request-handling">chrome://flags/#extension-mime-request-handling</a> in order to make them most explicit.
  • Does <title> go into window title? If yes, then <title>ungoogled-chromium first run page</title><title>Welcome to ungoogled-chromium</title>
  • Some introductory text is necessary to capture the attention and prevent a situation in which a user glances through this page and thinks: "Meh, just a usual formal/developer/boilerplate page, closing."
  • State that this page is always available at a later time.

With that in mind I propose following textual changes (in Markdown):

-------------✂-------------

Welcome to ungoogled-chromium

Please take some time to look through the information on this page. Although ungoogled-chromium retains the default Chromium experience as closely as possible there are some things which differ and some settings that you might want to change right from the start. Please note that you can access this page at a later time under its internal URL: chrome://ungoogled-first-run

Notable differences

Install and auto update extensions
[…]
Please check out the chromium-web-store repo for further details and alternate installation methods ++of this extension++.
++If you do not wish to install this extension, there is still a way to install other extensions albeit without the ability of automatically updating them. In this case, please refer to++ wiki if you wish to install extensions manually.
[…]
Keep login and session data
[…]
Enable spellcheck
[…]
Check out the FAQ on the wiki for information on other common topics.

Privacy and Security

With default settings ungoogled-chromium provides some measures to enhance privacy and security, but it might be insufficient if you have some special needs for privacy and security. You might need to perform additional actions in order to achieve that. ← better wording here maybe

It is difficult to accommodate all the — often contradicting — use-cases, to that effect ungoogled-chromium allows you to tweak its behaviour to better adapt to your needs. Please keep in mind that while it is possible to have great privacy and security it might have a negative impact in other areas like usability.

Extra Features

[…]

ungoogled-chromiumAdditional links

Visit our support page[…]
Are you a developer? […]

@macchrome
Copy link

I trust this page will be multilingual and understood by people who only know 500 words of their native language and have the ability to sign their name.

@Ahrotahn
Copy link
Contributor Author

Ahrotahn commented Apr 16, 2023

An important question to keep in mind for these changes: Who is this page for?

These are the two that I think are most relevant:

  • TypeA: These are users that already know the ropes. They don't actually need the documentation but find convenience in having links for typical setup procedures available when setting up a new profile.
  • TypeB: These are the users that skip all of our existing documentation only to later ask how to install extensions. I don't mean this in a condescending way, but it's best to keep this acronym in mind for these users: TLDR

The TypeA users should be well-served by virtue of serving the TypeB users so the focus should mostly be on the TypeB users. Because of this there were some rules I had in mind when setting this up:

  • The page should answer the most commonly asked questions as soon as possible.
  • The page should not be so long as to create a scrollbar in the initial window size on a 1080p screen



Do not shorten internal links

I'm not opposed to this, but the URL used for the cookie settings is chrome://settings/cookies?search=Clear+cookies+and+site+data+when+you+close+all+windows since there isn't an anchor for the entry. I think it helps the TypeB users to learn about the pages to say "these settings can be changed in chrome://somepage" rather than being explicit about the link. Especially since it's still the same page, the anchor simply highlights the relevant setting.


Does <title> go into window title?

Yes, and this title should be changed, but I think that "Welcome to ungoogle-chromium" would cause problems. This goes for the introductory text as well. There are third-party builds of Chromium using patches from ungoogled-chromium that would either not include this patch as to not be labeled as ungoogled-chromium which would still have TypeB users asking the same questions, or they would include the patch causing confusion with TypeB users as to why the browser's feature sets are different.

I think it's more important to somehow describe in a simple manner that the browser they are using has been built using the ungoogled-chromium patches rather than describing the browser itself as ungoogled-chromium.


Some introductory text is necessary to capture the attention and prevent a situation in which a user glances through this page and thinks: "Meh, just a usual formal/developer/boilerplate page, closing."

Oddly enough I think that an introductory text like that is the kind of thing that would make TypeB users think that. Though I think it's still a good idea to have some sort of an opening statement so that the page isn't confused with any other internal chrome page.
Another thing to consider is that we could style the page to look completely different instead of following the existing internal page style. Doing so might make the page more noticeable and allow us to fit more information on the page. But it's possible that might cause even more confusion.


State that this page is always available at a later time.

This made me realize that I didn't add the page to the autocomplete suggestions. You can still get to the page using full URL, but it won't show up in the dropdown until I update that.



The changes to the body all seem fine to me with the exception of the introduction, mostly due to what I mentioned above. I think that TypeB users would have a lower chance of ignoring the page if we can make the text take up no more than a couple lines of space on the page. Maybe something like this would work?:

This browser maintains the default Chromium experience as closely as possible but there are still some settings which differ that you may wish to change. This page can always be accessed at chrome://ungoogled-first-run


Edit:

I trust this page will be multilingual and understood by people who only know 500 words of their native language and have the ability to sign their name.

Unfortunately this would only be in English with the way this is currently set up. It would be possible to make it work with multiple languages, but then the patch would become significantly more complicated. I'm not sure what the best course of action would be to deal with that issue. Granted, all of our current documentation is currently only in English as well.

@PF4Public
Copy link
Contributor

TypeB: These are the users that skip all of our existing documentation

Won't they also skip the welcome page?

How about:

  • TypeС: Someone who wanted to try ungoogled-chromium "real quick", downloaded/compiled, installed, opened. Tried doing something usual as if it was Chromium, but after a restart was surprised by an empty window and without cookies. What gives!? Being faced with differences upfront would have been very welcoming. TypeС is capable of reading more than one sentence!

but the URL used for the cookie settings is chrome://settings/cookies?search=Clear+cookies+and+site+data+when+you+close+all+windows

I was referring mostly to <a href="chrome://flags/#extension-mime-request-handling">extension-mime-request-handling</a>. Cookies link is perfect in its short form.

Oddly enough I think that an introductory text like that is the kind of thing that would make TypeB users think that.

Well, now we have at least 2 opinions :)

I think it's more important to somehow describe in a simple manner that the browser they are using has been built using the ungoogled-chromium patches rather than describing the browser itself as ungoogled-chromium.

Fair enough. However:

This browser maintains the default Chromium experience as closely as possible

What if ungoogled-chromium patches are to be used by others, not preserving Chromium experience? :D

There are third-party builds of Chromium using patches from ungoogled-chromium that would either not include this patch as to not be labeled as ungoogled-chromium

Well, one of the options is to leave it as "their problem", some of them do not even respect licensing terms, why care for their difficulties 🤷

@Ahrotahn
Copy link
Contributor Author

Won't they also skip the welcome page?

I'm sure there will still be people that do, but we've done the most we can do after forcing that information upon them on the first launch.

TypeC

I guess I consider this TypeB still. For the comparison I was making, it only matters that they didn't read the documentation.

I was referring mostly to <a href="chrome://flags/#extension-mime-request-handling">extension-mime-request-handling</a>. Cookies link is perfect in its short form.

Yup, I guess I just didn't see the reasoning for doing that for one link but not the other.

What if ungoogled-chromium patches are to be used by others, not preserving Chromium experience? :D

Well, one of the options is to leave it as "their problem", some of them do not even respect licensing terms, why care for their difficulties

So while I do care about not making things too difficult for third parties that wasn't my main concern. This is more about reducing the support required from us. How many issues have come through where the user was using a third-party build? If we can set this page up in a manner that those third parties choose not to remove this patch then we will have a lower support request load on our end.

@PF4Public
Copy link
Contributor

How many issues have come through where the user was using a third-party build?

I have a feeling that quite a lot actually.

I'm sure there will still be people that do, but we've done the most we can do after forcing that information upon them on the first launch.

I just showed the introduction text (that I proposed) to a friend of mine as an unbiased unrelated person. The reply was: "Are you kidding me? I will not read all this! Give me the instructions — plain and simple." So, yeah, I have to admit that less text is more :)

@Ahrotahn
Copy link
Contributor Author

I've added the page to the internal page list so that it gets an autocomplete suggestion and is listed in chrome://chrome-urls/. The color for the inline code blocks seemed too dark previously so I've made that lighter.

I updated the verbiage on the page based on your suggestions. There's still room for better wording, but not much more space for it. The linebreak in the features section had to be removed and the line spacing reduced a little, but now everything just barely fits on a single page with the sections collapsed:

ungoogled-first-run_3

@Ahrotahn Ahrotahn force-pushed the firstruninternal branch 2 times, most recently from b69206a to c6e88d1 Compare May 23, 2023 14:43
@Ahrotahn Ahrotahn marked this pull request as ready for review May 23, 2023 14:48
@Ahrotahn Ahrotahn requested a review from a team as a code owner May 23, 2023 14:48
@networkException
Copy link
Member

A link to the default settings file to be introduced by #2359 would also be nice here I think

@Ahrotahn Ahrotahn force-pushed the firstruninternal branch from c6e88d1 to fb67d2d Compare May 31, 2023 12:25
@Ahrotahn
Copy link
Contributor Author

ungoogled-first-run_4

@PF4Public
Copy link
Contributor

PF4Public commented Jun 10, 2023

@Ahrotahn Here too, please.

@PF4Public
Copy link
Contributor

Oh I forgot how our patches depend upon each other in chain :( What would be the best order for merges?

@PF4Public
Copy link
Contributor

@Ahrotahn Will you be able to rebase this PR or we're postponing it until after version bump?

@Ahrotahn
Copy link
Contributor Author

Sorry, things have been busy today and I didn't notice the other PR had been merged.

@PF4Public PF4Public merged commit e124d2d into ungoogled-software:master Jun 13, 2023
@PF4Public
Copy link
Contributor

PF4Public commented Aug 23, 2023

How many issues have come through where the user was using a third-party build?

#2466
#2394
ungoogled-software/ungoogled-chromium-windows#247 (comment)
Could be also #2367
#601 (comment)
And more to come…?

It makes me sad.
image

@Nifury
Copy link
Member

Nifury commented Aug 23, 2023

We should change the issue template and ask everyone to upload a screenshot of the About Chromium page.
Issues involving third-party builds will be closed immediately.

Just kidding 😺

@PF4Public
Copy link
Contributor

We should change the issue template and ask everyone to upload a screenshot of the About Chromium page.
Issues involving third-party builds will be closed immediately.

I used JavaScript JIT with exactly this purpose :D

@Nifury
Copy link
Member

Nifury commented Aug 23, 2023

I used JavaScript JIT with exactly this purpose :D

That explains everything! I've been wondering the whole time why I don't have this option...

@PF4Public PF4Public mentioned this pull request Apr 7, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

First-run welcome page
5 participants