zixpo / candybar

Dashboard for Android Icon Packs. Supported by the community.
Apache License 2.0
288 stars 53 forks source link

New feature: Icon Pack Manager #194

Open kenjibailly opened 1 month ago

kenjibailly commented 1 month ago

Icon Pack Manager is a feature where creators can add multiple icon packs with multiple colors to the candybar app. Users of the app can apply these.

The feature can be enabled and disabled using a boolean in the dashboard_configuration.xml.

<bool name="enable_icon_packs">true</bool>

Added IconPacksTutorial.md with information + steps on how it works.

New item in the navigation:

image

Add multiple icons packs with icon for the icon pack:

image

Add different colors for each icon pack with an icon for each color:

image

Added a link to the navigation in the home menu:

image

I put a lot of work and effort in coding this with no prior knowledge of android app programming. I did my best to follow the current way of handling code. I tried to clean up as much as possible and remove unnecessary code, however there still might be things I forgot. I hope to see this feature implemented in the main candybar library so I don't have to maintain this fork with new candybar updates and perhaps see others build on top of this feature.

Mainly tested on Nova Launcher.

sarsamurmu commented 1 week ago

The idea is cool. But do we need it?

This means there is a main app and other small apps that only include the icons (these apps don't have a dashboard built into them, right?). If you need different colored icons, you would have to download them from the Play Store. Is not it better to just make different apps for those icons?

Maybe we can take this discussion to the Telegram group to see what others think.

kenjibailly commented 1 week ago

The idea is cool. But do we need it?

This means there is a main app and other small apps that only include the icons (these apps don't have a dashboard built into them, right?). If you need different colored icons, you would have to download them from the Play Store. Is not it better to just make different apps for those icons?

Maybe we can take this discussion to the Telegram group to see what others think.

To answer your questions:

these apps don't have a dashboard built into them, right?

The extra apps that only include the icons do not have a dashboard built in to them, correct. They are made to be as lightweight as possible. This has 3 main advantages:

  1. Less used space on the phone
  2. No need to put a bunch of apps on your homescreen, since these are installed once and never opened after. Only 1 app to use them all, being the main candybar dashboard app.
  3. Most importantly, all app icons are very well organized into 1 app. The end user can see directly which icon pack he wants to apply / switch to. When changing single app icons, the user can search in 1 app to find exactly what he needs.

If you need different colored icons, you would have to download them from the Play Store.

Correct, but this feature I created doesn't only give you the possibility to create color variants of an icon pack, it also gives the possibility to create multiple icon packs with color variations of each and include them in 1 app, being the candybar dashboard. So it has 2 levels.

Is not it better to just make different apps for those icons? The idea is cool. But do we need it?

Creating different apps per icon pack is an option, but for the end user it's very unorganized. The idea of creating color variations is to be able to quickly change certain apps / rows of apps icons to different colors, but having the same style. When having to search for each app within the launcher to edit your icon, it can get pretty annoying because it lacks organization.

I don't think the question is "Do we need this feature?", the question would rather be "Does this contribute to the UX of the end user?". I think a lot of features aren't needed, but if they contribute to the UX of the end user, then I think they're worth it.

See of it this way, if you have 10 cars, you could create a garage for each of them, or you could organize them in 1 garage for the driver to choose the car he wants to drive on sight and have everything organized in one place.

Besides that, the entire feature is an option. Everything that has anything to do with the feature is hidden when setting enable_icon_packs to false, this is by default:

<bool name="enable_icon_packs">false</bool>

So is it needed? Perhaps not. Does it contribute to the project? I think the answer here is yes. Does it change the main features of the app? No, it's designed to be an addition, not a change. With all the things explained above, I think this feature is worth being implemented. Hopefully you share my view.

sarsamurmu commented 1 week ago

Thanks for your detailed response.

I can see where you're going but the Google Play's new policy regarding "Minimum Functionality" worries me. Will Google approve those small apps with just icons? or would they take it down because of minimum functionality they provide? Did you try publishing one of these kind of apps? Maybe then we can know if Google allows these.

kenjibailly commented 1 week ago

Thanks for your detailed response.

I can see where you're going but the Google Play's new policy regarding "Minimum Functionality" worries me. Will Google approve those small apps with just icons? or would they take it down because of minimum functionality they provide? Did you try publishing one of these kind of apps? Maybe then we can know if Google allows these.

You're welcome, if you have any questions I'm happy to answer them.

I wouldn't be able to answer that as I have never published an app to the app store before and I'm not planning to either. My icon pack apps will be sideloaded and I have created another app which manages the install / updates of all these apps. With this manager you can create a json file that you upload somewhere and share that link to those you want. That link is then added to the settings. Multiple links can be added so you can limit the amount of apps there are per json file and if you really want you could ask users to pay for the link to be able to install them. Here's a link to it: https://github.com/kenjibailly/Android-App-Manager

The reason I'm not putting them on the app store is because I don't want to go through the entire process of test users, acceptance, etc per app. This is just a hobby of mine, I'm not really planning to do a whole marketing strategy to get the icon apps to the end user. The idea for creating this is for me, my friends and those who find their way to my socials.

You're more than welcome to try it out for yourself and if changes need to be made to the icon pack apps, I'm open to adapt them to the guidelines if you point out to me what the minimum functionality should be.