Bug 1131248 - Please separate desktop launcher into a subpackage
Summary: Please separate desktop launcher into a subpackage
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: icedtea-web
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Deepak Bhole
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-08-18 19:12 UTC by Elad Alfassa
Modified: 2014-08-20 08:45 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-08-19 08:17:27 UTC


Attachments (Terms of Use)

Description Elad Alfassa 2014-08-18 19:12:33 UTC
Testing today's Fedora Workstation build, I see two desktop launchers from icedtea-web:

/usr/share/applications/itweb-settings.desktop
/usr/share/applications/policyeditor.desktop

They both use the same icon, which is a big app icon design no-no, and they are not really apps - they are configuration UIs.

It is still unclear if icedtea-web will be installed by default on Workstation, but if it is those two launchers must not be. Please separate them to a subpackage.

another reason for separating them to a subpackage is that when users click the little checkmark next to the "Java" plugin in GNOME Software, they won't expect getting two more "apps" they did not ask for. This is bad from UX perspective.

Comment 1 jiri vanek 2014-08-19 08:17:27 UTC
To be honest I do not understand the purpose of thi bug.

The itw-settings *is* regular app, and it deserves the desktop luncher.

Fact that icedtea-web provides, javaws, plugin and settings tool for them both is more then correct.

Comment 2 jiri vanek 2014-08-19 08:20:58 UTC
Oh and there is also policyeditor. It same thing as itw-settings. Configuring them both.

Comment 3 Elad Alfassa 2014-08-19 08:50:44 UTC
I disagree completely. A configuration dialog that 99% of the users won't use is not an app, it's a configuration dialog.

Since you refuse to fix this issue, we have no choice but to remove icedtea-web from the default package set in Workstation.

Comment 4 Elad Alfassa 2014-08-19 08:57:55 UTC
https://git.fedorahosted.org/cgit/spin-kickstarts.git/commit/?id=5c326c797b8f0842b6dc04412d5f9820d92a9026

(note: the timestamp on this commit is off, I wrote the patch only after you closed the bug)

Comment 5 jiri vanek 2014-08-19 09:05:08 UTC
Oh they will. both policieditotr and itw-settigns are even security related. Stop show here.

Comment 6 Deepak Bhole 2014-08-19 15:05:29 UTC
Elad, can you please point to a policy document on launchers for Workstation? 

The Fedora policy states that "If a package contains a GUI application, then it needs to also include a properly installed .desktop file. For the purposes of these guidelines, a GUI application is defined as any application which draws an X window and runs from within that window."
http://fedoraproject.org/wiki/Packaging:Guidelines#Desktop_files

Please either revert your commit or show an approved policy that states something to the effect of "if 99% of the users don't use it, it should not be there".

Comment 7 Elad Alfassa 2014-08-19 16:15:01 UTC
Hello.

Please note that I'm not speaking officially for the Workstation WG, as I'm not a WG member.

Now that this clarification is out of the way, let me explain:

The fedora policy says you should have a .desktop file for GUI applications, and that is indeed a good policy. However, the policy doesn't say you can't split the .desktop file to subpackages, which is an approach we have recommended before in a number of cases. I think most people who use Java in website, be it bank websites, games, or anything, are not going to touch the settings or edit the policy unless something breaks.

I did not ask you to remove this functionality, merely move it to an optional subpackage. Then users who need it will have a way of using it, and users who don't won't see it in the application view.

While there is no written policy that I'm aware of to define what constitutes an app, we do make this distinction - it's a design decision. When I say "it's not an app" it's not only my opinion, but an opinion I share with at least 3 other people who work on Fedora Workstation. 

I'm not going to revert my commit: while I cannot force you to make changes you don't want to your package, people who work on the Workstation product have the final say on what is installed by default in the Workstation product. Users who want icedtea-web will still be able to install it using our application installer - GNOME Software. 

Richard Hughes even made sure installing this plugin is extremely easy, by presenting it as an "addon" for Firefox/epiphany - see http://blogs.gnome.org/hughsie/2014/06/11/application-addons-in-gnome-software/ and http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1907


I should point out that icedtea-web was not installed by default in Fedora 20 either, and that it slipped back in accidentally. Since having it installed by default harms the product's user experience, we decided on removing it.

Also note this is not the first time we do something like this, and icedtea-web is not the only component we decided to remove from the default install.

Comment 8 Deepak Bhole 2014-08-19 18:04:42 UTC
Hi Elad,

What I am uncomfortable with is the fact that changes are being arbitarily enforced on to packagers with the threat of removal from default package set if they do not comply. Such a move is perfectly justificable if it flies in the face of policy, but there is no such policy here.

It seems that you (and some others in the WG) are arbitrarily deciding on how packages should be without proper discussion (which should eventually lead to policy formation). If there is no explicit policy for launchers in Workstation, the default policy of Fedora applies. While this is not your intent I am sure, what you are effectively doing is punishing packagers for following policy.

If you don't mind, can you please specify:
1. Who in the Workstation WG is in favor of not having launchers for certain 
   cases? Is this documented somewhere?
2. What is their criteria and the reasoning behind it?
3. What are some previous examples of when launchers have been split out?

Thanks.

Comment 9 Elad Alfassa 2014-08-19 19:06:27 UTC
Nothing is arbitrary about this. We remove things that don't look good. We decided that having icedtea-web will mean our user experience will suffer, and we don't want that, so we removed it.

Allan Day is writing a page to define what is an app as we speak, when it's ready I'll send you a link. It might take a while, as it's part of the new GNOME 3 Human Interface Guidelines which is unreleased yet.

I don't know why you think this is a "punishment". It isn't. It doesn't harm you personally. We don't *prevent* people from installing your package. Why do you see it as a punishment? We even made it easier for users to *install* your package if they wish, which was impossible to do from the graphical interface in F20 and very hard to do in F19 and prior.

Fedora has *no policy* on what should be installed by default and what shouldn't. We have *always* made these decisions ourselves. We can't let *anyone* just add a package to the default install, it has to be a decision made by the people who are actually working on the product itself.

Only one of the people who participated in the small discussion we had about this on IRC is an official Workstation WG member. The rest are people who work on the product without being official WG members.

If we had to have votes and long mailing list discussion about every change we make, we won't have time to actually do any work. This is not how the Workstation product is managed. I don't see why we need a lengthy discussion about removing one small package from the default install. We've done it before, and we'll do it again. icedtea-web is not the only package we blacklist.

---

So, to answer your questions:
1) I will not mention their names. This is not a blame game. I made this commit, and Kalev (a Workstation WG member) approved the patch. Two other people who work on the product have agreed with this change.

2) This is kinda long:

Having icedtea-web hurts the user experience of our product. It's two launchers that are not used by most people (most people don't use Java, and most people don't configure their Java plugin or edit its policy - for most cases it just works, and if it doesn't fiddling with the settings is not useful), they have long and non descriptive names (do you really expect a random user to know what IcedTea is when they just installed Fedora?), and a low resolution icon that doesn't fit with the design guidelines of the GNOME project. furthermore, those two launchers share the same icon, which makes the system looks really unpolished.

Another concern raised is the one of security. Having a Java browser plugin enabled and installed when the user doesn't know or understand what Java is might be dangerous. Malicious websites are known to abuse Java plugins which have the ability to run remote code completely un-sandboxed from the host system. When a confirmation dialog pops up, users will usually click "yes" or "I agree" or "continue" to just "make the damn website work" (especially if the text in the dialog is long and full of technical details), effectively allowing a 3rd party to run untrusted code on their machines.

And more on that, as I said before, icedtea-web was not default in F20 and probably even before that. It was pulled in *accidentally*. We don't have to have this long discussion on why we removed it, it should go the other way around: if you want it in, convince us it's worth inclusion.

3) For previous examples, take a look at the wikipage of the big Fedora 18 Launcher purge. It also has some reasoning at the top: https://fedoraproject.org/wiki/Design/F18_Launcher_Purge

Comment 10 Deepak Bhole 2014-08-19 20:15:58 UTC
Okay fair enough. Your email pointed to a couple of items that I agree need to be addressed in IcedTea-Web (regardless of if it is in default or not). Particularly:
. fixing the long/duplicate naming
. fixing the icon to make it high res

https://fedoraproject.org/wiki/Design/F18_Launcher_Purge is something I was unaware of. That does make a case for re-thinking these launchers as it sets precedent.

Finally, if IcedTea-Web was in fact pulled in accidentally rather intentionally (followed by removal over this), I have no objections to keeping it out. My primary objection was to the "do this or we remove your package regardless of policy" sort of vibe given off by some of the earlier comments.

Thanks for the links and for clarifying the issue.

Comment 11 Michael Catanzaro 2014-08-19 21:04:28 UTC
It does indeed seem to have been an accident. Anyway, I'd like to try to provide some more context for our thinking; Elad already mentioned much of this, but I think it would be good to have in one comment.

It is true that there's no policy to cover whether or not you need to split the control panel and policy editor into subpackages. I think this is a defect in the current policy, and we're working on changes to cover this situation, but maybe you won't feel the need to wait for new policy if we can convince you that subpackages are a good idea here. Consider the case where IcedTea is not initially installed, and a user installs the Java browser plugin with GNOME Software: he is going to be confused when new apps mysteriously appear, which would be prevented by splitting them into one or more subpackages, like Elad suggested. Also, consider the case where it is already installed, and the user tries to remove the control panel or policy editor: that action would unexpectedly remove his Java plugin, which he probably did not want to do. To prevent this situation, we're considering changes in GNOME Software to hide plugins and apps that depend on other plugins and apps. It's regrettable that this would have the effect of punishing apps that are not packaged like we want, but the goal is not malicious: we just want to provide an excellent user experience in the software installer.

(Just so that we're clear on terminology, I'm using "app" to mean any desktop file with NoDisplay=False. We really want there to be only one such desktop file per package, and for them to be leaf packages.)

Now, back to the entirely separate question of whether to install IcedTea by default. I'm sure you could make a case for having the browser plugin installed by default. I'm not at all convinced that we want it due to security concerns, but maybe the benefits outweigh the security risks: that's a discussion worth having. (I personally do not care very much either way.) But we are quite sure that we do not want the associated apps, so if the browser plugin depends on these apps then we are not going to install it. These apps look very old and out of place in GNOME, they are filled with confusing technical options, clearly intended for technical users who already know what IcedTea is, and they are not necessary for the proper functioning of the browser plugin. In contrast, we only want to install apps that attempt to follow GNOME's HIG and are very simple for nontechnical users to understand and use. If these apps were to be split into subpackages, then it would be possible for us to install the browser plugin without bringing in the apps as well, and we could have a discussion on whether or not to do that.

Comment 12 Omair Majid 2014-08-19 21:16:29 UTC
> In contrast, we only want to install apps that attempt to follow GNOME's HIG

Not that it's relevant here, but what about applications that attempt to follow another desktop's HIG? Will they also be left out? What about applications that don't follow GNOME's (or really any other 'standard') HIG but still try to be as generally useful (or user-friendly) as possible?

Comment 13 Michael Catanzaro 2014-08-19 21:53:55 UTC
(In reply to Omair Majid from comment #12)
> > In contrast, we only want to install apps that attempt to follow GNOME's HIG
> 
> Not that it's relevant here, but what about applications that attempt to
> follow another desktop's HIG? Will they also be left out? What about
> applications that don't follow GNOME's (or really any other 'standard') HIG
> but still try to be as generally useful (or user-friendly) as possible?

For the most part, they will be left out of the default install of Fedora Workstation, since other desktops' HIG are not relevant when we're shipping with GNOME. There will be some apps that don't fit in perfectly (like ABRT, Firewall, and SELinux Troubleshooter), but hopefully we'll be able to make some improvements to them in the mid-term future. It's not really any change, though, since it's how things have been for a while now: the only app I can think of (might be wrong) that will no longer be installed by default is Shotwell, in favor of GNOME Photos.

Comment 14 jiri vanek 2014-08-20 06:21:13 UTC
> you personally. We don't *prevent* people from installing your package. Why
> do you see it as a punishment? 

Well if you highlight  something like "(note: the timestamp on this commit is off, I wrote the patch only after you closed the bug)" What else can you expect?


> useful), they have long and non descriptive names (do you really expect a

So what do you suggest?

"javaws free implementation" 
"Settings for javaws and java plugin free implementation" 
and
"Policy Editor from javaws free implementation project" ?

The icedtea-web is upstream poject. The names are not so bad. Its long time since I last used  gnom shell or clasicc mode, but That time it was not supporting tool-tips

> random user to know what IcedTea is when they just installed Fedora?), and a
> low resolution icon that doesn't fit with the design guidelines of the GNOME
> project. furthermore, those two launchers share the same icon, which makes
> the system looks really unpolished.

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1936 

I agree that we missed this part a bit (a lot...)


Note You need to log in before you can comment on or make changes to this bug.