Merging the Web UIs #1486
Replies: 15 comments
-
That's a great start for sure, and I agree with all of it. One thing i will bing up is mobile support for such a UI. I think there are two concerns; First is that it renders well on a mobile browser, this I think is required and probably not disputed. The second is that the new UI be able to be deployed as a native/hybrid mobile application with something like Apache Cordova. I am not arguing for or against this last concern, only that we should weigh the pros and cons of it now. I have had mixed results with such an approach in the past, but having a single unified user experience does sound very appealing. |
Beta Was this translation helpful? Give feedback.
-
Yannick has had some promising results in deploying his prototype replacement UI as a Cordova app. But I'm hesitant to really go for that approach unless there are assurances that we will not be losing any functionality that we currently have in the mobile apps. Notifications is a big one but I know that the Android app supports other capabilities like voice commanding as well. I completely agree that we need to reduce the number of UIs. I'm totally in favor of removing ClassicUI, BasicUI, PaperUI and the Dashboard. I'm in favor of removing HABmin pending support in the new UI for those things that only HABmin does right now, namely zwave and zigbee administering tools. There is already an issue open for that so I'm sure it will get addressed. Does it have to be just one UI or could creating up to two UIs be a choice left to the developers whether it makes sense to split admin and user's UIs in two? On the forum thread some good arguments were made as to why it makes sense to split them and if the docs and presentation are handled well I don't see a usability problem nor a problem with too many choices. How thorough of an RBAC are we talking about here. Two roles, user and admin, or are we going full out with the ability to define which Things or Items each Role has access to? I suspect the former but want to understand the scope. My primary concern is that the new user experience is relatively intuitive and seamless. If they have to go through a whole RBAC/ACL activity before they get a UI with a toggle switch to turn on/off a light I think we will have failed. Is this too far down in the details and something for the devs to decide as they build it? |
Beta Was this translation helpful? Give feedback.
-
Here are some (maybe long overdue) thoughts from my side: First, I think we all agree openHAB needs a great new "default" UI - the one users will be seeing when they click on the Demo button on the website, and the one they will see when they start openHAB for the first time. It is the "face" of the project, and a major selling point, so it has to look good and clean and appealing - it might sound frivolous, but I believe it really matters. That's why choosing a good-looking as well as feature-packed frontend framework is paramount - I'm currently quite sold on Vue.js as the foundation and torn between https://v1.quasar-framework.org and https://framework7.io for the presentation, with a preference for the latter (mostly because of the iOS theme and some brilliant components), I can expand on the reasons in a later post, as I feel this one will already be a long one. We must be careful about that choice, and obviously not bet on a dead horse - I know there are fears of merely choosing the framework "du jour", which will be obsoleted in a few years, to which I'll simply say... yes, the UI could have to be rebuilt again in 5 years. So what? That's web and frontend development for you, that's just how it is. Fighting it is missing out on the great things that are being done right now. Next, that UI should cover the following use cases:
Finally, to address the "one UI for all" point Dan & Rich pointed out above, yes, I think especially for iOS where the webapp can't be installed as a PWA (and isn't as well maintained as the Android one), Cordova apps could make sense, so it's good that both Quasar and Framework7 allow that. You would get the same feature set, the admin/basic configuration functionality, the graphical analyzer, etc., push notifications could be handled too I think. That being said, I wouldn't want it to replace the native apps: we'll try to make a potential Cordova app perform great, and look great, but some users will still prefer the native app as a simple matter of feeling for certain cases (I know I will). Then we'll have to decide about how to call them (the default UI would become "openHAB" then what about the native apps? "openHAB Light" or? Would they have different icons? How to market them in the app stores?). Here you have it, I'll follow up with a more technical perspective later, but that's it for now 😄 |
Beta Was this translation helpful? Give feedback.
-
@rkoshak and @ghys all good points. @ghys Couple things,
|
Beta Was this translation helpful? Give feedback.
-
Yes, the new UI obviously needs admin & control features. Not necessarily 1:1 in functionality, but with features that don't let anybody miss anything important.
I have summarizes the state and open issues in #791. Sounds as if we are all on the same page here and the discussion already goes into far to many (very good!) details for the moment. So let me now call for a vote:
|
Beta Was this translation helpful? Give feedback.
-
👍 Good with this, what are the next steps? I know there are some very passionate opinions on the next generation UI on the forums :-) |
Beta Was this translation helpful? Give feedback.
-
It would be great to have a more unified UI that is maintained by everyone! In the long run I also think using the same (mobile optimized) UI in the Apps would greatly reduce the time spent on maintaining all Apps. It will probably also result in more UI contributors. |
Beta Was this translation helpful? Give feedback.
-
👍 I vote in favor of the proposal. I think it will clearly improve the user experience in many ways and hopefully it will make it easier on the devs to keep it maintained and improved over time. |
Beta Was this translation helpful? Give feedback.
-
Ok, cool. So if @ghys votes in favor as well, I'd think the further discussions should be driven by the @openhab/webui-maintainers, @ghys likely being the best one to lead it with his input given above already. |
Beta Was this translation helpful? Give feedback.
-
Yes, of course, it's in line with my proposals above, so I'm all for it ;)
Agreed, I wanted to a pro-con analysis of what I suggested above - Vue+Framework7 vs Vue+Quasar 1.0 (still in beta), I'm not against other proposals, so I'll open a new issue in the new repo this week - maybe along with a forum post - so that interested developers can voice their opinions. I remain convinced though that scaffolding the new web app with a set of frameworks that are well-documented (so new contributors can jump in more easily) and well-supported by strong communities, embracing their philosophy and guidelines and reducing the glue code in the codebase is the best choice. |
Beta Was this translation helpful? Give feedback.
-
I think either is a good choice, but i think Vue+Quasar 1.0 has the most momentum from what i can see on the interwebs, so thats what i would start with. Very excited to see whats possible! I think there might be some push back from a few in the community about using large frameworks like this at all, but I am not one of them. If you are going to expect to have multiple people contributing its better to have a well documented framework that enforces some consistency into how components and views are designed, vs re-inventing that wheel organically over time with no consistency or documentation. In the end, when someone want to contribute, it's easy for them to read up on how it works. |
Beta Was this translation helpful? Give feedback.
-
@ghys any updates? |
Beta Was this translation helpful? Give feedback.
-
@digitaldan sorry for the delay, I was both busy and sick these last few days ;) |
Beta Was this translation helpful? Give feedback.
-
Awesome work @ghys ! That post looks great, the only thing i would add is that i think you have a preference for many of the questions you ask there, i would state those preferences as a starting point (vue.js, es6, Quasar for example) so to focus the discussion. |
Beta Was this translation helpful? Give feedback.
-
@digitaldan thanks and you're right, but it was a little late yesterday for one more post ;) I finally made it this morning. |
Beta Was this translation helpful? Give feedback.
-
As a very first concrete proposal, I would like to come up with the following:
openHAB (3) should have a single Web UI that can be used for all administration tasks as well as for “normal” operation, thus combining the features of the current Classic/Basic UI with the Paper UI + HABmin as well as of the current Dashboard.
I would leave HABPanel + HABot out of scope as they are technologically&feature-wise quite different, although I’d hope that features from those UIs could slowly be migrated as well to a such a new UI.
A few motivations for this suggestion:
Our goal should be:
Suggested resolution:
Although it sounds pretty tough to implement a replacement for all those UIs, @ysc did a pretty convincing prototype a few weeks ago already, which makes me hope that it can be done. Likewise, David did some experiments with a Paper UI replacement 50, which also shows that there’s enough energy in the community to work on this.
Let me know what you think and whether you see any further things to discuss before going to vote!
Beta Was this translation helpful? Give feedback.
All reactions