Phabricator/versus Bugzilla

Related Phabricator task: Document benefits for Bugzilla users.

Improvements
Almost everything below is mobile friendly!

Task-centric environment

 * Tasks can be bugs, and they can be tasks. No more "this report is being tracked at..."
 * Reporters, developers, designers, and product managers use the same tool to discuss bugs/features and report progress.
 * We get project boards (example) and mockups with notes (example).
 * Explicit titles of tasks, code reviews, and mockups related to the task, without needing to click or memorize numbers.
 * You can also see in which column/status of the project board the task is currently.

Flexible taxonomy

 * Projects can be created like keywords; there is no rigid tree structure.
 * Tasks can be assigned to multiple projects. Less relevant where a bug belongs.

User account

 * Log in with your Wikimedia SUL credentials (planned).
 * Your email address is finally private.

Creating tasks

 * If we want, we can make a simple form for newcomers with only title, project, description, leaving the rest of the fields to advanced users only.
 * Type-ahead to select projects, instead of having to browse products/components to find the destination.
 * The description ("comment 0") of a task can be edited by multiple users (with history/diffs available) to evolve the task and summarize long discussions.
 * A toolbar and a specific markup allows formatting of descriptions.

Commenting

 * Auto-save of comments while you type.
 * A toolbar and a specific markup allows formatting of comments.
 * You can add files and inline images to comments with a simple drag & drop.
 * You can edit your own comments (with history).
 * No mid-air collision when someone adds a comment while you are writing yours.

Notifications

 * Web notifications show activity relevant to the tasks your are subscribed to.
 * With Herald you can create notifications based on queries, e.g. "email me when someone mentions (your regexp here)".

Calls to action

 * Unbreak Now! (highest priority) tasks appear in everybody's dashboards. (On the other hand, this will cause conflicts between groups with different interests, e.g. Wikimedia projects vs. non-Wikimedia extensions.)
 * Tasks needing triaging appear at the top of lists (including search results) and in personal dashboards of the members of the affected projects.

Permissions

 * We can decide who can create projects, rather than only let a few administrators do so.
 * We can have an EditBugs trusted user team whose members could add new members, rather than have a few administrators have to patrol every user.

Considerations

 * It is a paradigm different to Bugzilla's, and we need to plan for it (T43)
 * Offering a simpler UI, some advanced actions require an extra click e.g. T33, T49, T54.
 * Interacting via email will be possible, also for non-registered users (T52)
 * T95: Use ElasticSearch backend for Maniphest to get stemming (e.g. searching for "delete" should also find "deleting" and "deletion")
 * Will users find their way with type-ahead for assigning tasks to projects? See T27. There is also a page listing all projects in Phabricator but it is not linked from the task creation form.
 * Enforcing the policy of a project to all tasks related to it e.g. a task in "Security" can be made public (T50, upstream)

Missing features
Follow the tasks open upstream that are relevant to Wikimedia at the Upstreaming to Phabricator.org project. All the tasks related with Bugzilla vs Phabricator are listed as dependencies at T22: Identify features Bugzilla users would miss in Phabricator.

The most important features Phabricator misses today are:
 * No way to hide/delete comments (T84, upstream)

Not part of Phabricator, but requires porting:
 * T131: Plan to set up IRC bots to behave like the wikibugs bot
 * T28: Support Phabricator in Metrics Grimoire

Remarkable / under discussion:
 * T109: Phabricator is assistive technology–unfriendly (upstream, investigating the impact)
 * T45: Suggestions of possible duplicates when creating a new bug/task (upstream)
 * T96: Lack of dependency tree (i.e. tracking bugs) (upstream)
 * T67: RSS/Atom feeds (upstream, not in Phabricator's plans)