Giter VIP home page Giter VIP logo

Comments (1)

AndyObtiva avatar AndyObtiva commented on May 27, 2024

I have a small suggestion to make in the long run: perhaps you could make
a "series" of videos/blog-videos/vlogs or however you want to call them,
with something that is easy-to-watch. With that I mean ... well, I noticed
my attention span went downhill due to youtube, but I think a good range
is something between 5-15 minutes, perhaps more closer towards 10
minutes or so - something that should be reasonable, not too long, but
not too short either. Then via a series people could work through the
steps and learn more. Now, different people may learn things differently,
some prefer videos, I actually prefer examples that I can tweak and
watch the results, but to each their own.

This is exactly the idea. I started a weekly video tutorial series that will cover all major features of Glimmer DSL for SWT. Once I am done, I will do a video tutorial series that will cover all major features of Glimmer DSL for LibUI next. Afterwards, if I finish Glimmer DSL for Opal (currently, it is only about 76% complete), I will also make a video tutorial series about Glimmer DSL for Opal.

That said, I am not sure what you mean by your attention span being between 5-15 minutes but going downhill on Youtube?! My video was only 4 minutes and 34 seconds. it's not even 5 minutes, which is the bottom of your attention span. So, I am not sure what you are asking here!

However, one thing that I did notice in my last video that might drive attention span down a bit is the resolution. it is too high as everything is too small. That makes it hard to follow the video without having a huge 4k monitor (like the one I have). This is noted for my next video. I will make sure to drive resolution down so that everything shows up big.

The web-related aspect is perhaps the most important one these days.
While, I think, you invested a lot of time into the java/swt-specific
stuff (the editor you wrote and the various other GUI "snippets"),
I think in many ways most people probably cater to the world wide
web these days. So the rails/opal stuff is probably something that
may interest more people than, say, glimmer-dsl-gtk. (Not trying
to discredit ruby-gtk, I like ruby-gtk3 + the CSS rules, but if you
count the total amount of downloads for gtk3, it is currently at
256_793 and that is ... in almost 10 years. So it's a really small
user base unfortunately. I assume for the world wide web the
user base is larger; for instance, opal has more than 500.000
downloads already and it has been around for almost as long
as ruby-gtk3. But I digress, so back to the main topic.)

I agree that web reach is more popular than building local apps, but please keep in mind that people mostly use desktop applications to build web applications in the first place, and everyone uses desktop applications on the desktop in order to browse the web. After all, every web browser on the desktop is a desktop application too.

As such, I strongly believe that it is very important for people to master desktop development before they can become good web developers. I would say that over 90% of web developers out there are very awful. I notice it in websites of Fortune 500 companies all the time. This is why the Glimmer video tutorial series is very important. If a developer learns things the best way and the right way first, they can transfer that knowledge to the web and build much better web applications too instead of the extremely bloated over-engineered web apps that everybody seems to be building these days, including big companies like Facebook.

Also, Glimmer desktop apps require the least amount of code to show GUI on the screen (out of all technologies on planet earth, I am sure of it), which is very enticing to newcomers and beginners. Using Glimmer, they can build small apps much faster than having to setup a web-server, add server-side REST routes, controllers, and models, and then finally front-end HTML/JS/CSS. That is like 10 times the work they would have to do with a Glimmer DSL for the desktop at least. So, assuming a smart audience, I am sure they will appreciate my video tutorials for Glimmer DSL for SWT for the time being.

I think what may be useful or helpful for people, if you plan to
extend the video series (and, mind you, this is NOT a request
to invest a lot more time outside of your regular pace, this
is just more a semi-random long-term thought here, time
is always a limited resource so priorities have to be set), then
perhaps it could be somewhat organised to focus on different
topics. You already do that, kind of, in your videos, but I just
wanted to mention it again.

As mentioned above, yes, that is exactly what I am doing right now for Glimmer DSL for SWT with the weekly video tutorial series, and I do plan to make video tutorials for Glimmer DSL for LibUI and Glimmer DSL for Opal for the web eventually, but the Opal library has to be fully implemented first. It is still currently an alpha.

This brings me to a semi-related thought ... I'll explain this in
a moment.

Many years ago _why the lucky stuff was active. I don't know
if you remember him (you probably do, perhaps due to his
comic). He had many interesting projects, one was the sandbox
(which actually led to the creation of BasicObject, if I remember
correct; back then I asked him whether I can obtain the source
of his sandbox which was available back then as REPL on a
webpage but he said the quality of the code was too bad so
I did not get the code ... :P). Another interesting project was
the original shoes. This one was, I believe, written in C, whereas
shoes nowadays is written in java.

In some ways I think shoes is a BIT similar to perhaps glimmer
libui. It's not the same but I think we can find some marginal
overlaps. I don't know if you remember or know the original
shoes.

So here is a second semi-random thought: IF you plan to
make the video series available, then perhaps you could
also add more code to the controller, for people to watch
the video as-is; this could simply be a "hardcoded" path
to the browser for the URL (e. g. to use the gem "launchy"
or a similar way to just open it as people run any glimmer
GUI), or if this ever becomes more sophisticated, then
even a video watching this ... in glimmer!

I don't suggest to implement a video player, no worries.
But like to "embed" mplayer or mpv or something like
that. On Linux at the least it is possible to embed videos
via xid. I tried this in ruby-gtk3, and it kinda works but it is
super-hackish. Perhaps support for this may become
better one day, like in gstreamer and ruby-gtk4. But again,
these are just semi-random thoughts. I just thought it would
be kind of cool to be able to view these videos from within
glimmer. :)

Building a video tutorial series that is integrated into an IDE is not that important because all smart developers will know how to follow a standard video on youtube that is open in one window and apply what they learn in another window or a terminal.

That said, the idea of integrating a video tutorial series into an IDE that walks software developers into instructions might be nice to have, but since it is not a must have, I leave it to the Ruby community to build. After all, I gotta leave something to other people to build. Open-source software always assumes the entire community is contributing, not just the project committers!

You are welcome to attempt integrating my videos with an SWT desktop app that shows a code editor next to the video, and a built-in terminal too if needed while walking users through the video instructions step by step in code and in executing samples. I'd be happy to help you with any questions you may have if you embark on such a project!

This now leads me to the next semi-random thought. Some
time ago I wondered about something like glade-for-glimmer.
I did not mean this to get people to have to use XML, but more
like as a general DSL layer (or a DSL-over-a-DSL layer) -
something that helps the average person build and adjust
GUIs. Now, again, don't get too distracted with this, but I kind
of thought this also to be nice. Like people just create GUIs
within ... a glimmer GUI! A bit similar to how glade is used,
but perhaps like a full GUI suite for building stuff. A bit like
the editor you wrote, but something that Average Joe could
use (in theory; in practice I guess it requires too much work
and may not be worth the time investment, but I just think
it would be cool. Tons of people could use that, write widgets
that would work, even if a toolkit vanishes.)

First of all, I have real professional experience with building desktop applications for several years, and one thing I learned while working with actual desktop development professionals on software teams is nobody uses tools like glade or any sort of visual designers on real enterprise projects that are growing constantly and require many refactorings and changes. Those tools slow professional software engineers down. They are only used by beginners learning how to do desktop development. Perhaps they are also used by junior developers at work where there is only one programmer working on a very small desktop app without a team. In conclusion, these glade-like visual designers are not desirable at all. They slow real software engineers down (who are not beginners or junior in building desktop apps).

Secondly, Glade is absolutely horrible since it does not spit out Ruby GTK code directly, yet XML. Nobody wants to muck with XML. It brings all the problems of web development to desktop development. Yuck! That's the worst idea anybody could have thought of!!

Lastly, a visual designer for Glimmer that outputs Glimmer DSL Ruby code (not XML) might be desirable for beginners and junior programmers, but that is only a nice to have, not a must have, so the Ruby community can contribute that instead!

In fact, I did mention "Visual Designer" as something that the Ruby community could contribute in my blog post: 2021 Was The Year of The Ruby Desktop

It is not as tough to build as you think. I am sure if you set your mind to it, you can build it yourself! It would be a great exercise for your skills in GUI software development. I'd be happy to help with questions or advice if needed.

Last but not least, and then I am done with this lengthy thoughts-idea,
on your blog to mention the GUI/Apps for rails/opal and show this
screenshot:

https://raw.githubusercontent.com/AndyObtiva/sample-glimmer-dsl-opal-rails7-app/master/sample-glimmer-dsl-opal-rails7-app.png

This is fine, but what if each button could show some image too, how this
may look? Something that is not too large, like 48px x 48px or so. Kind of
how you show things on the glimmer-dsl-swt webpage, the part:
"Here is a listing of supported widgets taken from the [SWT website".
Images like that. But this is just a thought - the rationale I am having
for this is that it may instantly give newcomers a visual look when they
start it, to see what a checkbutton is, how it may look like, before they
click on the button that starts it. (The image can be part of the button
or next to the button, that is just a detail I think; the more important
part is to quickly and easily show people how this may look. Ideally
it may be how it looks on the web+opal, but you could also standardize
and just show a semi-"generic" image as average on how this MAY
look. Although I guess having it specific to the toolkit may be best.
I don't suggest to do screenshots like that manually though. Perhaps
there is some automated way to make screenshots; I think headless
chrome or so allows that, but I don't know enough to be able to say
how easy that is. I am more like thinking that manual time investment
may be too much, but you could always perhaps just see how this
may look for the first three images, and if it does not look that great
perhaps drop that idea before investing too much time. But as said,
that's just some random ideas, I'll end this now. Sorry for creating
so many issue trackers. :D)

What you are asking for exists already, but even better. That page is taken from a Heroku hosted link, which enables using the Glimmer DSL for Opal directly including all the samples you asked about (meaning you can click on all the buttons just as you suggested). I just updated the blog post to link the image to the heroku website directly.

Here it is again in any case. Knock yourself out!

https://sample-glimmer-dsl-opal-rails7.herokuapp.com/

opal app

from glimmer.

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.