Skip to content
This repository has been archived by the owner on Sep 6, 2021. It is now read-only.

Show icon indicating extension in Extension Manager is available for update #6723

Closed
AllThingsSmitty opened this issue Jan 31, 2014 · 35 comments
Assignees

Comments

@AllThingsSmitty
Copy link
Contributor

If you open Extension Manager in Brackets the "Installed" icon will indicate if an update is available for extensions. It would be good to see the same call-to-action icon (green circle) used on Extension Manager icon (below the Live Preview icon) so a user knows one is available there.

@lkcampbell
Copy link
Contributor

+1 on this. Good idea.

@lkcampbell
Copy link
Contributor

If @larz0 can make an icon for this, I would be glad to do the pull request for this addition.

@peterflynn
Copy link
Member

Yep, definitely. We've talked about this a bunch but I don't think there's any bug or backlog item tracking it yet (other than the "full" extension updates story).

We can presumably reuse the green-circle overlay from the Extension Manager dialog, so I'm not sure we need any additional icons.

I think we've talked about doing a once per 24-hrs ping to check for updates, similar to how we check for Brackets updates. We should probably double check with @jrowny about the bandwidth implications of this though, since his company is hosting the extension registry.

@lkcampbell
Copy link
Contributor

@peterflynn, sounds good. Do you want me to talk to @jrowny, or do you guys want to do it and let me know what the next steps are?

@larz0
Copy link
Member

larz0 commented Jan 31, 2014

@lkcampbell I won't have laptop access til Feb 6 but here's a comp from an old discussion:

https://f.cloud.github.com/assets/1495261/1467328/8b0bf01e-4580-11e3-8700-b94a6805eba9.png

It's relatively smaller than the update count on the tab so that people won't notice it while they're focusing on work.

@peterflynn
Copy link
Member

@larz0 Man, that's really subtle! Maybe if it's not too much trouble @lkcampbell could try out a couple slightly larger radii for the dot (once a PR is up) and post screenshots to see how they compare?

@larz0
Copy link
Member

larz0 commented Feb 1, 2014

@peterflynn sounds good because I actually don't feel strongly about it. Here's the old discussion thread:

#5838

@ingorichter
Copy link
Contributor

Why can't we change the color of the icon in a subtle way? Make the icon glow and add a halo to it.

@larz0
Copy link
Member

larz0 commented Feb 1, 2014

I actually don't mind the entire icon being green when there are updates.

@dangoor
Copy link
Contributor

dangoor commented Feb 5, 2014

Hey @lkcampbell. I'll get in touch with @jrowny, but I'm guessing that an update ping every 24 hours will be fine. We were planning to do that all along anyhow. So, I think it's fine to get started on this.

@lkcampbell
Copy link
Contributor

@dangoor, sounds good, I will start working on the PR.

@peterflynn
Copy link
Member

Yay!

@AllThingsSmitty
Copy link
Contributor Author

Fantastic!

@lkcampbell
Copy link
Contributor

Okay, I finally had some time to make progress on this but there are still a few design issues I would like feedback on before I commit the PR.

The icon turns green when updates are available. The green is the same color as the green circle background in the update count in the Extension Manager.

The code checks the extension registry every 24 hours, assuming the icon has not already been turned green. If there are one or more updates available for installed extensions, the icon is turned green.

This icon stays green until the Extension Manager is opened (via the icon or the menu entry or whatever). The moment the Extension Manager is opened, the icon changes back to light gray; its job is done at this point.

Whatever the user decides to do once the Extension Manager is opened does not affect the icon in any way. For example, if the user opens the Extension Manager, looks at the updates available, and decides to update some, all, or none of the extensions, the icon will still remain light gray in all cases.

After 24 hours, the cycle restarts.

Let me know if you have any concerns or suggestions. Otherwise, this is the design of the PR I am committing in the next day or two.

@larz0
Copy link
Member

larz0 commented Feb 17, 2014

So if I don't decide to update right now the icon will turn green after 24 hours right? If that's the case then it's pretty cool.

@lkcampbell
Copy link
Contributor

@larz0 , correct, the icon will enter the cycle again and flip back to green in 24 hours if you don't touch your potential updates.

@peterflynn
Copy link
Member

That seems like it could feel a little weird: I open Extension Manager but don't accept all updates, and the icon goes gray -- so my mental model is "ah, it's like an 'unread' indicator, so it remembers which ones I've chosen to ignore." Then the icon turns green at some seemingly-arbitrary later point, yet there are no additional updates available -- it seems to have forgotten which ones I already saw.

So I think it'd be better if we either keep it green whenever a nonzero number of updates is still available, or actually do remember which were already "seen." The former seems simpler to implement, although it might argue for a subtler visual indicator since it's more likely to hang around longer. I'll defer to @larz0 on that :-)

@dangoor
Copy link
Contributor

dangoor commented Feb 19, 2014

Remembering which were seen is not likely to be too difficult. Something like:

  1. Create an array of strings "name:version" for each updated extension
  2. pull the previous array out of view state
  3. use _.difference(new, old) to see if there's been a change when downloading
  4. store the new array in view state when the user opens the extension manager

The array would also need to be updated every time the user updates an extension.

I'd personally be quite happy with a UX like that: an indicator whenever there's an update that I haven't seen before.

@lkcampbell
Copy link
Contributor

Okay, thanks for the input. I will start working on an improved implementation.

@larz0
Copy link
Member

larz0 commented Feb 21, 2014

Guys, I made the green circle larger than what I posted originally. We can use CSS to hide the green circle on the SVG icon (here it is: http://cl.ly/0R341g3W090s)

screen shot 2014-02-20 at 5 37 46 pm

@lkcampbell
Copy link
Contributor

@larz0, as an alternative, I made a green version of the icon:

green-icon

What do you think of it as an alternative?

@AllThingsSmitty
Copy link
Contributor Author

@lkcampbell, I like that. It stands out.

@larz0
Copy link
Member

larz0 commented Feb 21, 2014

I like it too. Some people prefer a quieter indicator so I provided one just in case.

@njx
Copy link

njx commented Feb 21, 2014

Sorry to jump in late, and I don't want to derail the current implementation, but is there a reason we can't just badge it persistently with the number of extensions that have available updates? Do we feel like it's going to be common for people to want to ignore updates?

@larz0
Copy link
Member

larz0 commented Feb 21, 2014

I don't see why people would ignore updates as they're supposed to make things better. I did some test on showing update count on the icon and I don't recommend it.

black-text

white-text

ae1a9d12-9b16-11e3-98b0-f418492688f5

@TomMalbran
Copy link
Contributor

What would happen if there are extensions that have updates but can't be updated because they need a newer version of Brackets? In this case the user would avoid those updates but would want to update them once they upgrade Brackets. (It usually happens when an extension updates to support the next release of Brackets before Brackets is released). Maybe we could not count these updates?

@dangoor
Copy link
Contributor

dangoor commented Feb 24, 2014

@TomMalbran That makes sense to me... I don't think it counts as an "available update" if you can't actually install it.

@marcelgerber
Copy link
Contributor

@dangoor But IIRC, it does count as an update in the update badge (green icon on Installed tab).

@TomMalbran
Copy link
Contributor

Yes, I don't think it should be counted on either of the places. So we should change the behavior of the update badge on the Installed tab.

@lkcampbell
Copy link
Contributor

Just now catching up on the discussion. I agree with @larz0, I don't like the look of the number badge on the toolbar icon. The plain green looks better to me.

@lkcampbell
Copy link
Contributor

Assigning to @zaggino since he is working on a solution.

@TomMalbran
Copy link
Contributor

@lkcampbell Thanks. If you have any input in his PR let us know. Since you though about this.

@zaggino
Copy link
Contributor

zaggino commented Apr 22, 2014

#7330 has been merged to master so this feature will be available in the next release. Leaving this open for a while if involved people want to test/comment on it.

@AllThingsSmitty
Copy link
Contributor Author

Awesome job, this looks great.

@TomMalbran
Copy link
Contributor

Closing since we got no reported errors.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

10 participants