Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where to store user's interface choices?

What is the widely-accepted way to store interface choices, such as 'Do not show this message again' settings, and any other interface-specific choices of the user? Registry? Settings files? I can also store them in a database, since my program already has access to one.

EDITS My current program is local, however in the future I would like to make it web-based.

like image 795
sbenderli Avatar asked Jul 23 '10 13:07

sbenderli


People also ask

What is a user interface in computer?

The user interface (UI) is the point of human-computer interaction and communication in a device. This can include display screens, keyboards, a mouse and the appearance of a desktop. It is also the way through which a user interacts with an application or a website.

How user-friendly interface can be helpful to new digital users?

With a user-friendly interface and easy navigation, the user decreases search time and increases satisfaction, fulfilling his needs in a fast and efficient way. In turn, the brand increases sales volume, improves customer loyalty and minimises costs and resources.


2 Answers

A non-web-based program:

I wouldn't use a database. What happens if you decide to switch the database? Now you have to migrate the user data. What happens if they uninstall?

In Windows, settings files in the user's AppData folder are appropriate. It's also acceptable to not delete these on uninstall, so the settings will persist across that. I would shy away from the registry for user settings. That area is more appropriate for system settings.

There's a similar area in *nix systems, but I'm not sure off the top of my head. It's been too long.


A web-based program with local settings:

Cookies are pretty much the only computer-specific option for a web-based program. IP-based filters are a bad idea, since most consumer internet options will rotate IPs once a day to once a week. You could MAC filter, but that would involve using raw sockets to get the MAC address. And even then, you will probably end up with the address of a router, not a computer. Meaning two people on a single router would get the same settings.


A web-based program with global settings:

Your program should query a web service for this. The service is then free to implement it in whichever way is best at the time. A database is fitting in this scenario, as it's likely that your user data already exists and is keyed therein, providing an easy way to associate data with particular users.

like image 114
jdmichal Avatar answered Nov 08 '22 16:11

jdmichal


if its a Web-related Environment: depends on how long you want them to stay. If there is a member registration within a database it would totally make sense to save it in the database. Else you could just save it as a cookie or ip/setting in a database.

like image 22
Thomas Strobl Avatar answered Nov 08 '22 16:11

Thomas Strobl