[MacPorts] Meetings/MacPortsMeeting2018/UserExperience added

MacPorts noreply at macports.org
Mon Mar 12 14:32:37 UTC 2018


Page "Meetings/MacPortsMeeting2018/UserExperience" was added by neverpanic
Content:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
= MacPorts User Experience Improvements

== Aliases
Should we support specifying aliases? The consensus seems to be that there is not really a need for it at the moment, especially since we allow abbreviating commands.

== Learning from Gentoo: Displaying an Execution Plan
* Gentoo shows a [http://www.krizalys.com/sites/default/files/colors-everywhere.png nice summary] of what it will do when upgrading packages. It uses colors, font weight and a column with status letters to tell users:
  * Which ports that are being changed are requested (bold)
  * The old and new versions
  * Whether the port will be upgraded, freshly installed as a dependency and whether it will be compiled from source
  * The variants (use-flags)
  * The download size
  * A summary of the operations to be performed
* A lot of this information is not very easy to display in MacPorts because we do not compute a complete execution plan for upgrades before executing it, but rather recursively iterating through dependencies (which may in turn pull in other dependencies, etc).
* For example, our package index does not know whether a binary package is available
* libsolv would help with some of these issues, but requires accurate dependency information in the portindex.
  * Initial plan was to extend portindex and use symbolic execution of the variant sections when parsing a portfile for the portindex so that the changes done by a variant could be added to the index.

== Learning from Gentoo: Passing Messages to Users
* Gentoo has a mechanism to display messages to users
  * It's not hard to implement, could be a potential GSoC task
  * We could have a format that allows selecting which users see a certain message, e.g. `showif: os() >= 10.6`, `showif: port-installed(foobar)`

== Learning from Gentoo: Colors
* Colors could make output nicer to read
* The split between `macports1.0` and the `port(1)` command line client makes it somewhat difficult to use ANSI color escape sequences, since theoretically, `macports1.0` could be used by a non-commandline-client.
* A simple first step would be to make warnings yellow and errors red
* As far as visibility on light and dark backgrounds is concerned, we should be fine if we only use the 8 standard colors
* Aljaž will implement this as a first step: #56022

== Making Build Failures More Bearable
* We could have a simpler method to inform the project about failed builds of ports
  * E.g. a one-click button on a port's website (on a hypothetical new website)
  * Just a "this port is broken for me" is not really useful without logs
  * We could do opt-in submission of build failures, e.g. if the user is in interactive mode
    * We could run some quick analysis to speed up analysis, such as "OS version: x.y.z", "non-default prefix", "known problem: no destroot found", etc.
    * This could be done as a GSoC project
  * Other one-click buttons on a port website:
    * This port is outdated: Lets us focus on updating ports that users care about to maximize the value we generate with the time invested (perceived currency vs. actual currency)
    * This port is important to me

== Statistics
* Nobody is keen on the Ruby server part. The client is fine, but we should replace the server part with a new website.
* The problem is that we have always been waiting for the website
* Usual approach in other projects is to set up third-party website that just works
* With the message feature outlined above, we could improve participation in statistics; e.g. push a message that will be displayed as long as a certain file does not exist. Ask user to run a command that will record decision whether to contribute in this file.

-------8<------8<------8<------8<------8<------8<------8<------8<--------

--
Page URL: <https://trac.macports.org/wiki/Meetings/MacPortsMeeting2018/UserExperience>
MacPorts <https://www.macports.org/>
Ports system for macOS

This is an automated message. Someone added your email address to be
notified of changes on 'Meetings/MacPortsMeeting2018/UserExperience' page.
If it was not you, please report to admin at macports.org.


More information about the macports-changes mailing list