Making a project more client friendly

Is there a tutorial on making a device more client configurable and usable?
For example in something as simple as a clock, I’ve set up my project so that I can log onto the console and call a function to set or cancel daylight savings time. That’s fine for me but not realistic to expect someone I give the clock to to be able to do. And that’s the most trivial example I can think of. What if I have an information display and want the end user to choose between several ways to display the information? I can, of course, add hardware buttons, but is there some easy way to give them a simple cloud interface?
And on a related note, is there a “proper” way to build a simple app? The one time I’ve done something along those lines, I built a very simple javascript webpage that’s a screen full of buttons that each call a function on the Photon with a parameter. It works, but it is very clunky and the javascript file has the access credentials in plain text which can’t be right.

I don’t want to ask a bunch of stupid questions, but I haven’t been able to find any documentation, so I’m hoping there’s a tutorial on building a phone app to interface with my particle devices. FWIW, I have a strong background writing back-end code in C++ but I’ve never done anything GUI and am vaguely aware of event-based programming.

You can in deed and there already are (admittedly dated) tutorials how to do it from a web page (which can be hosted locally or on any server you like)

The JS SDK also helps with your security concerns by removing the need to have the credentials stored in the page

Building a phone app is then be one or two :wink: step further (more complex) and would not only mean to employ the modile SDKs (for Android and iOS) but also the get down the rabit hole of potentially targeting two mobile platforms, learning to create apps for these and get through the approval process to get the apps onto the respective app stores.

And then there are some platform specific ways.
For WiFi based devices it’s easy to implement an HTTP server to which you can connect via your local network. Or you can use the SoftAP feature to directly connect to the Photon which can also run a simple web server.
For mesh devices you can connect via BLE (once it’s officially supported).

The options are many to pick and choose :wink: