Its not going to be easy. Technology stack openHAB is based upon, namely OSGi and Karaf become a nische. Peak of its popularity was around 2009. There is less companies investing in these, leading to the situation where new developers are not there. Libraries ignore necessity to support OSGi even if its just a manifest file with import/export packages.
However, there are some aspects where OSGi can shine. Each time when project need a plugin system, there is no better way. It gives you not only a plug-ability but also plugin lifecycle, integration hooks and wiring mechanisms working as first level citizen. It essentially allows you to design a working solution without hacks. It pays off for large enterprises (big&fat application servers used it under the neath) or complex solutions (such as Adobe AEM, Jahia, Liferay). Looking at openHAB - it might be one of largest uses beyond commercial land.
Now to the point - how to attract new developers - tell them its not a CRUD system and that they can design peoper solutions without being locked into spring framework.
Why?
I think itās very intuitive.
openHAB is a software to control and automate smart homes. It has an internal bus (in fact that is the B in openHAB). All data which is used in openHAB has to be āonā the bus.
Items are the representation of data on the openHABus.
So, Items are openHAB internal to do some stuff.
And a smart home will need external data as well - may it be hardware or software.
You will need a communication interface for each individual hardware, as most hardware is proprietary. So you will need one binding (maybe use the word driver for this part) per hardware and/or external data source.
And there may be more than one piece of hardware to control, even from one brand.
So the next level is the Thing, wich is the representation of a device.
Itās not that counterintuitive, a device is a Thing.
A Thing may have several independent features, so there are Channels for each feature.
To enable openHAB to use features from external hardware, you have to link Channels to Items, so that commands to Items will control the linked channel as well and on the other direction data from Channels will go to the Item to be available in openHAB.
As you did not mention the Bridge: there are external bus systems and a Bridge is the representation of a gateway to this bus. But as a gateway is sort of a device, itās a thing itself
So:
Binding ā Hardware/Software driver for every external source/sink
Bridge ā representation of a gateway to an external bus system
Thing ā representation of an external device (maybe a virtual one, e.g. think of astro:sun)
Channel ā a piece of information and/or the option to control some part of a Thing
Item ā openHAB internal representation of information and/or control features.
Iām not sure I would agree with that statement. If openHAB developers had no interest in adapting the product, we would all still be using file configuration and DSL rules. I think the developers have done an amazing job of making openHAB easier to use. (easierā¦ not easy) I think the developers show a willingness to make changes that are clearly for no other reason then to make openHAB easier to use.
I donāt think openHAB is mature enough for that use case to be the main target user base. I also think we all agree openHAB is not for everyone.
The following is my personal opinion.
I think the target user is someone who has already purchased some smart home commercial products. They have already spent some of their own hard earned money on smart light bulbs or a smart thermostat or any numbers of the bizzilion smart home products out there. They have their smart light bulbs working, they loaded the app on their phone. They are already enjoying the benefits of a smart home. Butā¦ they are frustrated that there is not more integration of all their smart home products. They have fifty different apps on their phone. They wish that all their smart home products could work together. They wish for one single app that can tie all their smart home products together. An app that they can use to see an overview of all their smart home products, allow all of them to ātalkā to each other and control them all together with one single app.
There is your target user
How to market to this crowd? Wellā¦ look at the marketing that drew them into spending their own hard earned money on home automation already. Look at the marketing for phillips hue lights, nest thermostats, ring door bells
Setting up OH is insanely more difficult than setting up a Phillips hue light and app. If we market OH to these customers, I am afraid we will end up with a lot of negative experiences.
I agree with @JimT. We have no idea how many end users there are, and at the end of the day it doesnāt matter. This isnāt a for-profit enterprise.
You can try to develop a marketing strategy in an open discussion thread, but I think youāre already seeing the results.
I stopped reading that thread about 70 posts in. As far as Iām aware, nothing prevents the board of the openHAB foundation from appointing someone to be responsible for marketing the foundation and, by extension, openHAB software. Itās not like youāre trying to generate profits.
In my professional experience, technical documentation and marketing are vastly different things. But Iām not going to try to convince you otherwise.
This is not a shot at you, Andrew, but I think too many people in general are locked into their opinion of who the target user is. Thereās never going to be agreement, and itāll just keep devolving into debates. Not because people want to be disagreeable, but because itās a very easy topic to keep debating. Weāve all been in meetings where this has happened.
This is why marketers develop a wide variety of marketing personas (some of which will be in direct conflict with each other). It widens your focus and forces you to prioritize some users over others in primary/secondary/tertiary tiers. You might end up with one big campaign thatās very high-level, a number of small campaigns that target specific user tiers on different timelines, or both.
No, that is not correct. Marketing or promoting openHAB is not covered by our constitution, it is community work.
Furthermore, the board cannot appoint somebody to do something. Foundation members can volunteer for special ājobsā.
When I say āappointā, I just mean that someone volunteers and is then empowered to represent the organization. Iāve volunteered for lots of things and then been appointed afterward as a formality. Might just be a language thing.
Itās surprising to me that the constitution would explicitly prevent the foundation from engaging in activities to promote itself. However, Iām not familiar with German laws around non-profits (and understand them to be quite strict).
I imagine a foundation member (ideally a board member) could choose to start a volunteer marketing committee as community work. But again, I donāt really think this is necessary in the first place.
In this thread at least three target customer segments have been identified so far:
- Developers
- Home automation equipment owners
- System integrators
Do we know what expectations and needs each of these groups have? I assume they have different needs?
Also, are there more segments OH would like to target, or that I have missed? And what is the order of importance of these groups?
Thatās the problem.
Iām going to be blunt here-
No one believes that you donāt believe itās intuitive. But youāre NOT the target audience of this message and your opinion doesnāt matter in this context.
Iāve worked in software/hardware companies and when user-manuals or functionality was being tested - I always maintained that fellow engineers should not be the only ones doing that testing but the receptionist, or the cleaner, or someone off the street.
Then youāll really find whether your product documentation/GUI is intuitive.
I find the whole new GUI totally incomprehensible. Iāve tried but the documentation does not make sense.
There are some (very long) videos online too created by openHAB people. Totally lost after about thirty seconds.
Iād love to help with improving it to make it better for new users but I would be no help at all in this as I donāt understand it myself and would consider myself fairly technically minded.
What has helped me (but maybe for the wrong reasons):
- Simple Examples in the documentation. These can make everything clear and when all else fails, one can copy, paste and amend the code to fit oneās own system.
- The openHAB community forum - this is a fantastic resource and has allowed me to fix many problems.
What would help new users:
Simple, short, examples. i.e:
Creating a simple to that switch (one video matched by a supporting, linked document)
Connecting that same lamp to an Amazon Echo. (one video matched by a supporting, linked document)
Setting a timer routine for that same lamp.
Simple steps, easy to follow, with some obvious progression to automation of the lamp.
I am a big believer of working examples that can be changed to suit your needs.
Not everyone want to be a programmer they just want to turn a light on and off. I am one of those people.
I recognize some things in this post, speaking for myself only: main reason to use openhab is integration of all my seperate solutions. And to be honest, I guess most of the ācompetitionā would have solved that too. So some small ānon functionalsā made me pick openHAB.
It was for me difficult to start with, but you get used to it. While the documentation is good, I had difficulty to understand it. Somehow you miss some concepts if you start blanc. Examples on the community worked better but finding the right one was an issue.
So far my story, main point ā¦ if you really want to know why people use openHAB and what makes its more difficult (or easier) to reach their goal you should not guess but ask. Some kind of poll or questionaire.
Thanks @Saracen and @ubeaut. That is exactly one of the tasks we need to do.
As I have written in the intro post
We have a BIG gap for a new user between our website (his first point of contact with openhab) and our documentation. I really think that our documentation is good (and yes, it could be optimized a little bit - as almost everything in the world could be optimized). Our documentation is good for users who already became acquainted with openHAB and want to do more.
But it is not suited for new users, especially those who are not software experts.
I think, this gap should not be part of our official documentation, that needs to be on our website, just one click away from the main site. It should cover the whole process from where to get the image to make a first rule in an easy way and should just cover the main steps to make openhab operational. To the point, concise, ea sy. And as you said, explained by examples, pictures, screenshots etc.
Yes, all the information is already there, but as I have prooven in my intro post the information is spread across the whole documention.
I have already asked about the process how to add pages to our website and Iwanted to start working on some suggestions soon, once we have defined all areas of improvements in a āplanā.
Iāll be happy if you join
Why being so harsh?
My point is: Itās about wording, and if a user is willing to read, there should be no issue with these words.
Binding ā Hardware/Software driver for every external source/sink
Bridge ā representation of a gateway to an external bus system
Thing ā representation of an external device
Channel ā a piece of information and/or the option to control some part of a ThingItem ā openHAB internal representation of information and/or control features.
This is not that difficult.
And there is another thing (not the openHAB one). smart home is NOT easy, there are some really big players out there and even these are struggling with smart home stuff.
The way that HA counts integrations inflates their numbers significantly. The last time I looked the actual number, once normalized, was roughly equivalent. OHās numbers look less impressive because of the way one add-on can support lots of different devices from different brands and we only count it as one.
Definitely click through to the Contributing docs: website/CONTRIBUTING.md at main Ā· openhab/website Ā· GitHub
Creating an issue on the repo is the standard way to achieve this.
I donāt know how to see who the maintainers of a repo are. Iām sure itās there somewhere, I just canāt find it.
Jerome is definitely the maintainer of the documentation but thatās a different repo from the main website. He might be one of the maintainers there but I donāt know that for sure.
Also note that the add-ons docs are created and maintained by each individual add-on author.
Especially for something big Iād recommend creating the PR first with a [RFC] tag to indicate you want to discuss a big idea before spending too much effort on building something big that might be problematic to merge.
But indeed, creating a first draft as a PR to demonstrate what you are talking about can be very useful. But expect to have to change it as you go.
Itās no harder than contributing code. There isnāt the nice little āclick here to editā link at the bottom but it uses the same technology as the main docs.
There has to be some way to get to the new pages.
Mostly, there are some additions to standard markdown for stuff like the template, look and feel, menus, etc.
I donāt know most of these but itās easy enough to look at whatās there and use that as a template/example for what you want to do.
The organization isnāt going to create this. However if such a committee were formed and shows just a short track record of work and positive contributions and the foundation will recognize such a committee.
Not really. OH collects no telemetry. New accounts created on the forum could be used as a bad proxy for that. But thatās about as close as youāll get.
No, but someone has to volunteer to do that work. No one here on this thread is volunteering to do it. And no one can direct a developer to do anything. Someone must volunteer to do it. If itās a cross cutting change that hits a lot of different repos the AC might need to get involved. If the changes are breaking, they will have to wait for OH 5.
Thatās getting into dangerous territory.
Great! Whoās going to do that for an all volunteer based open source project?
But you just said that those who do understand it opinions donāt count.
So who can do this?
Yes, sorry. I was trying to make a point. It wasnāt directed at you personally!
That doesnāt look easy to understand.
For instance, a Channel is not actually either of the things you describe it to be but is a conduit or pipe through which pieces of information of one particular type can be sent.
For example (and I love examples), a channel may send and receive information about the colour of a lamp.
Sending the colour information to the lamp will change the colour of the lamp.
Receiving colour information from the the lamp will tell openHAB what colour the lamp currently is.
(Thatās a bit verbose but itās the idea Iām trying to get across).
I think thatās clear. But the point of the original post was to try and attract new users - who may not have much knowledge, but may one day become the programmers etc of the future.
Thatās not exactly what I meant, obviously. If a tech guru says something it easy, that doesnāt help new users who are having trouble understanding it in the slightest.
As I wrote before, Iām finding much of the documentation difficult to comprehend (itās much better than it used to be).
Iām learning by trial and error and so probably am not much help in that respect but I have proof read many technical manuals authored by someone else to ensure that both the instructions within can be followed, and are safe from a electrical-safety legal point of view.
Iād be happy, in the first instance, to volunteer to point out what I think is missing and what could be added or changed.
People telling me that itās easy and I should just āget itā is neither constructive or helpful.
I agree with all of what you wrote.
Looking at those brands you mention, they all started with very easy to setup, but very little āsmart homeā. And from there they expand. (more or less).
By doing so, they get hold of the ābasic interested userā, very easy.
Thats one thing openHAB cant do, unless openHAB make a very easy way to set up the system, and at least get the very same āvery little smart homeā result.
The keyword is easy.
But openHAB is not easy to setup. And everytime I see debates like this, its always explained with, (by the knowledged users), thats because smart home isnt easy.
Thats makes it a rather serious paradox and dilemma. And I believe the cause of openHAB status speaks for itself here.
Some day someone may spot at least one solution in this, which could make a big difference, simply by focusing on the keyword, āeasyā, and āhow to get startedā.
But as long as there are people in here continuing telling users, āall you have to do is read the docā, knowing the docs are not easy to read/understand, because āsmart home isnt easyā. Then there is yet another serious paradox.
Well looks like home assistant can make it even easier.
So to open the Raspberry Pi Imager, select the openHABian Image, flash to a Micro-SD-Card, put the card in a Raspberry Pi and get the power on is too complex?
(Thatās all what you need to get openHAB up and running)
from the article Greg posted about home assistant:
āCurrently weāre aiming for the audience we call the āoutgrower,āā
There is another one for your target audience
Actually that sounds exactly like I said here
so fineā¦ the guy who started HA gave you the targetā¦ go
Marketing guys, how do we market for the āoutgrowerā?
Seems to me, all we need is a little easier entry point and we can be the app HAās āoutgrowersā turn to