Web design with DFM2HTML
I’ve been meaning to write about this little wonder for a while now. DFM2HTML is a very unusual web editor. Yes, it’s WYSIWYG (sort of), but it’s much, much more powerful than most WYSIWYG editors. Why? Because the concept of “nesting” is used throughout – every aspect of the program is governed by this CSS/XML concept, which makes it both exceptionally flexible and (occasionally) irritatingly quirky. But the flexibility vastly outweighs the quirks, especially in the latest version, 3.5.
DFM2HTML is a freeware product designed and maintained by software engineer Jörg Kiegeland in Berlin. It’s been around for a few years now, but you rarely (if ever) seen any mention of it in conventional IT journals. I suspect most people play with it for a bit, then put it to one side, baffled by the whole idea.
Nesting attributes and functions
But there is a small minority who persist with DFM2HTML, usually because – like me – they are fascinated by the immensely flexible way it handles images and layers. The program can be used as a fairly powerful image editor – you can apply colours, gradients and edges to any image, including panels created in the program itself. You can round corners (along both x and y axes, which gives you many more options than conventional WYSIWYG editors). You can specify images as backgrounds and foregrounds – tiled, stretched or at 100%. And finally, you can make any object up to 100% transparent if you wish!
And best of all, you can embed stuff. The program is fundamentally object-oriented, so to design a website, you first create an object. The background of the website itself is effectively a base layer (a kind of canvas object), on which you then build up new layers in the form of panels, pages, labels, links, images, menus, forms and even raw HTML (or PHP or CSS) code. As well as files and embedded multimedia.
But here’s the good bit: It also allows you to create embedded stylesheets that – when you finally publish the website – the program can either convert to page-specific CSS code, or externalise to a separate CSS file, depending on your preferences. You can create a new style out of any object you like, simply by cutting/copying and pasting that object into a stylesheet. And then, when you create a new object, you can tell DFM2HTML to use any of the styles in any of your embedded stylesheets in your new object. Very, very cool.
For serious embedding freaks…
Actually, it’s even cooler than that. Because you can base a style (once it’s in a stylesheet, an object automatically becomes a style) on another style. And that style can be based on a third style, which in turn can be based on a fourth style… in such a way that a change to the underlying style can affect every single object in the chain.
This could be a recipe for serious confusion, but fortunately Jörg has left some useful safeguards in place. The program has a single property dialog box, which can be left free-floating, but usually appears in the form of a sidebar (or can also be placed at the bottom/top of the window – did I mention that DFM2HTML is an MDI program, i.e. supports multiple windows which can be tiled, cascaded etc. in a single parent window?). The simple properties bar has a number of tabs, which vary depending on the object you focus on, but which usually include e.g. “Font”, “Edge”, “Image”, “Effect”, “Misc[ellaneous]”, “Text”, “Link” and so on. Even the most basic object (such as e.g. a Page Control, which is effectively a holder for multiple pages) has an “Object” and a “Pos[ition]” tab, which define the object’s basic attributes and position on the page.
Using these Properties tabs, you can custom-edit any object, even if it’s already based on an existing style (or series of nested styles). As soon as you custom-edit an object, the labels on the various tabs that define the object’s properties change from normal text to emboldened text, to indicate that a specific setting has been changed for that individual object. Such a simple idea, but so ingenious. If you decide you don’t want to deviate from the underlying style, you can press a “Reset” button on any tab to return the object to its style-based original form. Better still, you can decide to make the object into a style of its own and copy and paste it into a stylesheet – whereupon any object you create that’s based on this new style will look and behave exactly the same.
The other great new feature that helps you organise all this nested goodness is a tree-form Object Explorer, which you can use to flip quickly from one object to another (even if the objects you’re inspecting are hidden, or concealed behind other objects). This recent addition to the program has turned it from an interesting but mildly amateurish application to an extremely powerful tool, capable of managing extremely complex websites. The Object Explorer can be switched on and off at will – and Jörg has sensibly made it modeless, so you can drag it right away from the editing screen.
Underlying XML is also editable
Yup – that’s the other feature that makes this into much more than just another nice but quirky WYSIWYG editor. The files produced by DFM2HTML are effectively XML files, albeit customised ones. They can be edited in any text editor, which means you can clean them up if you need to.
This is useful in part because the program – stable and reliable though it is – is not entirely free of bugs. For example, if you create several overlapping panels and simply specify a colour background (rather than, say, a tiled image), you can sometimes find – the circumstances are still rather baffling – that in Internet Explorer (but not in Firefox, Chrome or Safari) the panels suddenly jump into a peculiar gradient mode, shading into each other rather than working as separate but overlaid objects. Very odd. It’s a phenomenon that’s easy to avoid, however, and best of all, Jörg himself is immensely approachable and takes any bug very seriously.
His website is written in English and German, and includes a useful tutorial (written, of course, in DFM2HTML). Unfortunately the website is not a great example of what you can do with this program, but the various linked websites on the Users page give you a fairly clear idea of the possibilities. Our own website at The Word Gym was designed using DFM2HTML!
Nice little touches?
I could say more – for example, I’ve been experimenting on the design of WordPress templates using DFM2HTML, which in principle should be fairly straightforward. In practice, my own inadequacies as a WordPress programmer are hampering my efforts. But the best way to experience DFM2HTML is to dive in and experiment – you can generate previews very easily from the “Publish” menu, and once you decide to publish, the application has a very powerful FTP feature that uploads files quickly and neatly, generating a log in the process, and from then on only uploads files that have actually changed. What’s more, this feature actually works, unlike similar features in a number of competitors! It’s a perfect solution for the tinkering web designer who likes to make frequent small (or large) changes.
The only weak point? The text editor, which is at best basic, and certainly not WYSIWYG. Text is entered either into a “Quick Edit” field in the tabbed Properties bar, or into a separate (modeless) text editor, which has a few simple buttons for e.g. bold/italics/hard spaces/line breaks, for inserting Unicode characters (the application uses Unicode by default, thank goodness), and also accessing a list of styles. Once you save your text, you can see the results immediately in the main window, which is WYSIWYG (and has a “Test” mode which offers an instant preview of your changes using Windows’ embedded IE viewer). But this rather elementary feature is easy to forgive, because it’s so easy to build something very, very good-looking in a very short time – the program runs very fast on the simplest of platforms.
In short…
I have used many different web editors over the years, including DreamWeaver, NetObjects Fusion, Kompozer and a raft of other now forgotten goodies (Trellix, anyone?). But my admiration for the speed and relative simplicity of DFM2HTML has grown steadily over the years, and I’ve found myself coming back to it more and more often as it has matured. Once you’ve wrapped your head round the concept of nesting, you can do more or less anything in this remarkable little program. Give it a whirl. It might just be your thing…
Hier finden Sie The Word Gym
Take a look at The Word Gym
Veuillez visiter The Word Gym
I read about DFM2HTML and make it a template designer for e.g. WordPress or similar. Well.. I have tested Artisteer but something that it lacks is design of non supported templates. To name one: Website Baker. So I would not make it a specialized template editor unless there is some kind of plugin system so that it can edit templates for any kind product that is template driven.
Well, I am really impresed with all your comments, I recently downloaded dfm2html and fire it up, it looks impresive and simple at the same time, lot of features to learn, I like complicated websites, do not like to have a site that looks similar to other one, it has to be different in some way. I really have not been able to play with the software yet, I will,
but first I would like to thanks Jörg for such a masterpiece, a wonderfull job and for making it available for everyone, It´s “Free” my admiration for that. Yes, I have tried artisteer a couple of times, but it is NOT free! I will try dfm2html version 4.2 latest revision and see what happens.
I will be back to tell you what can be done with dfm2html, or what can I do with it.
Sounds good, Sergio, we look forward to seeing what you do with it!
Hello,
you have mentioned you’re trying to convince Jörg Kiegeland about turning DFM2HTML “into a template designer for e.g. WordPress”. What would that mean for the program and what benefits could the users expect?
Regards
I think it could turn DFM2HTML into the editor of choice for WordPress templates. The idea of using specialised editors to produce WordPress templates is relatively new – in fact, the only other piece of software I (personally) know of is Artisteer, which, while quite cool, is not really flexible enough to take full advantage of the increasing power and flexibility of WordPress. I don’t think it would be particularly hard to embed standard WordPress codes in a separate dialog box/settings panel in DFM2HTML, and maybe also give users an easy way to create styles (using e.g. “Lorem ipse” text snippets). The major benefit to users is obvious: you could design your weird ‘n’ wacky website in DFM2HTML, then edit the actual content from anywhere at all through a standard web browser. Changing your website design would also be simple – one of the huge advantages of DFM2HTML is that it’s very fast in use, and very fast at uploading files. I reckon Jörg could probably turn DFM2HTML into a successful commercial project if he sold it as a WordPress editor. But that’s only a personal opinion…
Hi there,
I started all that website stuff ‘cos a friend asked me to create a homepage for a hobby-project which in the mean time turned into something….
http://www.folkclub-hattersheim.de
Programmingwise I’m a complete idiot! So all I was looking for(well, actually needed) was a vehicle to be used like say a HDD-Recorder or a Digital-Camcorder, etc. You read some instruction, start playing with it and off you go and you figure things out via trial and error.
Nobody needs to understand how an engine works to just drive a car, right? I found and tried some freeware WYSIWYG-Editors played around with trial versions of some other more professional ones and thought: Oh, Lord, I really have to study in depth in order to do this favor to my friend, f………
I forgot how, but eventually found DFM2HTML.
From the very first glance I just knew, THAT’S IT!
That tiny little piece of software is just IT.
In the mean time I figured out how to do quite comprehensive stuff with it.
http://www.incontro-ducati.de
http://www.fool-house.com
I have seen so many putatively sophisticated websites which are actually very often just kinda nerve wrecking due to annoyingly long loading times for whatever reason, for example.
Now, here is my Question:
What functions are missing in DFM2HTML, what lack of possibilities does it have? Don’t get me wrong here, it’s not meant cynical, I really would like to know what cannot be done with it.
If it only comes to positioning or embedding/nesting of objects, which seems to be quite a problem on other editors…
You can really concentrate on the layout and style almost right from the beginning – Okay, after a little practice when you have reached a certain state of understanding of it’s principles.
Pending changes are a matter of a few minutes mostly. Even changing the entire style of a website is as easy as can be.
Interactive pages like guest-books or online-shops
can at least be shown via i-frames to make it part of the website. I think that is what has to be done with other editors as well.
So where is the big disadvantage if this genius thing?
Regards
Hi Roland – like the variety of ideas you’ve put into your websites. I agree with you that there’s not a lot you can’t do with DFM2HTML. I suppose one of its shortcomings is the absolute positioning of everything – it’s taken me a while to sort out the way fonts flow in text boxes/panels when you’re using non-standard browsers (e.g. in Linux). But even that can be handled, although I would like to see Jörg introducing percentages to his various dialogs. I’ve had a kind of love-hate relationship with DFM2HTML for many years, but I find myself going back to it, and have ended up staying with it for sophisticated website design. The only downside? You need DFM2HTML to manipulate your website. Which brings us to your next comment…
I use DFM2HTML a few years. My first website was hand written html with the added power of Joust, a forgotten javascript menu generator. Way too much work for too little website updates! Most fancy WYSIWG editors were out of my reach because of the costs. The remaining few, well, I better don’t write about…
DFM2HTML was and is different. It was easy to set up a simple webpage. Slowly by trial and error (way too much…) I understood that there’s more power under the hood. You’ll see me slowly advancing when you visit my web page. It’s a link page, the 1st added links were just normal links. Today I even managed to add my webcom….Hurray!!!
Unfortunately I’m one of the ‘old school’. Handling objects is the new paradigm which I rejected: A function is a function and that’s it! I never understood how the concept involves more than just programming.
This article from Bill perhaps changes a little my way of thinking and hopefully also my handling of DFM2HTML. Style sheets and style sheets are an example what I mean. Normally I avoid CSS like the plague, difficult to understand and difficult to handle. DFM2HTM Style sheets are different. Thanks goodness, it’s not CSS, it seems that there is a reward waiting on the other side of the DFM2HTML style sheet hill. I have to come back to read this article more intense. English was not my mothers tongue…
My son is blogging and wondering why I do such complicated webpage stuff. I have to admit that I was yet not able to draw him over to the DFM2HTML side. Perhaps the next DFM2HTML version will do?
Regards
Thanks for the comments, Ulrich. Actually, you’re following a train of thought that’s already occurred to me: I’m trying to persuade Jörg to turn DFM2HTML into a WordPress template generator – I think it could work really very well! Then the embedded CSS and so on could be used to amazing effect, to produce really interesting WordPress websites that are completely individual. I would do it myself, but unlike you, I’m not a programmer, and haven’t really got the time to learn all the tags and looping techniques that make WordPress such an effective content management platform. Ah well, perhaps sometime in the future…
All the best,
Bill
With you there, Roland! Something I haven’t made clear in my review is the sheer accessibility of DFM2HTML – it can help tentative users build very simple but reasonably effective websites, but once you start using it in anger and plunge into the whole nesting/embedding thing, you find out just how powerful it really is. I’m currently urging Jörg to think seriously about turning DFM2HTML into a template designer for e.g. WordPress, because I think it could be a great deal more powerful than commercial efforts like Artisteer, for example (impressive though the latter is!).
…and a few more…
I absolutely agree with you. DFM2HTML is by far the coolest webdesigner in the planet.
I’ve tried some other WYSIWYG-editors myself and found all of them fussy and awkward.
Regards