OpenWrt Forum Archive

Topic: Suggestions for making OpenWrt more newbie friendly

The content of this topic has been archived on 21 Feb 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I constantly see DD-WRT as the recommended 3rd party firmware out there, with a handful of people gravitating toward Tomato due to the clean/simple UI. I think everyone here probably agrees that OpenWrt is the best choice, but it can definitely be intimidating to someone new this sort of stuff and definitely challenging for someone not familiar with networking and routers in general. I think a few simple changes could make OpenWrt much more friendly to this group of people.

1. A Luci-based guided setup on first run. It would:

  • set a router admin password

  • choose between router, AP, WDS, and repeater modes

  • configure the WAN connection

  • configure WiFi with default security set to WPA2-PSK (maybe not even expose security mode to the user)

  • configure an isolated guest WiFi network

  • possibly point to the simplified package manager (see below) at the end

2. A basic and advanced mode in Luci

  • Basic mode shows only basics and hides settings that can break things or that aren't used all that often.

  • Basic should also have some help in a side bar or via link (to wiki?)

  • Simplified status page that just shows connection status, connected clients, and possibly warnings

  • Simplifed log that just shows the most critical info

  • Advanced mode is what we have today, but could use some more help text.

3. A simplified package manager

  • rather than the vast list of packages we have available, show the most commonly used ones that have Luci-apps available (QoS, UPNP, vnstat, file sharing).

  • Display friendly names (e.g. Windows file sharing instead of Samba)

  • Use a simple on/off button to install/enable/start the package (similar to FreeNAS plugins).

  • Even better would be a guided setup after installation.

  • Advanced mode turns on the full package manager we have today

A nice example of this in a commercial router is TP-Link's new interface used in the Archer C8/C9. If that's open source for whatever reason, it would be great to just take it (doubtful). There's a simulated UI available on the web here:

http://www.tp-link.com/resources/simula … /Index.htm

Note that in the simulation, if you try to do anything that actually tries to connect to the internet, the simulation breaks down.


Somewhat unrelated is #4: To keep newbies out of trouble, include Luci in trunk builds! There are tons of support requests on the forums for help with this problem. I wonder how many more just think their router is bricked. Many wiki pages link to trunk because that was the only choice at the time the wiki was written, and this of course gets the newbie that doesn't know better into trouble.

(Last edited by drawz on 17 Nov 2014, 02:36)

Some good suggestions -

> select router password
I think the "set your router password" / empty password / telnet login currently is good enough

> choose between router, AP, WDS, and repeater modes
Since there sometimes are tradeoffs involved (reduced bandwidth with WDS; routed IP vs. broadcast domains)
Sometimes these features depend on driver (interface combinations) - you forgot different Mesh modes (80211s, P2P variants (Wi-fi Direct) and IBSS/ad-hoc).
Many users probably want better documentation / pictures in the wiki ....

> configure the WAN connection
I think that atm it has a sane default (like supplying ppp by default with luci)
Because we are in IPv6 transition this might get too complicated (DS-lite, 6rd or other technology might need some settings)

> WPA2-PSK / maybe not even expose security mode to the user
afaik 802.11n or newer (ac) require support for either WPA2 or unencrypted only

> configure an isolated guest WiFi network
> possibly point to the simplified package manager (see below) at the end

Notice how the "simple" C8 UI that you linked has 6 initial setup pages but compare that to your suggestions
- no guest network
- no timezone setting
- no initial guest network
- has MAC cloning
I dont think that throwing a user directly into the luci UI is that bad.
Compared to the "Advanced Tab" luci bootstrap has less menu-"garbage" displayed initially

> Basic should also have some help in a side bar or via link (to wiki?)
A link to wiki might be nice - however the wiki has to be in way better shape to justify that ^^

> Simplifed log that just shows the most critical info
- A first step would be a patch that only shows Alert/Error/Warnings in current system and kernel log
- Show human readable time in kernel log

> Display friendly names (e.g. Windows file sharing instead of Samba)
I think this is a simple matter of exposition. There are several different fields in package description available that could be displayed ("Description") or that could be added from the menuconfig section (VPN, Proxies, Utilities ...)
There are pro and cons to this point - in extreme you simply have "activities" and only get to know the application name if you click "About" - GNOME does it this way("Terminal" , "Editor" ...) and some users don't like the new GNOME design simplifications.

> Even better would be a guided setup after installation.
Shouldn't that step be provided by the package itself ?
Example: "Enable" button like Wi-Fi Network settings, sane default configuration, working daemon file (to have a useful overview page in that section)


> (similar to FreeNAS plugins).
The drawback is that atm. OpenWrt is not FreeNAS - no ZFS :-)
OpenWrt has space constraints in place - so often not all users can profit from everything. Units with 2 or 4 MB flash are still sold quite often.
Archer C8 has only 3 selectable DYNDNS providers.
Instead of fancy icons near each menu text checking for accessability should be prioritized.

Many features of OpenWrt / or those that are available from upstream Software are badly documented.


> include Luci in trunk builds
People should use stable versions then. Or use the Image builder.
One can monitor image sizes between trunk versions without worrying how other "not needed" packages affect the size/compression of squashfs.

zloop wrote:

Some good suggestions -

> select router password
I think the "set your router password" / empty password / telnet login currently is good enough

Just thinking about this in the context of a wizard/guided-setup, but agree the current system is not bad.

zloop wrote:

> choose between router, AP, WDS, and repeater modes
Since there sometimes are tradeoffs involved (reduced bandwidth with WDS; routed IP vs. broadcast domains)
Sometimes these features depend on driver (interface combinations) - you forgot different Mesh modes (80211s, P2P variants (Wi-fi Direct) and IBSS/ad-hoc).
Many users probably want better documentation / pictures in the wiki ....

I was not trying to be comprehensive for the simple guided setup, but you could add a couple of these I suppose.

zloop wrote:

> configure the WAN connection
I think that atm it has a sane default (like supplying ppp by default with luci)
Because we are in IPv6 transition this might get too complicated (DS-lite, 6rd or other technology might need some settings)

DHCP will probably be fine for the vast majority of people, but having a couple options (DHCP, PPPOE, static) would be good here.

zloop wrote:

> WPA2-PSK / maybe not even expose security mode to the user
afaik 802.11n or newer (ac) require support for either WPA2 or unencrypted only

Good point - I probably wouldn't even expose this in guided setup

zloop wrote:

> configure an isolated guest WiFi network
> possibly point to the simplified package manager (see below) at the end

Notice how the "simple" C8 UI that you linked has 6 initial setup pages but compare that to your suggestions
- no guest network
- no timezone setting
- no initial guest network
- has MAC cloning
I dont think that throwing a user directly into the luci UI is that bad.
Compared to the "Advanced Tab" luci bootstrap has less menu-"garbage" displayed initially

The simple C8 is a bare minimum I would say, but also pretty good for the vast majority of people. I thought we could do a little better by adding guest network. Your other suggestions are also good.

zloop wrote:

Basic should also have some help in a side bar or via link (to wiki?)
A link to wiki might be nice - however the wiki has to be in way better shape to justify that ^^

Something built into the router would at least match the right version, whereas the wiki is a moving target as things get upgraded. I recognize this is a major undertaking to create all this content, which is why I offered the wiki as an alternative.

zloop wrote:

> Simplifed log that just shows the most critical info
- A first step would be a patch that only shows Alert/Error/Warnings in current system and kernel log
- Show human readable time in kernel log

Very good point about human readable time!

zloop wrote:

> Display friendly names (e.g. Windows file sharing instead of Samba)
I think this is a simple matter of exposition. There are several different fields in package description available that could be displayed ("Description") or that could be added from the menuconfig section (VPN, Proxies, Utilities ...)
There are pro and cons to this point - in extreme you simply have "activities" and only get to know the application name if you click "About" - GNOME does it this way("Terminal" , "Editor" ...) and some users don't like the new GNOME design simplifications.

Both names could be listed I suppose. But for the basic user, the friendly name is the important part. I would limit this to something like 10 packages. Maybe: QoS, UPNP, VPN, DLNA, Samba, NFS, HFS, vnstat.


zloop wrote:

> Even better would be a guided setup after installation.
Shouldn't that step be provided by the package itself ?
Example: "Enable" button like Wi-Fi Network settings, sane default configuration, working daemon file (to have a useful overview page in that section)

Yes. This could be a requirement for being included in the simple package manager.


zloop wrote:

> (similar to FreeNAS plugins).
The drawback is that atm. OpenWrt is not FreeNAS - no ZFS :-)
OpenWrt has space constraints in place - so often not all users can profit from everything. Units with 2 or 4 MB flash are still sold quite often.
Archer C8 has only 3 selectable DYNDNS providers.
Instead of fancy icons near each menu text checking for accessability should be prioritized.

Agree, but I don't think fancy icons take up much space. This could be a build option for luci, where icons are only included if 8+MB flash routers by default. It can always be disabled and the icons aren't that important. I think one icon for a simple on/off switch would fit in almost every case, but again could be removed by build option.

zloop wrote:

Many features of OpenWrt / or those that are available from upstream Software are badly documented.

This is a major challenge for sure


zloop wrote:

> include Luci in trunk builds
People should use stable versions then. Or use the Image builder.
One can monitor image sizes between trunk versions without worrying how other "not needed" packages affect the size/compression of squashfs.

Easier said than done. So many people intentionally or unintentionally flash a trunk build without realizing the implication. In many cases, this is due to an outdated wiki or because stable versions do not support their device. More frequent stable releases would certainly help with that latter part, and the devs seem to be headed in that direction. Imagebuilder is not a great option for those newbies that would struggle with this. I'd argue that anyone that can use imagebuilder can probably also figure out how to install luci from the command line.

I wish I had the skills to code this myself. I really think OpenWrt could easily become the de facto open source router firmware if it were just a little more user friendly. It is clearly the most stable, most flexible, most modern, and most technically advanced right now.

One other suggestion for the basic luci UI - make it hard to do things that will kill access to the router - such as modifying or deleting LAN/WAN interfaces or giving too much flexibility to the DHCP server that might cause it to break. Just in general, removing controls that are not needed for day to day use by most users - if it's not in most stock firmwares, it probably isn't needed in basic mode.

(Last edited by drawz on 18 Nov 2014, 18:47)

make oldconfig maybe not good, if you make many returns to select packages, then some dead package will show out, for those dead link pages I think we should change its feeds location, for example packages on berlios.de should be changed.

Saw the Eero router/AP/repeater/mesh network device announced yesterday and it sounds like it is possibly OpenWrt-based. If so, this is a great example of simplifying OpenWrt for the newbie while remaining very powerful. It's probably not the right approach for this project, but a neat idea. Also an excuse to bump this thread smile

Website: http://www.eero.com

(Last edited by drawz on 5 Feb 2015, 05:08)

One more idea - Automated checksum during sysupgrade - OpenWrt reads the checksum from the file to be flashed and displays it to the user. It would be even better if it compared the checksum to the online (downloads.openwrt.org) md5sum file or allow you to also upload the md5sum file to the router for automatic comparison. Even better would be a "check for new firmware" option that would complete an automatic upgrade to the latest (stable) version.

the simplest suggestion for making OpenWRT more newbie friendly is easy:

Copy DD-WRT GUI and make that GUI optional.

KHAN85 wrote:

the simplest suggestion for making OpenWRT more newbie friendly is easy:

Copy DD-WRT GUI and make that GUI optional.

DD-WRT's GUI may be familiar, but it's hardly the best option. It's really not newbie friendly as it has some of the same pitfalls as OpenWrt (too many options that can break things), is not well organized, and has no guided setup/wizard. Did I mention it looks like it's from the 90s? It also happens to be one of the closed source components of DD-WRT. If OpenWrt is to emulate anything, I'd suggest basing it on Tomato which is simple and clean. That said, I think OpenWrt with bootstrap can easiliy be evolved into something better and more modern.

drawz wrote:
KHAN85 wrote:

the simplest suggestion for making OpenWRT more newbie friendly is easy:

Copy DD-WRT GUI and make that GUI optional.

I wholeheartedly agree: Oh Hell No.

If OpenWrt is to emulate anything, I'd suggest basing it on Tomato which is simple and clean. That said, I think OpenWrt with bootstrap can easiliy be evolved into something better and more modern.

Yes, we can certainly do a little bit better. If we start from a clean slate, let's really make a difference.

Technically, I'm especially excited about the angular.js based development coming from here which seems to be what LuCI2 wanted to be on a more modern technical basis.

As for design, personally, I'm quite fond of how Western Digital handles user interfaces for their network equipment. I particularly like the (older) My Book Live interface, but also the newer interfaces (for the My Cloud NAS, or the EOL My Net routers) are actually quite well done.

The discussion might have continued from here.