jokob-sk / NetAlertX

🖧🔍 WIFI / LAN intruder detector. Scans for devices connected to your network and alerts you if new and unknown devices are found.
GNU General Public License v3.0
2.96k stars 178 forks source link

Consider Using Alternative Icon Packs #550

Closed Nanianmichaels closed 6 months ago

Nanianmichaels commented 8 months ago

Is there an existing issue for this?

Is your feature request related to a problem? Please describe

While setting up my devices, I frequently hit roadblocks when trying to assign icons to them, stemming from the limitations of the icon pack currently in use.

Examples of this include the icons for things like robot vacuums, amplifiers, fridges, AC units, and others, so it's not an isolated case.

Describe the solution you'd like

I'd like to have more choices for icons.

Describe alternatives you've considered

I've used Templarian/MaterialDesign in the past (it's the icon pack used for Home Assistant).

They will, however, drop brand names on v8 (they'll be moved to a new repository), so for brands simple-icons/simple-icons might be needed, too.

Anything else?

Thank you for your consideration.

Absoblogginlutely commented 8 months ago

Having just looked at setting up an icon for a firewall, I was surprised to see it doesn't exist (unless it's a pro icon in the Font Awesome pack and therefore not usable with this software) The simple icons pack doesn't have a firewall either, but it does have an ubiquiti logo. I think a product specific icon would probably be better than a generic company logo - a ubiquiti icon doesn't specify whether the device is an AP, firewall, camera etc. The Templarian/Material design option has multiple firewall icon options, so my preference would be that one. It also supports pihole as an icon too which would be good considering this repo is tied to the pihole.

Nanianmichaels commented 8 months ago

I should clarify that Simple Icons is mostly for brand icons, which will be deprecated on v8 of the Material Design icon pack (quite possibly even PiHole, though not sure about this).

I only suggested both Simple Icons and Material Design because the new brand repository for the Material Design pack may or may not be available simultaneously with the v8 base pack.

If only one pack integration is possible, then my preference is also for Material Design, they have thousands of free icons available, even if they drop the brand ones.

Tharic99 commented 8 months ago

Maybe use this as an additional source? Or even have a configuration in settings to add additional sources of icons?

https://github.com/walkxcode/dashboard-icons

jokob-sk commented 8 months ago

Please continue with the suggestions and feedback, still thinking about this and also which icon pack to support, if I decide to start working on this.

A small correction, Pro Font Awesome pack is supported if individuals have a license for it: https://github.com/jokob-sk/Pi.Alert/blob/main/docs/ICONS.md#-pro-font-awesome-icons

Nanianmichaels commented 8 months ago

Maybe use this as an additional source? Or even have a configuration in settings to add additional sources of icons?

https://github.com/walkxcode/dashboard-icons

The issue I see with Dashboard Icons is that they're not B&W, on one hand, and on the other hand they're more geared towards service/app identification, instead of device ID, which I believe is the primary use of PiAlert.

IMO, the biggest available repository (and free, at that) of icons is MDI, which is why I suggested it.

I'll be ok with whatever choice the dev goes with, including not changing the current pack, though.

Tharic99 commented 8 months ago

Maybe use this as an additional source? Or even have a configuration in settings to add additional sources of icons? https://github.com/walkxcode/dashboard-icons

The issue I see with Dashboard Icons is that they're not B&W, on one hand, and on the other hand they're more geared towards service/app identification, instead of device ID, which I believe is the primary use of PiAlert.

IMO, the biggest available repository (and free, at that) of icons is MDI, which is why I suggested it.

I'll be ok with whatever choice the dev goes with, including not changing the current pack, though.

I didn't say instead of MDI, I said "an additional source"

Neither MDI or Dashboard Icons has anything for TV devices. No Chromecast, Fire TV, Nvidia Shield or Apple TV icons, all of which are rather common devices that appear on most home networks.

Nothing is going to be perfect. But if Pi.Alert can support MULTIPLE sources, it's going to give everyone flexibility.

jokob-sk commented 8 months ago

I will definitely not be supporting a broad range of icon packs, as that brings unnecessary maintenance overhead. Even with one additional pack I have to deal with additional conditional logic in multiple parts of the application. So if there are other than MDI icons which could be used as alternatives, please let me know. So far it seems MDI icons are the preferred choice.

D3SOX commented 8 months ago

You can with very little effort easily support a variety of icon packs using Iconfiy

jokob-sk commented 8 months ago

Hi @D3SOX ,

I had a look at Iconify and it looks interesting. I see some issues though:

  1. It seems to be using typescript -> PiAlert isn't using typescript anywhere
  2. Node.js / NPN -> PiAlert isn't using NPN anywhere
  3. ...or a 3rd party/self-hosted application -> This could be a potential issue with being a dependency and I don't think the effort to include a self-hosted icon service into the PiAlert image makes sense (unnecessary image size, resources)

Maybe I misunderstood the documentation, but that's what I gathered from having a quick read-through. Let me know if that's not the case.

Thanks for the suggestion! j

jokob-sk commented 7 months ago

Hey @Nanianmichaels , @Absoblogginlutely , @D3SOX , @Tharic99

Question:

  1. Do you prefer self-contained apps with fewer icons (e.g.: https://mdisearch.com/ - ~ 6 000 icons) - vote with ❤ on this post image

  2. Do you prefer more icons, but the app will rely on 3rd-party APIs (https://iconify.design/ - ~ 200 000 icons) - vote with 🚀 on this post image

Please also post your reasoning below. Thanks in advance!

Absoblogginlutely commented 7 months ago

I'm not a professional coder, so this is based purely on personal preferences. Although the mdi has a good set of icons, it seems to be black and white which does keep the overview page consistent rather than having potentially jarring colours everywhere, the iconify option has the widest choice of icons available and the icon picker is simple to use. The fact that it also has a pihole icon is a big positive for me. It is using a third party script source that does introduce dependencies, but it looks like it's simple to implement (famous last words!)

Nanianmichaels commented 7 months ago

Also not a coder, so I'll too reply on a purely personal preference.

I agree the all b&w theme of MDI would make it a more consistent experience.

That being said, 200k icons is difficult to say "no" to, because the sheer choice will make it virtually impossible not to find exactly what you're looking for.

Hopefully it will be easy to integrate whatever option you go with.

jokob-sk commented 6 months ago

Hi everyone,

In the end I implemented SVG icon support, so you can theoretically use any icon imaginable.

This should be available in the next release. If you can, please have a look at the netalertx-dev docker image.

It would be great if you could test this (backup everything first or use a new container) on your end by switching to the above image and letting me know if there are issues.

Please note, there are quite a few big changes (including the rename) so take the backup seriously.

Thanks in advance, j

jokob-sk commented 6 months ago

released 🚀 -> closing