A Conversation for The GuideDog project

Cross Platform?

Post 1

HappyDude

A bit late in the day but...

Have you thought about using Mozilla's XPFC (Mozilla's cross-platform front end) for the development of this projectsmiley - huh

A cross-platform Mozilla-based application would by its very nature cut down on development time, as the amount of platform specific code would be very limited. Additionally you would be increasing the pool of developers you could call upon, as the basic components of XPFC (CSS, JavaScript & XML (in the form of XUL)) are familiar to most web developers.

Further Reading (if your intrested):
http://books.mozdev.org/index.html

now I think it's time to run away & hide before the smiley - flan's start to fly ... smiley - run


Cross Platform?

Post 2

HappyDude

You might also find http://developer.apple.com/internet/css/xmltransformations.html of interest.

:: decides he really must go before they find the smiley - tomato ::

smiley - run


Cross Platform?

Post 3

HappyDude

Gawd I'm a sucker for punishment...

As I indicated earlier even using the XPFC approach (which strikes me as ideal for this kind of project) there will probably be a few bits you will want to write in C++ or similar. You could cut down on development time of such elements by writing this stuff on a *nix platform (Linux, BSD, etc) and porting it to windows using Cygwin (http://www.cygwin.com/) with a minimum of fuss.

:: goes to look for a very deep bunker ::

(P.S. feel free to ignore all this smiley - erm)


Cross Platform?

Post 4

Felonious Monk - h2g2s very own Bogeyman

I have no problems with looking at any alternatives. At the moment we use MS stuff simply because it's what we know. Also, MSHTML is a very richly functional library and will probably do what we want it to, iof asked correctly (i.e. in C++).
Generally, the 'cross-platform' requirement is pretty low on our list of priorities, simply because the vast majority of people out there use Windows. However, if it can be shown that we can acheive what we want to do easier using Mozilla then I'm up for it. Ends are everything, means are of secondary importance.


Cross Platform?

Post 5

Bogie

Just though I'd add my all to the mess.

If we want cross platform then surely we should be coding in pure Java. The Java run-time engines run on most OSs these days, including the big 5: Windows (spit!), Linux, MacOS X, MacOS 9 and BSD Unix.

< Ducks for cover from flying smiley - tomato >

B.


Cross Platform?

Post 6

Felonious Monk - h2g2s very own Bogeyman

But do we have any Java skills? Do we have an embeddable component that will allow editing?
Like I say, X-platform running is pretty unimportant, compared to the extra effort we'd have to put into it in order to get the same effect. I've nothing really against programming in Java except that
* I don't know it
* I don't know of any HTML editor beans out there
* It will probably take a lot longer than VB.



Cross Platform?

Post 7

HappyDude

Post 6 amswered the Java question.
But how would the "cross-platform Mozilla-based application" route be of benefit?
You would be increasing the pool of developers you could call upon, as the basic components of XPFC (CSS, JavaScript & XML (in the form of XUL)), one of the great advantages to developing a Mozilla-based application is the learning curve isn't as steep as most alternatives, such as C, C++, or even Java.

The applications will be cross-platform automatically.

Using a development platform that has native support for XML at the core of its functionality.

smiley - run


Cross Platform?

Post 8

HappyDude

er...

That first answer should of read:

You would be increasing the pool of developers you could call upon, as the basic components of XPFC (CSS, JavaScript & XML (in the form of XUL)) are familiar to most web developers, one of the great advantages to developing a Mozilla-based application is the learning curve isn't as steep as most alternatives, such as C, C++, or even Java.

smiley - erm


Cross Platform?

Post 9

Felonious Monk - h2g2s very own Bogeyman

OK, I'm interested. Show me an editing prototype. And we'll investigate further.

FM


Cross Platform?

Post 10

Felonious Monk - h2g2s very own Bogeyman

This link is worth reading, particularly with regar to 'the devil'. This is the situation we find ourselevs in smiley - erm

http://www.bris.ac.uk/is/projects/cms/ttw/ttw.html


Cross Platform?

Post 11

HappyDude

eek

I can show a couple of working Editors as a demonstrations that the development platform is up to the task of Editing ...
1: Composer, comes bundled with both Mozilla & Netscape.
2: ActiveState Komodo - http://www.activestate.com/Products/Komodo/

As for a GuideML specific stuff, I don't mind helping out on the development of a XPFC editing prototype but if you are going to wait for just me to finish it then it might be a long wait as my time (like that of most) is limited.


Cross Platform?

Post 12

HappyDude

A quick search cam up with the following - I don't know if they are of any help smiley - erm
http://www.mozilla.org/xpfe/xulref/
http://www.mozilla.org/xpfe/xulref/editor.html
http://books.mozdev.org/resources.html


Cross Platform?

Post 13

26199

Hmm, the 'Ekit' on that page is interesting... it's a full HTML editor, is written in Java and is available under the GPL...

I'll have a look and see how easy it'd be to implement GuideML support...

(although I can't help more than a little... back to uni on saturday smiley - erm)


Cross Platform?

Post 14

HappyDude

http://www.mozilla.org/catalog/libraries/editor/
http://www.mozilla.org/catalog/libraries/layout/

may also be of interest


Cross Platform?

Post 15

26199

Hmm, looks like it just uses built-in Java components... which means you can't extend it without re-implementing a lot of stuff. Ah well.


Cross Platform?

Post 16

HappyDude

I take it your talking about "Ekit" & not XPFC?


Cross Platform?

Post 17

26199

Yep.

What's an XPFC?


Cross Platform?

Post 18

HappyDude

See post 1 smiley - erm
but in summary
The Mozilla cross-platform front end used for developing Mozilla-based applications. You can find out more over at http://books.mozdev.org/chapters/


Cross Platform?

Post 19

26199

I did read it, honest!

That bit just didn't stick smiley - winkeye

I'll have a look, sounds interesting...


Cross Platform?

Post 20

Ion the Naysayer

I am definitely going to have to agree with HappyDude on this one. One of the requirements is Browser-like rendering while you edit, right? Making a Gecko based GuideML editor would mean you're not just getting Browser-like, you're getting Browser!

I've tinkered a little bit with Mozilla and Gecko (not extensively, I haven't had the time to play yet) and I can attest to the fact that you will have a bigger development pool because a lot more people already know the languages required for Gecko development - the User Interface is written in XUL (which is easy to pick up if you know GuideML), Cascading Style Sheets, and JavaScript.

On the code end of it, I would recommend that you not go anywhere near Mozilla Composer. It's not a good editor. Mozilla is a great project and they're doing a lot of goot stuff but their HTML editor needs a lot of work (no offense, anyone who's involved in the project).

The challenging part is going to be building the GuideML code. The engine will probably have to be written in C to import and work on a set of externally defined tags.

This approach would mean the (necessary) creation of a GuideML DTD or Schema to plug in to the program. You would also have to implement a means to convert the GuideML into HTML that can be rendered in the browser. I would personally suggest that XSLT is the way to go on this front. For anyone who's not familiar with XSLT, it gives any parser that implements XSLT a set of rules to use to convert XML to some other arbitrary format (HTML for example). Implementing an engine to support plugin Schemas and/or DTDs and an XSLT document to give rules for conversion to HTML wouldn't take that much more time and effort than a less open-ended solution and the result will not only allow the system to expand from the Guide to other DNA sites, it will also allow any interested third party to use GuideDog as an editor for _their_ web-oriented XML, just by writing a DTD or Schema and an XSLT document with rules for conversion to HTML.

It might also be of interest to read the output DTD from an external file so that new versions of the HTML spec could be plugged in as they are released.

The sidebar which is currently implemented in Mozilla allows you to plug in tools like the Venkman JavaScript debugger, CSS and HTML reference bars, Search bars and more. Plugins for GuideML reference would be easy to create.

Drawing from the Mozilla project for this stuff would make it much easier. Here's a potential gotcha: If you implement GuideDog using _code_ from the Mozilla project, GuideDog MUST be open sourced. I think if you only make use of API calls to Gecko that doesn't apply but I haven't looked into it. I don't know if that's going to be a problem. If you do open source it I would also suggest a sourceforge page.

Maybe I'm aiming too high but I think this project could go really really far.

All that said (sorry, I'm very long-winded about topics that interest me, especially programming-wise), you have yourselves a(nother) web developer if you would like one. I have experience with XML, C, Perl, JavaScript, and CSS. I have other experience as well but it's not really relevant to this project.


Key: Complain about this post