New Android App development

Hey guys!

First, I’d like to introduce myself since this is my first message on this forum. My name is Diego and I’m a Senior Android Engineer with +8 years of experience developing native Android Apps.

A few days ago, I started using HA as my automation system and therefore I’ve been using the Android App. All my respects to the contributors and people who work on the companion application they have done a great job :raised_hands:. However, I found the app uses a WebView under the hood and there are no tests at all, among other things.

I’ve been thinking about developing a fully native Android App for HA in order to deliver a native good performant application so everybody can choose if they prefer the official one or others as it happens with Reddit, Twitter or other clients.

I would appreciate your feedback about the idea, just to confirm (or discard) if it would add value to the community and if the people would use it. If so, which kind of features would you like to see?

Thank you for your time!
Cheers

Hi Diego
I’m a user or home assistant for more than one year.
I use it in 3 différents houses and it works great. Thanks to the team and the upgrades

I use companion on 2 android phones because it accepts only one instance of HA.
A new app with this possibility of addressing 2 or more HA would be great.

Companion app is doing a great job, with a lot of sensors , it would be great if it would be possible to use a native little automation on Android phones (like automate or macrodroid).
And if inside companion we could send or receive SMS (for notifications (send) or automations (receive) ) (I can develop use case in other subject if it s interesting)

So good luck and let’s wait answers or opinions of more experimented users or Devs or god’s of HA !

1 Like

If like to be able to control more of my phone’s features and settings from HA.

The reason for this is because as the official app the HA frontend is great and works on all devices Android 5+ since WebView can be updated. This means a user won’t need to setup a new dashboard and the look and feel of HA remains consistent. The app also integrates with the frontend to show the settings screen, handle NFC deep links etc…

There is an existing PR to add tests actually. Given the app is open source anyone can come and add any feature they like.

The more developers that contribute to the official app the better things can get for anyone :blush:

3 Likes

This right here. My recommendation is that instead of doing a hard fork / rebuild of a new app, go help the developers with the current one. As @dshokouhi states, the more developers that contribute to the official app, the better it is for everyone.

3 Likes

I agree with both of you @dshokouhi and @tykeal, contributing to an existing project and joining forces is usually the best. I’ll do it for sure sometime

However, even though the code is improving and I understand the reason of using WebView under the hood, I’m still worried about its performance. I’ve had many issues with it in the past and prefer the native UI.

Also, is there any roadmap? Or a contribution guide? Who does decide if some contribution fits the project or not? So sorry for those many questions but it would be nice to ensure that if we invest time in the project it can get merged so we don’t waste our time on it. Don’t get me wrong, I’m not complaining about anything, just want to make sure that the project doesn’t end up unmaintained, or my PR gets open forever as it has happened to me :sweat:

I love contributing to open source projects like this one, but also I think that’s the good part of open source, that you can create a different client with different ways of doing things that might fit better for others and engage more users. I still need to think about it :slight_smile:

3 Likes

The only times there has been an issue with the HA Frontend is when its also visible in Chrome for Android. Other times its some custom card that has been acting funky and needs to fix the issue on their end for it to work. Other than that I haven’t heard of any other frontend related issues that are app specific, they usually exist in the browser for us :slight_smile:

no roadmap

We have some docs for native app development, other than that we usually either submit a PR or gauge interest in github #devs_mobile_apps channel

Nobody really decides if something fits with the project usually a PR is submitted and code itself is inspected. As long as a PR discusses what its aiming to fix or add and it makes sense its ok. Normally what I have seen been done is a feature request is opened and once interest is gauged the feature is developed :slight_smile:

Not a problem at all, PRs dont usually sit forever without any comments on them. If you are worried about spending time on something that may not be accepted its best to ask in Discord.

I can contribute to some use cases if it’s useful for new versions of Ha companion.

An other idea could be to create an additional app , with the benefit of no intrusion in the actual Dev branch of Ha companion, and new possibilities of implementations like SMS or automations on the phone (which can “load balance” ha server) , multi instance, widgets , …

we are always happy to have more contributors :slight_smile:

well the idea is to not need more apps :wink:

what do you mean no intrusion? PR’s are created off their own feature branch and then they get merged into dev once accepted.

SMS is reserved for apps that register as a default SMS, the app can compose messages and also make phone calls using the intent system today (among a lot of other things)

already an existing feature request for this

official app already has 5 and happy to accept more :slight_smile: