DrawFBP bug

29 views
Skip to first unread message

Paul Morrison

unread,
Nov 10, 2016, 10:33:25 AM11/10/16
to Flow Based Programming
Some time in June of this year, I put up a version of DrawFBP which could save diagrams, but couldn't read the result!  This was entirely my fault, and there was no excuse.  This problem has now been fixed (as of Release v2.13.4) and I will try to do better next time!

This was bad, but probably not too unusual in the software business.  However, what I fail to understand is why nobody reported it - it could have been fixed 4 months ago if someone did... but nobody did!  I have various theories, which I won't explore now, but what I would really like to know is: did someone run into this problem and fail to report it, or did they merely build a diagram, (probably) save it, and then never try to revisit the diagram?

As I have no other way to contact possible users, I am placing my question in this forum.

Thanks, and again apologies!

J. Paul Morrison

 

David Ryman (ANeo)

unread,
Nov 10, 2016, 1:25:33 PM11/10/16
to Flow Based Programming
Hey,
I confess. There was "<net><desc></desc>" missing in the saved file, which I cutnpasted from another .drw

In my defense, it was my first day. The key phrase is 'not too unusual', therefore tolerated and worked around, and accepted.

This was bad, but probably not too unusual in the software business

Yes it is. Back in the day I never released mal-functioning software, but IBM minis and RPG II made that easier, they were simpler times.
When at the Press Association in London, we had a 3 CD set of Microsoft issued Win95 bugs. Seems that bugs had become an accepted part of IT life. That is probably due to complexity, which is why I want FBP to take over the world. Keep it simple. 

OO somehow manages to miss the target, for me. Reuse code suggests simplicity, but burying it down the rabbithole negates the gains made.

Anecdote: Working at a London Software House with System/36, IBM released the compact 36 with user installed hardware additions. Easy, you match the colored symbol on the card with the one above the slot in the box, and slide it home. Clients would not do that, so I, jokingly, suggested dressing monkeys up in blue shirts (IBM uniform) to do it. I also thought I could expand on that and teach monkeys to program, that was until I had to, haha, as Tech manager.
anyhoo. The aim in FBPhilosphy ought to be to provide a graphical environment that monkeys can be productive on.

That's my opinion, I could be wrong!

ANeo

Paul Morrison

unread,
Nov 10, 2016, 7:46:17 PM11/10/16
to flow-based-...@googlegroups.com, Humberto Madeira
Thanks for the feedback!  That makes me feel a whole better!  Maybe thousands did exactly what you did!  ;-)

I like the simplicity of pictures.  I think visually, but actually I think most people do... except for one colleague (who was brilliant, BTW), who built a complex FBP application using stepwise refinement, but never drew a single picture - or so he told me!

OTOH we have to get a handle on reuse, using libraries of precoded, pretested components.  Bert and I have chatted about this.  Just a simple cataloguing problem - Canadian Tire should be able to help!

--
You received this message because you are subscribed to the Google Groups "Flow Based Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-programming+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Ged Byrne

unread,
Nov 11, 2016, 8:33:43 AM11/11/16
to flow-based-...@googlegroups.com, Humberto Madeira
Hi Paul,

I'll have to be completely honest and say that I don't use DrawFBP.  

To be frank, this is because I don't enjoy using it.  It feels like it is tightly bound to somebody else's workflow.  Especially in the way it requires me to switch between the diagram and source.

As you know, I love the concepts and ideas behind FBP.  I just find the user experience of DrawFBP to be unpleasant.

To start using it I would need two things:
  1) A general tidy up to bring it up to date.  If nothing else, I simply can't work without UNDO.
  2) Add a feature that allows me to type a description and quickly add it to the diagram, like yUML: http://yuml.me/diagram/scruffy/activity/draw 
  3) I like to draw the diagram first and the code later.  Please let me add ports directly to the diagram and then include them in the code generation.

I wish I had the time to do these things myself, because I would love to have an FBP drawing tool that I could use.

Regards, 


Ged 



To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-progra...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flow Based Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-progra...@googlegroups.com.

Paul Morrison

unread,
Nov 11, 2016, 9:12:59 AM11/11/16
to flow-based-...@googlegroups.com, Bob Corrick, Humberto Madeira
On Fri, Nov 11, 2016 at 8:33 AM, Ged Byrne <ged....@gmail.com> wrote:
Hi Paul,

I'll have to be completely honest and say that I don't use DrawFBP.  

To be frank, this is because I don't enjoy using it. 

Thanks for being frank! 
 
It feels like it is tightly bound to somebody else's workflow. 

Could you expand on this?  It fits my workflow perfectly!  :-)   See my 3 videos on DrawFBP, listed in http://www.jpaulmorrison.com/fbp/ , near the bottom.
 
Especially in the way it requires me to switch between the diagram and source.

Does it?  I don't go to source until quite late in the process.  Again, could you expand?
 

As you know, I love the concepts and ideas behind FBP.  I just find the user experience of DrawFBP to be unpleasant.

To start using it I would need two things:
  1) A general tidy up to bring it up to date.  If nothing else, I simply can't work without UNDO.

That is a good idea - do you need multiple UNDOs, or just the last action?
 
  2) Add a feature that allows me to type a description and quickly add it to the diagram, like yUML: http://yuml.me/diagram/scruffy/activity/draw 

I thought it did - I just click to position a block, and then type in the description.  How is this different?
 
  3) I like to draw the diagram first and the code later.  Please let me add ports directly to the diagram and then include them in the code generation.

I thought it was there - this is how I use it!
 

I wish I had the time to do these things myself, because I would love to have an FBP drawing tool that I could use.

So, yes, good comments, but I need a bit more explanation!

Regards,

Paul M. 

Regards, 


Ged 



To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-programming+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flow Based Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-programming+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flow Based Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-programming+unsub...@googlegroups.com.

Ged Byrne

unread,
Nov 11, 2016, 10:19:38 AM11/11/16
to flow-based-...@googlegroups.com, Bob Corrick, Humberto Madeira
Hi Paul,

I've watched the video and I've learnt some stuff that I wasn't able to figure out before.

I'm using version 2.10.11.  Is there a better later version?
 
To answer your questions:

1) Multiple levels of undo.  This is essential if I'm to feel free to experiment.  I want to try deleting 10 components and try replacing with just one without having to create a separate save.

2) Does the block allow me to type anything other than a name for display?

I'd like to be able to describe not just individual components but the whole graph.  If you look at the UML description you'll see that an entire activity diagram can be produced from a description,

I like to type, it is much faster than clicking around with a mouse.  It also allows  me to generate the descriptions using scripts.

yUML is a good exmple of this.  The following text...

   // Cool Class Diagram
   [Customer|-forname:string;surname:string|doShiz()]<>-orders*>[Order]
   [Order]++-0..*>[LineItem]
   [Order]-[note:Aggregate root{bg:wheat}]

Creates this class diagram:

I'd like to have a similar DSL for FBP.  At the moment I tend to edit the XML of the file directly, which isn't great.

3) I see this in the video now.  Having created the diagram I wanted to then add the ports.  It didn't occur to me that I could simply drag between two components and that both the ports and connections would be automatically generated.  

I looked at the port information table and found that I could not add to it.  Then I found that if I linked to a class with ports then they would appear in the table.  So I added my ports in the java.  When I was able to draw between components I thought that this was because I'd added the port.  I didn't realise that I could have done it before by using the mouse slightly differently.  

When I click and drag on the square the component is moved. I had no reason to expect a different behaviour when I click and drag on the edge.  In most modern UI there are affordances to indicate behaviour.  For example, when over a component the mouse changes to the four arrows to indicate that I can use it to move the box around.  When I'm at the edges it changes to a single arrow and a line to indicate that I can adjust the size of the box.  DrawFBP has no affordances, not even a tool tip message.

It would be helpful if ports were visible on the diagram, like in expression flow.  When I hover over one of those ports the mouse pointer should change and a tooltip should say something like "Click and drag to connect ports."
Image result for flow based programming
Regards, 


Ged



Regards, 


Ged 



To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-progra...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flow Based Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-progra...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flow Based Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-progra...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flow Based Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-progra...@googlegroups.com.

David Ryman (ANeo)

unread,
Nov 11, 2016, 12:28:35 PM11/11/16
to Flow Based Programming, be...@gildrum.com


On Thursday, November 10, 2016 at 6:46:17 PM UTC-6, Paul Morrison wrote:
Thanks for the feedback!  That makes me feel a whole better!  Maybe thousands did exactly what you did!  ;-)

I like the simplicity of pictures.  I think visually, but actually I think most people do... except for one colleague (who was brilliant, BTW), who built a complex FBP application using stepwise refinement, but never drew a single picture - or so he told me!

In FBWorld all things should be possible, any way to create a FB flow file should be available, text editor, diagram s/w, and system generated. To that end, and of reuse, I am currently looking at hacking Dia to pull that into the fold. Creating shape widgets is part 1, plugin to generate some code to pass to an FBEngine.
You might look at Dia to see how they handle masses of components. Which has me thinking again. The possibility of generating diagram/flowchart widgets from FBComponent list.
 

OTOH we have to get a handle on reuse, using libraries of precoded, pretested components.  Bert and I have chatted about this.  Just a simple cataloguing problem - Canadian Tire should be able to help!
 
Canadian Tire?

Paul Morrison

unread,
Nov 11, 2016, 9:44:50 PM11/11/16
to flow-based-...@googlegroups.com, David Ryman


On Fri, Nov 11, 2016 at 12:28 PM, David Ryman (ANeo) <goo...@davidryman.com> wrote:

...
 
OTOH we have to get a handle on reuse, using libraries of precoded, pretested components.  Bert and I have chatted about this.  Just a simple cataloguing problem - Canadian Tire should be able to help!
 
Canadian Tire?





Canada's goto place for hardware items - shelves and shelves of them!

Paul

Paul Morrison

unread,
Nov 11, 2016, 9:59:44 PM11/11/16
to flow-based-...@googlegroups.com, Bob Corrick, Humberto Madeira
Hi Ged,

Thanks for the feedback!

On Fri, Nov 11, 2016 at 10:19 AM, Ged Byrne <ged....@gmail.com> wrote:
Hi Paul,

I've watched the video and I've learnt some stuff that I wasn't able to figure out before.

I'm using version 2.10.11.  Is there a better later version?

2.13.4 - obtain either from GitHub/drawfbp, or from Maven (DrawFBP)
 
To answer your questions:

1) Multiple levels of undo.  This is essential if I'm to feel free to experiment.  I want to try deleting 10 components and try replacing with just one without having to create a separate save.

You can just delete 10 blocks, and then add one - no save needed!  I meant "undo the last action" or "last few actions" - how essential is that?



2) Does the block allow me to type anything other than a name for display?

You can fit about 50 characters inside the block.  I jsut found that I could 125 characters, but it looks horrible!

Ged>

I'd like to be able to describe not just individual components but the whole graph.  If you look at the UML description you'll see that an entire activity diagram can be produced from a description,

I like to type, it is much faster than clicking around with a mouse.  It also allows  me to generate the descriptions using scripts.

yUML is a good exmple of this.  The following text...

   // Cool Class Diagram
   [Customer|-forname:string;surname:string|doShiz()]<>-orders*>[Order]
   [Order]++-0..*>[LineItem]
   [Order]-[note:Aggregate root{bg:wheat}]

Creates this class diagram:

I'd like to have a similar DSL for FBP.  At the moment I tend to edit the XML of the file directly, which isn't great.

me>

This where we differ: I really don't like your textual notation!  :-)  And I don't have the time or interest in trying to figure out how to lay out the blocks - I have seen too many failed attempts at that!

Ged>

3) I see this in the video now.  Having created the diagram I wanted to then add the ports.  It didn't occur to me that I could simply drag between two components and that both the ports and connections would be automatically generated.  

I looked at the port information table and found that I could not add to it.  Then I found that if I linked to a class with ports then they would appear in the table.  So I added my ports in the java.  When I was able to draw between components I thought that this was because I'd added the port.  I didn't realise that I could have done it before by using the mouse slightly differently.  

When I click and drag on the square the component is moved. I had no reason to expect a different behaviour when I click and drag on the edge.  In most modern UI there are affordances to indicate behaviour.  For example, when over a component the mouse changes to the four arrows to indicate that I can use it to move the box around.  When I'm at the edges it changes to a single arrow and a line to indicate that I can adjust the size of the box.  DrawFBP has no affordances, not even a tool tip message.

It would be helpful if ports were visible on the diagram, like in expression flow.  When I hover over one of those ports the mouse pointer should change and a tooltip should say something like "Click and drag to connect ports."
Image result for flow based programming

me>

Some good ideas here - thanks!  I will add them to the Issues list for DrawFBP.

Regards,

Paul

Regards, 


Ged



Regards, 


Ged 



To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-programming+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flow Based Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-programming+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flow Based Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-programming+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flow Based Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-programming+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flow Based Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flow-based-programming+unsub...@googlegroups.com.

Paul Morrison

unread,
Nov 13, 2016, 12:50:17 PM11/13/16
to flow-based-...@googlegroups.com, Ged Byrne, David Ryman, Bob Corrick, Humberto Madeira
Latest version of DrawFBP is v2.13.5 - get it from Maven (search on DrawFBP) - this remembers the frame size, location, and last diagram worked on (if you closed down DrawFBP with the diagram still showing). 

I hope I have also finally fixed that weird scan bug while displaying a saved diagram.  I feel bad that I apparently didn't fix it the first time!

David and Ged, I am slowly working through your list of suggested enhancements!   More to come eventually!  Ged, I have posted one of your paras on DrawFBP/Issues.

Thanks and regards,

Paul  M.

On Fri, Nov 11, 2016 at 10:19 AM, Ged Byrne <ged....@gmail.com> wrote:
Hi Paul,

Paul Morrison

unread,
Nov 13, 2016, 12:53:43 PM11/13/16
to flow-based-...@googlegroups.com, Ged Byrne, David Ryman, Bob Corrick, Humberto Madeira
PS The diagram description can be changed by clicking on Edit/Edit Diagram description - I forgot it was there!
Reply all
Reply to author
Forward
0 new messages