On Sun, 04 Dec 2011 06:26:39 -0800, Don <nos...@nospam.com> wrote:

On 02.12.2011 22:02, Adam Wilson wrote:
On Fri, 02 Dec 2011 11:29:18 -0800, Gour <g...@atmarama.net> wrote:

On Fri, 02 Dec 2011 10:56:41 -0800
"Adam Wilson" <flybo...@gmail.com> wrote:

Hello Adam,

Gour, I'd love to talk to you more about GUI's. I am new to D, but I
have spent years working with GUI toolkits and studying their
construction.

Well, I'm just someone with not-so-much free time looking to help some
GUI bindings project in order to be able to use it for open-source
project(s).


Completely understandable. I'm not exactly swimming in free time either
... :-S

My company would like to move to D in the future but, among other
things, the lack of a first class GUI toolkit makes that a non-starter
at the moment. If such a thing existed my company would be very
willing to jump ship.

This is one of the best paragraph I read in this newsgroup in a recent
time. I hope it will be loud-enough.


I hope it will to, but at the same time, wxD and DWT are inadequate for
our needs, and will probably always be so. I consider 'first-class"
something like a QML/JavaFX/WPF framework, and a lot of other companies
are in the same boat. I have nothing against wxD or DWT, they just don't
work for us.

And I have permission to use some limited company resources, mostly
just web hosting for the project right now, but ability to expand that
latter if the project shows progress.

I believe that stuff like bitbucket/github should be enough...


I agree, I was mostly stating that as an indication that my company is
willing to help out if progress being made.

I would also be up for leading the project, but a project of this
size would need lots of contributors. And there still needs to be
serious discussions about how to design such a project.

/me nods

Personally, my UI design background tends away from traditional style
toolkits like wxD and DWT, and as such I would probably want to take
the project in a different direction than those.

Interesting...

For example, all of our software at work is built on WPF and I can say
that I completely believe that WPF style UI toolkits are the way of
the future.

Hmm...but WPF is Windows-only, right?

Moreover, developing something from the scratch woudl require enormous
amount of time in comparison with *just* providing higher-level D-ish
API for some of the already available GUI toolkit.

On top of that, I believe that the best forces available within D-army
are now focused on improving DMD/Phobos, so don't know how many soldiers
are ready into going developing something new.

Let me say, that when the time matures, I'm definitely to have some
solution more suitable for D and its advantages over e.g. C(++), but for
now I believe that just having some pragmatic solution in the form of
actively-worked-on project covering one of the {gtk,qt,wx}.


WPF is Windows only, and that is probably my biggest gripe with it
outside of the numerous, and serious, implementation flaws. The closest
you can get to WPF on Linux is Moonlight, and that is limited compared
to what WPF can do. Argh!

That is true, but there are already two projects out their to accomplish
that, and I personally would have no problem with anyone who wanted to
work on those instead, they are useful and allow something to be built
in the near-term, which will significantly help D. But I, nor my
company, can do much of anything short term in D. Specifically, we are
still developing our projects in C# and our product life-cycles are very
long (10+ years) and a GUI toolkit isn't the only thing missing in terms
of what we need to port. So I am thinking much longer term here.

It absolutely will take time, lots of it, but in the end, I feel that D
will be much better positioned in the long-run to take serious market
share if it has a state-of-the-art UI toolkit. Toolkits like wxD and DWT
absolutely have a place, but the big players are moving away from that
model of UI creation, as the news about QML demonstrates. QML is
obviously early, but it's headed down the same path as JavaFX and
WPF/Silverlight.

The reason I want to start now is that it's still early in the evolution
of declarative UI's. WPF is only 5 years old, but it took MS about 300
programmers and 4 years to build, and it's the oldest implementation of
that type of UI that I know of outside academia. Given how long it took,
starting now is better than starting later. The earlier you show up to
market with what people want, the bigger market share you grab. That's
good for D. :-)

Not sure about that. If you start later, you can learn more from the mistakes of others.

By that line of logic the most ideal time to start would be never. There are always mistakes to learn from, sometimes you have to be willing to be the one who makes them so that others can learn. Fortunately for this project, there is a conceptual foundation that has already been laid out by WPF, and believe me after years of fighting with it, I'm intimately familiar with it's mistakes. It's time to move on, fix those mistakes, and make new ones so that someone else can come along and fix those. The only way progress happens is by learning from the mistakes of the past. Time to make some new misakes! :-)

My intention is not to draw away any devs who could potentially work on
DMD/Phobos, in fact I want them working hard on those because without
them my work is pointless, and in some cases impossible (showstopper
bugs and ICE's are rather annoying like that). I suspect that it'll be a
case of "me, myself, and I" working on a declarative UI for D for quite
some time. But at the same time, I want to continue to have
conversations with the community at large, probably mostly about design
and whatnot. If there are people who really want to help I won't turn
them away, but I'll avoid actively recruiting to make sure that
DMD/Phobos gets first pick, as they should. Sound good?

The history of D libraries is tragic -- there have been many ambitious projects, which have ended up being abandoned. (Actually I think this is pretty widespread in open source, not specific to D). I would hate for that list to get any longer. The successful D projects have, as far as I know, always used a bottom-up approach. So I would recommend to try to carve a small aspect off from the large GUI problem, and implement that. And do it so well that everyone wants to use it.

I agree and I have to admit that this is of some concern to me as well. Fortunately for me, my company has a financial interest in seeing a useful WPF-like UI library available for a language that isn't controlled by large corporate interests that don't have their developers best interests in mind (see the current firestorm over Silverlight). D has serious advantages for my company, it's way more productive than C++ yet retains much of the native speed of C like compiled languages and it's similar to the language we currently use (C#). But we can't move to D yet because there are a couple of large holes in the available toolkits that we need filled, WPF-like UI and WCF-like SOA architecture support come to mind. We'd also like to see a few releases of the compiler that are free of any ICE's in general usage and a better GC. Compiler's and GC's aren't really my capability set, but libraries, particularly of the UI type, are much more my speed. I'm just trying to help where I can. And we have a reason to stick around. Who knows maybe someone comes along with something better, but since I don't see that happening any time soon, I don't see any reason not to get started. At the moment I am trying to tackle two small pieces of the puzzle, Property Update Notifications (primarily used for Data-binding, but can be useful elsewhere), and designing a generic drawing interface that different drawing back-ends could be plugged into, like DirectX/OpenGL/others.


Besides, why cover the same ground that those two projects are
already covering? I could list all the pro's and con's that we've
discovered in actual usage of WPF but I don't want to needlessly
clutter up this thread which has little to do with UI. :-)

Time & effort which are limited in D community right now?


That is legitimate assertion and GUI toolkits are among the most
complicated undertakings a group can attempt to carry out.

You can find me on IRC as LightBender and the email account I list
here is actively monitored.

I'm available as 'gour' on IRC.


Sincerely,
Gour



--
Adam Wilson
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/

Reply via email to