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

Consider to provide an in-application view for notification/sponsorship #134

Open
merks opened this issue Feb 4, 2025 · 4 comments
Open

Comments

@merks
Copy link
Contributor

merks commented Feb 4, 2025

For quite some time, Oomph contributes the following menu item:

Image

It opens a URL as specified in the Oomph catalog index so we can dynamically control and URL and the content:

<annotation
source="http://www.eclipse.org/oomph/setup/BrandingInfo">
<detail
key="notificationURI">
<value>https://www.eclipse.org/sponsor/ide/?scope=${scope}&amp;version=${scope.version}&amp;campaign=2024-12</value>
</detail>
</annotation>

It opens in a browser or in an editor depending on this user preference which defaults to external:

Image

There have been discussions about providing a similar type of notification via an in-application view.

I've prototyped something rough. Here we see the regular sponsorship link opened in an editor in the light-theme IDE along with the new view at the bottom showing how the content can be dynamically adjusted to suit the theme:

Image

E.g., here is how it looks in dark theme:

Image

Note how the foreground and background colors match the theme. This is accomplished by passing query parameters that can be used by the javascript of the page to adjust the appearance of the content which we can see here in an actual external browser.

Image

You can contrast this with the editor showing the standard sponsorship page which is really not well-designed to be shown within a themed IDE application.

It's not 100% clear what additional value this will bring nor how best to exploit this perhaps both for potential notification, e.g., of some security problem, and for prompting interest in sponsorship. How often should we show it? Every startup? Once a week on startup? How will this be better than the current/old approach?

@fedejeanne
Copy link

Hi @merks , thank you for proposing this!

This was probably already discussed but I'll nevertheless ask the obvious question: wouldn't it suffice to let the "official" sponsor page adapt to the current theme?

The internal browser works with that too (at least for Windows)

Image

@merks
Copy link
Contributor Author

merks commented Feb 6, 2025

First the basic background. Sponsoring is down by 50% over the last year and a bit. This has an impact on the IDE WG budget. What can we do the improve this? We are told that the webdev folks are working on design improvements. Of course there other questions too such as why is it down? Also it would be nice to gather statistics so that when we try something different we can see what difference it makes...

In any case, Wayne did a quick prototype of a view some time back and there was some discussion about that here:

waynebeaton/org.eclipse.sponsor#1

As stated in that issue:

The requirement as I understand it, is to drive more people to sponsorship. I am fully aware of the menu item in the IDE and button in the installer; they've been there for a while, so the idea is to try and do something else.

That work was presented to the IDE WG and discussed with the Planning Council. So I'm trying to get something done to keep the issue moving forward because this has been stalled for a very long time. I'm not personally confident that showing information in a view will make a significant difference, but it is "something else". That being said, I do not like to waste my efforts on pointless activities...

As I see it, there are multiple angles to this:

  1. How/where is the information presented?
  2. How often is the information presented?
  3. What information is presented?

The following is the status quo:

  1. The information is presented via a URL in the default browser of the IDE, which is by default is an external browser.
  2. The URL is updated 4 times a year after the release and therefore is presented to user 4 times a year.
  3. Previously https://www.eclipse.org/setups/installer/notification/ was presented but now https://www.eclipse.org/sponsor/ide/ is presented.

Some technical considerations.

  1. The support for opening a URL allows the code to force the URL to open in an external browser but one cannot force it to open in an editor or a view if the preference is set to use an external browser.
  2. We can easily update the URL once a week if we wish to present the information more often or we can easily build a timeout to present it after some elapsed time since the last time it was presented.
  3. In browser the page will look fine as it is intended/designed to be displayed in a browser. In the IDE, the view area is quite small and the content is not generally designed for that restricted size. The editor area is bigger, but the content is still quite big and is not generally adjusting to the theme of the IDE, though of course in principle it could do that. The editor or view could be maximized.

Finally to your question:

wouldn't it suffice to let the "official" sponsor page adapt to the current theme?

Take a small step back and ask yourself whether sponsorship is down because one or more of the following reasons?

  • The page doesn't adjust to the theme.
  • The page is shown in a browser instead of in the IDE as an editor or view.
  • The page isn't shown often enough.
  • The page's content does not make sponsorship compelling.

We don't have answers to any of those and basically are stalled on "try to do something else".

You'll note that there is little in the way of comments here which one can interpret in different ways:

  • I don't care.
  • I don't have an opinion.
  • I'm not interested.
  • What you plan is so awesomely perfectly I'm speechless.

@fedejeanne
Copy link

Thank you @merks for the detailed explanation. I see that I've missed several nuances with my very naive proposal (thank God I'm not designing UI/UX 😅 ).

You're right: even if the webpage adapts its color to the current theme, the internal browser is smaller and the content in the page is designed/aligned to bigger windows so the result in the IDE would be subpar. One small detail though: the initial situation changed regarding the IE browser --> we now have Edge by default. But it's just a drop in a bucket, not really a difference.

I'll keep the general discussion in waynebeaton/org.eclipse.sponsor#1 to avoid digressing here in your PR. Thank you for the pointer!

@merks
Copy link
Contributor Author

merks commented Feb 6, 2025

Yes, the IE thing was also a problem because it wasn't actually possible to complete the donation steps within the embedded crappy old IE browser. I'm not 100% sure it's possible with Edge but it seems to I could get close to the final steps of donation when testing it earlier in the week. I'm very happy with Edge because it supports modern javascript so much better!

I don't think discussing other alternatives here is a digression of the general purpose and theme of the changes this issue is looking to make. 😁

merks added a commit that referenced this issue Feb 26, 2025
- Support filtered requirements resolved against the installation
profile to control whether the notification is applicable.
- Support eclipse+setup scheme to open a setup configuration and apply
it to the installation/workspace.
- Support eclipse+external scheme to open an external browser.
- Add the color and background-color as determined by the IDE's theme as
query parameters to the URL.

#134
merks added a commit that referenced this issue Mar 2, 2025
- Improve support for SelfHostingProfile for easier testing of
eclipse+setup links with p2 tasks.
- Augment the query parameters passed to the notification URI with
details about the running IDE including the java.version.
- Support setting system properties while performing setup tasks.
- Support the system property oomph.setup.p2.skip being set dynamically
to disable p2 tasks.
- Provide support for remembering the notification URI so that the
notification page can support permanently dismissing the notification
and allow this to be specific globally, per-installation, and
per-workspace.
- Automatically hide the Welcome view part if present.
- Allow the configuration to specify the trigger and the whether the
updater remains visible.

#134
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

No branches or pull requests

2 participants