Tuesday, December 22, 2009

Microsoft loses XML patent appeal, Word injunction upheld

As reported by Bloomberg and Reuters, the US Federal Circuit Court of Appeals today upheld a verdict by a lower Texas court that Microsoft infringed on an i4i patent by embedding “Custom XML” functionality in Word 2003 and 2007. As part of the verdict Microsoft has to pay $290 million and must stop selling infringing products on January 11, 2010.

Here is the full text of the court decision issued by Judge Prost today (PDF), which gives some insight into the matter especially claim construction, what the court considers separate files to be, and what constitutes “independent manipulation”.

Also of great interest is the discussion of the damages calculation starting on 27 of the court decision, which goes into detail of how i4i’s expert came up with a $98 royalty rate multiplied by the copies of Word used in an infringing manner (2.1 million).

This patent isn’t so much about Office Open XML as a file format, as it is about the one feature in Word 2003 and 2007 that allows the use of a custom XML Schema inside a Word document. As Mary-Jo Foley reported in her blog, Microsoft may have the option to simply disable that feature by releasing a new update to Word 2007.

Alternative to the removal of that feature, a settlement between Microsoft and i4i seems likely that would allow Microsoft to continue supporting that feature in exchange for paying royalties to i4i.

More blog reactions and discussions here

UPDATE: Microsoft has responded with its own press release and said that it will remove the “little-used” disputed feature from Word 2007 and Office 2007 as well as the beta versions of Word 2010 and Office 2010 and is further considering legal options including a request for a rehearing by the Federal Circuit Court of Appeals en banc or a request for a writ of certiorari from the U.S. Supreme Court.

Friday, November 13, 2009

XBRL Enhancements in XMLSpy 2010

I have written about XBRL on this blog a lot, and you probably already know that we’ve added support for XBRL across several of our products already in version 2009, when we introduced the XBRL Taxonomy Editor and XBRL validation in XMLSpy, added XBRL data mapping and instance document creation to MapForce, and XBRL rendering, report generation, and presentation to StyleVision.

So what’s new in version 2010? We have enhanced the XBRL support in our award-winning XML Editor based on direct customer feedback and added four frequently requested XBRL features to XMLSpy:

XBRL Taxonomy Wizard

The new XBRL Taxonomy Wizard makes extending an industry-standard XBRL taxonomy, or even creating a new taxonomy a breeze.

You simply use the File/New dialog to begin a new XBRL Taxonomy Schema, and XMLSpy prompts you to select the existing base taxonomy (e.g., US-GAAP, IFRS, etc.) you wish to extend (if any).

Once you enter the company ticker or name, XMLSpy automatically creates and saves all the required taxonomy files, including all the various linkbase documents.

XBRL Taxonomy Wizard

In Step 2 of the wizard you get to pick one or more entry points of the taxonomy you are extending.

XBRL Taxonomy Wizard

Once you click finish, XMLSpy 2010 displays the newly created taxonomy files in XBRL view, where you can continue editing and refining the taxonomy in a graphical manner.

The new XBRL Taxonomy Wizard is an invaluable time-saver when you need to create a new taxonomy for your organization.

XBRL documentation generation

To further facilitate XBRL taxonomy development in its graphical XBRL Taxonomy Editor, XMLSpy 2010 now supports the generation of comprehensive XBRL documentation.

Multiple options for what information to include in documentation (below) are available, and documentation may be generated in HTML, Microsoft® Word, or RTF.

XBRL documentation

A snippet from generated documentation is shown below. Related components are hyperlinked in the onscreen output, allowing users to easily navigate from component to component.

XBRL documentation

Generation of XBRL documentation is a must-have feature for anyone creating, editing, or extending an XBRL taxonomy.

Printing graphical XBRL view

This new feature allows you to print the graphical representation of your XBRL taxonomy as it is displayed in the graphical XBRL View. Below is an example of the print-preview of an XBRL taxonomy:

Print XBRL

Find in XBRL, XBRL sorting

When working in XBRL View, the new Find in XBRL tab of the XMLSpy 2010 output window (which you can also activate using Ctrl-F) allows you to search an entire XBRL taxonomy or document, with advanced options for narrowing your results. Results are listed in the output window, where multiple tabs let you store numerous queries. Clicking any item in the results window navigates to that specific location in the document.

Find in XBRL

This functionality makes finding information in XBRL files, which tend to be rather large and complex, much easier.

The XBRL sorting in XMLSpy 2010 also makes it easier to view and navigate your file in XBRL view, allowing you to sort elements by name, substitution group, or type.

Sort XBRL

All these enhancements make XMLSpy the ideal XBRL Taxonomy Editor for your next XBRL project. As always, you can download a free 30-day evaluation version from our website to see for yourself…

Wednesday, November 11, 2009

Electronic Forms design with StyleVision 2010

With version 2010 we’ve added some very exciting new features to StyleVision, but perhaps the most important one is the new forms-based design paradigm that is based on absolute positioning.

Specifically, StyleVision now gives you the option to create templates within layout containers and even optionally upload a blueprint image. This feature adds a whole new flexibility to the design process, letting you approach StyleVision in the same way that you use other design applications - specifying layout first and adding data connections later.

This new feature turns StyleVision from a pure stylesheet designer into a powerful tool for true electronic forms design.

new design

Layout containers can:

  • Be inserted within document templates or encompass the entire document.
  • Inherit the dimensions of the document section or have user-defined dimensions.
  • Be assigned any number of style properties (borders, background color, font, etc.).
  • Contain a blueprint image to serve as a reference template for the design.

Layout container characteristics are accessible through the Properties and Styles windows.

layout properties

In order to accurately produce stunning electronic forms that realistically mirror printed form designs, StyleVision now includes the ability to absolutely position all layout elements, boxes, containers, etc. Instead of having content and layout elements flow on the page automatically like a typical web page layout, you can now specify exact x and y coordinates for each element to absolutely position them on a page.

This feature gives designers and developers more control in their form design in the manner of desktop publishing applications, but also adds the powerful single source publishing capabilities for XML, XBRL, and database data that have always been present in StyleVision.

form design

Read more about What’s New in StyleVision 2010 on our website, or download a free 30-day trial version to see for yourself how important these enhancements are.

Bing to integrate results from WolframAlpha

Very interesting announcement today by Microsoft that bing.com will now include computational results from WolframAlpha directly within the bing search result:

This has the potential to be really cool and might drive more people to give bing a try over sticking with Google. However, I haven’t been able to actually see this in the live bing search results yet, so we’ll need to wait for a bit before it gets rolled out.

See techmeme.com for more coverage on this…

Tuesday, November 10, 2009

Altova at DevConnections

DevConnections in Las Vegas is always a great little conference and trade show. I say little because the show is a bit smaller than PDC or TechEd, but the talks are always excellent and there is a diverse mix of topics and tracks.

When the show floor opened today, the show certainly didn’t feel little at all: there was a huge rush of people coming to our booth, and the traffic remained fairly constant for over an hour and a half.

photo 

So if you happen to be in Las Vegas at DevConnections, make sure to stop by our booth and get a demo of the new features in version 2010 of our product line.

 photo 2

Also check out the Twitter stream about DevConnections

JSON and XML

Listening to bloggers over the last couple of years and also in talking to several developers in the industry it appeared to me that the JSON vs. XML debate seemed to primarily be a “religious” conflict – much like the “PC vs. Mac” or “Java vs. .NET” are to a large extent. I call it a religious conflict simply because there are fanatics on either side and they try to convert the masses and get them to agree with their point of view. But if you look at both XML and JSON with an unbiased mind and take each approach seriously, you’ll quickly find out that there are tons of applications where XML makes more sense and then there is a ton of other applications where JSON makes more sense. I would argue that XML has the better infra-structure of surrounding standards (like XML Schema, XSLT, XPath, etc.) that makes is a much richer platform and provides more flexibility, but there is something to be said about the elegance, efficiency, and simplicity of JSON, too. Instead of viewing JSON and XML as competing technologies we decided in our v2010 release to support them side-by-side and give our users the choice: XMLSpy 2010 now includes a JSON editor and supports JSON editing in its text and grid views with full syntax coloring, syntax checking, etc. This makes XMLSpy the first and only XML Editor to support JSON:

Just like we find some of our customers using XMLSpy as a plug-in within Eclipse and doing code-generation for Java, whereas other customers are using XMLSpy embedded within Visual Studio and doing primarily code-generation for C#, we expect that some of our customers will user our tools for JSON work, and others won’t. As a standards-focused developer tools vendor we simply want to give them the choice.

So let’s talk a bit more about the JSON vs. XML devate. For some background reading, I’d recommend taking a look at this blog post by Tim Bray and this response by Don Box. You can also do a Google search for “JSON vs XML” and you will find lots more in terms of different opinions.

Here is my take on the matter: XML by itself appears to be similar to JSON only when you ignore all the surrounding XML-related standards. At its core, both JSON and XML are used to capture and describe structured and unstructured data. JSON mainly focuses on storing or transmitting that data efficiently, i.e. with very little overhead, whereas XML focuses on a rich environment that includes entities and a mechanism to support metadata and extensibility. The extensibility is really the huge difference: XML includes concepts on how existing XML data can be augmented, extended and enriched by additional data and metadata from other domains using XML Namespaces. Furthermore, XML data can be processed with XSLT, queried with XQuery, addressed and extracted via XPath, etc. – none of those supporting technologies are really available for JSON in such rich diversity. However, when it comes to just capturing simple structured data and expressing it either in files or in a transmission between client and server, JSON shines with its simplicity and – some argue – better human readability.

So once we made the decision to support JSON in XMLSpy in addition to XML, the next question became obviously how you get data from one format into the other, and so we added a JSON <=> XML conversion option to our Convert menu.

For example, take the following bit of JSON data:

And you can now easily convert that into an equivalent piece of XML data:

Our main logic to include easy one-click conversion was that we figured people would sometimes want to experiment to see what approach works best for their application or their data. As such, they can simply take existing XML data and easily convert it to JSON to test with their new app, or conversely if they run into an issue with a JSON based application and need to convert existing data files to XML because they need the extensibility, meta-data, attributes, or the processing capabilities of XSLT and XQuery, they can easily do that with XMLSpy now.

But make no mistake: we are not saying that JSON is better than XML. On the contrary, I continue to be a huge fan of XML, which is why this blog is called the XML Aficionado, not the JSON Aficionado!

So the fact that there is a conversion function from XML => JSON in XMLSpy now doesn’t mean that people should necessarily convert from one format to the other. Rather, I see people who use either one or both formats wanting to occasionally move data from one world into the other or experiment with the other format and to make that process very convenient we’ve added the ability to convert from one to the other whenever you need to. But mainly we expect people will work either with JSON files or with XML files – depending on what is most suitable for their particular application or use-case.

So go ahead, use the comment section and let me know how you feel about the JSON vs  XML debate and what you think of our approach to support both…

P.S. My thanks go to Peter Zschunke, because a lot of material for this blog post came from a discussion and e-mail interview we recently conducted for his German blog XML-Ecke.

Monday, November 2, 2009

Database Schema Comparison

In our announcement of version 2010 last week I mentioned over 70 new features that we have added based on customer feedback. As I was talking with journalists through the course of the week, I came to quickly realize that people automatically assume that if it is 70 features in one release then those must be fairly small features. But in each case my conversation partner got more and more excited, as they realized that we are really talking about over 70 substantial new features.

So let me begin this series of individual feature articles by talking about database schema comparison, which we’ve added to both DatabaseSpy and DiffDog in version 2010.

We had originally introduced database comparison or differencing in version 2009 of our product line, but originally thought that users would primarily want to compare the actual data being stored in two separate databases. And people did indeed like that new feature and used it to synchronize data between production and development servers or between different types of database servers, and they were very excited that we allowed them to match columns with a drag&drop mapping interface in those cases where the tables were not entirely identical. One of the most frequent requests, however, that quickly emerged was to add the ability to also compare different database structures or schemas themselves.

This led to the new Database Schema Comparison feature of version 2010. Just like before the first step for a database schema comparison is to connect to two databases and select the tables that you want to compare:

We do, of course, automatically map any columns that have matching names, but you can also change the mapping and designate that columns are equivalent even if their names differ or follow other naming conventions e.g. due to a server migration.

Once you have connected the right columns and are ready to start the comparison process, click the compare button in the toolbar. The results will be displayed right away, and in this example DatabaseSpy is highlighting the differences with respect to data types as well as columns that are missing:

In addition to visually displaying the differences between the database schemas, DatabaseSpy also allows you to generate a merge script that will synchronize the schemas between the different databases, and you can choose if you want to merge the changes from left to right or vice versa.

Once you have selected one of the options, a new script window opens and shows you the SQL statements needed to make the changes, and you can execute them directly from within DatabaseSpy.

The same process can also be used to compare databases running on different database servers, which is ideal when you want to migrate from one database backend server platform to another.

And this is just one of the over 70 exciting new features in our version 2010 product line…

Wednesday, October 28, 2009

MOST WANTED: over 70 new features in 2010 Altova product lineup


I'm very excited that Altova has announced version 2010 of our entire product line today. This new release of our most popular XML, Database, UML, and Web Services tools includes over 70 new features that our customers have asked for.
Instead of pushing some proprietary platform or other hidden agenda, we at Altova believe in delivering exactly those features that our users need the most. We’ve listened to your feedback via our discussion forums, support requests, and social networking sites and put together a list of the MOST WANTED features that will help you stay at the cutting edge of technology and deliver the best results.
Several key feature areas are: a totally new design paradigm in StyleVision that makes stylesheet design more productive and enables a whole new generation of electronic forms based on Authentic; WSDL 2.0 support; substantial XBRL enhancements; schema comparison/differencing for XML and databases; SysML support in UModel; JSON support in XMLSpy; and much, much more.
I will be writing more about individual features in the future, but for now I suggest you go to the Altova Blog and read the announcement and also check out the press release.

Thursday, October 22, 2009

Get Twitter and Facebook results (and much more) in your search

OK, so the news are abuzz in recent days about Google adding real-time Twitter data to their search results and there is also a lot of blogging going on about Microsoft adding Twitter search to Bing. But the real news has been totally overlooked by the majority of tech blogs and news media until now: earlier this week kikin announced the start of their public beta on their blog by posting “we are live!

KikinLogo I’ve long been following kikin and was lucky enough to be one of their early testers, so I’ve been using the service for several months now – and I wouldn’t know what to do without it anymore. Kikin does one thing that neither a Google nor a Bing native Twitter or Facebook search can do: it gives me personalized and relevant search results from my feeds and my favorite websites right within the standard Google or Bing results and it lets me customize and select those personalized results in a very intuitive manner.

For example, since I shop on Amazon a lot, when I search for “Marblehead” on Bing, kikin will display personalized search results above the normal bing results that are relevant for me – in this case I find a great book by Ulrike Welsch that captures Marblehead in awesome photos:

KikinBingAmazon

As you can see, kikin has added these results above the normal search results, so you don’t have to change your browsing or surfing behavior or use a different search engine. There are several tabs that let you pick from which source you want to see relevant results, for example if I do the same search in Google and click on the Facebook tab in kikin, I see results directly from my Facebook news feed (i.e. only results posted by my friends on Facebook):

KikinGoogleFacebook

And obviously, if I click on Twitter, I can see relevant results only from people whom I follow, or I can even go a step further and only see relevant results that are directly addressed to me on Twitter:

KikinBingTwitter

By default, kikin only takes up very little space, so you still see your natural search results below, but if you want to focus on more results from one of your sources, you can expand the kikin box by clicking on the green plus sign in the lower right corner:

KikinGoogleFacebookLarge

The truly remarkable thing about kikin is that it is non-invasive. If there are no relevant results in any of your feeds or favorite websites, then it won’t interfere and will just display the natural search result. Even if that is the case, kikin still adds tremendous value to that result, because it has a built-in video player enhancement that lets you watch every video you find within the natural search result directly within your result page rather than having to click through to the site:

KikinVideoPlayer

So how does kikin do all of that? Kikin is a free browser plug-in that is currently available for Safari (on the Macintosh), Internet Explorer and FireFox (on WIndows). You can directly download and install the kikin plug-in from their website. Once you’ve installed the plug-in, you can use the Settings page to connect to your Facebook and Twitter accounts:

KikinConnect

In all my recent testing I’ve found kikin to be invaluable in unearthing highly relevant content that is otherwise hidden in my social stream: by augmenting every Google or Bing search with results from my social media interactions, I find valuable information that would otherwise remain hidden, or would only be accessible if I repeated my search in three places.

And it is this deeply personalized addition to the search results that makes kikin so valuable. All those newly announced Search partnerships between Twitter and Bing or Google may be great, if you want to search the entire public stream for information (e.g. ski conditions in Colorado), but the results are not going to be as important to you, as results specifically from your actual friends on Facebook or information from people you follow on Twitter or from other websites you frequently visit. That is the true power of kikin: to augment search results with highly relevant and deeply personalized content.

So is kikin perfect? Of course not, it is just the first public beta version and I’m sure that they’ll iron out some minor issues over the next several months as they get reported by users. My only two complaints about kikin at this point in time are (a) that is doesn’t work with Chrome yet (but they’ve already announced that Chrome support will be coming) and (b) that if you use multiple browsers or multiple computers you have to connect your Facebook and Twitter accounts separately for each installation. I would probably have preferred to create one account on the kikin website, connect with my other social media accounts, and then just provided that one account login for each installation.

Monday, October 12, 2009

Altova at Oracle OpenWorld 2009

Today was the first big day at Oracle OpenWorld 2009 in San Francisco and Altova is exhibiting at booth# 3750 in the Moscone West hall this year.

We had great traffic at our booth already on the first day and lots of people were interested in how MapForce can help them to move data into and out of the database and how to transform different data formats quickly and efficiently. Especially the new XBRL and HL7 data formats supported by MapForce 2009 appeared to be exactly what people wanted.
There was also a lot of interest in the database differencing features of DiffDog and DatabaseSpy - it appears that a lot of people are in the process of migrating data between systems, and that is exactly where these tools can add tremendous value.
There is a also a lot of talk about MySQL at the show this year - due to Oracle's acquisition of Sun - and I'm happy to report that all our tools do, of course, work great with both Oracle and MySQL as well as all other major databases.
If you are at the show this year, make sure you visit our booth and say hello. I am usually at the booth every morning...

Using the iPhone to pay at Starbucks

There is no use denying: I've been a big fan of Starbucks' coffees for many years and have had a Starbucks Gold card ever since it came out. But I was intrigued to learn a few weeks ago that Starbucks announced Starbucks Card Mobile - an iPhone app that lets you enter your Starbucks card# on the iPhone and you can then use that app to not only check your card balance, but also to pay at certain select Starbucks locations. These test locations are currently only in the Seattle and Silicon Valley areas, and since I am staying in San Francisco for Oracle World this week and met with some friends in the Valley for brunch yesterday, I headed to a Starbucks in Mountain View before driving back to the city.
The iPhone app has a nicely designed user interface and is extremely easy to use. When you are ready to pay, you start the app, enter a PIN code and hit the "Touch to Pay" button. Then you wave your iPhone in front of the scanner of the register at the checkout while it displays this screen.

Once you are done, you hit the "Touch when done" button and the app returns to the balance screen, where you can immediately see the balance after your payment has been processed.

And you can also get a journal of all recent transactions on your card - both those done via the iPhone app and does that were completed using the regular Gold Card in stores that don't yet accept the iPhone app.

All I can say is that this app makes total sense. No more digging for your wallet and fidgeting with the plastic card. Instead - since I use the iPhone all the time when standing in line - I just open the app and wave my iPhone at the scanner to pay. Very cool. I hope Starbucks rolls this out in stores all across the country soon....