GitHub's new notifications: a case of regressive design

栏目: IT技术 · 发布时间: 4年前

内容简介:Disclaimer: I am the founder of a company which competes with GitHub. However, I still use tools like GitHub, GitLab, and so on, as part of regular contributions to projects all over the FOSS ecosystem. I don’t dislike GitHub, and I use it frequently in my

Disclaimer: I am the founder of a company which competes with GitHub. However, I still use tools like GitHub, GitLab, and so on, as part of regular contributions to projects all over the FOSS ecosystem. I don’t dislike GitHub, and I use it frequently in my daily workflow.

GitHub is rolling out a new notifications UI. A few weeks ago, I started seeing the option to try it. Yesterday, I received a warning that the old UI will soon be deprecated. At this pace, I would not be surprised to see the new UI become mandatory in a week or two. I’m usually optimistic about trying out new features, but this change worried me right away. I still maintain a few projects on GitHub, and I frequently contribute to many projects there. Using the notification page to review these projects is a ritual I usually conduct several times throughout the workday. So, I held my breath and tried it out.

The new UI looks a lot more powerful initially. The whole page is used to present your notifications, and there are a lot more buttons to click, many of them with cute emojis to quickly convey meaning. The page is updated in real-time, so as you interact with the rest of the website your notifications page in the other tab will be updated accordingly.

Let’s stop and review my workflow using the old UI. I drew this beautiful graphic up in GIMP to demonstrate:

GitHub's new notifications: a case of regressive design

I open the page, then fix my eyes on the notification titles. I move my mouse to the right, and while reading titles I move the mouse down, clicking to mark any notifications as read that I don’t need to look at, and watching in my peripheral vision to see that the mouse hits its mark over the next button. The notifications are grouped by repository, so I can read the name of the repo then review all of its notifications in one go. The page is fairly narrow, so reading the titles usually leads my eyes naturally into reading any other information I might need, like the avatars of participants or age of the notification.

I made an equally beautiful picture for the new UI:

GitHub's new notifications: a case of regressive design

This one is a lot harder to scan quickly or get into your muscle memory. The title of the notification no longer stands out, as it’s the same size as the name of the repo that was affected. They’re no longer grouped by repo, either, so I have to read both every time to get the full context. I then have to move my eyes all the way across the page to review any of those other details, through vast fields of whitespace, where I can easily lose my place and end up on a different row.

Once I’ve decided what to do with it, I have to move my mouse over the row, and wait for the action buttons to appear. They were invisible a second ago, so I have to move my mouse again to get closer to the target. Clicking it will mark it as read. Then, because I have it filtered to unread (because “all” notifications is really all notifications, and there’s no “new” notifications like the old UI had), the row disappears, making it difficult to undo if it was a mistake. Then I heave my eyes to the left again to read the next one.

This page is updated in real-time. In the old UI, after I had marked everything as read that I didn’t need to look at, I would middle click on each remaining notification to open it in a new tab. On the new real-time page, as soon as the other tab loads, the notification I clicked disappears (again, because I have it filtered to “unread”). This isn’t immediate, though — it takes at least as long as it takes for the new tab to load. Scanning the list and middle-clicking every other message becomes a Sisyphean task.

Aside: I tried adding a custom filter to show only pull requests, but it seems to silently fail, and I just see all of my notifications when I use it.

Anyway, we’re probably stuck with this. Now that they’ve announced the imminent removal of the old UI, we can probably assume that this feature is on the non-stop release train. Negative feedback almost never leads to cancelling the roll-out of a change, because the team’s pride is on the line.

I haven’t spoken to anyone who likes the new UI. Do you?

  1. Both of these pictures were sent to GitHub as feedback on the feature, three weeks ago.

Have a comment on one of my posts? Start a discussion in my public inbox by sending an email to ~sircmpwn/public-inbox@lists.sr.ht [ mailing list etiquette ]

Are you a free software maintainer who is struggling with stress, demanding users, overwork, or any other social problems in the course of your work? Please email me — I know how you feel, and I can lend a sympathetic ear and share some veteran advice.

Articles from blogs I follow around the net

How (some) good corporate engineering blogs are written

I've been comparing notes with people who run corporate engineering blogs and one thing that I think is curious is that it's pretty common for my personal blog to get more traffic than the entire corp eng blog for a company with a nine to ten figu…

via Dan Luu March 11, 2020

A new Go API for Protocol Buffers

We are pleased to announce the release of a major revision of the Go API for protocol buffers, Google's language-neutral data interchange format.

via The Go Programming Language Blog March 2, 2020

Updates in February 2020

This post gives an overview of the recent updates to the Writing an OS in Rust blog and the corresponding libraries and tools. blog_os The repository of the Writing an OS in Rust blog received the following updates: Mention potential bump allocator extension…

via Writing an OS in Rust March 2, 2020

Generated by openring


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python语言程序设计

Python语言程序设计

[美]梁勇(Lang Y. D.) / 李娜 / 机械工业出版社 / 2015-4 / 79.00元

本书采用“问题驱动”、“基础先行”和“实例和实践相结合”的方式,讲述如何使用Python语言进行程序设计。本书首先介绍Python程序设计的基本概念,接着介绍面向对象程序设计方法,最后介绍算法与数据结构方面的内容。为了帮助学生更好地掌握相关知识,本书每章都包括以下模块:学习目标,引言,关键点,检查点,问题,本章总结,测试题,编程题,注意、提示和警告。 本书可以作为高等院校计算机及相关专业Py......一起来看看 《Python语言程序设计》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具