HTML5, large-scale ETL, Java API, JDBC, MDA, and web differencing

It is always a very exciting time of the year here at Altova when we reveal our latest major software version, and I am pleased to announce our MissionKit 2012 release today!

As always, we've packed a ton of exciting new features into this release and they span the entire product line.

So here it is in a nutshell - the cool "stuff" that is now available in version 2012:

Major enhancements for web developers

HTML5 is quite obviously the way to go and we now have full HTML5 support in both XMLSpy and StyleVision. In fact, XMLSpy's intelligent editing support and entry helpers make for super-fast web development in both HTML4 and HTML5 with support for previews in multiple different browsers. In addition, the CSS editor in XMLSpy now fully supports CSS3 in addition to CSS2, and we've added CSS3 support to StyleVision as well.

Another major feature for web developers is now available in DiffDog: Web Differencing! You will love the ability to do file differencing as well as directory comparisons between local directories and server directories accessed via FTP or HTTP. You can even do differencing between two servers! This takes a lot of pain out of deployments or keeping servers in sync, as well as helping greatly with moving to the cloud!

Support for large-scale ETL

ETL ("Extract-Transform-Load") projects as well as larger and more complicated data transformations and mappings are now a breeze with the new streaming support in MapForce. In addition to the existing streaming output capabilities, MapForce 2012 adds new streaming input capabilities that lets you process XML, CSV, and FLF text files as well as database rows with no limitation on size.

Major improvements to Java support

We've always supported Java application development, but the integration APIs for XMLSpy, MapForce, and other products got a major overhaul this time around with an all-new extended Java API that makes using our products from within Java applications a breeze, and there are now cool new code samples available to demonstrate the use of the new APIs.

In addition, we've added JDBC driver support to all our products that integrate with databases. This complements the existing ADO and ODBC drivers support nicely and provides for better performance and more integration options with some database servers.

Support for MDA

If you work with UML you are going to love the new UModel. We now support platform independent models that can be described without concern for the details of any specific programming language. This lets software architects focus exclusively on the logic of the subject domain rather than worry about the characteristics of any particular programming language.

Through the new Model Transformation selection in UModel you can then instantly transform into any supported language, such as Java, C#, Visual Basic, databases or XML Schema.

You can even apply Model Transformations to a project that has been reverse-engineered from existing source code. For example an existing Java application can be reverse-engineered by UModel to create a UML model and then transformed to generate C# classes. Imagine that!

But these are just the highlights - there are many more new features in this release! For more in-depth information, check out the Altova Blog as well as the What's New page on our website. And all of it is available immediately for downloading from our website.

Recent popular articles on the Altova Blog

Just a quick pointer to make sure that you didn't miss any of the excellent articles that we published on the Altova Blog these past couple of months. These contain tips on using our products, helpful development pointers, use-cases, and much more. Here is a quick digest of some of the most popular articles…

Feel free to follow any of the links below to directly access the articles mentioned, or go to the Altova Blog home page to read more.

Software Testing for State Machines

Regardless of a software project's goals or source code language, it's obvious that the earlier a defect is found the easier, cheaper, and more rapidly it can be fixed. Altova UModel 2011 (r2 and beyond) can generate code from UML state machine diagrams that can be used to validate conceptual logic very early in the project lifecycle, potentially saving you days of development time.

Read the post ...

Switch Statement vs. Look-up Table in MapForce

One of the great things about working with software developers is that you get to see firsthand how they architect different solutions to design challenges. We recently received a comment from a developer in response to our post Expandable If-Else Works like a Switch Statement in MapForce suggesting a more elegant solution to an expanded if-else statement. He rather convincingly suggests that a value-map would accomplish the job more efficiently.

Read the post ...

New XML Schema Editing Tools in XMLSpy

XMLSpy is the industry's leading XML editor for a reason – XMLSpy delivers power and flexibility in the same package. Earlier this year Altova introduced additional functionalities including sorting in schema view, schema refactoring, intelligent support for changing types, and customizable XML Schema documentation. Wow!

Read the post ...

XML in the Cloud

More and more enterprises are discovering the advantages of implementing database applications in the cloud – high availability and reliability, automatic scaling, and freedom from hardware costs and maintenance requirements to name a few. In this blog post we demonstrate how to connect to the Amazon Relational Database Service (Amazon RDS) and build a small database using Altova DatabaseSpy. Since the database Connection Wizard is consistent across the Altova MissionKit, you can connect the same way using XMLSpy, MapForce, or StyleVision as well.

Read the post ...

Using Charts to Effectively Communicate Data

XMLSpy, StyleVision, and DatabaseSpy have intuitive features that allow even the most novice user to create powerful reports with sophisticated charts based on XML, XBRL, and database data. With Altova tools you can easily create stacked charts (bar and area) and candlestick charts, use chart overlays, control background images and color gradients, change the position of axis labels, and more! See how you can leverage this functionality to support your own projects.

Read the post ...

A personal tribute to Steve Jobs

I learned about the passing of Steve Jobs this Wednesday as I was in San Francisco for Oracle OpenWorld. I was munching on a cream puff from Beard Papa's on my way back to the hotel when the message popped up on my iPhone.

Jonathan mak apple logo 480x296
Image credit: Jonathan Mak (麥朗)

I was thunderstruck by the news and observed a moment of silence and remembering. While I only ever had the opportunity to meet Steve in person once at a talk he gave during his time at NeXT, he and the company he built have made a huge impact on my life in numerous ways.

It all started in the early eighties when I went to high school in Linz, Austria, and discovered my love for computers and learned how to program on the TRS-80 we had in school, on a Commodore PET that one of my friends owned, and an Apple II that was built into some laboratory equipment in my dad's organic chemistry lab at the JKU university.

In 1983 I bought my first computer, an Apple IIe, and two years later I bought my first Mac. It was through these two machines that I got deeper and deeper into programming, became a serious computer geek, and learned everything from BASIC to UCSD Pascal and assembly language for the 6502 and 68000 microprocessors. And I started working while still going to high school and wrote software for small businesses in the area to help finance the purchase of various computer upgrades, modems, printers, and other gadgets.

After high school I went on to study semiconductor and solid state physics at JKU university and continued to work part-time. During that time I worked as a teacher at a local computer camp for kids that offered sailing and programming instructions (on Apple II and Macintosh computers) over the summer, and I started working for Apple's Austrian subsidiary in Vienna, doing training for their reseller channel as well as participating in the founding of AMDA, the Austrian Macintosh Developer Association.

It was through that Apple connection in Vienna that I got the opportunity of a lifetime in 1988 when I was admitted into the summer-intern program at Apple's main campus in Cupertino. For three summers and one February break I contributed to various projects at Apple ranging from a modification of the Calculator desk accessory to support international number formats, modifying the internal disk image program that was then used to transfer operating system images from the Cupertino campus to the Fremont factory, to writing the 'KCHR' editor and numerous other modules for ResEdit. I made many great friends during those years and, in fact, just had dinner again with some of them last week in San Francisco.

What I had learned at Apple in those years profoundly influenced my life and kindled a love for elegant and powerful developer tools that continues to live on in what I do at Altova today. Ultimately, these three summers in California also played a significant role in my decision to relocate to the US in 2001 with my entire family and to become US citizens in early 2009.

My life would truly have been very different without the influences of Apple, it's products, and it's visionary founder.

Thank you, Steve.

MacBook Pro Black Ribbon
Photo credit: Nora Falk

A life-changing software called “Lose It!”

It is not often that I would give a piece of software the attribute “life-changing”. Certainly, XMLSpy and it’s huge success has changed my life and that of many people at Altova. And others have called DiffDog a life-saver before:

"DiffDog saved my life! Recordare developed MusicXML as an Internet-friendly format for publishing and sharing digital sheet music. As MusicXML became more popular, we needed a truly XML-aware differencing program to evaluate the XML files created by our Dolet plug-ins. DiffDog gives us the high quality regression testing tool that we had long sought for our MusicXML projects."
- Michael Good, CEO, Recordare

But the software I discovered on January 1st this year is the one that best deserves this label. Like so many other years before, my New Year’s resolution this year was to finally lose some weight. And most every year that resolution didn’t last very long. In fact, over the past 17 years I had managed to gain just a few lbs every year – but those added up and ultimately got me from 200 lbs to about 291 lbs in over a decade. Not good.

But this year it was different. This year I discovered Lose It! – a nifty little iPhone app plus website – and started on a real weight-loss program (in combination with a consultation with my doctor). What Lose It! does is deceivingly simple: it helps you track your calories – both those taken in as food and those expended in the form of exercise.

But it doesn’t restrict you in your choices of what foods you can eat. Due to the tracking you quickly learn what is good for you and what isn’t, so you end up making healthy food choices automatically.

And over time your actual habits start changing. For example, when I now know that I have a big dinner with friends ahead of me, I always make sure to exercise right after work and build up a calorie-deficit going into the dinner. And the fact that you are counting calories with the iPhone app right at the dinner table helps you learn portion control and get back to eating in moderation.

As a result of that, Lose It! has enabled me to lose 25.2 lbs in the past 9 weeks. That’s just a little over 2.5 lbs per week, so it is a very healthy rate of weight-loss.


I still have a long way ahead of me and only time will tell if I can reach my goal on time. But I already feel a lot better and have a lot more energy. And it feels truly empowering and liberating to finally see those extra pounds disappear.

This post may sound like a commercial for the latest weight-loss fad, but it isn’t. In fact, I have no financial interest in the company behind Lose It! or their products. And the iPhone app is free. The only reason for me to blog about this is to (a) give a tip of the hat to the people who created Lose It! and (b) hopefully help a few other people get started on their way to a healthier weight.

Altova MissionKit packs a punch with new features in v2011r2

I’ve been traveling for a bit, so I haven’t even had time to tell you about the new version 2011r2 of our Altova product line yet. As always we’ve been very busy in the past four months and have added a number of very cool features to all our products. As a result the Altova MissionKit v2011r2 packs a nice punch and shouldn’t be missing from any professional developer’s toolbox.

Here are the highlights among the new features:

  • Huge improvements in the charting functionality that we’ve originally introduced in v2011 with a wide range of new customizable charting features, including Stacked Bar Charts, Area Charts, Stacked Area Charts, Candlestick Charts, Chart overlays, Background images, Color gradients, and customizable axis labels.
  • Embedding external files in XML documents via CDATA blocks (supporting Base 16 and Base 64 encoding).
  • XML Schema refactoring in XMLSpy.
  • Customizable generation of documentation from XMLSpy, MapForce, and UModel via StyleVision stylesheets. This provides  countless options to customize your documentation from adding your logo to creating a detailed in-depth report about your mappings or models for later analysis.
  • Data streaming for file output in MapForce for large ETL projects.
  • Support for IATA PADIS EDI format in MapForce.
  • Automatic creation of reverse mappings in MapForce.
  • Barcode support for QR, DataMatrix, PDF417, Codabar, Code39, and many other formats.
  • Ability to create multiple output files from a single design template in StyleVision.
  • Ability to create ASPX web applications for dynamic data output in StyleVision.
  • Support for BPMN 2.0 in UModel.
  • Code-generation from state machine diagrams in UModel.
  • Word comparison in DiffDog.

And there are many more additional features. Also make sure to check out the latest couple of posts on the Altova Blog that go into more detail.

As always, you can download a free 30-day trial version from our website and our tools are available in English, German, and Japanese versions – plus XMLSpy is also available in a Chinese version now.

Motorola Xoom a huge disappointment

I couldn’t resist the temptation to get my hands on the first Android 3.0 (Honeycomb) device and wanted to explore the tablet world outside of iOS a bit, so I bought a Motorola Xoom the day it came out. I’ve now spent a couple of days with the device, downloaded apps, explored all the features, and come to the conclusion that the Motorola Xoom and Android 3.0 are a huge disappointment.

Let’s start with the Xoom hardware problems first:

  • It is rather heavy
  • The battery life is too short (about 5-6 hours rather than the 10 advertised)
  • The power-button is in the most ridiculous spot on the back of the device (next to the camera & flash)
  • The plastic snap-on cover is bulky and adds weight and thickness to it

Yes, the screen with HD resolution is nice. But that’s about the only thing that is better than the original iPad.

Now let’s talk about the Android 3.0 issues:

  • There are only about 16 apps available that are designed for an Android tablet form-factor. Robert Scoble goes into great detail on that issue in this blog post today.
  • When you run a few apps (and download some that are more designed for a phone) you inevitably arrive at a state, where the UI starts to feel sluggish – despite the dual-core CPU. The way that background applications can eat processor cycles and make your foreground application feel incredibly slow is a design flaw that I’ve already observed in the Motorola Droid a year ago. And it hasn’t been fixed in Android 3.0.
  • In using the device for a couple of hours, I got multiple apps to crash on me.
  • The Android app store is still extremely difficult to navigate and you cannot easily tell the good applications apart from the “me too” junk.
  • When connected to an Exchange server and trying to archive a piece of e-mail, the list of available folders is shown by flattening the entire folder hierarchy instead of displaying it properly. Therefore, I have to scroll down for 4-5 pages until I find the folder I need.
  • The idea to put widgets on the home screen that are more than just an icon is nice. But the implementation is ridiculous. There are plenty of apps that claim to be a widget, but all they are is an icon. Other apps, such as Twitter, have a widget view, but you cannot control the update frequency. With the CNN widget this leads to flickering and nervous screen updates. Then, when you tap on the widget, it takes forever to load the app and display the news.
  • Flash player isn’t available yet.
  • There is no movie availability other than YouTube. Nothing even remotely similar to the iTunes store where I can simply rent or buy a movie anytime.

I could go on for a long time. It is simply ridiculous how far from the truth the TV commercial for the Motorola Xoom is.

And, of course, now that the iPad 2 has been announced today, the Xoom looks even worse…

Watson 9000

I’ve been watching Jeopardy – The IBM Challenge for the last two evenings and the Nova documentary “Smartest Machine on Earth” the week before. What the folks at the IBM Watson team have pulled together is really quite impressive. Not only is Watson in the lead so far – and by a huge margin – it has also taken a giant leap forward for natural language processing in computers.

From the early days of the Eliza program by Joseph Weizenbaum it has always been a challenge for computers to recognize and process human language (click here for a JavaScript version of Eliza that you can interact with). While we’ve made remarkable progress in speech recognition in the past couple of years, the actual ability to understand and interpret language has eluded even the most sophisticated computer systems.

Humans just have a tendency to use colorful phrases, idioms, pop-culture references, and mix it all with humor in a way that is difficult to grasp for a machine. Nevertheless the Watson team seems to have made great strides in tackling these difficult problems.

It was immediately obvious that Watson did best when the question was directly related to an encyclopedic fact, such as the various illnesses in the “Don’t worry about it” category tonight. But even with humorous categories like “Church & State”, Watson did fine. In fact, Watson didn’t just do fine tonight: he (it?) dominated this second day of the Jeopardy challenge finishing with a crazy lead of $36,881, to $5,400 for Rutter and $2,400 for Jennings before going into Final Jeopardy.

The big surprise, however, came in the Final Jeopardy round tonight, when the category was “U.S. Cities”. In response to the answer “This city’s largest airport is named for a World War II hero, and its second largest airport is named for a World War II battle”, Watson came up with “What is Toronto”, which is clearly not a US city, while the two human contestants both responded with the correct answer (What is Chicago? The airports are O’Hare and Midway). However, Watson was reasonably unsure about its answer and only wagered $749, so his loss was kept nicely under control. Clearly, there is something amiss in the interpretation of categories in Watson’s algorithms. It could potentially be as simple as a missing entry in a synonym table that equates “U.S.” with “US” and “USA”…

But we’ve seen that same weakness in the category interpretation also in various rounds of test games that we saw in the Nova documentary.

It remains to be seen how Watson fares tomorrow in the final round of Jeopardy. I will definitely be watching…

In any case, now it is just a simple matter of time until IBM shifts its company name one letter to the left and comes out with the next release of Watson, which will probably be called version 9000:

HAL 9000 responding to Dave Bowman in “2001: A Space Odyssey”


More commentary on Watson can be found on Techmeme, and in particular I recommend this article All Things Digital.

UPDATE: For an explanation of the “Toronto” incident by David Ferrucci, project manager for Watson, please see “The Confusion over an Airport Clue” on the IBM Smarter Planet blog.

Using Altova tools for Cloud Computing

Obviously, cloud computing is one of the major trends of 2010 and continues to excite people. We just posted a brand new detailed article on the Altova Blog about XML in the Cloud that shows how to use DatabaseSpy, MapForce, XMLSpy, and StyleVision to work with an Amazon Relational Database Service (Amazon RDS) instance in the cloud.

Essentially the Amazon RDS is a big MySQL database in the cloud, so you can use the Data Source connection wizard in all Altova tools to easily connect with the cloud instance, just like you would connect with a local instance of MySQL:

Similarly, in a previous post last summer we showed you how to configure Altova tools to work with a SQL Server Azure instance, if you prefer the Microsoft cloud computing platform. And in another post we showed you in detail how to work with XML data in SQL Server Azure.

Check out all three articles and see how easy it is to use Altova tools not just for your enterprise in-house or classic web development projects, but also for your cloud computing projects!