GoogleChromeLabs / carlo

Web rendering surface for Node applications
Apache License 2.0
9.31k stars 309 forks source link

Question: Why doesn't Carlo automatically install Chrome in the home directory? #90

Open kitze opened 5 years ago

kitze commented 5 years ago

Hey.

So this is a really great initiative and I'm following the progress closely. I was wondering if it would be a good idea for carlo apps to ship with a small installer which will check if Chrome is available, and if it's not, it's gonna download a version and install it in the home directory. The user doesn't have to be aware of this logic, just like he's not aware that Electron apps are shipping with a Chromium instance.

What do you think?

pavelfeldman commented 5 years ago

Chrome should only be installed with the user consent. We can print error message or point user to the installation, but user needs to be aware of what is happening and why.

ab35 commented 5 years ago

It would be great to have chromium embedded by default in all the operating systems, as a platform standard, with an option to upgrade to chrome if the user wants to. Ha ha.

kitze commented 5 years ago

@pavelfeldman Wait, but chromium is not installed with the user consent when they download an Electron app? And it's only used under the hood. Why wouldn't the same approach apply here?

pavelfeldman commented 5 years ago

Unlike Chrome, Chromium is just an open source library that one can use, no end user agreement is necessary.

kitze commented 5 years ago

@pavelfeldman yeah the end goal is for Carlo to work when the user doesn't have Chrome/Chromium. So is an automatic download of Chromium supported now?

ab35 commented 5 years ago

@kitze If one chooses a chromium channel in the launch options, then carlo calls puppeteer createBrowserFetcher which will download the chromium revision compatible with Puppeteer or even a specific revision. :sunglasses:

ChrisKader commented 5 years ago

Chromium is bundled with the application and is only used by the applicatiion. It’s part of the application that makes it function. That is also way electron apps are very large.

Where as with Carlo, you don’t need to download 100MB+ apps every time, eve though they all use the same runtime. Carlo let’s you distribute much smaller apps that use one Chrome install.

I view Carlo as something very similar to ADOBE AIR or FLASH, to a point. Use a common, preinstalled runtime, to distribute much smaller applications.

trusktr commented 5 years ago

@ab35 Just to verify, you're saying that the user need not have Chrome or Chromium installed, and that with the launch option you recommended it will automatically install Chromium behind the scenes, without the user knowing, and launch the Carlo app?

Will this automatically-installed Chromium instance be the accessible as an app on the User's desktop? I don't want that to be the case, just want the user to install "one app" not "two apps".

Do you have an example?

ab35 commented 5 years ago

@trusktr If I correctly remember, when the user does not have Chrome or Chromium, one can programmatically download a specific version (see one's comment above), and that version is downloaded somewhere into the carlo application directory tree. It will not appear on the User's desktop or as an installed app, because it just downloaded chromium into a local folder.