Streamlining Experiences

With Home Assistant the last few years we’ve been focusing on making things easier, stable, and faster. More things can be managed via the UI, most YAML-based integrations can be reloaded without restarting and if something breaks, safe mode and built-in backups have your back.

We have amazing contributors who work on making Home Assistant better every single day. However, you can’t keep growing by adding new things in the same structure. An interface made for 4 items will become confusing once the 10th item is added (like our profile page). A veteran Home Assistant user might be fine because they have seen the growth feature by feature and know exactly where to find what. For new users it is overwhelming.

For 2022 the motto will be “streamlining experiences”. We want to better organize and integrate all the different features that make up Home Assistant.

For example, there should be a built-in way, for both YAML and the UI, to easily send a notification with a camera snapshot to your phone, pick a song to play for an automation, or use text-to-speech to notify you when something is happening. All these things are possible today but require too much knowledge of how the various parts work.

We’ll have 11 releases this year and each release should streamline more things.

Have a good and healthy 2022 and see you at our first release on February 2!

Paulus


This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2022/01/19/streamlining-experiences/
25 Likes

Related to this, where there are buttons in the UI that say “Add to Lovelace”, I’d love there to be a “copy yaml” button next to it too.

Find it really useful to be able to configure a new card or UI component, e.g from the entities screen, but wish it was easy to get that card into the yaml config.

2 Likes

Very, very happy to hear that. HA has come a looong way since 2019 when I started to use it. It was rough back then - things like notifications required writing down yaml payloads manually, stuff like that.

1 Like

I think this is the most important issue on the books, also one of the hardest to pull off. So many barriers to use for the uninitiated i.e number of clicks to find certain options/features.

So many opportunities to improve, like offering more contextually useful buttons in different areas or one of my biggest bugbears allowing deletion of orphaned entities instead of being told “You can only delete 0 of 1 entities”, a contender for all-time non-sensical prompt…

One of the first places you could start is overhauling the integrations page. It just doesn’t work. Configs that are available on install disappear and aren’t available during normal use, you have to uninstall and reinstall to get them back momentarily. Multiple instances of the integrations each contain configs that should be available as a global/default option. One possible way you could solve this is to have each integration plug its config into a centralised Settings area similar to how Wordpress or Joomla plugins/extensions work.

The integrations config issues seems to me to be more related to how the integration Devs are being told they have to develop to meet the framework requirements of HA, and this is done without any input from the UI team…I think a solution here is to have a more holistic overview and help developers contribute to the improvement of the UI. This leads to the opportunity of consistency, one plugin I use has the multi-select dropdown in its config many times but it doesn’t offer the text editable format of the dropdown that can be seen in HA Automations…can’t these specialised elements be accessed by everyone? Doesn’t HA provide interface libraries/API that devs can easily call that simply do things the HA way?

Anyway, very excited to see the results of this commitment. HA has come so far since I took it up around 0.35. I think it is now the clear choice of good value, localised home control.

3 Likes

indeed, after many years of custom integration upgrades ( and old integration ) i have so many orphan entities that can be deleted.

This is a wonderful theme, but it will be a challenge. It takes product development from the technical dev perspective “let’s develop a solution” to the product and user perspective “let’s serve a need”. And this typically requires a deeper user understanding, insight into user journeys and observation of user behaviour. As a dev, you are no longer “building for yourself”, but building for someone, you don’t know and don’t necessarily understand.

I wonder what that means for your approach to lead this amazing project? Maybe you need to different ways to engage your community? Maybe this requires new forms of contributions?

6 Likes

Very happy to see this example of strong leadership to rationalize things and improve the user experience. Usability has really been continually improving over last the year or two. However, there are many common things that are still too arcane when i think about trying to get a non-technical friend or relative set up with Home Assistant.

Alerts and notifications are one of the most useful pieces of functionality that a truly automated smart home should have. However, the amount of knowledge to required to implement it well in Home Assistant is currently too high.

There is a built in alert integration with a nice amount of functionality, but it is yaml only and not reload capable.

There are various blueprints that implement various types of alerts and notifications, but it is hard to know how complete they are and what functionality is missing without detailed analysis.

I think the month of “What The Heck” got a lot of attention focused on thinking about Why things are the way they are from users, contributors, and developers. I think it was very beneficial. Even if there isn’t a release cycle dedicated to it, running the exercise with voting could allow people to help streamline the experience.

Keep up the good work. Would love to see Home Assistant become more accessible to a wider audience.

2 Likes

Thanks for sharing the direction Paulus. Great to hear the aspirational goal and definitely worth going after.

Directly related to this, I think in light groups we should see and be able to select/tweak the individual lights just like the groups function has. I’ve thrown it out on the UX side a few times and it’s never gotten traction.

Excited for this new direction!

1 Like

Wait, we just remove customized gui and back to yaml.
The current gui is not ready to replace customize gui yet. Y not leave it alone until better ui ready to allow changing attributes.

1 Like

Very positive news. The feature is to write little code and configure everything through the UI. I would be very nice if machine learning to be configured through the UI as well. So that you can select people who live at home and HA would be able to recognize them. I understand that many ML libraries are not ready and not user friendly right now. But HA can create APIs for open source, for example, for the creators of tensorlow. So that HA sets standards for open source develops, so that configs and UI can be easily attached to any library. Make Config Flow a separate part from HA, move it to a separate repository so that HA can be used not only for automation, but as an interface for configuring various open source libraries

Would be nice if work was done to fix contradictions in design choices. Please don’t take this as a rant but I view the following major issues for a non technical end user.

  1. Why is there no math / unit conversion or date time formatting options at LEAST for display in the UI / graphs? The solution given is create a PILE of custom YAML template sensors, that can not be created IN the UI so you need to go edit text files… This is essentially a developer response to an end user problem of wanting to see a Date in their local format, a temp in their preferred unit, or maybe convert the default output of seconds to something nice like minutes.
  2. There is no nice way to edit custom “Group” objects in the UI, Grouping motion and door sensors is super useful to get the aggregate state. It seems that directly adding multiple device and areas etc to automations is the preferred route, but since many things are not exposed as devices this is does not work.
  3. Very few integrations have a reload option and at least for mine I find I end up needing a full HA restart as reloading the integration after a change doesn’t seem to fix it anything.
  4. MOST of my integrations require deletion if there is a major change. MOST do not let you even deal with an IP change / host name change in the external component and require complete removal and adding the integration back in. WHY ? This destroys all the links for ALL the DEVICES created by these integrations, requiring a complete rework of any dependencies! This is a MAJOR regression in functionality vs when these where YAML configured and I could just update the IP… (yes technically I can go find the hidden folder and find replace but AGAIN this is worse for the end user.)
  5. Would also be nice if YAML integrations at least had a place holder card to show they where loaded on the integrations screen.
14 Likes

How about an easy way to replace faulty devices and maintain the entity. Or swap 2 devices while maintaining entities? Could help with troubleshooting faulty devices.

4 Likes

Indeed. In fact, most integrations don’t even tell what the IP or MAC address of a discovered device is… either during configuring the integration, or after it’s configured (when you might want to go lock it down in your router, or who knows what else).

5 Likes

Perhaps a good start to a year of streamlining would be a month of “what the heck”.

9 Likes

Totally this.
UI is really nice.
To Point 1) i can’t say anything as it never bothered me in any way.
for 2 and 3 i can just say: Poster is right here!
But 4) is a killer. In yaml it was just a little change of an entry and everything worked fine again. Now for many integrations it feels like being locked out of my own system.
5) is a really nice idea! Please make this possible!

Greetings

Blubbel

In cosmically connected event, Geoff Geerling just did a video on how he commissioned a light switch and a motion detecter. It’s a fascinating display of just how a user’s path appears before them…HA UI team, check it out for deep insight:

This also gives an indication into how much of a challenge this new objective will be.

5 Likes

My summary: He found it easy, but not entirely intuitive.

A good HA intro I think.

1 Like

I thought the same. Funnily enough, it was tiny things that caused him to stumble a little. Got there in the end although Geoff is smarter(tech wise) than your average bear.

Yes, that does help!

Two interesting comparisons would be

  1. Him doing the same when I started HA in 2016

  2. A not techy at all person doing the same.