2016 GUI recommendations

APL-related discussions - a stream of APL consciousness.
Not sure where to start a discussion ? Here's the place to be
Forum rules
This forum is for discussing APL-related issues. If you think that the subject is off-topic, then the Chat forum is probably a better place for your thoughts !

2016 GUI recommendations

Postby Delgear on Mon Oct 17, 2016 8:06 pm

Dyalogers,

My name is David Dooner. I’m hoping to introduce myself to Dyalog APL and learn some of its many features. My background is mechanical engineering. I’ve been with APL2 for over 25 years. I have a moderate command of APL2 and its features.
I recently installed the 64 bit OS non-commercial Unicode version 15.0 of Dyalog to initiate my introduction to Dyalog. I’m struggling with basics and simple differences between the two products. The session is getting suspended a lot as I do not know what I’m doing. I bought “Mastering Dyalog APL” and potentially will buy a Dyalog keyboard. If I’m able to master a working level of Dyalog APL, I’ll proceed with the commercial license.

Dyalog has many features I’m curious about (power, rank, variant, and key operators, I-beam, and system functions). My primary interest involves GUI. I have a moderately extensive GUI, entirely in APL2 (if interested, visit www.delgear.com to download, install, test, complain, and make questions). For me, Dyalog and APL2 GUIs are (very) different. Separate from a re-write of GUI from APL2 to Dyalog, I’m interested in “ways to go” if starting anew with a modern Dyalog GUI. I’ll need Opengl. I’m not a programmer (don’t know OOP, .net, and …) and I do not have full command of Opengl.

Mastering Dyalog APL finally arrived and after an hour or so with the book, I went to the GUI section. I see Dyalog has old style and new style GUI. The bulk of the chapter is devoted to old style. A transition from APL2 to Dyalog GUI will be slow (potentially slower than I envisioned). I need to learn Dyalog GUI and establish a basic framework of important features before I can “dig-in” and attempt a full transition.

I’m interested in recommendations for someone starting a GUI in 2016/2017.
Thanks,
David
Delgear
 
Posts: 8
Joined: Fri Oct 14, 2016 5:31 pm

Re: 2016 GUI recommendations

Postby MikeHughes on Tue Oct 18, 2016 8:10 am

hi David
welcome to dyalog.

to answer ...it depends where you want to publish and how sophisticated your audience.

if windows you have two basic choices
1 []wc looks a little dated but is very good and solid and dyalog are committed to supporting it.
2 Wpf which gives a more modern look but ms seem less committed to it but have nothing else to replace it. this comes as raw objects or through xaml.

if on anything rendering html5 then I'd say you have miserver or something I am developing using web sockets.

if you use 2 and/or Web sockets you can use databinding where you define your gui in xaml and then develop your app to update apl variables and bind the two together.
it will be possible using data binding to support all platforms but it is not complete yet. it all needs more granularity promised in dyalog version 16.
this is a bit like ape in apl2...but better :-)

I'm sure dyalog will have their own recommendations too.
User avatar
MikeHughes
 
Posts: 86
Joined: Thu Nov 26, 2009 9:03 am
Location: Market Harborough, Leicestershire, UK

Re: 2016 GUI recommendations

Postby Delgear on Tue Oct 18, 2016 10:03 pm

Mike,
Thanks for the suggestions. This is the type of guidance I am seeking. Namely, what are the latest trends and will I be able to use Dyalog to develop the next generation GUI.
As for sophistication, I’m envisioning a GUI package with features used in the Dyalog session editor. I’ll have menus (dynamic?), toolbars (potentially with & without docking), and status area. I envision many controls (treeview, push buttons, radio buttons, checkboxes, tabs, list boxes, spin buttons, entry fields, and …).
Quadwc vs Wpf, I do not know enough about Wpf. I’m yet to like the Windows 10 GUI (viz., flat themes) but I do not have a choice. Regardless, I must create something for the user. I’m not a programmer so any route will involve a level of effort on my part. Further, forcing me to go (way) outside of APL will be a big deterrent. Your comment about ms commitment to Wpf is a worry. I want to avoid spending years to develop a package and ms withdraws support.
I do not know anything about html5. If I can get going, I’m willing to put forth some effort. I could not duplicate the GUI I currently have within a year (full time) using APL2 (where I know the language and the GUI)!!! Namely, go redo what I’ve done will take time as I have a moderate sized package (not NX, SolidWorks, Esprit big but …).
Waiting ‘til Ver 16 is not a hurdle. I’ll not have a “wire-hanger” working GUI in a year. I do not know what level of problems I will encounter. This may be possible with a lot of questions to the Dyalog community.
Thanks for your comments.
David
Delgear
 
Posts: 8
Joined: Fri Oct 14, 2016 5:31 pm

Re: 2016 GUI recommendations

Postby MikeHughes on Wed Oct 19, 2016 10:03 am

Without knowing what you have and your further expectations in detail - there is another possibility.

I had one customer where they wanted to keep the APL2 GUI and we built an emulator in WPF. So all the GUI from their Formats etc still worked but this would not give you the neat controls you mentioned you hoped to use but would get your GUI up and running earlier.

Its just another option to consider.
User avatar
MikeHughes
 
Posts: 86
Joined: Thu Nov 26, 2009 9:03 am
Location: Market Harborough, Leicestershire, UK

Re: 2016 GUI recommendations

Postby Delgear on Wed Oct 19, 2016 11:55 am

Mike,

More thanks. Retaining APL2 GUI is perhaps an easy way to go and good to know, my immediate reaction is to be patient, build a solid base and grow with Dyalog. I need to learn Dyalog basics and initiate my foray into Dyalog GUI.

David
Delgear
 
Posts: 8
Joined: Fri Oct 14, 2016 5:31 pm

Re: 2016 GUI recommendations

Postby Dick Bowman on Wed Oct 19, 2016 2:50 pm

Joining in a bit late, but...

Not entirely sure what you want to achieve and how being "not a programmer" fits in, but let's not let that deter me.

Looked at your website examples (but didn't download anything) and I see a basic-but-extensive GUI where the only real puzzle is how the pictures get generated. I guess that's where OpenGL would come in and I recall someone offering a Dyalog/OpenGL toolbox at one point. But if the pictures are just bitmaps/jpegs they would be easy to display.

Assuming you've kept the GUI and processing parts of your application fairly separate I'd guess that a port from APL2 to Dyalog would be fairly straightforward as soon as you've built yourself a mental model of how the GUI approaches differ.

Unless you really feel the need for a look-and-feel that goes beyond native APL/W I'd be inclined to go down that road (and throw in the aside that ⎕WC/⎕WG/⎕Whatever feels like a now-historic aberration and would recommend using the dot-syntax as a less jarring coding style). If you do go down the .NET/WPF/Syncfusion road you can end up with a richer GUI, but be prepared to deal with "documentation" written by and for coding nerds - it's a morass.

If I were you I'd be inclined to explore (on a potentially throwaway basis) emulating a few of your existing windows/forms; and figure out how to get the pictures displayed (if you use OpenGL to make them now, that ought not be too hard).
Visit http://apl.dickbowman.com to read more from Dick Bowman
User avatar
Dick Bowman
 
Posts: 235
Joined: Thu Jun 18, 2009 4:55 pm

Re: 2016 GUI recommendations

Postby Delgear on Wed Oct 19, 2016 5:29 pm

Dick,

Thanks for the feedback. My comment “not a programmer” is important as my experience is with APL2. I will likely not understand comments on certain topics (e.g., OOP and .net). I want a modern GUI. Starting fresh, I’d like to build a GUI that will not be dated or obsolete in a few years. I favor the classical GUI look but it’s not all what I like.

The APL2 GUI is somewhat basic but I do have features not illustrated. The images are not static and generated using Opengl. Further, I have animation of objects (up to 10K points/object). I also have texture coordinate, transparency, shading and … Not so important but I’ll need same/similar features.

I somewhat agree, I need a basic framework of overall structure and then it will be somewhat easy to fill in the details. Perhaps slow but not difficult. This is my question, should I attempt the dot syntax and prepare myself for future changes. My thinking is yes but I do not have any experience. I know classical APL somewhat well. I too know APL2 GUI. Even with this base, I expect starting anew with the .net mode will be a lot of work for me. I will not be able to read and understand the nerdspeak you mention and this was another reason for my “not a programmer” comment. However, I’d like to learn (up to a level) and I can likely proceed if I have a Dyalog template to emulate.

I need a dialog with a menu, toolbar, status area, basic controls, and custom control for opengl graphics. The remainder will be detail. I will try to learn Dyalog and then explore using a .net approach.

Thanks.
David
Delgear
 
Posts: 8
Joined: Fri Oct 14, 2016 5:31 pm

Re: 2016 GUI recommendations

Postby Dick Bowman on Thu Oct 20, 2016 10:52 am

OK, I understand better now.

If you want a rich user interface (resembling current non-APL applications) it might be better to go down the WPF route - the problem there is that APL-based experience and reference materials are thin on the ground and you may find yourself visiting some complex byways. That said, getting some working windows going should be fairly straightforward (the only real unanswered question on the APL side is whether you want/need a GUI design tool in the manner of Visual Studio).

I'd say the big unanswered question is how you invoke OpenGL and make use of it to feed images back into your windows - and I haven't any thoughts to offer on that.

My recommendation is that you approach Dyalog directly and see what they have to say, unless you've already done that. My guess is that they would be able to offer some quite constructive input.
Visit http://apl.dickbowman.com to read more from Dick Bowman
User avatar
Dick Bowman
 
Posts: 235
Joined: Thu Jun 18, 2009 4:55 pm

Re: 2016 GUI recommendations

Postby Delgear on Thu Oct 20, 2016 11:17 am

I initiated a contact with Dyalog and they responded immediately and have been extremely supportive.
Delgear
 
Posts: 8
Joined: Fri Oct 14, 2016 5:31 pm

Re: 2016 GUI recommendations

Postby PGilbert on Thu Oct 20, 2016 11:50 am

Hello David, the GUI that you described is a standard GUI and there is an article on how to achieved that with WPF here. On the subject of OpenGL and WPF there is an article here.

But this is not enough, you need some examples and utilities functions that you can find on the AplWiki here. If you want to see what you are going into with WPF you can have a look at this demo workspace on the AplWiki here.

In my opinion if you want to develop a new desktop application WPF is the way to go. You will need some help however coming with the Xaml of your GUI and the use of Visual Studio and how to interface it with your WS.

If you decide to go the WPF route let me know and I can help you with that.

Regards,

Pierre Gilbert
User avatar
PGilbert
 
Posts: 436
Joined: Sun Dec 13, 2009 8:46 pm
Location: Montréal, Québec, Canada

Next

Return to APL Chat

Who is online

Users browsing this forum: Bing [Bot], Majestic-12 [Bot] and 1 guest