Chapter 2: Today's XML Editors
The first thing to consider is why create yet another XML editor,
when there are some many of them on the market today? A quick look
at www.xmlsoftware.com or www.xml.com will show a rather large
listing of XML editors. In fact, when SysOnyx, Inc. was first
laying out which products to create, we purposely avoided creating
an XML editor because the market was already so flooded with
applications that do just that. Rather than waste our time fighting
a probable upstream battle, let's focus on other products that have
unique features and are thus more marketable (xmlDraft with
it's unique ability to show an instance of the XML that the schema
is for, xmlLinguist's ability to translate flat files into XML, etc).
However, as we started using XML more and evaluating the different XML
editors out there, there was something lacking.
Doing Too Much is a Bad Thing
The majority of the XML editors today offer a lot of "features" with
their editors. They can validate, show a visual tree representation
of the XML file, do reporting on it, visual HTML mapping, StyleSheet
executions, etc. The features may be useful to some, but in the way
we used XML, they were never used and in fact, seemed to get in the
way more often than not. Over-bloating the application killed the load
time, so dbl-clicking on an XML file that was associated with these
types of applications was horrible (seconds just waiting for the app
to start). These applications were rarely setup the way we wanted them,
with non fixed-width fonts, windows all over the place, etc, and then
only after quite a bit of 'customizations' would we be even remotely
satisfied. And even after we made them usable, they had the think-for-you
mentality of an application and tried too much and simply annoyed.
Our final conclusion has basically been that too much is a bad thing.
What we really needed was something simple but effective, and that
we could not find.
Notepad.exe, the Ultimate XML Editor?
For a while there, we had all our *.xml files associated with
Microsoft's ultimate text editor Notepad.exe. If anything, it was very
easy to just hit Enter in your Windows Explorer and have instantly a
text editor pop up with your XML file. All in all, Notepad.exe was just
about everything we needed. It was small, simple, fast, and even free.
This worked great for small files, which was the majority of the files
we were editing, however when the occasional larger file came across,
we needed a little more. Enter IDM Computer Solution, Inc.'s UltraEdit.
UltraEdit is just that, a ultra editor. A high-powered, highly configurable
text editor. There's even a plug-in to highlight XML text. So, this was
even nicer than Notepad.exe, it handled really large files nicely, it
syntax highlighted the XML, and it was also a really quick application.
But, after more usage, we even felt that there was some lack in UltraEdit.
It edits text very well, but occasionally there were other, small features
that would be very useful for editing XML (such as validation and hints).
So that is the need at hand. Take the power of something like UltraEdit
and add a few "features", but not bloating the application and making sure
that all these features are all secondary, so that speed and simplicity is
the focus of the application.
Avoiding the Unavoidable
Back to the topic of creating something that already exists, after
looking for so long, we never found the ultimate XML text editor.
Noticing that we practically created this for xmlArchitect, why not
simply pull out the 'editor' of that application into it's own beast,
complete the "features" of the editor that were still lacking in
xmlDraft (such as TagInsight, CodeCompletion, etc), and see what the
users of SysOnyx, Inc. thinks of it.
And thus was born xmlHack.