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 @jimtng. 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: openhab-website/CONTRIBUTING.md at main · openhab/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