T-Wimp at ROUGOL, Mon 20th Jan 2025
Bryan Hogan (339) 596 posts |
The next meeting of the RISC OS User Group Of London is: T-Wimp, presented by Graeme Shrimpton Monday 20th January 2025, 7.45pm The Duke of Sussex Also online via Zoom from 7.30pm https://rougol.jellybaby.net/meetings/ For our first meeting of the new year we have a new speaker with new software to make it easier to create new software! Graeme will be demonstrating his new development tool T-Wimp, which allows you to create full multitasking desktop applications using a simple textual description and a few lines of BASIC. As well as talking about how and why he developed it, Graeme will create a complete application as a live demo of how simple it is. Our venue is right next to Waterloo Station and there is parking directly outside. Directions here – https://rougol.jellybaby.net/venue.html For any queries or to receive the Zoom link (same as previous months) contact us – https://rougol.jellybaby.net/contacts/ Bryan. |
Graeme (8815) 110 posts |
NEW: (23rd Jan 2025) TWimp is now available at http://www.ro32.co.uk Monday 20th January, I will be presenting and live programming a full Wimp application using my new TWimp module thanks to Bryan and ROUGOL. The details of how to join are in the first post in this thread. It is not language specific. As long as the language you program in supports calling SWIs then TWimp should work. It certainly works with C, C++, Python, Lua, BASIC and even assembler. The demonstration will be using BASIC. Watch how a few lines of code you need to write to make a complex application. I hope to make the demo version of this module available alongside a very early reference manual around the time of the presentation. |
Gavin Smith (217) 100 posts |
I regret that I was unable to attend the meeting as I had hoped, but I hear that T-Wimp was very well received. Graeme has written an excellent introduction/tutorial to T-Wimp for the rapidly incoming issue of Archive, so don’t miss that if you are at all interested. |
Jean-Michel BRUCK (3009) 380 posts |
I hope there will be a video? Thanks My English level is not good enough to follow zoom meeting. |
Paolo Fabio Zaino (28) 1915 posts |
It’s an excellent work! Plain and simple. First time in ages I felt excited about some development on RISC OS. The only “defect” TWimp has is that it should have been developed ages ago and made it part of RISC OS itself! Thank you Graeme for the work and the presentation. For who asked for the video I think Leo has recorded it, so there should be a video tutorial at some point on the ROUGOL site I think. |
Rick Murray (539) 13958 posts |
And for those who didn’t attend the virtual meeting and don’t subscribe to Archive…?
I guess it would be nice if this development that causes excitement had some sort of web page to promote itself, rather than the all too often (in the RISC OS world) case of “there’s something mentioned somewhere but you need to know where to look”.
So, simple question to begin with: What’s T-Wimp? Is it like Psion OPL? VisualBasic |
Andrew McCarthy (3688) 615 posts |
http://www.ro32.co.uk/ Here’s what I have (the link). Video soon. |
John Rickman (71) 654 posts |
It is very much like PySimpleGUI, which is a text based way of managing TKinter graphics in Python. |
Paolo Fabio Zaino (28) 1915 posts |
It’s a set of SWIs that can be used from any programming language capable of (well) running a SWI to quickly create Wimp applications. It’s much more effective than the ToolBox in the sense that you can define menus and object behaviors in a window (or nested windows) trough a templating language. The definition format is human-readable and very intuitive. (I’m using a similar approach for desktop applications on my Ultima, but in my case, it’s required because Ultima deals with different desktop environments). Imagine this as a quick way to create a Template file that also defines the construction of nested windows, menus, panes (and even relative locations and events generation), along with a neat API in BBC BASIC (or RiscLua, Python, ASM, and C) to interact with objects and events. Honestly, it’s just a shame that Acorn, RO Ltd, Castle, and ROOL couldn’t come up with such a nice idea. It basically reduces Wimp application development time significantly. Again, the only defect I see is that it’s not part of RISC OS and wasn’t introduced a long time ago. As for the screenshot, what it does is fundamentally establish a new and more advanced way to create desktop templates and then generate a Wimp application with very few instructions in BBC BASIC (or the other aforementioned languages). This is how it should be in 2025 (yes, even for that old BBC BASIC). Once again, bravo to Graeme! An excellent piece of work. |
John Rickman (71) 654 posts |
Thanks Andrew – got it. |
Andrew Rawnsley (492) 1450 posts |
@Greame this is exactly the kind of exciting development we’d like to see shown at the RISC OS North exhibition :) Would you be interesting in coming and showing your software? If so, the contact details are contact at riscosnorth.uk Nice work on the software – I remember starting my desktop software life with Archway which was an old RISC OS 2 era attempt at simplifying desktop coding, much as you’re doing. It died out long ago, but software like this is essential in bridging the gap between single-tasking, full screen BASIC applications and the wild world of event-driven desktop applications. Like Rick, I looks forward to the video, but have already downloaded the demo. Question though – have you considered how people can release applications based on it without giving away the full, paid-for runtime module? |
Graeme (8815) 110 posts |
Hello everyone. First, thanks to ROUGOL and Bryan for letting me present. This software is available at http://www.ro32.co.uk
Paolo has explained it well. It is a simple set of SWIs that allow you control the Wimp using text. That is the T in front of the Wimp, standing for Text. All of the main SWIs that a beginner needs are simple number and string input and output. No blocks or pointers, no handles. All of the items can have names instead of window handles, icon handles and menu pointers. Example code in BASIC to update an item you created with the name ‘the_thing’ to make it go grey (and it can be an icon, menu, window or even a multiple group of things you have called the_thing): SYS “TWimp_Update”,“the_thing”,“grey”
Information is slowly getting out. The website has the demo version with a PDF that is an early draft and is around 70 pages long. Archive magazine will contain an article that is essentially similar to the ROUGOL presentation for the first edition. The program is so large that the second Archive article will detail some things that are different from other places and may make your jaw drop wondering why this hasn’t been thought of before. Some of this information is in the PDF but the Archive article will break it down with an tutorial type explanation. Eventually the information will get out to everyone but I need to get people to see the basics first and I can take the articles in magazines down a different tutorial route from other places.
I’ve just added one (it is uncompressed and just over 8mb). This actually shows the program written for the ROUGOL presentation. The BASIC program, the text files used to define all the items, the !Run and !Boot files plus the program running. It shows a window that has the current time and allows you enter a note and save that note. The file info window is filled in automatically. It also shows a note loaded back in with the current time, the time the note was saved and the note. Both windows have the time updated from one line of code. We had a large number of windows with the time updating (requires the full version). All of that in one 1920×1080 screen: The actual ROUGOL application and TWimpDemo module version now can be downloaded from: That includes the sprites used.
There is an early reference manual in PDF format with the download. I hope to start getting tutorials on the website next month.
It was recorded and as far as I know will go up at some point.
It was released around the time of the show and search engines have not indexed it yet. Makes it a little difficult to find at the moment but that should improve soon.
There are plenty of people who are on these meetings that just listen in. In fact, that describes me about a year or eighteen months ago.
Although there is a remote possibility, I think there may be some challenges in attending. However, I’ll drop a message in the next week or so. |