|
honey the codewitch wrote: I'm writing some examples for using my UIX library 1. Provide reference documentation for the library.
2. Identify common tasks or objectives of your library's users. What are they using it for?
3. Write correct, fairly minimal sequences of library calls required to perform each of those tasks. Work hard at keeping frills and options out the examples, except as "You can also do this:" sections at the end of each one.
I don't think the examples in the documentation need to be complete applications, since that can make it be easy for your user to get lost in the forest. To guarantee that they work correctly, you'll need to make a fairly complete application around them to ensure your sequences work as expected, but that application doesn't need to be in the example documentation (you can certainly include it in the distribution for the library).
Oh, and by the way: include lots and lots of screen captures of what they should see, preferably from live examples.
Software Zen: delete this;
modified 30-Aug-23 12:39pm.
|
|
|
|
|
I created "devices in software" (slaves) for my process control sofware before getting the actual devices; polling them for "real time data" to chart, etc.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
When trying to illustrate by example my super-duper library, I found that in addition to this being surprisingly difficult, also that (1) parts of my interface were illogical and (2) a huge chunk of functionality was missing. So, I had to go back to the workbench and code. Six months later I found it a lot easier to write the examples and instructions. It seems that test-first gives your code one kind of perfection, while explain-at-last will take your code to yet another level. Thus the two cycles, test-code and explain-code, seems to complement each other.
|
|
|
|
|
In a subsequent post I wrote something similar.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
For a graphic UI as broad as UIX library I would not try to cover all.
Even for simpler libraries I do not cover all functionality.
The goal of examples is imho to give enough information so people can get started.
So for the UIX I would think of the following mini applications
- metrics converter (buttons, select boxes, text boxes, ...) the underlying math is simple so wont distract.
- a color wheel selection (needs some graphics putpixel/getpixel) and maybe add an RGB LED to it.
- an icon editor, or font editor (more complex)
- a weather station - with functions that generate random data (can be a wrapper around BME280 et al)
- pong game
- fractal visualizer, e.g. tree's
- Mandelbrod set
- signal visualizer (poor mans oscilloscope)
- jpeg viewer
Then not all examples need to be available from start, take your time and add on request or when time permits.
my 2 cents
|
|
|
|
|
Won't be any text editors or font editors on these, as they usually have 320x240 or smaller screens, no keyboards, and kilobytes of RAM.
That said, I will consider your suggestions in light of that. Thank you.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: they usually have 320x240 or smaller screens, no keyboards, and kilobytes of RAM
I cut my teeth on the Commodore 64, which had 320x200, less usable memory, and no touch screen. I'm sure you could get "inspired" by looking at retro software.
|
|
|
|
|
And they managed to create or port games like Blue Max!
That one impressed me (graphically)
|
|
|
|
|
It had a keyboard. But yeah.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
I always start with relational tables Alpha, Beta, Choice, Photo, and User. Beta has a foreign key to Alpha, Photo has a foreign key to Beta, Choice is for DDLs in either Alpha or Beta, All tables have foreign keys to User. Then let creativity flow.
|
|
|
|
|
No database in this mess I'm dealing in kilobytes of ram and very small touch screens.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Wordle 802 2/6
π©β¬π¨β¬β¬
π©π©π©π©π©
Disappointingly easy.
|
|
|
|
|
Wordle 802 2/6
π©π¨π¨β¬π¨
π©π©π©π©π©
|
|
|
|
|
Wordle 802 2/6
β¬β¬π¨β¬β¬
π©π©π©π©π©
Disappointing in that it's one of my more common starting words
|
|
|
|
|
Wordle 802 3/6
β¬β¬π¨β¬β¬
π©β¬π¨π¨π¨
π©π©π©π©π©
|
|
|
|
|
β¬β¬π¨β¬β¬
β¬π¨π¨π¨β¬
π©π©π©π©π©
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 802 1/6
π©π©π©π©π©
You have got to be shi***ng me!
βThat which can be asserted without evidence, can be dismissed without evidence.β
β Christopher Hitchens
|
|
|
|
|
Wordle 802 3/6*
π©β¬π¨β¬β¬
π©β¬β¬π¨β¬
π©π©π©π©π©
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Wordle 802 5/6
β¬π©π¨β¬β¬
β¬π©β¬π©β¬
β¬β¬β¬β¬π©
β¬π¨β¬β¬β¬
π©π©π©π©π©
Super hard
Looked it up, for some reason my head can only see the first letters as separate sounds.
I actually tried these letters in my head, but it didn't make a word
|
|
|
|
|
I think it was a cheeky one today because a lot of people, like me, use that as the starting word.
βThat which can be asserted without evidence, can be dismissed without evidence.β
β Christopher Hitchens
|
|
|
|
|
I got a new starting word today.
|
|
|
|
|
It's a good one as it contains all the vowels except "e".
βThat which can be asserted without evidence, can be dismissed without evidence.β
β Christopher Hitchens
|
|
|
|
|
The only catch is that it'll take several years to repeat, implying that it is near impossible to set your record of today (First attempt success) using this starter word.
|
|
|
|
|
Getting it right on the first guess kind of ruins the game because there is nothing to try and puzzle out, so I am happy not to encounter it again.
βThat which can be asserted without evidence, can be dismissed without evidence.β
β Christopher Hitchens
|
|
|
|
|
Once a year or two may be okay.
|
|
|
|