<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Data Experience in the Making</title>
<link>http://www.beyeblogs.com/spotfire/</link>
<description>Jonas Lagerblad, VP Product Platform and cofounder of Spotfire, Inc., shares ideas and insights from the making of the visual data experience delivered by Spotfire.</description>
<language>en</language>
<copyright>Copyright 2008</copyright>
<lastBuildDate>Tue, 19 Dec 2006 14:30:00 -0700</lastBuildDate>
<generator>http://www.movabletype.org/?v=3.33</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 


<item>
<title>Spotfire DecisionSite 9.0 – now available</title>
<description><![CDATA[<p>Earlier this month <a href="http://www.spotfire.com/products/decisionsite.cfm">Spotfire DecisionSite 9.0</a> became available for download for Spotfire customers. This release includes a huge number of improvements in our analytics capabilities; see <a href="http://www.spotfire.com/products/whatsnew.cfm">http://www.spotfire.com/products/whatsnew.cfm</a> and the PDF <a href="http://www.spotfire.com/spotfire_downloads/whitepapers/Whats_New_in_DecisionSite_9.pdf">Whats_New_in_DecisionSite_9.pdf</a> available from that page, for an overview of the new stuff.</p>

<p>The main driver for choosing what to implement in this version has been to improve the analytical capabilities in general and to simplify handling of wide data sets in particular. </p>

<p>We started out just about a year ago by mining our internal knowledge base with enhancement requests and unresolved issues. This gave us a lot of ideas of areas of the product, where improved functionality would give a lot of customer value. </p>

<p>With the resources available, we decided that we should invest in improving the analytical capabilities by:<br />
<ul><li>Simplify handling of a huge number of columns in the data; to achieve this, we set up the goal that it should be possible to analyze data with 10000 columns.</li><li>Improving the handling of color ranges and categorical coloring.</li> <li>Improve label drawing in plots.</li><li>Improve overall performance.</li></ul></p>

<p>These high level goals resulted in a major refactoring of many components that have been around for almost a decade now and we are now well positioned for improving the product even further in future releases.</p>

<p>We have also exposed quite a lot of new exciting capabilities for our API users. </p>

<p>Regards,<br />
Jonas L<br />
</p>]]></description>
<link>http://www.beyeblogs.com/spotfire/archive/2006/12/spotfire_decisi_2.php</link>
<guid>http://www.beyeblogs.com/spotfire/archive/2006/12/spotfire_decisi_2.php</guid>
<category></category>
<pubDate>Tue, 19 Dec 2006 14:30:00 -0700</pubDate>
</item>

<item>
<title>Spotfire DecisionSite - a new version will soon be out</title>
<description><![CDATA[<p>Soon we will launch the next major release of <a href="http://www.spotfire.com/products/decisionsite.cfm">Spotfire DecisionSite</a>. </p>

<p>This release includes a lot of  good stuff, which will make life a lot easier for end users and developers extending the platform. Stay tuned for the formal announcement on <a href="http://www.spotfire.com">http://www.spotfire.com</a>.</p>

<p>/Jonas</p>]]></description>
<link>http://www.beyeblogs.com/spotfire/archive/2006/11/spotfire_decisi_1.php</link>
<guid>http://www.beyeblogs.com/spotfire/archive/2006/11/spotfire_decisi_1.php</guid>
<category></category>
<pubDate>Sun, 26 Nov 2006 22:00:00 -0700</pubDate>
</item>

<item>
<title>Scripting languages and .Net</title>
<description><![CDATA[<p>Up until very recently there has been a gap in the integration of the .Net framework with the old style Windows environment, but with the release of IronPhyton 1.0 (<a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython" target="new">http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython</a>) we have gotten quite close to the freedom offered by JScript in regards of doing rapid prototyping and low cost automation of common tasks. For more information see the MSDN article "CLR inside out". (<a href="http://msdn.microsoft.com/msdnmag/issues/06/10/CLRInsideOut/" target="new" >http://msdn.microsoft.com/msdnmag/issues/06/10/CLRInsideOut/</a>)</p>

<p>/Jonas<br />
</p>]]></description>
<link>http://www.beyeblogs.com/spotfire/archive/2006/10/scripting_langu.php</link>
<guid>http://www.beyeblogs.com/spotfire/archive/2006/10/scripting_langu.php</guid>
<category></category>
<pubDate>Thu, 05 Oct 2006 15:15:00 -0700</pubDate>
</item>

<item>
<title>Spotfire DXP – a great product built on a great foundation</title>
<description><![CDATA[<p>When the development of a new analytic product started at Spotfire we had a few different options regarding what development platform to choose:<ul><li>Microsoft .Net 1.1</li><li>Microsoft .Net 2.0</li><li>A mix of Microsoft .Net and C  </li><li>Java</li></ul> <br />
Java was ruled out almost immediately, since it is not well suited for integration with COM enabled applications. </p>

<p>From a technical point of view we were convinced that the Microsoft .Net 2.0 framework had the greatest potential; some of the advantages we saw were:<ul><li>Tight integration with COM enabled applications possible</li><li>Many attractive language features that may increase development productivity</li><li>Good track record for end user adoption of previous .Net releases</li><li>New software deployment features in .Net 2.0 enables better control over centralized deployment</li></ul> <br />
Still the decision to use the 2.0 platform was not an easy one; the main factor against it at the time was that it was still in beta release… </p>

<p>After struggling with bugs in beta releases of platform and development tools, we still believe that we made the best choice. I’m confident that the analytics platform that we have built for Spotfire DXP will be just as successful as the Spotfire DecisionSite platform has been. </p>

<p>The key features of the Microsoft .Net 2.0 platform that we have made great use of are: </p>

<p>C# language feature like:<ul><li>Generics</li><li>Anonymous delegates</li></ul> <br />
New runtime features:<ul><li>Improved remoremoting><li>Web services</li><li>Windows Forms enhaenhancements</li><li>Internationalization</li><li>64 bit platform support</li></ul><br />
In the next year you will see a number of releases of Spotfire DXP that exposes more of the great analytics platform that we have put in place. <br />
<p> <br />
Regards, <br />
Jonas</p></p>]]></description>
<link>http://www.beyeblogs.com/spotfire/archive/2006/10/spotfire_dxp_a.php</link>
<guid>http://www.beyeblogs.com/spotfire/archive/2006/10/spotfire_dxp_a.php</guid>
<category></category>
<pubDate>Thu, 05 Oct 2006 14:45:00 -0700</pubDate>
</item>

<item>
<title>2006 the year of Spotfire DecisionSite</title>
<description><![CDATA[<p>For me 2006 has been very focused on revamping Spotfire DecisionSite; soon you will all be able to see some really cool stuff that can be done with the next generation of the product. The last few months we have been doing some major enhancements of the product, stay tuned and you’ll be amazed!</p>

<p>Regards,<br />
Jonas<br />
</p>]]></description>
<link>http://www.beyeblogs.com/spotfire/archive/2006/10/2006_the_year_o.php</link>
<guid>http://www.beyeblogs.com/spotfire/archive/2006/10/2006_the_year_o.php</guid>
<category></category>
<pubDate>Thu, 05 Oct 2006 14:30:00 -0700</pubDate>
</item>

<item>
<title>The Spotfire DXP data handling</title>
<description><![CDATA[<p>In this article I will cover the exiting architecture of the data handling is Spotfire DXP in some detail. </p>

<p>The data handling of Spotfire DXP is one of the most exiting parts of the product, it relies heavily on experiences learned from the Spotfire DecisionSite product, but we have also spent quite some time on investigating the needs of the business analytics market. These findings gave us some interesting ideas that we have twisted around until something with a Spotfire feeling came out.</p>

<p>Many of the capabilities of the data handling of Spotfire DXP can be found in other products, but  we have made it possible to start with a data set, add more data from various data sources and then visualizing multiple aspects (views) of this data simultaneously, with full interaction and tight coupling in between different data views.</p>

<p>In Spotfire DecisionSite we have visualizations that have specific columns assigned to their axes, and some plots have built in aggregation of these axes, i.e. bar chart and pie chart. In Spotfire DXP this has been taken much further. Each axis in the visualization is now assigned a data view, which can be dynamically calculated from one or more column in the data set.<br />
                                               <br />
The data view can be calculated based on the columns exposed by the original data set imported into Spotfire DXP or any other view derived from that view. Data views can also be based on subsets of other views, e.g. filtered rows or marked rows.</p>

<p>Just as in Spotfire DecisionSite, DXP has the ability to create new columns based on other columns. Spotfire DXP extends this concept with the ability to use the expression language to calculate aggregated columns, cumulative sums and hierarchies.</p>

<p>All data views and calculated columns are automatically recalculated when required, e.g. when the filtering is changed and when new rows are added to the data set.</p>

<p>Another important feature which has been enabled by Spotfire DXP is the ability to have different sets of data filters apply to different visualization. This is enabled by the ability to create new data subsets for different views. In Spotfire DXP 1.0 this is used to make it possible to have query device panels on different pages that work independently.</p>

<p>The hierarchy handling is another really important new feature, I will describe this in a later posting.</p>

<p>Happy analysis,<br />
/Jonas<br />
</p>]]></description>
<link>http://www.beyeblogs.com/spotfire/archive/2006/07/the_spotfire_dx.php</link>
<guid>http://www.beyeblogs.com/spotfire/archive/2006/07/the_spotfire_dx.php</guid>
<category></category>
<pubDate>Fri, 07 Jul 2006 12:45:00 -0700</pubDate>
</item>

<item>
<title>Spotfire DXP - exiting new stuff</title>
<description><![CDATA[<p>The countdown for the biggest product launch in the history of Spotfire will very<br />
soon reach zero now, and I will try to describe some of the great innovations in<br />
this product.</p>

<p>The product will be called Spotfire DXP and it is a completely new foundation for<br />
interactive business analytics. Spotfire DXP embraces the strengths of the Spotfire<br />
DecisionSite and adds a huge set of new capabilities never seen together in one<br />
product before.</p>

<p>We have talked to customers and investigated all aspects of the data analytics market<br />
to come up with a completely novel way of interact with data.</p>

<p>The main capabilities of Spotfire DXP are:<br />
<ul><li>Centrally managed data access via the Spotfire Information Services</li><li>Centrally managed product deployment</li><li>Interactive analysis of large data sets - a new take of the unique Spotfire way<br />
of allowing the and user to analyze business critical data</li><li>End user friendly packaging of complex analytical tools</li><li>Extensibility of product</li></ul></p>

<p>Compared to the Spotfire DecisionSite product you will notice many differences.<br />
The main features that are visible to the user are:<br />
<ul><li>New user interface, which allows a much more effective analysis of data, and gives the user direct access to all common operations via drag drop and on screen roperty<br />
controls</li><li>Undo and redo of changes to the analysis session</li><li>Addition of new data rows and columns in a much more flexible way</li><li>Visualization of multiple views of data in parallel</li><li>Analysis data with hierarchies</li></ul></p>

<p>All of these new features are based on a completely new product foundation developed using the Microsoft .Net 2.0 framework.</p>

<p>Stay tuned for more details on architecture and exiting challenges encountered.</p>

<p>Regards,<br />
Jonas</p>]]></description>
<link>http://www.beyeblogs.com/spotfire/archive/2006/07/spotfire_dxp_ex.php</link>
<guid>http://www.beyeblogs.com/spotfire/archive/2006/07/spotfire_dxp_ex.php</guid>
<category></category>
<pubDate>Fri, 07 Jul 2006 06:45:00 -0700</pubDate>
</item>

<item>
<title>Spotfire DecisionSite - the Analytics Foundation</title>
<description><![CDATA[<p>The ten years of successful delivery of <a href="http://www.spotfire.com/products/decisionsite.cfm">Spotfire DecisionSite</a> is to a large extent based on the agility of the product. There are very few cases where the standard version of Spotfire DecisionSite meets all the requirements of a customer, instead the success is to a large extent built on the ability to adapt the product to meet a vide range of new requirements.</p>

<p>Spotfire DecisionSite started out as a groundbreaking tool for doing interactive ad-hoc data analytics and over the time Spotfire DecisionSite has added a number of different methods that can be used to customize the product to meet the needs of different end users:<br />
<ul><li>A rich COM API that enables automation of repetitive task<br />
<li>Numerous extension APIs that enables addition of new functionality in many places of the product<br />
<li>Central management of software deployment and user based access to functionality<br />
<li>Central management of data access via the Spotfire Information Services, a middle layer that manages data access from a large selection of data bases<br />
<li>Workflow recording and sharing via Guides and DecisionSite Library<br />
<li>Sharing of results and online collaboration via DecisionSite Posters<br />
</ul></p>

<p>Much time and effort has been put into enabling the usage of the tools best suited for a particular problem. We also try really hard to "eat our own dog food", almost all additions we do to the product now are done using the extension APIs of the product.</p>

<p>In later postings I will describe how we have evolved the APIs of Spotfire to become as versatile as it is today. In this entry I will give an overview of what different technologies Spotfire is using to add new features to the product.</p>

<p>The core of Spotfire DecisionSite was originally developed in C-Plus-Plus, C-Plus-Plus is still used for some development, but the focus has shifted to other technologies. </p>

<p>Over the decade that we have been developing the DecisionSite product the used platforms have been:<br />
<ul><li>Year 1-3 C-Plus-Plus <br />
<li>Year 4-6 Jscript, Html, Java, C-Plus-Plus<br />
<li>Year 7-10 C#, Jscript, Java, C-Plus-Plus<br />
</ul></p>

<p>The main reason for these technology shifts has been to improve productivity and ease of implementation of new features. So far we find the C# as the compromise in between code quality, ease of implementation and efficiency, but there are a number of hurdles that must be overcome to build an application that mixes COM, Jscript, C-Plus-Plus and C# to the extent that we do, more on this in later postings.</p>

<p>Regards,<br />
Jonas<br />
</p>]]></description>
<link>http://www.beyeblogs.com/spotfire/archive/2006/05/spotfire_decisi.php</link>
<guid>http://www.beyeblogs.com/spotfire/archive/2006/05/spotfire_decisi.php</guid>
<category></category>
<pubDate>Mon, 01 May 2006 21:15:00 -0700</pubDate>
</item>

<item>
<title>The Spotfire Type System vs. SAS</title>
<description><![CDATA[<p>The type systems of SAS and <a href="http://www.spotfire.com/products/decisionsite.cfm">Spotfire DecisionSite</a> are quite different, SAS uses two basic types, numbers and strings, and then there are a number of different input and output formats that can be used to translate the data. Spotfire DecisionSite has a much tighter type system with six basic data types (string, integer, double, date, time and timestamp, for these we have defined rules for how comparisons and distance calculations in between values are performed. On top of these types we also have the concept of output formatters.</p>

<p>When importing SAS data to Spotfire we have five different methods to choose in between for conversion:<br />
<ol><br />
<li>Use the raw SAS data without conversion (in string or numeric format)<br />
<li>Use SAS output formatters to convert the raw values to strings formatted in the same fashion as the SAS user is used to see the data<br />
<li>Use SAS output formatters to convert the raw data to string, this string is then parsed to one of the six native Spotfire types<br />
<li>Convert the raw SAS data directly to a native Spotfire type<br />
<li>Use the raw SAS data in Spotfire DecisionSite and apply a Spotfire data formatter<br />
</ol></p>

<p>In the Spotfire DecisionSite 8.2.1 version of the SAS data file access we have used all of these methods except number five. The choice of what method is used is controlled by what SAS output formatting is stored in the SAS data file. The user also have the option to use the raw data (option one) for all columns.</p>

<p>To set up the rules for what type of conversion to apply for different SAS formats was one of the most difficult tasks during the development of the SAS data file importer.</p>

<p>In most cases we could find good ways to map SAS formats to Spotfire types, the biggest issue we found hard to resolve is the handling of SAS time based formats. The main culprit was that the Spotfire time data type only has a valid range of 00:00:00 to 24:00:00 and the SAS time type supports both negative times and more than 24 hours. This was one of the cases where we have choose to fallback to importing the raw data, to make sure that no information is lost. Converting it to string would yield nice output but the distance (and possibly order) would be lost.</p>

<p>More information on how the type mapping is done can be found in the help system of Spotfire DecisionSite 8.2.1 :-).</p>

<p>Regards,<br />
Jonas</p>]]></description>
<link>http://www.beyeblogs.com/spotfire/archive/2006/04/the_spotfire_ty.php</link>
<guid>http://www.beyeblogs.com/spotfire/archive/2006/04/the_spotfire_ty.php</guid>
<category></category>
<pubDate>Fri, 28 Apr 2006 16:15:00 -0700</pubDate>
</item>

<item>
<title>Integration of SAS data files into Spotfire DecisionSite</title>
<description><![CDATA[<p>From version 8.2.1 <a href="http://www.spotfire.com/products/decisionsite.cfm">Spotfire DecisionSite</a> offers a seamless integration with SAS data files, in this and some upcoming articles I will describe some of the challenges we had to overcome to make this work.</p>

<p>The goal for the development of the SAS data file ntegration into Spotfire DecisionSite was:</p>

<ul><li>Make data from SAS data files (.SAS7BDAT) as easy to use in Spotfire DecisionSite as data from text files and excel files. It must be possible to open SAS files via File/Open, File/Import and drag and drop. It must also be possible to add new columns of data from SAS files
<li>Allow usage of SAS data files as targets for linked data in a Spotfire DecisionSite analysis
<li>Import SAS data in a format that is as similar as possible to the experience to how the data is presented in SAS
<li>The imported data should be useful for analysis in Spotfire DecisionSite, i.e. numerical data should still be numerical etc.
<li>No information should be lost during import
</ul>

<p>The technology platform that we choose for the integration is the local data provider, from the SAS Providers for OLE DB, which is available for free download from SAS. This OLE DB provider supports reading data from SAS data files, which are generated by SAS version 6 and newer. </p>

<p>More on type systems in the next article.<br />
 <br />
    Regards,<br />
    Jonas</p>]]></description>
<link>http://www.beyeblogs.com/spotfire/archive/2006/04/integration_of.php</link>
<guid>http://www.beyeblogs.com/spotfire/archive/2006/04/integration_of.php</guid>
<category></category>
<pubDate>Fri, 28 Apr 2006 15:45:00 -0700</pubDate>
</item>

<item>
<title>Exciting new features in Spotfire DecisionSite 8.2.1</title>
<description><![CDATA[<p>Last week Spotfire released version 8.2.1 of <a href="http://www.spotfire.com/products/decisionsite.cfm">Spotfire DecisionSite</a> – this is really a great release. </p>

<p>One of the most exciting new features is the seamless integration of data import from SAS data files into the product. I will cover this feature more in a later blog entry.</p>

<p>/Jonas</p>]]></description>
<link>http://www.beyeblogs.com/spotfire/archive/2006/04/exciting_new_fe.php</link>
<guid>http://www.beyeblogs.com/spotfire/archive/2006/04/exciting_new_fe.php</guid>
<category></category>
<pubDate>Fri, 21 Apr 2006 22:00:00 -0700</pubDate>
</item>

<item>
<title>The Spotfire interactive data experience co-Founder</title>
<description><![CDATA[<p>I'm Jonas Lagerblad, VP Product Platform and co-founder of <a href="http://www.spotfire.com">Spotfire</a>.</p>

<p>This month Spotfire celebrates its 10 year anniversary of Spotfire as a company. 10 years ago, we were 5 entrepreneurs with a great idea of how interactive visualizations should save the world sub-renting a small office in Gothenburg (Sweden), now we’re a global company with 40 times more employees. </p>

<p>My primary focus has always been to get high quality products that address business problems in the hands of customers. To achieve this goal I've had quite a few different roles at Spotfire, developer, software architect, project manager, VP Engineering, product management, IT support, … (I'm also the one to blame for the name Spotfire)</p>

<p>I will use this space to share some ideas and reflections that have come up during this time.</p>

<p>I invite everyone to come with feedback both on our products and on ideas of how to apply data visualization on business analytics.</p>

<p>See you later,<br />
/Jonas<br />
</p>]]></description>
<link>http://www.beyeblogs.com/spotfire/archive/2006/04/the_spotfire_in.php</link>
<guid>http://www.beyeblogs.com/spotfire/archive/2006/04/the_spotfire_in.php</guid>
<category></category>
<pubDate>Fri, 21 Apr 2006 21:30:00 -0700</pubDate>
</item>


</channel>
</rss>