FreePBX design discussion


#1

[This post and the repliles it spawned were split from an unrelated thread here - mod]

In your rant post, and in another thread that was recently closed, you write about a [large] number of “very serious bugs” and how there are numerous posts about PJSIP “not working.” But @lgaetz didn’t find any issues from you in the tracker. I read this forum a lot – probably spend too much time here – and the concerns people raise, including PJSIP, generally aren’t FreePBX bugs. In fact, help me find some. What I see is help needed configuring, or misunderstandings, or whatever, but not bugs.

As was stated in your “rant ahead” post, if you encounter bugs, file them.

You should be happy that the goals he lists for Q1 are not about making the GUI prettier but about implementing a crucial feature and fixing up infrastructure and “internal plumbing.” Maybe in Q2 the team will get back to doing all that prettification you hate.


A Community Update
#2

The bugs that I referenced have been reported and are being addressed.

I made no complaints about pjsip in that thread, though I have contributed to another thread by pointing out that Chan_SIP is more mature and trouble-free that pjsip. However, those are Asterisk issues, not FreePBX issues, and are not the subject of the post that I linked to.

Since Jared expressed a willingness to listen to users, I was hoping that he would consider the portions of my post relating to UI decisions. The UI decisions that I complained about aren’t bugs. They are design issues.

Nobody is going to report them in the bug tracker, but I continue to see the unnecessary complication of the UI as the biggest problem with FreePBX, and one that needs immediate attention.

FreePBX could take a page from Google. Simpler is better when it comes to human machine interface. That’s particularly true when it comes to the configuration of a PBX.

I agree that configuration issues plague the forums, and that’s largely because of the unnecessary complication of the UI that I addressed in my earlier posts and
the lack of up to date documentation. Much of the documentation is out of date because the documentation was either never written, or hasn’t kept up with UI changes.

I once routinely contributed to the Wiki, so much so that Tony contacted me and offered to hire me to do it full-time. I had to decline that offer because I already have a full-time job in a professional field. Eventually, Tony hired a community manager who started deleting large swaths of what I wrote, and so I largely stopped.

As just one small example, I used to maintain the WIki page about “first steps after installation.” It used to consist of a succinct list of essential steps that needed to be taken after doing a new install of FreePBX with links to the specific wiki pages for the relevant modules showing what needed to be done. It was so popular that it was often the only link that other distros (like RasPBX) would include to the FreePBX wiki.

Now its a bloated list of instructions that is useless to anyone who is not using the FreePBX distro. It seems more geared to getting users to activate (which does not apply to anyone using FreePBX outside of the Distro) and using optional modules like EPM and Sipstation, neither of which are essential steps in the use of FreePBX.

The first steps should be a list of essential steps, i.e., things that you have to do in order to make FreePBX work right. It should certainly conclude with a link to a list of optional steps that might make operation more desireable, including the activation of the Distro, the use of commercial modules like EPM, the configuration of time conditions and time groups, etc.

I used to regularly participate in the forums. I looked for patterns in the posts and focused my efforts in the Wiki to address the issues that arose again and again. Then, I’d link to the Wiki when new posts arose raising the same issues. Most of the stuff that I added has since been removed by the community manager, or been made obsolete by unnecessary changes to the UI.

Given the lack of a coherent basic configuration guide and the lack of documentation that answers the most common issues, it is no wonder the the majority of the posts on the forums are from people who have misconfigured their system.


#3

From linked post:

I want a long list of text entries that I can easily modify.

I can understand why some power-users might want this, but basically this borders on just configuring text files – essentially, editing a config file in a browser window. The suggestion was made that you consider just using plain Asterisk, which might be a very good way to go if you want that kind of configuration method.


#4

And that suggestion is ludicrious. Anyone who has looked at the Asterisk .conf files knows that what you’re saying is wrong. Asterisk is a programming language. Although a few of Asterisk’s .conf files contain parameters, most of what is in the .conf files are programming instructions.

And I’ve never asked for text files. I’ve said that the interface should be simpler, not more complex. Again, it would be wise to listen to your users, rather than rejecting their suggestions by exaggerating or distorting them.

Anyone who is familiar with FreePBX 2.xx knows precisely what I’m talking about. In that product, each module presented the user with a nice list of text based entries that FreePBX could then use to program asterisk to do what it needed to do. Now, we have a much more convoluted UI that can accomplish the same thing.

But, it is so complex that new users don’t have much of a chance of understanding how it works. People like myself who have the benefit of ten years of experience with the old UI and who know how to dig into the .conf files can often reverse engineer the complexity and figure out what the UI does, but its much harder now. And it doesn’t have to be.

FreePBX can be feature rich and still have a simple GUI that is easy and intuitive to use. It’s not easy to do, but it can be done. Google has made itself the leader in internet search by doing it right across most of its products. Gmail, for example, is an incredibly feature rich application, but it still has a relatively simple GUI. Notice that when you configure Gmail, each configuration section is essentially a long list of text-based fields that the user can fill in, grouped by category - just as existed in FreePBX 2.8. Unlike Microsoft (and FreePBX), Google has resisted the temptation to make configuration pages short (and often duplicative) because doing so makes configuration more time consuming and difficult.

The Dev team should dedicate some effort in that direction. Instead of floating submit buttons (why??) and password fields that blur unless you hover over them (again why??), focus on making the UI so simple that documentation isn’t necessary, or that the documentation is built into the UI.

It’d be easy to do. If you want some suggestions on how to accomplish it, feel free to reach out to me. I’d be happy to spend some time on the phone with Jared or anyone at the FreePBX team to offer some simple suggestions that would accomplish these goals.


(Tom Ray) #5

Without qualification you are contradicting yourself in that remark. Unless you are running RealTime which holds the configuration details in a database then Asterisk is using text files because that is what the .conf files are. In order to edit those files you need a text editor such as nano or word pad.

No, it is not. It is a telephony toolkit. You can use different programming languages with Asterisk but outside of the extensions.conf you aren’t doing anything “programmatic” with the configs.

While this is a round about and kinda off topic way of doing it, the actual design for FreePBX is a touchy topic. If you are looking to have FreePBX be how it is generally referred to “a management GUI for Asterisk” then it is not really a PBX. Unfortunately, that has been a flaw for FreePBX (to me) as compared to other PBX systems in the market FreePBX is lacking. The notion that it just needs to let you edit the Asterisk configs then it is not really a PBX but a config GUI because as I said before Asterisk is a toolkit. Not a programming language and not a PBX. It needs to be made into a PBX.

In other PBX systems if you want to enable TLS you just enable TLS. You don’t have to go and enable/set multiple settings per extension. It’s just on/off. Same with other features. The PBX doesn’t require the user to have intricate knowledge of the underlying voice engine because it does the work. Also there are numerous things PBX systems do that have nothing to do with the voice engine part of it.

For me, FreePBX needs to get away from being more of an Asterisk config editor and more to being a traditional PBX.


(Matthew Fredrickson) #6

I don’t think that doing major GUI revamp is in the cards (at least for the next 6-9 months) from a Sangoma team perspective, but I think code contributions in that area are always welcome from a community perspective.

Not to wax too philosophical, GUI changes always seem like double edged swords as well - when you fix things you inevitably piss off all the user base that are used to the way things used to work as well, for better or worse.

On the SIP vs PJSIP side of things, the only recommendation I have is to get yourself moving towards a PJSIP solution. For better or worse, from an Asterisk engineering team perspective, chan_sip is a dead end - it’s too difficult to work on, has too many fundamental flaws, and chan_pjsip is the way forward. Likewise, from a FreePBX perspective, it would behoove users to start migrating towards PJSIP. Bugs are more likely to be fixed there as well, versus in chan_sip, nobody on the Asterisk dev team wants to touch it with a 10 foot pole. Due to this, chan_sip was marked as deprecated in the Asterisk code base.

Last of all, if you have specific issues or bugs with FreePBX 15, please open bugs on the issue tracker with them. No new release of software is perfect, and any chance of moving things forward to a resolution requires first opening bug reports.

Hope that helps a bit, and best wishes.

Matthew Fredrickson


#7

I quoted you directly - a “long list of text entries”. Maybe FusionPBX would be better for you. It’s got a rather unfriendly GUI very much like what you describe and suitable mostly for power users who know how FreeSWITCH works, under-the-hood.


#8

I’ll give one more example. Again, this is just an example.

The landing page on FreePBX 14 is very nicely laid out. It has four options in the center of the screen (FreePBX Administration, User Control Panel, Operator Panel, and Get Support). It also has three options at the top of the screen, two of which are duplicative of the options in the middle of the screen. One is entitled UCP (a duplicate of the “User Control Panel”) and one is entitled “FreePBX Support.”

This is actually a pretty good start, but it has some problems that could easily be improved upon.

  1. Given how much free space there is on the landing page, you could easily add more descriptive text under each of the four main options.

For example, beneath “FreePBX Administration” you might add something to the effect of “Configure your PBX.” Beneath “User Control Panel” you might add a description of what the User Control Panel does and who can use it. I haven’t spent much time using UCP, but someting like “Users can check their voicemails and view their call history using the username and password configured by the Administrator in the User Manager module” would be a good starting point.

Same for “Operator Panel,” though since OP (iSymphony) is not installed by default with the Distro, I don’t even understand why this option appears on the landing page at all. If you’re going to keep it, then instead of leading to a “module not installed page” or “server not found,” why not lead to a page that explains what iSymphony does and how to install it? Or perhaps have the icon disappear when the corresponding module is disabled.

And the “Get support” option links to a dead page on the FreePBX web-site. Before you went to the trouble of creating those fancy icons, someone should have gone to the trouble to ensure that the link to “get support” was always correct. A simple redirect on FreePBX’s web-site could have prevented this. Or better yet, why not create a page within FreePBX that simply lists the support options, i.e.,

"Free support is available on the FreePBX forums (www.freepbx.org/forums)
Paid support is available by calling 1-800-XXX-XXXX or at FreePBX’s support page (www.freepbx.org/support)

etc."

  1. The duplicative entries at the top of the page should be eliminated. If you’re going to keep them, then they should at least use the same terminology, i.e. UCP should be “User Control Panel” so that it is obvious to the new user that these are identical to the options that appear below.

And “FreePBX Support” should link to the same page as “Get Support.” Right now, it doesn’t, as evidenced by the fact that it works, while the “Get Support” link goes to “Oops that page can’t be found.”

  1. There should be a clear button on the first page entitled “Documentation” that links to a clear and concise set of instructions for how to use FreePBX. This should not link to a wiki. Rather, the documentation should be a module within FreePBX. Anytime that any dev updates the UI, he should also be required to update the documentation to match the changes he made to the UI.

If a dev cannot explain the change in the documentation, then the UI is too complicated and needs to be simplified. Or you can call me, and I’ll write it for you.


#9

Yes, you did quote me, and then you exaggerated what I said. A “long list of text entries” is not the same as “text files.” Why are you pretending that I said something that I didn’t say?

Why would you say that FusionPBX would be better for me? I’ve been using FreePBX for ten years. It works fine for me. My concern is about making the project more useful for new users.

I also never suggested an unfriendly GUI. You seem to be confusing “friendly” and “simple.” A simple GUI can be friendly. The GUI that FreePBX uses now is certainly pleasing in appearance, but not in utility. Its unnecessary complexity makes it unfriendly to new users.

Again, that’s why the forums are filled with people who have configuration problems.


#10

Well, I think you’ve shared a lot of opinions here about your preferences and your perception of what new users might want. I don’t think new users would really agree, but it’s just our opinions.


#11

The evidence that new users are having problems configuring their system is all over these forums. If you’ve been here for more than 10 minutes, that should be readily apparent to you. The importance of simplicity in UI design is something that is well known to anyone in the computer industry.


#13

The .conf files are text files. I’ve never said otherwise.

However, the .conf files are not simply a list of variables and their respective parameters. They are not merely configuration files. Some of the .conf files contain a list of ordered instructions telling Asterisk how to behave when it receives a given input. In fact, the bulk of what makes Asterisk work is those ordered instructions. An ordered list of instructions telling a computer how to behave when it receives a given input is a computer program, and not a configuration file.

When I suggest that FreePBX should simplify the UI so that it contains a list of fields and values so that configuration for new users is easier, responding that a user desiring that simple experience should just use Asterisk and its .conf files is an inappropriate response. Using Asterisk’s .conf files would require the new user to do much more than filling in values. It would require the new user to learn Asterisk’s internal programming language and to learn how to build dialplans. It would also require that same user to learn database programming so as to integrate Asterisk with maria db or mysql.

The whole point of FreePBX is to have a simple UI that allows the user to enter the salient details, and to then have FreePBX do the difficult work of configuring Asterisk and writing out the conf files.


#14

I think you’ve missed the point of my posts. Everything you do should be guided by the notion that the GUI should be simple and easy to use. If you do that, you’ll never need to do a “major GUI revamp.” If you feel the need to do a major GUI revamp, you’ve failed in the overriding goal.

That needn’t be true, but I can see how you would think that given the changes you have made to the UI that have largely made configuration more time consuming.

I really don’t care about this issue one way or another. I did not raise that issue in this thread. Someone else did.

I already did that. In the original thread from which this thread was split, Jared asked for comments on his blog post, which talked about the direction that FreePBX should take going forward.


A Community Update
(Lorne Gaetz) #15

I’ve split all of today’s additions from the original thread into this new thread. Please keep the conversation going in a respectful manner.


#16

It’s kind of crazy how people nitpick AdHominem while the main message is being missed. The product is not intuitive. Documentation is not very strong and in no way seems to enable a new user. I find myself having to go into the forums a lot. I actually had to use YouTube videos made by CrossTalk Solutions to figure out how just to get started. FusionPBX seems to be a step backwards in what AdHominem is talking about…had you said VitalPBX that would had made more sense. As new user (as I’m always trying to learn) I’m with AdHominem. BTW weeks back I complained that the release notes for FreePBX SNG7-PBX-64bit-1910 was actually for SNG7-PBX-64bit-1904 and still today they are wrong.

AdHominem - I get it, you’re wanting to help. I would visit other forums that would welcome ideas and synergize…this thread seems to be more trolling then wanting to build upon a solution. I get your message and its not lost on me.

Thanks,

. .


#17

Could be that the tone of the help/suggestions had something to do with the defensive response posture. Also that many simply disagree.


#18

Gordon,

Thank you very much for your support.

Although FreePBX and Asterisk are both ostensibly open-source projects, the reality is that neither would exist without the commercial support from Digium, Tony Lewis, and now Sangoma. The continued existence of FreePBX depends upon people choosing FreePBX over other options (3CX, Cisco UCM, etc.) and buying either commercial modules, Sangoma hardware, SIPStation, or commercial support.

Like many technology products (e.g., Apple), FreePBX has a group of blindly loyal supporters (“fanboys”). They know the product. They love the product. And for same reason, they take criticism of the product as a personal attack on their decision to do so. To them, anyone who criticizes FreePBX should immediately quit using it and use something else. The problem with that approach is that if new users don’t keep choosing FreePBX, the corporate support that Sangoma provides will dry up and there won’t be a product for them to love down the road.

In some ways, I’m a FreePBX fanboy too. Aside from air conditioning and mobile phones, I cannot think of another product that has changed the way that I live and do business more than FreePBX. But, my love for the product has not blinded me to FreePBX’s faults. I’ve tried hard to get the developers to ensure that FreePBX stays easy to adopt and use so that new users will keep choosing it.

Now, I’m sure that the devs will reply to this post by pointing out that x,000 new systems were installed last month/quarter/year. Whatever that statistic is, however, it ignores the fact that there could have been exponentially more installations had the product been more user friendly and better documented. In the long term, if 3CX steals enough of FreePBX’s business, there won’t be a FreePBX left to love.

Seriously, FreePBX will let anyone set up a corporate grade PBX for FREE. 3CX costs money, and UCM is absurdly expensive. Financially speaking, there is no reason for anyone to ever choose any of the FreePBX alternatives. They choose them because they’re easier. Time is money.

I may well be the last in the line of long-terms users who worked to try to keep FreePBX easy to use. I’m often reminded of WiseOldOwl and MichiganTelephoneBlog, both of whom used write extensively in an effort to help people understand how to make FreePBX work, but both eventually just gave up. Ward Mundy’s love/hate relationship with FreePBX and its developers is well documented at his NerdVittles Blog. Now that I’ve invoked Ward’s name, I suspect he’ll be along shortly to comment… :slight_smile:

I used to post here and wrote on the Wiki pretty regularly, but I gave up as decisions by the devs to change the UI rendered much of what I wrote obsolete. Much of it was eventually deleted by the CM. Notwithstanding the claims made by FreePBX’s blindly loyal fanbase, FreePBX’s documentation is now abysmal. If, like me, you’ve been using it for ten years, its easy. However, if I had to start using the product today, I’m certain that its complexity would have caused me to give up.

So, again, I really do appreciate your support. Thank you.


(Tom Ray) #19

No, it does not. Installed the Distro straight up with no commercial modules and even with Sangoma phones does not give you a corporate grade PBX. It lacks numerous things a commercial (as in paid for) PBX has. In order to start be comparable, side by side, you need to start adding in commercial and third party modules.

Let’s clear the air on something as well, while FreePBX does not have any upfront licensing costs it is never free to setup or install. I know how much I’m worth per hour and because I can setup the PBX faster and more in depth that the other guys out there I know my worth is even more.

One of the biggest problems with FreePBX is the installers who undercut and devalue FreePBX (and themselves) because of a mind set of “corporate PBX for FREE”. So while the Mitel/Avaya/Nortel/et al guys are dropping down quotes around $10K someone that uses FreePBX comes in and figures cost of server + a few hours time = waaaay cheaper. That becomes the other problem. Because FreePBX is “free” and the person is doing it on the cheap, the server is cheap, the phones are cheap (generally EOL and out of date models).

Just remember just because you can do the project for $1500 while everyone else is quoting $5K-$7K for a project doesn’t mean you should.

Look, this is from experience and just in 2019. I worked with a company and did numerous installs/migrations of FreePBX 14. They had the same mind set about “corporate PBX for free” and in basically 90% of the cases they lost money. That also meant I lost money. In fact there are a couple in limbo because the project was under priced and now they have to deal with it out of pocket or convince the end user to put up more money. There were a couple that pretty much died because no one wanted to put up the money due to it being under priced.

Now for me on average the installs alone are about $2K-$3K if it’s hosted and can get over double that for 100% on-prem. installs. That includes setting up the voice services (or PBX), endpoints, equipment, wiring, punch downs and testing internal, external and 9-1-1 from all the endpoints. It averages out to about 90 endpoints per install give or take. Usually about 6-8 hours between setup before install and install/turnup onsite.

Again, just because FreePBX is $0 upfront to license and use to get you out the gate and running. It’s never $0 to setup/install and your time should never be treated like a $0 cost.


#20

This depends upon what you mean by “corporate grade.” I meant that FreePBX will do everything that a typical small office PBX from Panasonic, Cisco, or 3CX will do (and then some).

If you’re comfortable setting up your own Asterisk dial plans, you can make FreePBX do anything without buying a single commercial or third party module.

If you use the FreePBX Distro, PIAF, or RasPBX without any commercial modules, then FreePBX truly is free to setup and install. Indeed, both PIAF and RasPBX have their own active community forums. RasPBX doesn’t even support commercial modules.

The problem of people who don’t know what they are doing giving a low price quote and then delivering a suboptimal product is not limited to FreePBX. That’s an almost universal experience for anyone who has run a business and chosen the lowest price quote - for anything. And it is nowhere near one of the “biggest problems” with FreePBX.

Ah, now I see why you believe that this is one of the biggest problems with FreePBX. You’re assuming that things that you have experienced and which have impacted your income are the things that most people are experiencing.

My experience with FreePBX is quite different because I’ve never charged anyone for FreePBX and I don’t offer FreePBX as a product. I’ve installed FreePBX in my own homes and businesses, and have helped a number of friends (some of whom run businesses and others who run nonprofits) do the same.

I install FreePBX for fun and not for money. For me, telecom has always been a hobby. Don’t get me wrong: FreePBX has saved me tens of thousands of dollars in telecom costs, and has helped me make quite a bit of money in the businesses that I run (which use telephones but has nothing to do with telecom). But, profit was never the reason why I started using (or still use) FreePBX.

When I help others set-up FreePBX, my overriding goal is always to deliver a product to a friend (or a friend of a friend) that would work for them, and that they could manage themselves going forward. That’s why I’m so sensitive to the user experience - I actually train all of my users on how to manage their own system going forward.

My own personal experience is not that people are underselling FreePBX. My own personal experience is that FreePBX is becoming more and more difficult for novices to learn and implement themselves.

And my experience is born out in the vast majority of forum posts here. While we do occasionally see posts from people who got a cheap, crummy installation and need help finding someone to fix it, the far more common post nowadays is from someone new who is trying to setup FreePBX for the first time, and is desperately trying to make FreePBX work.

In some ways, even your own experience supports my view. If your company couldn’t accurately price a FreePBX installation, the fault may lie with the lack of adequate documentation. If you don’t know what equipment is required to run FreePBX given the size of the business and its expected utilization, or which features require commercial modules, you could easily misquote the cost of providing the customer what he needs.

If you google “FreePBX minimum system requirements,” you’ll find dozens of community pages asking about the minimum system requirements, but the only wiki page on the subject appears to be for high availability installations - which is a commercial module.

I certainly agree that one’s time should never be treated as a $0.00 cost, but if you’re setting up a phone system for your own business or a friend, you’re going to spend time setting up the system regardless of which one you pick. The cost of your time shouldn’t really factor into that equation, except to the extent that one system might take longer than the other to implement. The abysmal state of FreePBX’s documentation and the UI changes that make configuration take exponentially longer than it used to plays into that quite a bit.

As long as there are companies like the one you worked for, the devs will point to the x,000 installs last year and say that everything is great. But, what happens in ten years when all those companies (like the one you worked for) that are underselling FreePBX go out of business, and all the newbies who visited the forums and could never get it working are selling 3CX?

Having said all of that, I’m not sure that this has anything to do with FreePBX’s design. Perhaps this discussion should itself be split off into its own thread?


#21

Hi BillSimon,

I’m not sure I’m walking away with the feeling that many simply disagree. I do see this thread being dominated by a few who would prefer to attack than to unravel a message. A professional installer and a hobbyist are going to have two different views on how a product could be better as the needs are different. As hobbyist AdHominem is hitting on a lot of points I would have to agree with.

Thanks,.