Webtrends, Teradata, Trending, and The Next Big Bangs

A recent article The Next Big Bang by our Webtrends CEO, Alex Yoder, was published recently online via Teradata.  It got me thinking toward the technical aspects of what is within our reach in the analytics industry.  The industry as a whole has moved past the mere counting of visits & their respective users as numbers and moved to making the numbers actually represent the people.  That can be a weird statement, but I will clarify a bit more.

Years ago, one would setup a server and start tracking hits on a website.  Often these would be called views or page views.  What did that mean though?  Effectively it meant zero, zilch, nothing of any value.  You know only that a machine, or machines, made X number of views against a website.  One didn't know what kind of browser, device, PC, Apple, screen size, or if the views were even unique to a machine or possibly unique to a user.

Then everything changed, and this is still the past I am speaking about.  We finally started enabling detection of devices, browsers, screens, viewable, and types of visits.  This elaboration of data drastically altered what we could build for a website.  It made good design more measurable by audience participation.

A short time afterwards the industry was able to move forward and get into doing some further pre-analysis of this data.  This enabled more actionable and intelligent decisions being made from web analytics data.  The analytics data started creeping into the realms of business intelligence, general reporting, and actual information.

The next huge leap, which is close to where we are now, is the opening up of these sources of analytics data and bridging the final gaps in the Web, Enterprise, and E-commerce Architectures.  The complete full cycle evolution has occurred from IT, to Engineering, to Marketing and over to Sales.  A company can now integrate their data from analytics with their data from point of sale systems and derive true, daily, value from the decisions that can be made from these sources.

The Future Arrives

Now we are at a point, with the level of services and opening of data, that almost any valuable data point can be tracked and trended with high accuracy.  Gone are the needs for traditional media that leaves one with massive gaps in segmentation and individual directed content.  Today we have vastly greater capabilities.

We can analyze and provide data that helps companies at so many levels, such as tracking game play to pinpoint the fun parts versus the boring parts of a game.  We can derive the dead spaces in a web site, or better yet the hard to navigate areas of an actual brick and mortar storefront.  Even more analytics can provide and correlate tracking against the usage of a car or transit system, an airline boarding flow, and draw causable correlation between the very first steps a consumer takes the the purchase and beyond.  All because the data is open and cross-correlative.

This leads me to my next question.  What architectures have you found valuable?  What combination of data cross-correlated with analytics data have given you actionable measures?  What other devices, sites, and mechanisms provide a value to track, trend, and analyze?  I would love to hear what users have found useful in their own environments, so please leave a comment or three.  : )

New Orleans + Webtrends + Me = Technology Rock Show

Excited!

That is me right now.  I am stoked about the upcoming Engage 2010 for a few reasons.

  1. The main reason is because the analytics industry & this field of technology is really interesting to me.  I dig crunching the numbers, working with our clients, and getting the results and analysis into useful, actionable numbers.  Being able to see & know our clients are able to act on those numbers is awesome.  Attending a conference like this provides an opportunity to talk with clients regarding their use of the technology.
  2. Ideas grow at a rapid rate when this many smart people, with a common interest & goal are in one place.  Just talking with conference goers, thought leaders in the industry, and being able to talk on a one to one basis gives me, them, and everyone involved new ideas.  One never knows what may come out of a conference like this.  Whatever does, it is always exciting to think of the opportunities.
  3. Ignite New Orleans.  If you have ever been to a Portland Ignite, these are really cool events.  Local, human, entertaining, and personal all come to mind to describe how these Ignite Events are.  To have one in New Orleans – or Nawlins' – will be a blast!  đꙂ
  4. I will be there speaking & working a workshop.  This will be the first time I have ever presented or done anything like this in New Orleans.  That adds all the more excitement to it.  I hope to see some familiar faces and many new ones.
  5. I grew up just down the ole' Interstate, so New Orleans or as we often say Nawlins, is kind of a second home to me.  I enjoyed so much driving into this city from the east, over Lake Pontchartrain's Twin Span 5+ mile bridge or the 23+ mile Lake Pontchartrain's Causeway.  Better yet I really enjoyed rolling into the city on the Amtrak Crescent via the Norfolk Southern Lake Pontchartrain Bridge (See the awesome map).

This is shaping up to be a truly awesome event.  If you are going and would like to meetup, discuss some analytics, or just enjoy some music on Bourbon, St Charles, or Decatur just hit me up on Twitter @webtrendsadron.

Microsoft Beta, SP1s, and Empiricism

Ok, so over the last 30 years or so, Microsoft has made a lot of software.  Probably more software than any single entity on the face of the earth.  The first two decades of software was rough when released in beta.  If it was even released in beta, or alpha, or as service packs.  Most IT people, software developers, or anyone using software would almost always steer clear of beta, alpha, or service updates of software.

Why?

That is the easy thing to answer.  Most of the time, the software would not even work.  At least not in any semblance of the way it was supposed to.

Fast Forward to Today. . .

Software works.  Rarely does one download software that is in beta and it doesn't work.  At least on a fundamental, core functional basis.  This is very much apparent at Microsoft.  The competition lit a fire and Microsoft has answered with more frequent releases, more service packs and updates to keep things secure and up to date, more quality packed into every release.  Why did they make this massive transition?

Agility.

Yup, I said it, the firestorm that has been the Agile movement has caused a major upheaval at Microsoft.  Out went the Waterfalls and in came the Maneuvers of Agile.  In all honesty, if someone is still arguing the tenants of this success, they?re lost in a bygone era of questioning agile processes.  Of course, I will admit, many of the processes are up for debate in various ways.  But the core culture of software development has been dragged kicking and screaming.

Gone are the grognards sitting in the corner being anti-social, hacking away on some code that nobody else will ever be able to maintain.  Gone are those days when a development team works in a vacuum, and fails.  Instead we have faster teams, more customer involvement, iterations or sprints, and in the end higher quality software.

The reason I bring this up really has one simple intention.  Stop freaking out over beta software.  Implement things with it.  Use it.  Love the stuff.  I am regularly using beta software, with all sorts of new goodies, and releasing these projects into production environments.  You might say, "really?  that is so dangerous", but I have not had a single failure, crash, or error related to a beta issue in production for at least 5 years.  Back when Agile was really just starting to gain steam to run the course.  So use new software, stay on the bleeding edge, and help everyone by helping yourself keep up to date!

Charts ala visiFire

As mentioned in my last blog entry, I have been on the hunt for some good charting displays.  I found visifire and here is the quick setup & display of some initial reports.  I used some sample data via trusty Webtrends Analytics 9 API, since we have a bit of example data about the office. ; )

Before even getting started, I am using Visual Studio 2010 beta2.  If you don’t have access to this then your screen shots will appear a good bit different then mine, or simply you will not have the same screens I do at all.

First I downloaded the files needed.  The zip with the assemblies has the following files.

  • GPL v3.txt and License.txt are text files about the respective licensing of the charting assemblies.
  • Bin – This folder has the actual assemblies for Silverlight and WPF.
  • Samples – This folder has, simply, samples in it.

Within the Bin folder there are four files.

I’m not really keen on their naming conventions, as the naming seems to be here or there, but it is easily understood.  I would rather just see something along the lines of Visifire.Charts.Sl.dll and Visifire.Charts.Wpf for instance.  But hey, one should not complain, these controls are awesome.

Next I added the assembly to another folder within the project I intend to use the charts in.  In this particular case, the project is a WPF Project, so I am just adding the WPF assembly.

Once you add the assembly make a reference to that assembly the way you would normally make the reference.

Now that we have the appropriate assemblies referenced we?ll throw some basic reports into a WPF User Control.  The next part of this process is were things get a little interesting.  Our next step is to go back out to the visifire site and use the report designer.  When you navigate to the report designer you will see this view.

Over on the left hand side of the designer there are various properties for the reports;  Chart, Data, Title, PlotArea, Legend, TendLine, AxisY, AxisX, AxisLables, ChartGrid, Tick, and Events.  Just below those menu items there is a radio button to select Silverlight or WPF.  Click on the WPF radio button.

I enabled a few others options.  For a complete duplication of the changes I made, check out the XAML snippet below.  I made some changes after the initial designer work was done.  My best practice is to set the basic report, a few data points, and then start working with it in Design Time & XAML view in VS 2010.  Otherwise the designer may redraw something and you want have an undo option.

 <vc:Chart xmlns:vc="clr-namespace:Visifire.Charts;assembly=WPFVisifire.Charts" 
                  Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2"
                  Height="300" BorderThickness="0" Theme="Theme3" View3D="True" AnimationEnabled="True" ColorSet="VisiBlue" LightingEnabled="True"   >
            <vc:Chart.Titles>
                <vc:Title Text="Visit Trending" FontSize="16" FontStretch="SemiCondensed" FontWeight="Bold" TextAlignment="Center" />
            </vc:Chart.Titles>
            <vc:Chart.AxesY>
                <vc:Axis Title="Total Visits" AxisType="Primary" />
            </vc:Chart.AxesY>
            <vc:Chart.Series>
                <vc:DataSeries RenderAs="Column" AxisYType="Primary" >
                    <vc:DataSeries.DataPoints>
                        <vc:DataPoint AxisXLabel="1/1/08" YValue="351139" />
                        <vc:DataPoint AxisXLabel="2/1/08" YValue="345254" />
                        <vc:DataPoint AxisXLabel="3/1/08" YValue="318845" />
                        <vc:DataPoint AxisXLabel="4/1/08" YValue="274316" />
                        <vc:DataPoint AxisXLabel="5/1/08" YValue="277349" />
                        <vc:DataPoint AxisXLabel="6/1/08" YValue="351139" />
                        <vc:DataPoint AxisXLabel="7/1/08" YValue="345254" />
                        <vc:DataPoint AxisXLabel="9/1/08" YValue="318845" />
                        <vc:DataPoint AxisXLabel="10/1/08" YValue="274316" />
                        <vc:DataPoint AxisXLabel="11/1/08" YValue="297349" />
                        <vc:DataPoint AxisXLabel="12/1/08" YValue="237349" />
                        <vc:DataPoint AxisXLabel="1/1/08" YValue="353139" />
                        <vc:DataPoint AxisXLabel="2/1/08" YValue="385989" />
 
                        <vc:DataPoint AxisXLabel="3/1/08" YValue="435989" />
                    </vc:DataSeries.DataPoints>
                </vc:DataSeries>
            </vc:Chart.Series>
        </vc:Chart>

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

You will notice I also added a bit of sample data.  In my actual XAML form things are setup as shown below.

<Window x:Class="ClientApp.PrototypeReportView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="PrototypeReportView" Height="500" Width="500">
    <Grid Background="Black">
        <Grid.ColumnDefinitions>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
    </Grid>
</Window>

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Under the </Grid> and above the </Window> tags I added the chart XAML above.  Now simply run the application and view the chart.  Mine shows up as shown below.

The data I plugged in is some sample data from the Webtrends DX Web Services.  In the near future I am intending to hustle up some connections to actual Webtrends DX Web Services, so I can show how to wire up to some live, changing, or even real time data.

Shout it

kick it on DotNetKicks.com

Charts For WPF and Silverlight

I have been digging around on the web lately to see what I can find that provides a solid, seamless charting ability to WPF and Silverlight.  There are a ton of choices out there.  After spending a good couple hours last night and some time today I have decided that I am going to go with Visifire.  These charts are pretty solid and ridiculously easy to implement.  Check out this video for some of the samples they have.

Visifire 2.x Gallery from visifire team on Vimeo.

I hope to have some write up how to entries in the near future.  I have just completed a few work related projects and I know there are some good samples in all that which are publishable.  : )