Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

glimmer-meta-overview: Offer some (multiple?) way(s) to check on glimmer progress overall #43

Open
rubyFeedback opened this issue Jan 31, 2024 · 0 comments

Comments

@rubyFeedback
Copy link

Hey there Andy,

You offer tons of different things related to glimmer, either directly or semi-indirectly (e. g. support code
that could also be used outside of glimmer, I would classify as "semi-indirect").

You also offer support for glimmer-gtk and glimmer-swing. I assume these are not as high priority as,
say, glimmer for the web, and glimmer libui.

You also provide some GUIs such as tetris and various more, which I think is important for end users,
in that they can select from a multitude of different things there. For instance, I am thinking of re-using
the games part in my own GUI things, because ... it's kind of pointless to re-create the work you did
when tetris, for instance, already works. So in my own ruby-gtk stuff I could just re-use that, and
somehow embed it (if I find out how that can be done).

I don't check daily on glimmer, but I do check on glimmer every now and then, but mostly via an
overview e. g. "Aha, Andy worked on glimmer-web-related things recently". Or before that, on
glimmer-libui.

Naturally different toolkits offer different features and I think you support some of them more than
others via glimmer. For instance, I assume you probably have more code for SWT and libui, than
for, say, java-swing and glimmer-gtk.

This brings me to the issue request here; I think I may have suggested this in the past, so please
assume best intentions here when I wrote this issue request.

I would like to have some kind of "overview at a quick glance", ideally, like "this and that works on
this toolkit; that and this works on that other toolkit". Kind of like a general progress report.

Now we can do so indirectly e. g. the amount of documentation you make available. Like, more
via glimmer libui and glimmer web than on glimmer gtk. But I would ideally like to see this:

(1) A way to somehow have a table, ideally in markdown format, that you can programmatically
or automatically update (to reduce manual work); and this table should show a good overview
of different things working in this toolkit, but not in another toolkit. For instance, as a simple
example:

button: works in toolkit A, B, C; does not work in toolkit C

Ideally a table, and some kind of cross-mark (but it can also be words, e. g. Yes/No).

The idea is that we, as visitors or developers, can quickly see what works where and how.

And, to somehow NOT require of you to have to manually update this. Not sure how to
best solve that; for static websites I generate I usually do this via some macro, and
whenever ruby finds such a macro it replaces it with the appropriate code, e. g. "this
gem supports 153 programs", and the number part is then returned by some method
or class that solves this problem.

(2) Show which applications are available on which toolkit. To give the example of tetris,
show which toolkit support it e. g.

games (<--- as a theme):

tetris: works on glimmer, glimmer-web; does not work on glimmer-gtk

and so forth.

So how to solve this?

Well, perhaps the repository here could be the "glimmer meta-tracker", in that it gives
an overview over ALL the other glimmer things. I think you already do so to some
extent; at the least I can see you provide a table where you explain and show the
different toolkits. So I am not suggesting to change this, but perhaps an additional
table can be used to "meta-track" progress on different toolkits there.

An additional nice thing would be if glimmer itself, via the commandline at the
least, could display this in an easy manner such as:

glimmer --statistics # or whatever else you deem appropriate, such as --overview

The idea here is that this shows in a terse table-like format what works and what does
not work here. If this becomes too messy to show then perhaps it can be grouped,
just as the example I showed about for genres, such as "games", or some other
grouping. Not sure how to group most applications, but I think you understand
what I mean via "genres" there - with games being one genre. Perhaps multimedia
is another one, or generic applications and so forth, you get the idea.

Anyway, the above are just examples, so feel free to re-evaluate and interprete them
how this is appropriate for the glimmer suite. The TL;DR part is that I would like to
have some kind of simple overview, ideally both on the web but also on the
commandline for output (and "glimmer --help" can perhaps briefly mention it), to
kind of know where we are here in glimmerland. For instance, just as an example,
feel free to evaluate the --flags I show accordingly:

glimmer --games
glimmer --games? # I like the trailing '?' so this means "glimmer, show me which games are available"

game a: works on A, B, C; not on D, E, F # could use the unicode checkbox here, or omitting it, as a table-like overview on the commandline

game b: works on A; does not work on D E F

(If this becomes too unwieldy and long, perhaps just focus on 5 or 6 toolkits or so, and then
a disclaimer on the bottom that more toolkits may be supported but these are the most well
supported via glimmer.)

Anyway thank you for reading - please proceed with this issue in any way as you deem fit;
and I would also agree that this is a low priority issue. Just something that would be "nice
to have".

(With percentage I would mean something like a rough estimate, say "glimmer web has
100% support, glimmer gtk has 40% support of the specification and widgets implemented
by glimmer-web", for instance. Just something as a rough estimate that can somehow
give an indicator of the progress.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant