A Day At The Beach...

Using Microsoft Windows Presentation Foundation and Syncfusion WPF Libraries

A Day At The Beach...

Postby Phil Last on Tue Sep 30, 2014 9:12 am

At October's BAA-London Symposium, for which see post in Announcements viewforum.php?f=31, Dick Bowman will lead a discussion about WPF.
Here is his opening gambit framed after a day at the Dyalog'14 conference in Eastbourne last week.

Dick Bowman wrote:A Day At The Beach...

If WPF's so wonderful, why isn't everybody using it?

The aim of the discussion and online preamble is to find out whether these are true statements.

If WPF/APL is wonderful and everyone's using it, then do we want to see examples of successful use documented?

If WPF/APL isn't wonderful, or everyone isn't using it, should we try to change things - if so, what needs to change and how do we (the worldwide population of APL users) change it.

Wednesday 24 September:
John Daintree presents Data Binding, which looks wonderful but is syntactically alien to APLers.
Morten Kromberg tells us about using WPF and the extras bundled into Dyalog 14 which let us make richer/flasher GUIs (apparently there is a lunatic writing pages of examples that show how some things are done in APL)
Mike Hughes presents a WPF-based successor to the traditional APL/W Grid
Claus Madsen shows us an application built with the goodies bundled into Dyalog 14 and hints at an approach which simplifies use of WPF
Stephan Possberg reminds us that all our old enemies are still sniping away

I've been using WPF to build user interfaces for APL applications for a couple of years - I'm not alone, and others have certainly done more.

But - at least two very established APL programmers have said things like "why bother?" and "it all looks too complicated".

To be continued...
User avatar
Phil Last
 
Posts: 628
Joined: Thu Jun 18, 2009 6:29 pm
Location: Wessex

Re: A Day At The Beach...

Postby Dick Bowman on Wed Oct 01, 2014 7:50 am

Now that Phil has kindly posted and I'm committed, I'd like to get started.

The idea being to throw as many ideas/issues/solutions as possible up into the online air and culminate with the meeting of 24 October (which we may or may not get around to summarising).

I don't really want to own the discussion, and past attempts have more than suggested that we're unlikely to form a productive project group (with delivered deliverables and all that sort of stuff).

But it would be good to have people headed in similar directions and getting some sort of symbiosis.

In the absence of anyone else tossing things into the arena, I'll try to fire something dailyish (until I get banned from the forum).

Topic A - The Ten-Minute WPF Intro.

We need something (or several things) that people can try out and ten minutes later say "I can build application GUIs using WPF, quicker/better than with APL/W Native, and it's worth taking time to find out more".
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: A Day At The Beach...

Postby MikeBa on Wed Oct 01, 2014 9:54 am

Dick has hit the nail on the head with Topic A. I am sitting on the sidelines of WPF/Syncfusion with an appetite to play the game, but a reluctance to invest the time without a greater sense of eventual success.

Way back in the 90s, wintro got me started, but, for me, wpfintro doesn't give the same impetus.

It takes me 10 minutes to drink a cup of coffee, so I am willing to spend a bit more time than Dick!
MikeBa
 
Posts: 27
Joined: Thu Mar 14, 2013 11:40 am

Re: A Day At The Beach...

Postby sjt on Thu Oct 02, 2014 2:14 pm

I'm in. Encouraged by Mike's proper workshop in Eastbourne I'm now on my way to a prrof-of-concept for a new UI for our app, long desired by my boss.

Particularly interested in conspiring with others so we can share what we're learning.
sjt
 
Posts: 21
Joined: Fri Nov 05, 2010 6:26 am

Re: A Day At The Beach...

Postby Dick Bowman on Fri Oct 03, 2014 8:18 am

Slightly off-topic update here - last week Morten was enthusiastically pointing people toward my apldapldoo.info site. I've taken it offline for a while for a rethink of design and hosting. Most current stuff should be back in a few days, meanwhile if anyone has urgent need for my WPF/Syncfusion pages please contact directly (dick@dickbowman.org.uk) or via the forum.
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: A Day At The Beach...

Postby Phil Last on Fri Oct 03, 2014 10:06 am

I'm actually quite interested in this. Haven't touched GUI this century so my ha'porth has probably devalued to a groat or less but what I'd really like to see is a high level set of stuff as simple as:
      form←gui.New'Form'
img←form.New'Image' filename
inp←form.New'Input' 'Multi'
ok←form.New'OK'
can←form.New'Cancel'
and let it decide sensible places to put everything.

And if we can agree a high level meta-language then all the lovely people who enjoy coding all this stuff whether ⎕WC, ⎕USING, ⎕NA or whatever can write the immensely verbose low level interfaces and lazy bums like me can use them.
User avatar
Phil Last
 
Posts: 628
Joined: Thu Jun 18, 2009 6:29 pm
Location: Wessex

Re: A Day At The Beach...

Postby Dick Bowman on Fri Oct 03, 2014 4:35 pm

Thanks for jumping to the punchline, or plot spoiler - and realising that my underlying question is "are we there yet, or are there things we need to do?".

In some ways WPF is indeed getting us closer to your desires, but I think we nerds need to explore some of the detail, so...

Topic B - Do We Need XAML?

On the one hand XAML as a way of defining window layout and content has a lot going for it - there are visual design tools that make XAML, lots of examples to copy/paste when we're too preoccupied to think and we might even be able to hire people to do make XAML for us.

But on the other hand, it's - to my mind - a nasty syntax, complex windows seem to require massive monolithic definitions and it's one more thing to learn and/or go wrong.

We can indeed do quite a lot with .New and .NET/WPF controls. What I'm not quite clear about is whether/how we can do Binding (another topic) outside of XAML. But committing to a XAML-free existence might be cutting us off from a lot of non-APL resource.
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: A Day At The Beach...

Postby Dick Bowman on Mon Oct 06, 2014 3:47 pm

I'm spewing out these topics from the top of my head - no order of importance/precedence implied.

And I would be more than happy to see someone else start adding topics (and comments on topics)

Topic C - Do We Need A Visual Design Tool?

Prototyping a look-and-feel with VS EXpress is very handy, and it's not too much effort to either use the XAML files directly or to copy/paste into APL code. But there's a problem...

As I understand it (and experimentally confirmed), the licensing agreement between Dyalog and Syncfusion doesn't let us add the Syncfusion controls to our VSE projects. And Syncfusion is letting us add a lot of eye-candy (at least) to applications.

How much do we care about this? Do we want to make our own visual design tool? If we do, where's the labour going to come from?

From personal experience, I never felt it was an issue with APL/W Native - there was WSDESIGN, but I only ever tried it in jest (jest did, and remembered my frustrations). So we might make something people don't like and won't use.

Building up XAML with XML Notepad 2007 remains my method of preference - it offers a tree-like model of what you're making which seems a reasonable half-way between full visuals and text-only XAML.

Better tools out there? I like "free" as in bus-passes.
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: A Day At The Beach...

Postby PGilbert on Mon Oct 06, 2014 9:01 pm

Hello everyone, here is my comments on WPF:

1. If you are developing an application for the large public than you have no choice of using WPF because your competitors will use it and you can't expect to sell your application with battleship grey buttons.

2. If you develop an application that will be used internally for your company you can use WPF or ⎕WC, your choice.

3. If you develop an application for a specialized audience (accountants, etc.) and all your competitors are using battleship grey buttons than you can do the same until one of them uses WPF and you start loosing market share slowly.

4. For our part we wanted to make our GUI scalable and have nice vector graphics since our customers are buying huge monitor now and our application was a fix 800x600 pixels.

5. One can do a lot with some 3rd party controls that are ocx without going with WPF. But we decided to go WPF because we can use a program like MS Expression Blend to design our GUI. To design our base application with ⎕WI we took 11 months for the GUI and 1 month for the calculation in APL.

6. So the bottle neck is with the design of the GUI and WPF is addressing that with it's tools like MS Expression Blend (part of Visual Studio now). So the basic idea is good, but I must say you have to read so much and practice so much that at the end you take 11 months to do the same but with WPF. The difference will be the second time you will have learned the tools and it will be very fast to design the GUI.

7. Overall we are happy with WPF, we like the separation between the Business Code (APL) and the GUI code in XAML. If you are not going WPF you should at least write your new APL code so you separate the part for the GUI from the Business Code. That way you could go WPF easily later if you change your mind.

8. The thing we like the most from APL is the Workspace. To be able to inspect the variables and functions at the same time that the workspace is running is formidable and unknown to the compiled language world.

9. If there was a Xaml editor included with Dyalog APL we would not have this discussion about the benefits of WPF. All the APLers are reticent to quit the comfort zone of their Workspace and learn something like Visual Studio to do their GUI (myself the first). I must say that Dyalog has done an excellent job with ⎕WC and most APLer will say why change when its working fine ? And they are correct.

10. Personally we spent a lot of time at the beginning to develop the tools we needed to be productive using WPF with APL (and we learned WPF at the same time). But it would be nice for a beginner to have those tools already available to get productive more rapidly (and have some examples of functions using WPF at the same time).

11. Just to mention it, between WPF and Win32 there was 'Windows Form' that has no Xaml and was extremely popular (and still is). It is possible to do quite nice things with Windows Form but we decided to go WPF because Windows Form is the most part cover functions of Win32 (like ⎕WC is doing).

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

Re: A Day At The Beach...

Postby Dick Bowman on Wed Oct 08, 2014 3:21 pm

Thanks for that, I shall make sure it's represented in our summary.

And on...

Topic D - Resources

Four types of resource in mind here...

a) Scripts/namespaces/etc. that "we" write and are happy to share, even working in the open-source spirit
b) Books/pages written by the rest of the computing world that give useable (concise) recipes we can follow. Two bad things in this category - forum wranglings where people argue with each other and never get to the point, and over-elaborate examples where fluff hides the essentials
c) Books/pages written by "us", showing code exclusively in APL terms
d) People willing to share their knowledge/experience (not sure about this one because it feels a bit one-to-one and doesn't have that do-once-use-many-times thing going for it). Maybe this includes classes/courses.

Have I forgotten anything?
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

Next

Return to WPF & Syncfusion

Who is online

Users browsing this forum: No registered users and 1 guest