GithubHelp home page GithubHelp logo

New data structure for UI about flasher HOT 23 CLOSED

edgetx avatar edgetx commented on August 24, 2024 2
New data structure for UI

from flasher.

Comments (23)

JimB40 avatar JimB40 commented on August 24, 2024 2

Any of your proposed solutions is okay. Just decide and 'Run Forest run" :)
To finish 'bootlader mode flashing procedure' we need one more feature:
Moving downloaded file to /FIRMWARE folder plus in case of B&W targets changing firmware name to 8+3 format (xxxxxxxx.bin)

from flasher.

CoderElectronics avatar CoderElectronics commented on August 24, 2024 1

@JimB40 @pfeerick

Issues 7 and 8 are fixed 5365aba, let me know what else should be changed!

from flasher.

JimB40 avatar JimB40 commented on August 24, 2024 1

Great. I will do review in 2hrs.
BTW in interactive agency I was working for years some devs were initially "regretting" they've asked for review. By the end of the day both users and devs were pleased :)

from flasher.

JimB40 avatar JimB40 commented on August 24, 2024 1

The 'releases' branch in "Simple" mode gives access to the latest nightly as well as release versions... so perhaps just
"To flash nightly or development versions (which are not considered stable) activate 'Advanced Mode' in Settings tab." for the second sentence?

image

Which is wrong IMHO. I know due to some files structure they are in release group.
But nightly from user perspective is not 'stable or tested' version. And should not be available in BasicMode.
That's why I proposed

  1. Releases (tested and stable)
  2. Nightly (not so tested and may be not stable)
  3. Other or Development (everything else - may crash every 2 seconds or go into EM etc)

from flasher.

JimB40 avatar JimB40 commented on August 24, 2024 1

Firmware notes

Screen Shot 2021-08-28 at 13 43 40

When there is single one sentence note is okay but with long text like for 2.4.0 release is practically non-usable
To preserve compact form of Flasher that I like we should code button or icon that will open pop-up with scrollable firmware's notes.

from flasher.

JimB40 avatar JimB40 commented on August 24, 2024 1

Screen Shot 2021-08-28 at 15 21 47

  1. I don't see point to use collapsible folder. Features in all 3 folders must be selected to end procedure successfully. So collapsed folders increase only amount of clicks.
  2. Radio target -> Radio Model
  3. Same reveal method can be used because until you select proper "Radio model', at least one voice pack or select proper Disk you can't write anything to SD card. When using reveal method no need to display error messages or code buttons as inactive.

from flasher.

CoderElectronics avatar CoderElectronics commented on August 24, 2024 1

Yes, a lot has been solved since this thread was started. There may be more that needs to be done but this thread has been stagnant for some time so if the issues are still of concern we can resurrect this

from flasher.

CoderElectronics avatar CoderElectronics commented on August 24, 2024

So I just updated to UI to make this much simpler, take a look and see what you think!

I like the approach you suggest and i may end up moving to that design in the future

from flasher.

pfeerick avatar pfeerick commented on August 24, 2024

This can probably be closed now as there is a filter in place ;)

from flasher.

JimB40 avatar JimB40 commented on August 24, 2024

Hey @CoderElectronics. I've downloaded today last ver of flasher. Good work.
Few minor adjustments

  1. Advanced Mode should be OFF by default
  • We target non-advanced users primarily
  1. Nighly & RC should have own 'Branch'
  • Writing branch I don't actually mean GH thing but separate dropdown item. By Releases we mean stable. Nightly and RC are not (ie 2.4.0 RC4 has serious bug). So IMHO they should be visible only in Advanced Mode
  1. I would change 'Flash' in left menu to 'Radio firmware'
  2. Last selected radio model should be preserved.
  • People usually have 1 radio or mainly used radio.

from flasher.

pfeerick avatar pfeerick commented on August 24, 2024

from flasher.

CoderElectronics avatar CoderElectronics commented on August 24, 2024

@JimB40 Here are just some pieces of info:

  1. Yes, on the first time starting the app it will be off by default. If the app has been opened before and it defaulted to something different that will stay persistent.
  2. We could do that, but again to avoid hardcoding it's going to be sort of messy... I personally think unless we add release name patterns it would not work very well
  3. Adding now...
  4. I'm looking at this now.

@pfeerick Updates!!

  1. Yes, exactly.
  2. I can do that, that would be handy (releases in advanced mode)
  3. I think nightly should still be shown if someone wants to try that "edge" out but still stay relatively safe

from flasher.

pfeerick avatar pfeerick commented on August 24, 2024

Exclude by .*RC\d+?

from flasher.

JimB40 avatar JimB40 commented on August 24, 2024

Ad 2
Hardcoding is always the worst solution so as far as I understand
a. We have to adjust GH so Release candidates and Nighlies land in separate branch
b. We can agree naming scheme so @CoderElectronics can filter them now or ever after same way
What is your point of view Raphael?
PS.
As soon as we do it we'll put good 'how-to' video on line

I was playing more with flasher so few more things:

  1. I'd change 'About' to 'Welcome

  2. Welcome text proposition
    "Here you can flash your radio firmware with different versions of EgdeTX or prepare SD card content.
    You can also check progress flashing development versions (which are not considered as stable). To do that activate 'Advanced Mode' in Settings tab.

  3. Settings Tab
    Text in parentheses -> (Development & unstable versions available)

  4. Radio firmware tab (now Flash)
    I Like radio target selection however I would opt for version you used in SD card (drop down). Pros are

  • better visual confirmation what target is selected
  • Manufacturer name easily fits and is visible.
    This is very important point in flashing procedure. If someone makes mistake @ this point it may cost new radio. So 'Jumper T12' and 'Radiomaster TX12' is way safer than 'T12' & 'TX12'

from flasher.

raphaelcoeffic avatar raphaelcoeffic commented on August 24, 2024

Hardcoding is always the worst solution so as far as I understand
a. We have to adjust GH so Release candidates and Nighlies land in separate branch
b. We can agree naming scheme so @CoderElectronics can filter them now or ever after same way
What is your point of view Raphael?

We do have some sort of naming convention already:

  • Release: git tag; we use semantic versioning and prefix with v. Example: v2.4.0

  • Release Candidates: git tag; same as Release, prepended with -rcX, where X is the RC number (up to 2 digits).

  • Nightly: git tag; single tag called nightly. This will stay to be nightly build on main.

  • (once 2.5 gets forked) Nightly "next stable": git tag; [major].[minor]-nightly. Example: 2.5-nightly (does not exists yet).

  • Branches: anything else. We might work out something to get the branch name into some metadata file, so it is easier, or whatever can be used.

from flasher.

pfeerick avatar pfeerick commented on August 24, 2024

Thanks for reminding me (to comment!) 😁

For 8, it still needs the manufacturer names - i.e. just like in the SD card tab. Preferably sorted like that is also, as it then keeps models from different manufacturers together.

After that, I would like to see

  • Release's listed before nightly (in simple mode)
  • Ensure that firmware versions (in advanced mode) are ordered by date (descending order) (sometimes they are out of order)
  • Use commit hash rather the github action run id when building the filename for advanced mode

from flasher.

JimB40 avatar JimB40 commented on August 24, 2024

Screen Shot 2021-08-28 at 13 25 30

  1. Mentioning OTX Companion is not relevant anymore
  2. Mentioning theme is misleading as this regards Flasher theme not EdgeTX theme. While most asked question is how to
    "how to flash nightly or dev

So:
Here you can flash your radio with different versions of EgdeTX firmware or setup SD card content.
To flash nightly or development versions (which are not considered stable) activate 'Advanced Mode' in Settings tab.

from flasher.

pfeerick avatar pfeerick commented on August 24, 2024

The 'releases' branch in "Simple" mode gives access to the latest nightly as well as release versions... so perhaps just
"To flash nightly or development versions (which are not considered stable) activate 'Advanced Mode' in Settings tab." for the second sentence?

image

from flasher.

JimB40 avatar JimB40 commented on August 24, 2024

Screen Shot 2021-08-28 at 13 38 50 2

Droplists names should be visible all time. labels will serve as guide

  1. Labels are light grey to focus attention on selection
  2. Firmware branch -> Firmware type & Radio Target -> Radio model (branch and target are dev slang)

from flasher.

JimB40 avatar JimB40 commented on August 24, 2024

UI Flow

When there are selection dependent UI elements (droplists in our case) designing UI most prefered method is reveal. Using it we don't have to code empty or unselected state in unnecessary UI elements.

Example in Advanced mode
Step 0
Step0

  • [Flash LOCAL FILE] visible as this independent form server source of *.bin
  • only [Firmware type] droplist visible allowing user to select Releases, Nighly or Development

Step 1
Step1

  • only [Firmware type] & [Firmware version] droplists visible allowing user to select FW version

Step 2
Step2

  • Now we ask for radio model or pre-select with lastly selected (most probable user will flash same type)
  • You can add later in Flasher settings 'My radios' so list will be narrowed only to user owned radios simplifying process even more.

Step 3
Step3

  • we have *.bin file downloaded so notes and buttons are visible

from flasher.

JimB40 avatar JimB40 commented on August 24, 2024

Plus manufacturer name and dropdown list sorted alphabetically mentioned already by @pfeerick. :)

from flasher.

pfeerick avatar pfeerick commented on August 24, 2024

But nightly from user perspective is not 'stable or tested' version. And should not be available in BasicMode.

So, how do we structure this... separate toggles for showing nightly and development builds, or lump both under Advanced Mode? I'm leaning towards the former, as it is good to expose nightlies without the whole "what is the X branch about" (work in progress branches and PR merges).

For the firmware notes, perhaps just a link underneath that brings up the relevant/release notes page?

I do like (and hate) the 'step-by-step approach' ... it can be beneficial, but at the same time there aren't that many questions being asked, so it becomes more a question of is it beneficial in this instance. i.e. the ELRS configurator also shows all the options at once... which I quite like as there are no unknowns ("what question will it ask next").

image

from flasher.

pfeerick avatar pfeerick commented on August 24, 2024

@CoderElectronics I take it there has been some progress on this for the issue to be closed?

from flasher.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.