Cooperation by Standards in a Diverse World

They say that “diversity is the key of survival and evolution in any domain. In software world though, variations are so big that they have started to prevent cooperation between software users and developers.” Diversity is the key of survival and evolution in any domain. Because of variation, individuals from same species will react differently in the same environment, some surviving and becoming stronger, others disappearing. In software world though, variations are so big that they have started to prevent cooperation between software users and developers.

Note: Please note that the author is not a native English speaker, so please excuse any grammar mistakes.

Although
diversity in functionality is welcomed, assuring innovation and
evolution, applications should still have an uniform way of
interacting with the user to offer rapid understanding from new
comers. Unlike home user, which prefers a rich visual design, skins
and new ways to interact with the applications, business users
require a simple interface, clean, easy to use and similar to the
other applications which are already known by employees. They don’t
have time to admire new designs and figure out how to use them, and
want instead to fulfill their tasks as efficient as possible.

In
order to help these users, open source application developers
developed standards for graphical user interfaces (GUIs).
The standard for desktop applications, supported by companies such as
Sun Microsystems, Red Hat and Ximian
Novell, is GNOME Human Interface Guidelines
(HIG). This suggests methods for designing the GUI, like menu items
positioning and behavior for user actions.

Although
Linux “suffers” from a big variety of applications which fulfill
similar requirements, these started to use the same GUI standard,
assuring that any new user can take advantage rapidly of their
functionality. The ones which don’t follow GUI standards will be
abandoned in corporate desktop environment, where Linux starts to
gain market share.

The
majority of software applications work with data saved in files. The
diversity of file formats, many of them undocumented, make harder to
exchange documents between users from different environments.
Choosing an application depends now not only on it’s advantages, but
also on it’s presence in the environments one will be interacting
with.

As
it’s not beneficial and we can’t stop the existence of more
applications which have the same functionality, it’s necessary to
standardize the way these applications interact. Therefore, as the
computer is used in new domains, standards emerge which facilitate
the cooperation between users. We already know the standards which
allowed adoption and explosive growth of Internet, specifying a
common way of storing and exchanging information between different
platforms: HTML and TCP/IP.

Besides
the fact that these standards are open, meaning the data format and
method of using them are public, the implementation doesn’t require
using patents and paying fees. The W3C organization, responsible for
standards such as HTML and XML, proposed to allow standards which
require patented technology for implementation. Fortunately,
after critics from software industry, the proposal was refused and
we’ll continue to benefit from standards
whose implementation will be free for anybody.

Information
is becoming more diverse and new standards are needed to handle it,
existing ones being insufficient. Today, software users don’t change
only simple text documents, but also complex ones, images, sounds,
video.

The
biggest advantage of Microsoft in Office market is the use of its
formats to store documents. Besides these formats aren’t documented,
they change from version to version in order not only to force users
upgrading to new versions, but also to make it harder for other
applications to access Microsoft documents.

XML
[Extensible Markup Language] is a markup language for documents which
contain structured information. This information consists of content
(words, images, etc.) and indications for the role of the content.
Here is a sample XML document:


<addressbook>
<person>
<name>John Doe</name>
<phone>555-343434</phone>
</person>
</addressbook>

A
document like this can be read by any application which knows the
markup meaning, unlike a binary document, whose contents can be
accessed correctly only if it’s format it’s
also specified.

OpenOffice.org,
a suite of Office applications similar to the one offered by
Microsoft, uses a documented XML format to store files. This format
was proposed as standard by an OASIS (Organization for the
Advancement of Structured Information Standards) committee,
whose members include Sun
Microsystems, Corel and Boeing. The
committee will focus initially on
standardization for document formats and then will continue with
simplification of data exchange between any XML application and
Office. This includes automation of
business processes, web services, databases, search engines and other
applications.

In order to ease the exchange of information with complete integrity and to make sure you’ll be able to access a document after several years, I recommend to use an open format, such as OpenOffice.org, PDF or HTML.

We
can exchange simple images using the PNG (Portable Network Graphics)
open format, which keeps the quality of image intact and also has a
good compression. Being an open format, i.e.
documented and without patents, any application may export PNG images
and may take advantage of this functionality using free software
libraries. Other known formats, like BMP, JPEG, GIF, have problems
with big file size, loss of image quality or limiting of number of
colors. GIF was also covered by a patent which expired recently. The
Scalable Vector Graphics (SVG) format is open and can be used for
vectorial images.

But
what will you do if you’d like to exchange an image with layers?
You’ll use the default format of the graphic design application you
have, which is usually undocumented. Therefore you’ll work with Adobe
Photoshop or Corel Draw files, forcing your
partners to use the same software product. GIMP, an image
manipulation program similar to Adobe Photoshop, uses an open format
to store images, but there is no official standard. Proprietary
software producers don’t want to offer support
for open formats, as this will eliminate the dependency of their
application. Although it’s not done from their own initiative, they
will offer this support if a large percentage of users require it.

For
audio recordings there are now two efficient open formats, Ogg
Vorbis and FLAC. The first uses a technique
similar to MP3, eliminating sounds which can’t be heard by human
ear, and the second only compresses the files without any quality
loss. As it’s not necessary to pay a license fee to implement Ogg
Vorbis support, this is used increasingly in portable players, games
and broadcasting radio stations over the Internet.

Besides
the MPEG1 standards, you can make video recordings using the Theora
open format, which will compete with MPEG-4/DivX,
Real and Windows Media. This is not yet finished, but it nears the
completion.

Here
are some examples of other open standards which refer
to the way we send or access information:


  • Portable
    Document Format (PDF) is an open format which keeps the integrity of
    fonts, images and layout of any document, no matter the platform
    it’s used on. Because of this property it became
    the de facto standard for changing and archiving documents.

    World-wide
    governments and companies adopted PDF for an efficient management of
    documents, which raises the productivity and decreases
    the dependency for paper, usually used to keep the documents intact.
    OpenOffice.org 1.1 offers the possibility
    to export any document as PDF, being the first free office
    application allowing this on Microsoft Windows platforms.



  • Simple
    Object Access Protocol (SOAP) is a protocol for exchanging
    information in a decentralized and
    distributed environment, being used
    especially in web services. Google and
    Amazon are examples of sites which offer public web services using
    SOAP standard. You can use these services with already existing
    applications and software libraries, without investing time in
    implementing a new access method.

  • Jabber
    allows real-time exchange of messages between two users on a
    network. The most used service of Jabber protocol is Instant
    Messaging. Compared to other Instant Messaging systems (AIM, ICQ,
    MSN, Yahoo), Jabber is open, extensible, decentralized and secure.
    Anybody can run its own Jabber server, even with support for message
    encrypting when confidentiality is a must.

  • Structured
    Query Language (SQL) offers a standard access to different
    databases. With SQL you can develop and use applications which
    require database access without depending on a specific database
    server (Oracle, PostgreSQL, Microsoft,
    etc.). More complex features, such as large binary objects or XML
    queries, aren’t yet covered by this standard and their
    implementation is different on every producer.

With
the help of open standards we are creating a business environment
where we can safely send documents without worrying if the contents
and layout will be exactly the same for the receiver. Proprietary
software producers try to stop this tendency, taking advantage of
users’s ignorance of standards, which creates
dependency for specific software products and reduces competition.

You
can also contribute to standardization by sending and requiring
documents in open formats. All applications listed below run and are
freely available as open source on Microsoft Windows, Linux, Mac OSX
and other platforms.

References

GNOME Human Interface Guidelines

http://developer.gnome.org/projects/gup/hig/

OpenOffice.org

http://www.openoffice.org

GIMP

http://www.gimp.org

Ogg Vorbis

http://www.vorbis.com

Theora

http://www.theora.org

Jabber

http://www.jabber.org

PostgreSQL

http://www.postgresql.org


About the author:
Software engineer, nature lover and free thinker, enlightened in 1997 by free software. He’s the founder of Galuna, a romanian provider of Linux-based IT solutions. He believes in freedom and art, spending his time working, discussing, listening to music and the sound of growing grass, contributing to the free software community, biking and contemplating beauties of the earth and universe.”

28 Comments

  1. 2003-12-03 4:47 am
  2. 2003-12-03 4:49 am
  3. 2003-12-03 4:55 am
  4. 2003-12-03 5:03 am
  5. 2003-12-03 5:11 am
  6. 2003-12-03 5:30 am
  7. 2003-12-03 5:36 am
  8. 2003-12-03 5:37 am
  9. 2003-12-03 5:43 am
  10. 2003-12-03 6:05 am
  11. 2003-12-03 6:34 am
  12. 2003-12-03 7:07 am
  13. 2003-12-03 8:08 am
  14. 2003-12-03 10:12 am
  15. 2003-12-03 12:07 pm
  16. 2003-12-03 12:48 pm
  17. 2003-12-03 2:33 pm
  18. 2003-12-03 2:35 pm
  19. 2003-12-03 2:44 pm
  20. 2003-12-03 3:43 pm
  21. 2003-12-03 4:26 pm
  22. 2003-12-03 4:46 pm
  23. 2003-12-03 7:02 pm
  24. 2003-12-03 9:49 pm
  25. 2003-12-03 10:07 pm
  26. 2003-12-03 11:57 pm
  27. 2003-12-04 12:36 am
  28. 2003-12-04 11:03 am