Quality assurance

Posted on
  • Hi,

    To not get a total chaos, we may need some kind of quality control sooner or later.

    Examples:

    • Widgets should not come with their own app for settings anymore, but use the widget section in settings
    • Locale should be implemented
    • Future things (eg shortcut buttons in clock apps)

    But I see the following problems

    • There is no documentation about what is good and what is bad
    • Who will make this quality assurance? I think this will be too much for Gordon to make for every pull request

    What are your thoughts about it?

    Christian

  • There is no documentation about what is good and what is bad

    There are a few things at https://www.espruino.com/Bangle.js#tutorĀ­ials, https://github.com/espruino/BangleApps, https://www.espruino.com/Code+Style but yes, one general place to put clear suggestions/requirements sounds good.

    I have just added https://github.com/espruino/EspruinoDocsĀ­/blob/master/info/Bangle.js%20GuidelinesĀ­.md - please feel free to submit suggestions :)

    Who will make this quality assurance?

    Yes, at some point very soon I could do with some collaborators for overseeing BangleApps. I've been working 3 hours already and I haven't even cleared by inbox yet!

    It's a difficult balance though - there will hopefully be a lot of first-time contributors, so IMO anyone helping needs to be nice to those who haven't quite got stuff right, and maybe willing to just do a few little tweaks before merging if some are needed :)

  • I've been working 3 hours already and I haven't even cleared by inbox yet!

    Good tutorials and maybe sponsorship will lead to much fewer forum post.
    Knowing what I know now would helped me a lot. But to obtain that knowledge I had to come here and ask questions :)

  • I had to come here and ask questions :)

    That's good though - as I find out what questions everyone has I can improve the documentation to try and answer them.

    But also, if you think something is missing from docs, they're all on GitHub - line down the bottom where it says "This page is auto-generated from GitHub" - so any PRs for missing/out of date stuff in the docs are hugely appreciated :)

  • Okay, will keep that in mind.
    What I am getting now is how it all works together (hopefully I got it right).

    Like

    • Widgets are normal apps which run together with other widgets or one app
    • A Widget must be running (normally meaning: shown on the display) to be able to do something (Example: no GB widget, no notifications)
    • Some are loaded automatically during boot (here I do not know what when happens exactly)
  • Widgets are normal apps which run together with other widgets or one app

    More or less. They are just bits of JS code (xyz.wid.js) that run and then insert themselves into the WIDGETS array so they can be layed out and rendered at the right time.

    A Widget must be running (normally meaning: shown on the display) to be able to do something (Example: no GB widget, no notifications)

    Yes, absolutely. If you want it running all the time it can be in xyz.boot.js but you have to be careful. An app may not run widgets because it doesn't want anything to interrupt it :)

    Some are loaded automatically during boot (here I do not know what when happens exactly)

    xyz.boot.js are loaded automatically during boot. However all widgets are loaded in response to a call to Bangle.loadWidgets(), which any app that wants widgets needs to call.

  • I'd be willing to help manage PRs if you need a hand. I'm the one submitting all the aclock PRs. I'm pretty diplomatic when needed.

  • I am also willing to help and contribute as a helping hand.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Quality assurance

Posted by Avatar for Purple-Tentacle @Purple-Tentacle

Actions