morphis logo morphis | wax | community
Morphis: open source wireless content transcoder
Morphis
use patterns
downloads
manual
faq
about us
morphis wax
features
manual
wax reference
showcase
community
get involved
roadmap
mailing lists
bug reporting
javadoc
[filler box]

Development Roadmap

The Past

Starting in May 2000, Kargo Inc. commenced development of a utility that would facilitate building wireless web sites. It was decided that the best way to reach every device (that is, WML, HDML and HTML) was to create a brand new language with the features of each wireless markup language. Additionally, this language must be robust enough to deliver not only the right language, but the right content - as each wireless device has its own form factor, screen size, and bugs.

To that end, WAX was born (originally KGML - the Kargo Generic Markup Language), as well as XSLT stylesheets to translate the WAX language into different wireless markup languages. Features were then added to support dynamic text and image selection, so each device could get custom content with regard to the type of device, the family of devices, or the preferred language of the user. A device registry was also created to catalog all wireless devices and their capabilities.

Finally, the Morphis framework was extended to perform any type of content translation: binary data, text data, XML data, etc. and turned into a "translation pipeline". The "context" classes and "dispatch.xml" file were added to support a rules-based translation strategy. Requestors were added. Multi-step XSLT translation was added. Pre/post content caching was added.

The Present

Morphis was open sourced in December 2000 with the release of a public beta. The reasons for open sourcing were numerous:

  • Explosion of devices: the number of new wireless devices is extraordinary. Cataloging the capabilities of each and every device across the world was an unrealistic endeavor. We hope the open source community will help support keeping the device registry updated, and creating new stylesheets for the nuances and bugs of new devices.

  • Proliferation of transcoders: it seems that everyone who wants to compete in the wireless space came up with their own way to do it. Web scraping, html-to-wml converters, etc. It didn't make sense to compete in a market that was already saturated with expensive, proprietary solutions.

  • Technology uncertainty: since the wireless arena is changing every day, it doesn't make sense to try to explore each and every wireless technological niche. Therefore, by open sourcing we could garner the skills of a global pool of developers in order to lead Morphis in the direction that makes the most sense - from a global viewpoint.

Currently, we're looking to start a Morphis development community, to bring this technology to the next level.

The Future

It's tough to say what the future will hold for wireless devices. What technology will prevail? Will there be a convergence in markup languages? Will there be a convergence in device form factors and capabilities? For many of these issues we may need to just wait and see. However, in the meantime, Morphis can succeed by:

  • Creating a complete catalog of handheld wireless devices, and their capabilities: this will enable wireless application developers to concentrate on applications, and not devices.

  • Creating device stylesheets: this will ensure each device gets content best suited to its capabilities.

  • Building custom WAX tags: since WAX is an "abstract" language, coming up with new metaphors for wireless content will make building wireless applications faster, and make using them easier.

  • Creating new requestors: custom requestors for getting content from databases, and existing content management systems will make Morphis much more pervasive
morphis