Exercise in frustration

Moderator: Moderator Group

Exercise in frustration

Postby Gmoors » Fri Jul 18, 2014 7:37 pm

First off I want to say that I am a huge supporter of the widget designer and I thing you guys have done an awesome job.

But programming for the widget designer is just an exercise in endless frustration.

I honestly can't understand why you decided to construct a whole new programming language for this, while there are plenty of complete, mature open source programming languages out there that can be used just as well. I don't have a lot of programming experience, but enough to feel that this is just a hack job. Yes it's getting better with every release, but there is so much work left in what I feel are just basic stuff.
Besides that there is also all the reference work that you have to redo, where with existing languages all this has been done. Just off the top of my head I'm thinking about LUA and Python (but maybe also ECMAscript/javascript). All easy to learn, easy to use, well documented, and so much more complete.

Personally I feel that the use of braces curly, straight, is not 100% consistent and the fact that it is partially consistent with things like ECMAscript, but also very different in some other places only adds to the confusion.
The use of strong typing in some places and not in other (function arguments for example) leads to a lot of potential problems. If you give me strong typing I also want typecasting.
Lack of proper string functions. OK there is some support but always through global variables, what's that about?
sometimes very very finicky and IMHO inconsistent about white-space (when to use space and when not)
still no full direct member value access for a lot of GUI controls.
mostly set properties for GUI controls, but hardly any get properties.
And these are just a few examples of frustrating stuff I bump into all the time and have to find odd, inelegant, inefficient workarounds for.

I know you guys did a lot of work, and it's awesome, but I feel that there is still such a long way to go that it's not too late to make the right choice and stop trying to re-invent the wheel all over again.

or just make the scripting auto complete available in notepad++ or something.
Posts: 8
Joined: Mon Aug 11, 2008 9:44 am

Re: Exercise in frustration

Postby Patrick Verhey » Tue Jul 22, 2014 2:24 pm


thanks for your feedback and sorry to hear that you do not like all the things we do with Widget Designer.

Let me try to explain a little bit why things are the way they are. Most of that is based in the history of WD. In the very beginning is was made as a very simple tool to create an easy and simple custom user interface to control basic functions within Pandoras Box. After a very short time the whole thing kind of exploded as more an more feature had been requested by users. So we did add more and more functionality and ended up with a very complex piece of software which allows the end user to do a lot of things.
The basic idea of WD was also to open custom programming to people who are not experienced in code writing or program languages like the one you mentioned.
So from a non programmer point of view we wanted to be able to connect complex things in very simple ways.
But as people started to do more and more complex and high level things with WD we added a lot of functionality within a short time. So I agree, a few things are not very consistent. For those we do have a very long brush list as we want to clean some of these things up. A few other things cannot be cleaned up as we try to find one tool which can work with multiple 3rd party tools. So depending on what is connected to the WD you need different control strings to ensure that the receiving side would understand the commands. Unfortunately most of these 3rd party components do speak very different languages and so we need to be able to talk to all of them at the same time.
I also agree that a few things are running different as you might be used by writing code, but which are very close to that, like functions, variables and script commands. For someone who has knowledge of code development it might be easier to work in their known environment and not in WD. But for all the people who never touched any code language, and this applies to possible 90% of the WD user, the workflow within WD is much easier.
Anyhow, the more complex the setup and programming needs are, the more work it will be to do in WD.
We are working hard to improve the workflow in WD, same as in PB so there will be more features, and also feature enhancements du to user requests coming. So we are always very happy to get feedback from our users.

Finally I would like to mention that we also do offer a SDK, so if you prefer to write your own code in C++, VisualStudio or other development areas you can do so. That way you can work completely independent from the internal WD workflow, but still have most of the commands available.

Even if I could not eliminate your frustration, I hope I could get you a bit of a better understanding why things are the way they are.

best regards

Patrick Verhey
Patrick Verhey
Posts: 366
Joined: Fri Jul 11, 2008 11:49 am
Location: Cologne, Germany

Re: Exercise in frustration

Postby Gmoors » Tue Jul 29, 2014 11:20 am

Hi Patrick,

I really do understand where everything in the widget designer comes from and why things are the way they are, and for most of it, I think it is really awesome.

I'm not a real programmer so C++ is not a real option for me, also because the learing curve is way to high. I do have some experience scripting.

I also do understand that the stuff I'm asking for is not for the masses. On the other hand, a much improved scripting experience would elevate what the widget designers power by 1000. And by looking at what good scripting support did for flash and graphic webdesigners 10 years ago (100% graphics people picked up books on scripting and did pretty neat stuff, all in code), I have a feeling you might be surprised what happens when more people pick this up. I do understand the differences in size of the userbase and many other things not being comparable with Macromedia but still, give people good scripting, and they will use it.

I don't really care whether you build you own from scratch, or continue upon other work. I have learned a series of similar but not the same, my main goal with this post is to have someone spend maybe half a day thinking of the possibilities of integrating and extending a ready made language in stead of the road you are walking now. As things evolve it's good to evaluate things every once in a while. If you decide a change in scripting is out of the question, than so be it. I'll still be a happy user. I just think it's a pity that I have to lose half a days work because a select case will not work within a function for reasons a 1000 people have all ready solved 1000 times in other programming languages.

Posts: 8
Joined: Mon Aug 11, 2008 9:44 am

Re: Exercise in frustration

Postby Daniel Kaminski » Tue Jul 29, 2014 11:46 am

Hi Geert,

I am not sure if you are aware of this, but both Pandoras Box and Widget Designer can have their own webserver build in.
In the Pandoras Box Werbserver you can use any of the available SDK Command in a JavaScript enviroment. You can also implement it into a php site which gives you even more scripting options, Database Access and all of this even on the server Side of things.

You can find the webserver under Configuration in Pandoras Box. There is a demo page and a sample project to show you some of the options.

Widget Designer also lets you export websites. If you take a look at those websites you will see how easy you can integrate it into your own JavaScripts, with all the scripting options you ask for.

Maybe this will help you.
Also the SDK work very fine in .NET. So writing in VisualBasic is always an option if C++ or C# is too hard.
And I am sure that the Scripting Language inside Widget Designer will evolve, but this will not happen over night and is a much bigger task than you think.
I can also assure you that we are evaluating and right now we believe the way we are doing things is right for this time and this season of the product. But as you might have noticed things change and evolve pretty quickly (just take a look at the WD Version from 2 years ago).

I hope that the JavaScript or php-Option will help you and get you the results you want. The idea behind it was giving everybody with webscripting skills the power of the Pandoras Box Render Engine.

Daniel Kaminski
Pandras Box Expert
User avatar
Daniel Kaminski
Posts: 919
Joined: Tue Jul 22, 2008 10:55 am
Location: Herten, Germany

Re: Exercise in frustration

Postby Gmoors » Tue Jul 29, 2014 11:59 am

Hi Daniel,

I wasn't aware of the full webserver support, and will definitely look into it. One problem I do imagine without trying are the lack of great interface objects like the media picker.

I got out of programming at around the time .net was released. I heard that it was a lot more hassle that the old vb, but I'll also give that a try.

Posts: 8
Joined: Mon Aug 11, 2008 9:44 am

Re: Exercise in frustration

Postby florian » Thu Aug 14, 2014 11:29 am

I think that the sentiment about re-inventing the wheel vis-a-vis a scripting language for controlling functions inside the WD is VERY valid.

Just about every widget designer programmer that I know has wondered why coolux decided to write a new scripting language. The main sticking points I've dealt with and wondered about are: operator parsing (ie: *=, +=, =, == !=, etc), functions, loops, object methods etc.

The scripting language is getting improved as these issues get squashed one by one, but I also agree that the further the internal WD language is refined, the more annoyed I get that we don't just use an existing scripting language. Code portability is kind of a big reason in my opinion. There are tons of useful algorithms out there that could be useful on a variety of projects, but using them in WD requires translating them into WDScript, which is often a painful and error prone process.

In gfx post production, and some visual programming environments, python has pretty much become the de-facto scripting language. Especially with the recent emergence of member functions/properties in WDScript, it seems like this would be a natural fit.

"Wise men learn more from fools than fools from the wise."

Cato the Elder, Plutarch's Life of Cato
User avatar
Posts: 162
Joined: Fri Jul 25, 2008 3:49 pm
Location: Los Angeles, CA

Return to Widget Designer V4.7

Who is online

Users browsing this forum: No registered users and 1 guest