MoI discussion forum
MoI discussion forum

Full Version: When you start MoI V3

Show messages:  1-7  8-27  28-35

From: Michael Gibson
10 Aug 2010   [#8] In reply to [#5]
Hi Will,

quote:
Being able to use HTML / CSS is really cool and lets you create some really gorgeous UIs I'd love to do similar with some of my personal apps, especially adding a bit of Flash here and there, but looking at the SDK, it was a learning curve I'm too lazy to fight through!


Actually the killer feature of doing the UI in HTML is just text handling - HTML layout engines have very sophisticated support for text handling, things like word wrapping long lines of text making the containing element larger and stuff along those lines.

It does tend to have a long learning curve to get up to speed using it for application UI though because it's not done very frequently so there isn't a whole lot of extra support materials (like examples, tutorials, etc...) for using it in that way.

- Michael
From: Michael Gibson
10 Aug 2010   [#9] In reply to [#6]
Hi Dan,

> Sounds like a tough decision on the cost-benefit front though -
> somewhat abstract payoff in return for quite a lot of hard work
> (plus the opportunity cost).

Yeah I don't really know yet what the cost will be, that's what I'm trying to get a feel for now by doing some experimentation.

But if you also lump in being able to run cross platform as another payoff, that adds up to a lot of potential benefit overall.


> I guess if MoI's codebase is fairly well separated into edge
> and core segments and the UI portion doesn't much
> interpenetrate the core stuff it might not be such a burden?

Yeah there is a pretty good separation, things like actions on a UI control talk to the core app through the scripting interface.

- Michael
From: Dan (CORNYSH)
10 Aug 2010   [#10] In reply to [#9]
>Yeah there is a pretty good separation, things like actions on a UI control
>talk to the core app through the scripting interface.

Benefits of a good design! That initial planning and the long gestation period paying off :-)

Dan
From: Dave Morrill (DMORRILL)
10 Aug 2010   [#11] In reply to [#2]
Michael,

Care to share some insight into the technologies you are thinking about using?

I'm still interested in the scripting and UI aspects of MoI, although I've recently returned to a full-time job status which has pretty much eliminated any time to devote to MoI at the moment. But since my full-time job is developing open source scripting and rapid UI development tools, I might be able to provide some useful feedback based on that and my 40+ years as a developer :-)
From: Michael Gibson
10 Aug 2010   [#12] In reply to [#11]
Hi Dave,

> Care to share some insight into the technologies
> you are thinking about using?

Currently I'm evaluating WebKit (Qt port). For the kind of text layout that I like to work with probably either WebKit or Mozilla seem to be the main choices...

- Michael
From: Anis
10 Aug 2010   [#13] In reply to [#2]
Hi Michael...

Quote from Deelip Blogs :
Michael sent me one of the first early test images from the engine development which shows how texture mapping also works for applying a line type pattern along the curve in addition to the blended edges.




So this is also another area that you are working on... ?

Image Attachments:
2010-08-06-005.gif 


From: Michael Gibson
10 Aug 2010   [#14] In reply to [#13]
Hi Anis,

> So this is also another area that you are working on... ?

No, that's an area that I already worked on 6 years or so ago, that was an early test image for MoI's curve drawing engine.

That engine is not new, it's been in use in every version of MoI that has been released, it is what draws curves on the screen. The dashed line types are currently used by default for drawing the grid and also for the hidden-line display.

- Michael
From: Anis
10 Aug 2010   [#15] In reply to [#14]
Previously I suppose its the line for 2D drawing.
From: Michael Gibson
10 Aug 2010   [#16] In reply to [#15]
Hi Anis, well at some point this same engine will be used for drawing linetype properties assigned to curves. But the tricky part about that is more about designing the UI for setting such properties.

- Michael
From: Dave Morrill (DMORRILL)
10 Aug 2010   [#17] In reply to [#12]
Michael,

Well, given those two possibilities, I guess I would personally favor Webkit, mainly because all of the tool frameworks I've been building for the last several years all work with Qt (or wxWindows) :-)

If you remember some of the screen shots I posted a while back, the UIs were all created using the tool set I've been developing, running on top of Qt. If you go that route, hopefully you'll also open up the scripting interface to use other languages, such as Python. Since your low-level API is COM-based, that should be fairly easy to do, since Python already has pretty good support for COM I've heard.

Just FYI, the new Lightwave CORE system is Qt-based and supports Python scripting. I've had no problems integrating my framework into CORE to produce new UI's in the few experiments I've tried so far...
From: Michael Gibson
10 Aug 2010   [#18] In reply to [#17]
Hi Dave, well I'm not sure about focusing on Python anytime soon - all my own existing scripts and commands use JavaScript.

The nice thing about JavaScript is that it's also the most natural script language to work with to add bits of logic to the HTML UI as well, since it's the main language for HTML.

But yes since MoI's script API is COM based that should help make it possible to use a variety of different controllers for it.

- Michael
From: vodkamartini
11 Aug 2010   [#19]
My 2 cents.

1) If you want to stay on windows go the .NET 4 route.
- Has great COM interop
- WPF is great for UI (xaml is easy for users to play with, and has great tool support)
- WPF also has D3DImage, so directx interop is handled well (no airspace issues).

2) If you want to go multiplatform, go with QT4.
- Very nice API, makes you wonder what the win32 people were thinking.
- Great opengl interop, which makes it well suited for graphics-oriented apps.
(e.g. Maya, Mudbox, Maxwell, Nuke, Realflow, etc)
From: olio
11 Aug 2010   [#20]
Oh man,

Michael if you could somehow make Moi cross-platform, I would kiss my windows machine goodbye and Rhino with it, and solely focus on Moi and Mac:)

It would be the sweetest deal I have seen in a long time!
From: Michael Gibson
11 Aug 2010   [#21] In reply to [#20]
Hi olio, well don't get too excited just yet - I'm just in the process of experimenting with things a bit to get a feel for how much work will be involved.

If it is going to take a tremendous amount of work then I probably won't be able to do it anytime soon.

But I want to do some testing and research now to get a better feel for what is involved.

- Michael
From: NightCabbage
13 Aug 2010   [#22]
Michael

I was thinking, perhaps you could use LUA for scripting (so you don't have to use javascript)?
From: Tommy (THOMASHELZLE)
13 Aug 2010   [#23] In reply to [#19]
+1 for Qt

Very nice options, skinable, css based, multiplatform and visually nice.

Cheers!

Thomas
From: NightCabbage
13 Aug 2010   [#24]
Yes, Qt is good for C++ GUIs.

If I didn't do most of my work in C# I'd probably use it too :P
From: Michael Gibson
13 Aug 2010   [#25] In reply to [#22]
Hi NightCabbage,

> I was thinking, perhaps you could use LUA for scripting
> (so you don't have to use javascript)?

Well, the problem is that you can't use LUA to add script directly inside of an HTML page - JavaScript is the standard mechanism for scripting HTML.

It's kind of awkward to have 2 scripting languages instead of just focusing on 1 scripting language throughout the whole program.

- Michael
From: NightCabbage
13 Aug 2010   [#26] In reply to [#25]
Oh sorry, I thought you were going to ditch the HTML based system? My bad!
From: Michael Gibson
13 Aug 2010   [#27] In reply to [#26]
Hi NightCabbage,

> Oh sorry, I thought you were going to ditch the HTML
> based system? My bad!

Well, I hope to still use HTML, I prefer using it for UI because of its text handling, layout flow and word wrapping capabilities.

That's why I'm looking at WebKit right now, since it could possibly give me those same capabilities but with an engine that is distributed with MoI instead of an external dependency.

- Michael

Show messages:  1-7  8-27  28-35