Thursday, April 24, 2008

I am going coo coo for Popfly!!!

Tonight I went to my Popfly account and I was very impressed. Microsoft has added features which make it the best online Web 2.0 editor. They have added ways to add data sources. A pseudo database where you add a table using comma delimited syntax. Popfly has also added the capabilities of creating "blocks". Blocks are like components of software logic which can easily intergrate with other blocks or services. They have added features to the "block" where you can integrate it to web services by simply pointing to the Web Service Description Language (WSDL). You can write code for the block in C# or in a XML structured format. You can create mashups by simple drag and drop or write .net centric code. Like Google web pages, Popfly also lets you create web pages by simple drag and drop. I have to say that Microsoft has put alot of effort into this product compared to Google Mashup Editor or Yahoo! Pipes. Microsoft is probably eyeing this a possible collaborative programming IDE for the Visual Studio family. It is a not a bad idea.

FYI - Couple of weeks ago, Microsoft contacted me to see if I was interested in working for their Visual Studio line. With products like this and Google's snobby attitude towards folks with non IT degrees, I might have to reconsider. I enjoy programming, architecting systems and just being a technology geek. Is something wrong with me? Anyway in the next few entries, I might explore Popfly's capabilities in more in depth.

Wednesday, April 23, 2008

The Ultimate Data Mining Sport

A few days ago, I came across a show on ESPN on the concept of Sabermetrics. According to Wikipedia, "Sabermetrics is the analysis of baseball through objective evidence, especially baseball statistics." The sport of baseball is a unique sport since it is dominated by statistics. As many of you, hitting a ball, which is the size of a tennis ball, with a stick is an not easy task. Now imagine if the ball is coming at you around eighty to ninety miles per hour. What makes it even more hard is that the ball velocity, location and the trajectory of the ball may be different from one pitch to another pitch. The hitter has to decide to hit the ball if it goes through or touches the strike zone. The hitter has to guess what the pitcher's tendencies are and where and what type of pitch he, the pitcher, will throw. As you can see, statistics are the core of any baseball game. Lineups and pitching match-ups maybe altered depending on the pitcher, hitter, weather, ballpark and the time of the game. As an avid fantasy baseball player, I am aware of some of the stats and I alter my fantasy line up everyday.

What does this all mean? Since baseball is game of stats, Major League Baseball (MLB) general managers are relying more on analytical systems like Sabermetrics which give quantitative data on whether a player is valuable to the team or not. Sabermetrics captures statistics which are usually overlooked by regular stats. For example, Sabermetrics does not put alot of value in a player who hits for a .320 average. It does, however, give the player a higher rank if the player hits .320 average compared to a player who is hitting .098 average when the bases are loaded in a tie game at the bottom of the ninth. Yes the Runs Batted In (RBI) stat would say this however the player's RBI stat might be inflated if the player bats in a lot of runs when the games are not close. This might indicate that the player does not do well in pressure.

Even though folks in baseball have figured out on how to quantitatively score their assets to put a better product on their field, IT folks have been struggling with this for number of years. IT folks have a grand vision called Enterprise Architecture where they can map every asset, process, system and other IT variables and start seeing the gaps in their IT enterprises. AS IT business managers look at EA as their panacea for monitoring their enterprises, computers scientists are looking to fields like ontologies and referential systems to capture "inferred relationships" in the IT domain. I believe the IT people, including myself and all of the architects, developers, testers, program managers, project managers, CIO, etc., etc, should take a step back and learn from the baseball folks before we all strike out and head back to the dugout shaking our heads and pondering, "How did I miss that?"

Tuesday, April 8, 2008

AIXM is promising...

For the last few months, I have been indirectly involved in reviewing and doing analysis on the Aeronautical Information Exchange Model (AIXM) XML standard. After doing some initial review and attending the AIXM User Conference 2008, I believe this XML standard has a lot of promise. Here are couple of reasons:

  1. Built on a mature and stable standard - AIXM is built on the Geography Markup Language (GML) which is a well accepted Geospatial standard. I believe this is a smart move from AIXM's perspective. AIXM can be used by all GML compliant applications with minor tweaking. When I asked the AIXM folks on why certain elements are modeled a certain way, their answer was that they tried to follow the GML standard. I believe this is a valid answer since they are merely extending the GML standard.

  2. Domain specific - Unlike the National Information Exchange Model (NIEM) which has multiple domains, AIXM only addresses the aeronautical domain. Once again this is smart from a governance perspective since their Communities of Interest (COI) are limited. Even though NIEM allows various groups take ownership of each domain, NIEM is facing a problem with harmonization of data entities within the NIEM domain.

Things I would like to see from the next AIXM version:

  1. Polish, Polish and Polish - Since AIXM is a international standard, I would like to see the standard XML schemas to be polished which includes:
    • adding annotations to each datatype and element
    • remove embedded elements within datatypes and elements and expose each datatype and element. This will make the standard more flexible and loosely coupled.
    • each element is uniquely named, this is quite common in the AIXM standard now since there are embedded elements in the datatypes

  2. Publish XSL files - If AIXM published XSL transformation files, then it will be possible for applications to easily migrate to new versions of AIXM. I know this will take alot of work but I believe it is worth it.

  3. Extract Geospatial data from Aeronautical data - I know that AIXM is an extension of GML however geospatial data is very bulky and can cause bottlenecks in a system. I would like to see pilots where non-geospatial data in AIXM format are serviced through a XML based service. Each element in the non-geospatial message can be mapped to geo-spatial AIXM element or message.

I think AIXM can be used as cutting edge standard. Since AIXM has just introduced the concept of time or temporality in its standard, I believe this offers the biggest promise. With temporality, I envision AIXM capturing some of the aeronautical business processes and eventually aviation systems will be using AIXM instead of BPEL and BPM. The problem with BPEL and BPM is that it is too generic and sometimes it cannot be modeled well for a specific domain like aviation. I might be dreaming but entities like AIXM should consider this option after all a BPEL file is nothing more than an XML file.