<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Analytics GUI Mockup</title>
	<atom:link href="http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/feed/" rel="self" type="application/rss+xml" />
	<link>http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/</link>
	<description>Benji Smith, Software Research</description>
	<lastBuildDate>Mon, 23 Jan 2012 23:42:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Scholarships and Grants</title>
		<link>http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/comment-page-1/#comment-161821</link>
		<dc:creator>Scholarships and Grants</dc:creator>
		<pubDate>Mon, 05 Dec 2011 14:38:47 +0000</pubDate>
		<guid isPermaLink="false">http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/#comment-161821</guid>
		<description>&lt;strong&gt;Scholarships and Grants...&lt;/strong&gt;

[...]benjismith.net  &#187; Blog Archive   &#187; Analytics GUI Mockup[...]...</description>
		<content:encoded><![CDATA[<p><strong>Scholarships and Grants&#8230;</strong></p>
<p>[...]benjismith.net  &raquo; Blog Archive   &raquo; Analytics GUI Mockup[...]&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benji</title>
		<link>http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/comment-page-1/#comment-137836</link>
		<dc:creator>benji</dc:creator>
		<pubDate>Tue, 02 Dec 2008 05:40:54 +0000</pubDate>
		<guid isPermaLink="false">http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/#comment-137836</guid>
		<description>Well, I won&#039;t pontificate on the word &quot;actively&quot; , but yes I&#039;m still developing it.

It&#039;s been a pretty big project (at least, much bigger than the original 30 to 90 days that I had planned).

Between the Java server, the embeddable client library (calling win32 functions, securely communicating with the server, and providing a seamless offline experience, buffering all data locally until the connection is restored), and the C# XAML charting GUI, it&#039;s been a whole lot of work.

Also: economic conditions forced me back into the humdrum workforce from my previous candyland existence as a self-employed consultant. So my regular time commitment for this project has dwindled precipitously.

But I still believe in it, and I&#039;m still working on it, though I can&#039;t speculate about a delivery date right now :o(

Thanks for checking in on me!!

--benji</description>
		<content:encoded><![CDATA[<p>Well, I won&#8217;t pontificate on the word &#8220;actively&#8221; , but yes I&#8217;m still developing it.</p>
<p>It&#8217;s been a pretty big project (at least, much bigger than the original 30 to 90 days that I had planned).</p>
<p>Between the Java server, the embeddable client library (calling win32 functions, securely communicating with the server, and providing a seamless offline experience, buffering all data locally until the connection is restored), and the C# XAML charting GUI, it&#8217;s been a whole lot of work.</p>
<p>Also: economic conditions forced me back into the humdrum workforce from my previous candyland existence as a self-employed consultant. So my regular time commitment for this project has dwindled precipitously.</p>
<p>But I still believe in it, and I&#8217;m still working on it, though I can&#8217;t speculate about a delivery date right now :o(</p>
<p>Thanks for checking in on me!!</p>
<p>&#8211;benji</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ville M</title>
		<link>http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/comment-page-1/#comment-134672</link>
		<dc:creator>Ville M</dc:creator>
		<pubDate>Mon, 10 Nov 2008 22:24:32 +0000</pubDate>
		<guid isPermaLink="false">http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/#comment-134672</guid>
		<description>Any news on this product, I am very interested in tracking usage to our C# app. Are you still actively working on this?</description>
		<content:encoded><![CDATA[<p>Any news on this product, I am very interested in tracking usage to our C# app. Are you still actively working on this?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benji</title>
		<link>http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/comment-page-1/#comment-108335</link>
		<dc:creator>benji</dc:creator>
		<pubDate>Tue, 17 Jun 2008 16:14:16 +0000</pubDate>
		<guid isPermaLink="false">http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/#comment-108335</guid>
		<description>1. Yeah, I plan on supporting C++ applications. But maybe not in the first version. We&#039;ll see.

2. Absolutely. The ability to submit custom data is going to be a key feature. But.......again, not in the first version :)</description>
		<content:encoded><![CDATA[<p>1. Yeah, I plan on supporting C++ applications. But maybe not in the first version. We&#8217;ll see.</p>
<p>2. Absolutely. The ability to submit custom data is going to be a key feature. But&#8230;&#8230;.again, not in the first version :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anon</title>
		<link>http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/comment-page-1/#comment-108175</link>
		<dc:creator>anon</dc:creator>
		<pubDate>Tue, 17 Jun 2008 03:39:07 +0000</pubDate>
		<guid isPermaLink="false">http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/#comment-108175</guid>
		<description>1. Will your software be available for C++ applications or is it just for .NET and Java?

2. Are you planning to include some kind of a plug-in system which allows the developers to collect custom data based on their specific domains? For example, perhaps I have 3D design app and I want to know how many nodes my customers are creating per project or something weird (and unpredictable on your part) like that.</description>
		<content:encoded><![CDATA[<p>1. Will your software be available for C++ applications or is it just for .NET and Java?</p>
<p>2. Are you planning to include some kind of a plug-in system which allows the developers to collect custom data based on their specific domains? For example, perhaps I have 3D design app and I want to know how many nodes my customers are creating per project or something weird (and unpredictable on your part) like that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benji</title>
		<link>http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/comment-page-1/#comment-107925</link>
		<dc:creator>benji</dc:creator>
		<pubDate>Sun, 15 Jun 2008 18:53:55 +0000</pubDate>
		<guid isPermaLink="false">http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/#comment-107925</guid>
		<description>&lt;strong&gt;@Johan Says&lt;/strong&gt;
&lt;em&gt;&quot;What framework are you using?&quot;&lt;/em&gt;

Well, this particular mockup is purely a graphic-design artifact right now. Nearly everything you see here was designed in Adobe Illustrator, though the Vista frame, the reflection, and the shadow were all added in Adobe Photoshop.

Having said that, the actual application will use WPF/XAML in .Net 3.0 to deliver the GUI elements. I&#039;ve done some preliminary GUI prototyping, just to get my feet wet with the framework, and I&#039;m pretty confident that I&#039;m operating within its realistic capabilities (download a prototype stock market charting application &lt;a href=&quot;/files/VaporTradeDemo.zip&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;).

Besides the WPF implementation, I&#039;m not actually planning on using &lt;strong&gt;&lt;em&gt;anyone else&#039;s&lt;/em&gt;&lt;/strong&gt; charting framework.

In my book, one of the most important principles of product development (software or otherwise) is &quot;don&#039;t outsource your core competencies&quot;. And, since &quot;gorgeous, detailed charts&quot; is one of the most important differentiating factors of this software, all of the charting components will be the result of 100% in-house development.</description>
		<content:encoded><![CDATA[<p><strong>@Johan Says</strong><br />
<em>&#8220;What framework are you using?&#8221;</em></p>
<p>Well, this particular mockup is purely a graphic-design artifact right now. Nearly everything you see here was designed in Adobe Illustrator, though the Vista frame, the reflection, and the shadow were all added in Adobe Photoshop.</p>
<p>Having said that, the actual application will use WPF/XAML in .Net 3.0 to deliver the GUI elements. I&#8217;ve done some preliminary GUI prototyping, just to get my feet wet with the framework, and I&#8217;m pretty confident that I&#8217;m operating within its realistic capabilities (download a prototype stock market charting application <a href="/files/VaporTradeDemo.zip" rel="nofollow">here</a>).</p>
<p>Besides the WPF implementation, I&#8217;m not actually planning on using <strong><em>anyone else&#8217;s</em></strong> charting framework.</p>
<p>In my book, one of the most important principles of product development (software or otherwise) is &#8220;don&#8217;t outsource your core competencies&#8221;. And, since &#8220;gorgeous, detailed charts&#8221; is one of the most important differentiating factors of this software, all of the charting components will be the result of 100% in-house development.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benji</title>
		<link>http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/comment-page-1/#comment-107920</link>
		<dc:creator>benji</dc:creator>
		<pubDate>Sun, 15 Jun 2008 18:26:26 +0000</pubDate>
		<guid isPermaLink="false">http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/#comment-107920</guid>
		<description>&lt;strong&gt;@Richie Hindle Says&lt;/strong&gt;
&lt;em&gt;&quot;Looking at the list of available charts, I don’t see any mention of comparing different features&quot;&lt;/em&gt;

I&#039;m on exactly the same page as you, but it won&#039;t be included in the first version.

Initially, the embedded client library will be a simple little thing that you&#039;d invoke like this, at the beginning of your Main() method:

&lt;div style=&quot;font-family:Courier,&#039;Courier New&#039;,monospace;margin-left:20px;white-space:pre;font-weight:normal;&quot;&gt;AnalyticsSession session = AnalyticsSessionFactory.GetSession();&lt;/div&gt;

And then, upon application shutdown, you&#039;d invoke:

&lt;div style=&quot;font-family:Courier,&#039;Courier New&#039;,monospace;margin-left:20px;white-space:pre;font-weight:normal;&quot;&gt;session.Close();&lt;/div&gt;

With that minimal implementation (and no customization), it&#039;ll be possible to report all sorts of interesting details about the local environment, session duration, start/end times, session frequency, etc.

In a future version, there will be something like this, allowing you to log feature usage:

&lt;div style=&quot;font-family:Courier,&#039;Courier New&#039;,monospace;margin-left:20px;white-space:pre;font-weight:normal;&quot;&gt;session.SendEvent(&quot;gui.navigation.menu.file.openrecent&quot;);&lt;/div&gt;
&lt;div style=&quot;font-family:Courier,&#039;Courier New&#039;,monospace;margin-left:20px;white-space:pre;font-weight:normal;&quot;&gt;session.SendEvent(&quot;features.spellcheck&quot;);&lt;/div&gt;

Some of that code would have to be written by hand (since my library has no way of knowing the entry-points for each of your features), but some of it could be accomplished through bytecode instrumentation (depending on the platform of your host application). It&#039;d certainly be possible to instrument every GUI OnFocus event to log the name of the GUI element.

The client library would, of course, buffer all those events, to minimize the number of HTTP requests made.</description>
		<content:encoded><![CDATA[<p><strong>@Richie Hindle Says</strong><br />
<em>&#8220;Looking at the list of available charts, I don’t see any mention of comparing different features&#8221;</em></p>
<p>I&#8217;m on exactly the same page as you, but it won&#8217;t be included in the first version.</p>
<p>Initially, the embedded client library will be a simple little thing that you&#8217;d invoke like this, at the beginning of your Main() method:</p>
<div style="font-family:Courier,'Courier New',monospace;margin-left:20px;white-space:pre;font-weight:normal;">AnalyticsSession session = AnalyticsSessionFactory.GetSession();</div>
<p>And then, upon application shutdown, you&#8217;d invoke:</p>
<div style="font-family:Courier,'Courier New',monospace;margin-left:20px;white-space:pre;font-weight:normal;">session.Close();</div>
<p>With that minimal implementation (and no customization), it&#8217;ll be possible to report all sorts of interesting details about the local environment, session duration, start/end times, session frequency, etc.</p>
<p>In a future version, there will be something like this, allowing you to log feature usage:</p>
<div style="font-family:Courier,'Courier New',monospace;margin-left:20px;white-space:pre;font-weight:normal;">session.SendEvent(&#8221;gui.navigation.menu.file.openrecent&#8221;);</div>
<div style="font-family:Courier,'Courier New',monospace;margin-left:20px;white-space:pre;font-weight:normal;">session.SendEvent(&#8221;features.spellcheck&#8221;);</div>
<p>Some of that code would have to be written by hand (since my library has no way of knowing the entry-points for each of your features), but some of it could be accomplished through bytecode instrumentation (depending on the platform of your host application). It&#8217;d certainly be possible to instrument every GUI OnFocus event to log the name of the GUI element.</p>
<p>The client library would, of course, buffer all those events, to minimize the number of HTTP requests made.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benji</title>
		<link>http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/comment-page-1/#comment-107919</link>
		<dc:creator>benji</dc:creator>
		<pubDate>Sun, 15 Jun 2008 18:24:50 +0000</pubDate>
		<guid isPermaLink="false">http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/#comment-107919</guid>
		<description>&lt;strong&gt;@ColinM Says&lt;/strong&gt;
&lt;em&gt;&quot;Not quite sure what these annotation circles are for though. &quot;&lt;/em&gt;

&lt;strong&gt;@Richie Hindle Says&lt;/strong&gt;
&lt;em&gt;&quot;I see you allow annotations in the charts - excellent idea, especially where you have more than one person looking at the data (and you’ll be making that possible, right?)&quot;&lt;/em&gt;

Yeah, the annotations will be user-authored notes. You might add an annotation saying &quot;New adsense campaign launched today&quot; or &quot;Launched version 3.2 today&quot;. An annotation could be &quot;global&quot;, appearing on any chart whose time-series included the annotation timestamp. Or an annotation could be bound to a specific variable (like &quot;browser version&quot;), and then the annotation bubble would only show up on charts that consumed that variable.

I&#039;ve also been thinking about the idea of &quot;automatic annotations&quot;, where the system would identify points of interest in the data sequence (for example, 30-day high, 30-day low, trend reversal, sudden increase/decrease in slope, etc). The concept is still a little fuzzy in my mind, but the icon for an &quot;automatic annotation&quot; would be distinct from the icon for a &quot;user-authored annotation&quot;.

And, yeah, the annotations would be stored on the server, in their own table of the OLAP database. So anyone logged in could retrieve the same annotations (via the web service) and display them in their own charts. Of course, that begs the question of having &quot;private annotations&quot;, which further begs the question of &quot;sharing annotations&quot;.

But those are all enhancements for a future version :o)</description>
		<content:encoded><![CDATA[<p><strong>@ColinM Says</strong><br />
<em>&#8220;Not quite sure what these annotation circles are for though. &#8220;</em></p>
<p><strong>@Richie Hindle Says</strong><br />
<em>&#8220;I see you allow annotations in the charts &#8211; excellent idea, especially where you have more than one person looking at the data (and you’ll be making that possible, right?)&#8221;</em></p>
<p>Yeah, the annotations will be user-authored notes. You might add an annotation saying &#8220;New adsense campaign launched today&#8221; or &#8220;Launched version 3.2 today&#8221;. An annotation could be &#8220;global&#8221;, appearing on any chart whose time-series included the annotation timestamp. Or an annotation could be bound to a specific variable (like &#8220;browser version&#8221;), and then the annotation bubble would only show up on charts that consumed that variable.</p>
<p>I&#8217;ve also been thinking about the idea of &#8220;automatic annotations&#8221;, where the system would identify points of interest in the data sequence (for example, 30-day high, 30-day low, trend reversal, sudden increase/decrease in slope, etc). The concept is still a little fuzzy in my mind, but the icon for an &#8220;automatic annotation&#8221; would be distinct from the icon for a &#8220;user-authored annotation&#8221;.</p>
<p>And, yeah, the annotations would be stored on the server, in their own table of the OLAP database. So anyone logged in could retrieve the same annotations (via the web service) and display them in their own charts. Of course, that begs the question of having &#8220;private annotations&#8221;, which further begs the question of &#8220;sharing annotations&#8221;.</p>
<p>But those are all enhancements for a future version :o)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benji</title>
		<link>http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/comment-page-1/#comment-107915</link>
		<dc:creator>benji</dc:creator>
		<pubDate>Sun, 15 Jun 2008 17:58:03 +0000</pubDate>
		<guid isPermaLink="false">http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/#comment-107915</guid>
		<description>@Peter Christensen:
&lt;em&gt;&quot;If this is one “skin” or visualization on underlying data services, I think it’s would be a great way to show off both the graphical possibilities and the data flexibility.&quot;&lt;/em&gt;

That&#039;s exactly what I intend to do.

The embedded client library will report data about the local environment, the start &amp; stop times of the software session, and sequences of events that occur during that session.

A server component will listen for those events and store them in an OLAP database.

Another server component will provide a query API, where the user specifies which client-side variable to tally, as well as an aggregation interval (one day vs one week), and the server returns a resultant data stream.

The reporting server will always return its results as either a &quot;time-series stream&quot; or a &quot;value distribution set&quot;. (Time-series data can be transformed into a value distribution set, by providing a &quot;bucketing configuration&quot;. A good example of this would be tallying up the total number of user sessions on each day of the week.)

After issuing a query to the report server and getting the resultant data set back from the web service, the charting client will send the data stream to a &quot;chart renderer&quot;. There will be multiple types of renderers for each type of data set (for example, in this GUI mockup, the &quot;User Sessions&quot; chart uses a VerticalBarRenderer, a SolidLineRenderer, and two ShadedRegionRenderers).

There will be two types of distribution data as well (QuantitativeDistribution and QualitativeDistribution), and although they&#039;ll share a few renderers (like the HorizontalBarRenderer), they&#039;ll also have some distinct renderers.

In version 1.0, I&#039;m not planning on exposing any custom chart layout tools, but in subsequent versions, users should be able to create custom chart layouts (using existing renderers), and at some point in the future, they should also be able to add their own renderers using a plugin API.</description>
		<content:encoded><![CDATA[<p>@Peter Christensen:<br />
<em>&#8220;If this is one “skin” or visualization on underlying data services, I think it’s would be a great way to show off both the graphical possibilities and the data flexibility.&#8221;</em></p>
<p>That&#8217;s exactly what I intend to do.</p>
<p>The embedded client library will report data about the local environment, the start &#038; stop times of the software session, and sequences of events that occur during that session.</p>
<p>A server component will listen for those events and store them in an OLAP database.</p>
<p>Another server component will provide a query API, where the user specifies which client-side variable to tally, as well as an aggregation interval (one day vs one week), and the server returns a resultant data stream.</p>
<p>The reporting server will always return its results as either a &#8220;time-series stream&#8221; or a &#8220;value distribution set&#8221;. (Time-series data can be transformed into a value distribution set, by providing a &#8220;bucketing configuration&#8221;. A good example of this would be tallying up the total number of user sessions on each day of the week.)</p>
<p>After issuing a query to the report server and getting the resultant data set back from the web service, the charting client will send the data stream to a &#8220;chart renderer&#8221;. There will be multiple types of renderers for each type of data set (for example, in this GUI mockup, the &#8220;User Sessions&#8221; chart uses a VerticalBarRenderer, a SolidLineRenderer, and two ShadedRegionRenderers).</p>
<p>There will be two types of distribution data as well (QuantitativeDistribution and QualitativeDistribution), and although they&#8217;ll share a few renderers (like the HorizontalBarRenderer), they&#8217;ll also have some distinct renderers.</p>
<p>In version 1.0, I&#8217;m not planning on exposing any custom chart layout tools, but in subsequent versions, users should be able to create custom chart layouts (using existing renderers), and at some point in the future, they should also be able to add their own renderers using a plugin API.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benji</title>
		<link>http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/comment-page-1/#comment-107890</link>
		<dc:creator>benji</dc:creator>
		<pubDate>Sun, 15 Jun 2008 17:37:00 +0000</pubDate>
		<guid isPermaLink="false">http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/#comment-107890</guid>
		<description>@Richard S:

I was a little hesitant about the donut chart too. I&#039;ve read the criticism of pie charts in general, especially when you can present a bar chart instead.

I spent a lot of time brainstorming, trying to figure out how to display a hierarchical decomposition of OS users. I wanted a chart that could convey the proportion of Windows users, while simultaneously showing the proportion of those users on various Windows flavors. This chart shows that 75% of users are on a Windows platform, that about 63% of Windows users are using WinXP, and that about 41% of those users are on WinXP Pro SP2.

It&#039;s also important to note that I think this chart would be very difficult to comprehend without the listbox and the bar chart. Also, there are interactive elements that I think provide a lot of clarification. For example, right now the GUI shows a selected slice from the outer ring, which causes one row of the listbox to be selected. Selecting a slice from one of the inner rings would cause multiple rows of the listbox to be simultaneously selected, with a tooltip displaying a tally of the percentages for all leaf-node children of that selected slice.

You can&#039;t see the intended interactivity with this static screenshot, but I think it&#039;ll work well once the implementation is complete.

Nevertheless, I&#039;ll continue experimenting with other ways of presenting that data (something I&#039;m calling &quot;hierarchical membership decomposition&quot;). I might find a successful implementation with a &quot;hierarchical histogram&quot;, but for right now, I&#039;m pretty happy with the concentric-donut.</description>
		<content:encoded><![CDATA[<p>@Richard S:</p>
<p>I was a little hesitant about the donut chart too. I&#8217;ve read the criticism of pie charts in general, especially when you can present a bar chart instead.</p>
<p>I spent a lot of time brainstorming, trying to figure out how to display a hierarchical decomposition of OS users. I wanted a chart that could convey the proportion of Windows users, while simultaneously showing the proportion of those users on various Windows flavors. This chart shows that 75% of users are on a Windows platform, that about 63% of Windows users are using WinXP, and that about 41% of those users are on WinXP Pro SP2.</p>
<p>It&#8217;s also important to note that I think this chart would be very difficult to comprehend without the listbox and the bar chart. Also, there are interactive elements that I think provide a lot of clarification. For example, right now the GUI shows a selected slice from the outer ring, which causes one row of the listbox to be selected. Selecting a slice from one of the inner rings would cause multiple rows of the listbox to be simultaneously selected, with a tooltip displaying a tally of the percentages for all leaf-node children of that selected slice.</p>
<p>You can&#8217;t see the intended interactivity with this static screenshot, but I think it&#8217;ll work well once the implementation is complete.</p>
<p>Nevertheless, I&#8217;ll continue experimenting with other ways of presenting that data (something I&#8217;m calling &#8220;hierarchical membership decomposition&#8221;). I might find a successful implementation with a &#8220;hierarchical histogram&#8221;, but for right now, I&#8217;m pretty happy with the concentric-donut.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

