{"action":"created","issue":{"url":"https://api.github.com/repos/atom/atom/issues/9164","labels_url":"https://api.github.com/repos/atom/atom/issues/9164/labels{/name}","comments_url":"https://api.github.com/repos/atom/atom/issues/9164/comments","events_url":"https://api.github.com/repos/atom/atom/issues/9164/events","html_url":"https://github.com/atom/atom/issues/9164","id":111685617,"number":9164,"title":"Fix auto update UX","user":{"login":"benogle","id":69169,"avatar_url":"https://avatars.githubusercontent.com/u/69169?v=3","gravatar_id":"","url":"https://api.github.com/users/benogle","html_url":"https://github.com/benogle","followers_url":"https://api.github.com/users/benogle/followers","following_url":"https://api.github.com/users/benogle/following{/other_user}","gists_url":"https://api.github.com/users/benogle/gists{/gist_id}","starred_url":"https://api.github.com/users/benogle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benogle/subscriptions","organizations_url":"https://api.github.com/users/benogle/orgs","repos_url":"https://api.github.com/users/benogle/repos","events_url":"https://api.github.com/users/benogle/events{/privacy}","received_events_url":"https://api.github.com/users/benogle/received_events","type":"User","site_admin":true},"labels":[{"url":"https://api.github.com/repos/atom/atom/labels/auto-updater","name":"auto-updater","color":"fef2c0"},{"url":"https://api.github.com/repos/atom/atom/labels/enhancement","name":"enhancement","color":"bfd4f2"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2015-10-15T19:04:41Z","updated_at":"2015-11-17T03:51:42Z","closed_at":null,"body":"Our automatic update process is pretty bad. We release once a week, and every week over a half million people need to go through this process.\r\n\r\nThere are [errors](https://github.com/atom/atom/issues/7854), [bugs](https://github.com/atom/atom/issues/6482), folks want [better feedback](https://github.com/atom/atom/issues/8038), and the squirrel icon + release notes are really really confusing:\r\n\r\n* https://github.com/atom/settings-view/issues/511\r\n* https://github.com/atom/release-notes/pull/38\r\n* https://github.com/atom/atom/issues/5692\r\n* https://github.com/atom/atom/issues/6922\r\n* https://github.com/atom/atom/issues/3757\r\n* https://github.com/atom/atom/issues/8265\r\n\r\n### What happens now\r\n\r\n* Download an [old version](https://github.com/atom/atom/releases/tag/v1.0.18)\r\n* Start it\r\n* Notice there is a blue squirrel in the status bar, and it says 'view release notes'\r\n* Click the squirrel\r\n* See the release notes, note that they are showing notes for an old release\r\n* Click the restart and update button\r\n* Atom quits, notice that there is no feedback as to what is happening.\r\n* It's still not back. What's up?\r\n* Atom restarts again after 5 - 15 seconds\r\n* Notice that the release notes are up in the reloaded window. They are still out of date, and still have the 'Restart and Update' button showing and enabled\r\n* Notice that the squirrel icon is still showing, and still blue, with the same tooltip text\r\n* I click the squirrel because it's still there, and not going away. It focuses the release notes. Ok.\r\n* I'm thinking: is there another update??!? What is happening?\r\n* I check the atom menu\r\n  * Click the 'About' item, theres no information saying it's the latest version\r\n  * I notice there is a version number, and a 'Check for update'\r\n  * Nothing indicates I'm at the latest version\r\n* On reload, squirrel goes away; still nothing tells me I'm at the latest version. But no squirrel, so I guess so?\r\n\r\n### A 70% fix\r\n\r\ntl;dr: fix the squirrel icon, remove the release notes package, use the about package for update status (similar to chrome).\r\n\r\n* An update becomes available\r\n* The blue squirrel shows, its tooltip says \"Downloading update for version 1.0.20...\"\r\n* Clicking the squirrel shows the about page which shows\r\n  * the current version\r\n  * new version detected\r\n  * some text indicating that the update is being downloaded\r\n* When it's finished downloading:\r\n  * the blue squirrel turns green, with a tooltip of \"Version 1.0.20 is available\"\r\n  * the about page now shows that an update is available, and has a button to restart the editor\r\n  * The menu item now takes you to the about page\r\n* Clicking the green squirrel still shows / focuses the about page\r\n* Clicking reload reloads the editor like today\r\n* On reload the about page is shown.\r\n* The about page indicates that you are up to date, and has a link to the release notes\r\n* The squirrel is _gone_ after reload as the about page has the relevant information\r\n\r\nAdditionally, take a stab at the bugs:\r\n\r\n* https://github.com/atom/atom/issues/7854\r\n* https://github.com/atom/atom/issues/6482\r\n\r\nBonus:\r\n\r\n* In the about page, indicate which release rail you are on. beta? stable? development?\r\n\r\n### An extra 10%\r\n\r\nAdd some kind of feedback when atom is reloading. A small window with an infinite spinner would be sufficient. The goal is to indicate that it is working.\r\n\r\n### That last 20%\r\n\r\n* Add progress to the download in squirrel (cc @joshaber, is this possible today?)\r\n  * Add progress to the menu item in %\r\n  * Add progress to the squirrel icon\r\n    * Could add a progress bar to the tooltip\r\n    * Could make the blue squirrel \"fill up\" with green as it progresses\r\n* Add an option to turn off automatic downloads in the about page to fix https://github.com/atom/atom/issues/1882\r\n"},"comment":{"url":"https://api.github.com/repos/atom/atom/issues/comments/157260442","html_url":"https://github.com/atom/atom/issues/9164#issuecomment-157260442","issue_url":"https://api.github.com/repos/atom/atom/issues/9164","id":157260442,"user":{"login":"ethanluoyc","id":6040760,"avatar_url":"https://avatars.githubusercontent.com/u/6040760?v=3","gravatar_id":"","url":"https://api.github.com/users/ethanluoyc","html_url":"https://github.com/ethanluoyc","followers_url":"https://api.github.com/users/ethanluoyc/followers","following_url":"https://api.github.com/users/ethanluoyc/following{/other_user}","gists_url":"https://api.github.com/users/ethanluoyc/gists{/gist_id}","starred_url":"https://api.github.com/users/ethanluoyc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ethanluoyc/subscriptions","organizations_url":"https://api.github.com/users/ethanluoyc/orgs","repos_url":"https://api.github.com/users/ethanluoyc/repos","events_url":"https://api.github.com/users/ethanluoyc/events{/privacy}","received_events_url":"https://api.github.com/users/ethanluoyc/received_events","type":"User","site_admin":false},"created_at":"2015-11-17T03:51:42Z","updated_at":"2015-11-17T03:51:42Z","body":"@benogle What are the best ways I can check for updates? currently the release-notes package uses caching to store versions and use that to check against, but I think something simpler can be done?"}}