Try Ring Online (Ring version: 1.20)

243 views
Skip to first unread message

Mahmoud Fayed

unread,
Apr 4, 2024, 1:34:16 AM4/4/24
to The Ring Programming Language
Hello

This is a new page to Try Ring Online 

tryringonline.png

This time it's a WebAssembly application written in Ring itself and hosted in Ring website.


Supported features.
1 - Ring language version 1.20 (Basic features of the language)
2 - Basic functions provided by Ring and doesn't requires using the Load command 
3 - Also, we support scripts that get input from the keyboard using the Give command

So, using this web page we can try the samples provided in the early chapters of Ring documentation. 

Greetings,
Mahmoud

Mansour Ayouni

unread,
Apr 4, 2024, 1:42:12 AM4/4/24
to Mahmoud Fayed, The Ring Programming Language
Hello Mahmoud,

I tested it, it was very quick...

It's clear that WebAssembly support is getting better in performance.

image.png

Best,
Mansour

--

---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ring-lang/81478b84-b0db-43b0-a933-d3dcb4a85db2n%40googlegroups.com.

Mahmoud Fayed

unread,
Apr 4, 2024, 1:45:55 AM4/4/24
to The Ring Programming Language
Hello Mansour

>> "It's clear that WebAssembly support is getting better in performance."

It needs 4 seconds to start on my machine for the first time.
And when I close the web browser, open it again, it starts directly in less than a second (Because it's in the cache)

So, yes, I agree with your, WebAssembly is too much faster than before :D

Greetings,
Mahmoud

Mansour Ayouni

unread,
Apr 4, 2024, 2:02:12 AM4/4/24
to Mahmoud Fayed, The Ring Programming Language
Hello Mahmoud,

For a better experience and visual comfort, I propose to change the current layout like this:

image.png

All the best,
Mansour

Message has been deleted
Message has been deleted

Mahmoud Fayed

unread,
Apr 4, 2024, 7:07:24 AM4/4/24
to The Ring Programming Language
Hello Mansour

>> "For a better experience and visual comfort, I propose to change the current layout like this"

The web application is updated and the next features are added
1- Using the suggested layout
2- Select the Font Size
3- Select the Style (Black, While, Blue, Modern, Windows)
4- Select the Sample
5- Buttons to clear the source code or the output

Screen Shot:
NewLayoutAndStyle.png

Greetings,
Mahmoud

Mansour Ayouni

unread,
Apr 4, 2024, 7:12:21 AM4/4/24
to Fuad Omari, The Ring Programming Language
Hello Mahmoud,

So nice!

Thank you Mahmoud.

Best,
Mansour

Le jeu. 4 avr. 2024, 12:08, Fuad Omari <choco...@gmail.com> a écrit :
thanks for this. very useful.
after the first run it can run offline .
i use a Chinese chrome to let it run on windows xp since microsoft stopped the support for xp and win7
the white chars on black background is suitable for my eyes poor vision also the big fonts is good
online.PNG

Mahmoud Fayed

unread,
Apr 4, 2024, 7:17:05 AM4/4/24
to The Ring Programming Language
Hello Mansour

You are welcome :D

Greetings,
Mahmoud

Mansour Ayouni

unread,
Apr 4, 2024, 7:18:13 AM4/4/24
to Fuad Omari, The Ring Programming Language
In fact, I tested it on mobile, has adapted automatically when i turned the phone, and was very suick!

Great work.

Best,
Mansour

Mahmoud Fayed

unread,
Apr 4, 2024, 7:35:50 AM4/4/24
to The Ring Programming Language
Hello Mansour

>> "In fact, I tested it on mobile, has adapted automatically when i turned the phone, and was very suick!"

Developing the UI of this application was fun, I have used the Ring Form Designer, Layouts, etc.
Tested everything on the desktop, then distribution for WebAssembly using Ring Notepad (Distribute Menu) and Qt Creator was done in around 1 minute :D

The code is written to work on (Desktop (Windows/Linux/macOS), WebAssembly & Mobile too)

So, we can distribute this application for Android and have a real Mobile application.

Greetings,
Mahmoud

Fuad Omari

unread,
Apr 4, 2024, 11:31:43 AM4/4/24
to The Ring Programming Language
I have tried the new design. it is even better than w3schools.com . with the already available examples it is a live nice tutorial with practical examples
thanks

Mahmoud Fayed

unread,
Apr 4, 2024, 12:27:02 PM4/4/24
to The Ring Programming Language
Hello Fuad

You are welcome :D

Greetings,
Mahmoud

Bert Mariani

unread,
Apr 4, 2024, 2:19:05 PM4/4/24
to The Ring Programming Language
Hello Mahmoud

It started up for me in a split second !!
Very quick. No delay.
Its impressive !

Mahmoud Fayed

unread,
Apr 4, 2024, 9:29:35 PM4/4/24
to The Ring Programming Language
Hello Bert

>> "It started up for me in a split second !!"

This is very nice :D

Greetings,
Mahmoud

Mahmoud Fayed

unread,
Apr 5, 2024, 5:06:51 AM4/5/24
to The Ring Programming Language
Hello

(1) The source code of TryRingOnline application is added to GitHub: ring/tools/tryringonline at master · ring-lang/ring (github.com)

(2) The application is updated to include more samples :D

(3) When we type an input and press ENTER it will be added to the output window

(4) If we tried to send an input while no program expects this input, we will get a message to indicate that.

Greetings,
Mahmoud

Mansour Ayouni

unread,
Apr 5, 2024, 10:48:02 AM4/5/24
to Mahmoud Fayed, The Ring Programming Language
Hello Mahmoud,

I saw that you also supported syntax highlighting, which is great!

When you have time, I suggest those two small enhancements:
  1. A splitter to give us the possibility to adjust the two zones of the workspace
  2. The button Clear Output does not need to be enlarged automatically when the user enlarges the screen of the browser (it can have a fixed size and be snapped to the right corner)
image.png

All the best,
Mansour

--

---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.

Mahmoud Fayed

unread,
Apr 5, 2024, 11:43:10 PM4/5/24
to The Ring Programming Language
Hello Mansour

>> "I saw that you also supported syntax highlighting, which is great!"

Thanks for your kind words :D

Greetings,
Mahmoud

Mahmoud Fayed

unread,
Apr 6, 2024, 12:58:35 AM4/6/24
to The Ring Programming Language
Hello Mansour

>> "When you have time, I suggest those two small enhancements:"


Greetings,
Mahmoud

On Friday, April 5, 2024 at 5:48:02 PM UTC+3 kalid...@gmail.com wrote:

Mahmoud Fayed

unread,
Apr 6, 2024, 1:01:37 AM4/6/24
to The Ring Programming Language
Hello Mansour

By the way, the splitter respects the width of the widget at some point to keep all of the controls visible and able to display the text, but it can hide the widget :D

So, in the next screen shot, I have used the splitter to hide the Code, and keep only the output 

Splitter.png

And I can use the splitter again to restore the code widget.

Greetings,
Mahmoud

Mansour Ayouni

unread,
Apr 6, 2024, 7:33:05 AM4/6/24
to Mahmoud Fayed, The Ring Programming Language
Hello Mahmoud,

Thank you for the updates!

The feature you showed is really useful, it solved a problem I had yesterday when I tried this code:
image.png

I was explaining loops to a child and I needed to show him the notion of a grid displayed entirely on the screen.

Now with the splitter it's possible :D

image.png

PS: I noticed two interesting issues I'll share with you in the next post.

All the best,
Mansour

Mansour Ayouni

unread,
Apr 6, 2024, 7:55:06 AM4/6/24
to Mahmoud Fayed, The Ring Programming Language
Hello Mahmoud,

It's better to fix two buttons Font Size and Style to the left to avoid changing their positions and widths. This will convey a feeling of stability and diminishes friction, especially for new users:

image.png

Also, the TAB button (the one we use a lot in Ring style), does not work inside the code editor widget. Instead, the button Clear Output in the Output widget gets the focus:

image.png

With this, I think that we now have a nice playground that people will use a lot. May be it's time to add a call action to it in the front page of Ring website, here for example:

image.png
And in the future, the idea of adding a link after each code sample in the documentation to encourage people to test-drive it on the online tool will be helpful. Something like this:

image.png

Thank you a lot for all your efforts.

Best,
Mansour

Fuad Omari

unread,
Apr 6, 2024, 8:38:17 AM4/6/24
to The Ring Programming Language
not sure if this is possible but adding the ability to load "stdlibcore.ring" will enable us to use more functions like print ..etc
is it possible to load the files from the computer or the security issues prevent that !!
i agree with Mansour about adding a link at the beginning of the Docs with a title like Try Ring Online will be handy
Thanks Mahmoud for all your efforts

Mahmoud Fayed

unread,
Apr 6, 2024, 10:32:35 AM4/6/24
to The Ring Programming Language
Hello Mansour, Fuad

>> "It's better to fix two buttons Font Size and Style to the left to avoid changing their positions and widths."
>> "Also, the TAB button (the one we use a lot in Ring style), does not work inside the code editor widget."

It's a (Qt for WASM) issue, So I applied a workaround.

>> "And in the future, the idea of adding a link after each code sample in the documentation to encourage people to test-drive it on the online tool will be helpful."

Not interested in this feature.

>> "not sure if this is possible but adding the ability to load "stdlibcore.ring" will enable us to use more functions like print ..etc"

You can use print() without stdlibcore.ring 

In theory it's possible to support most of the libraries (Including RingQt itself too) - I have already did that for PWCT2 (But the WebAssembly version is not released for public usage). 

To support any file/library like stdlibcore.ring, it needs to be added to the resource file of the project OR written by the program through a string as we do with other files like this: ring/tools/tryringonline/ringvm.ring at master · ring-lang/ring (github.com)

It's not my goal at the current stage. 

The goal is to provide a quick idea about the language to new users.
NOT TO PROVIDE A RING IDE OR COMPLETE ONLINE VERSION 
Because this will require continuous updates & maintenance & I don't have time to do that.

On the other hand (TryRingOnline) is open source: ring/tools/tryringonline at master · ring-lang/ring (github.com)
So, it can be used by others in such projects in the future. 

Mansour Ayouni

unread,
Apr 6, 2024, 1:19:04 PM4/6/24
to Mahmoud Fayed, The Ring Programming Language
Thank you Mahmoud.

All the best,
Mansour

Mahmoud Fayed

unread,
Apr 6, 2024, 11:12:07 PM4/6/24
to The Ring Programming Language
Hello Mansour

You are welcome :D

Greetings,
Mahmoud

Reply all
Reply to author
Forward
0 new messages