Use Standards..Mar 13
.. as much as you can!
This should be a no brainier, but unusually most people don’t care about this. I’m mostly talking about your application output, input and inner data.
Whenever someone develops a new project and needs to accept/save a file type or a specific data, their usually tend to create a new data/file specification using their imagination only.
This is, of course, a much easier process as you don’t have to search for a already made standard, read any boring documentation or do a bit of extra work to make your application work with the standard specification. Your application will work the same and you will have “more control” over the the data the application can receive, process and output.
So, if there are so many good points about using an authoring specification, why change ? Well, unless you are google or your application is a new language compiler, your have a lot of downsides! Usually, easier escapes have these things… downsides!
Imagine that you are making a great application that with a text description of a house, creates a blueprint of it. Now, if the blueprint data is an authoring specification and you wanna integrate a algorithm generates a 3D house using a blueprint file, for sure the algorithm doesn’t use your blueprint file specification.
Now, if you are doing.. hmm.. an algorithm that generates a 3D house from a blueprint.. use a standard so that the guy that did, with so much work, the blueprint-from-a-text app will be able to use your lib.
Now, you Text-to-Blueprint magic creator needs new elements, like windows, stair, curve surfaces. And you decide to incorporate more stuff in your specification. The most usual thing is that your end specification is really buggy, inefficient and redundant. Why ? Because when you stated it it was just to draw some boxes and you didn’t kept in mind the type of stuff you wanted to use later. If you use the right standard, like SVG, you probably have all does problems solved as many smart people already thought of it.
For the same reasons as before.. standards are usually well thought and behave in a acceptable maner. They usually have subset of elements to make more efficient something more specific that you are trying to accomplish
Future Work and Roadmap
When using a standard as a data support for your application, you are using a big domain of elements, structures, etc. These, normally point you to logic and good features. If you try to expand your application so that you cover the most of the standard is normally a good heuristic and your application will be likely more completed.
Reuse the Data
If your data follows some standard specification. You can easily migrate that data and use it on other applications with no trouble. You can share your data faster and transparently.
If the Text-to-Blueprint application is a webapplication. You users can export the blueprints and use it on any standard-friendly CAD!
Oh, and remember, this is always a two way street, if your are the CAD maker and your app imports standards, users from the Webapp your use your application.
If you have a drawing tool that outputs a specific file structure nobody will care; it’s just something that you can’t use with any other stuff. But if you use a standard, people will pay more attention even if just to know more about the standard.
You can post on many sites related with that standard, get buzz on forums and be more ambient-friendly
Do you know Inkscape, can you imagine the kind of buzz it generated for being the only decent free SVG editor ? Would you imagine if it didn’t worked with SVG, but some other vector specification ? It would be a mess!
Not really, but using standards is a good way of we “all getting along”!
.. Even if your just want a micro subset!
On Comics Sketch we decided to use SVG. We were just be using Path nodes, but even than, it was a good option. Now, that we are developing tools to use a larger subset than the Firefox SVG, we wont have any extra work using the old drawings!
.. Even if the standard is dumb!
Yes, this does happen. Standards can have glitches, mistakes or even redundant information.
But this is not really that important. If it is.. then you should be active and collaborate with the “standards-officers”, communicate your viewpoint, help them out and maybe even change the standard, making a better world
.. Even if you are doing something really new and revolutionary!
If your area doesn’t have any standard, well, it’s a great day and a great opportunity. There aren’t that many people that will be able to start a standard or research a brand new area. Take advantage of the virgin territory, create a great format specification and try to put it out and become a standard.
.. Even if you are lazy!
That’s no excuse… sir!