Monday, April 16, 2012

The iPad and QlikView - A Dynamic Duo



(Warning – This will be light on the technical stuff and heavy on subjectivity for a change.  I will follow up soon with some more technical information on this topic)

There are many famous duos in American popular culture. 

Simon and Garfunkle
Axl and Slash
Batman and Robin

Like all great teams, their value is greater than the sum of their parts.  Great teams are almost inseparable (although Paul Simon had a great solo career).  Great teams complement each other.
So for the consideration of the Academy, I would like to nominate a new great duo:

The iPad and QlikView

After recently picking up the newest iPad, I was pleasantly surprised by the experience.  And I was surprised for a few reasons.  First, QlikView is beautiful on the iPad.  Secondly, it works well.  And lastly, it is FUN.

Of course, every great team has its share of problems.  Axl and Slash hate each other today.  But I will save the minor issues relating the iPad and QlikView for another post.  But I will save any of the minor issues and design workarounds relating to QlikView and the iPad  for another, more in-depth, post.

The Beauty of Mobile Data

I never liked the AJAX experience until recently.  I am so used to the full desktop client that it is hard to swallow all the flaws that become obvious in the AJAX rendering.  With the release of QlikView 11, this has become less of an issue lately. 

But I think the essence of why it translates so well into the iPad is the smaller form factor.  The screen is big enough to provide ample real estate, while small enough to some flaws in pixel-perfect placement.
And the new retina-display allows for a very sharp image.  They “sparkle” off the tablet.  The greater resolution also allows for a perfect rendering when zooming.

Elegance in Performance

It is likely cliché at this point to talk about how the iPad “just works”.  QlikView R&D must have been taking notes, because when you open a document on the iPad, it just works.  Having an interface you can touch is a natural fit for a product like QlikView.  QlikView has taken advantage of many of the inherent gestures and other methods for getting around on iOS.  The interface is intuitive and fast. 

Snapping to fit works very well, generally adjusting the resolution to the smaller of the length or width in relation to the aspect ratio.  Zoom is equally easy and intuitive.  Traditional desktop users will miss the right click and lack of hover, but good design will make up for these issues.

Having Fun with QlikView Again

It is likely a combination of the mobility of the hardware and the excellence in execution from both parties.  I am having fun using QlikView again.

I have found myself spending hours on the couch at night, analyzing my data on the iPad.  Tapping through selections and seeing the changes on various tabs of my documents is actually fun again.  It reminds of when I first started using QlikView.  And the fact is, I can do this analysis on the couch in front of the TV (although the TV is mad because I am ignoring it).  The iPad has reinvigorated my excitement for data analysis and application design.

The Future of this Great Team

The wave is coming.  Organizations are starting to see the value of this new hardware and QlikView has smartly put itself in a perfect position to reap some of those rewards.

I often see commercials for iPads and other tablets where they gush about how useful the tablet is for business.  Invariably there are screenshots of some charts and graphs on the display.  QlikView fits the bill perfectly.  It is the quintessential mobile BI app.  With this new mobility we can discuss scorecards with vendors, industry statistics with clients, and widget production data on the factory floor.  It is definitely coming to a user, client, company, enterprise near you. 

Thursday, April 5, 2012

Visualize This - The Missing Bridge Between Good and Great Design



Here is a video produced by QlikView that makes me want to redo every QlikView document I have ever created.  But are these slick visualizations within a typical designer's reach?  Does QlikView make this type of functionality easy?

Great Design
The visualizations used in the various examples are pretty and effective and reinforce the idea that GOOD design is time intensive and requires a different set of skills than the backend development piece. 

People tend to spend a lot of time on the data because it is perceived to be more difficult AND it is either right, or wrong.  There is no subjectivity.

But the quality of User Interface design rests on a continuum from bad to good.  You can put in some minimal effort and get a document that functions.  But great design as exemplified in this video takes planning, a thorough understanding of design principles and technical skill.  And, I believe it is currently a scale of diminishing return.  To go from bad design to mediocre design is relatively easy.  Going from mediocre to good is a larger effort and moving toward great design requires quite a bit more (read $$$).

Can I Create These Visualizations?
The gripe I have is I wish QV actually came with easy ways to create some of these:

Many of the graphics effects you see there require photoshop or similar software, along with that skill set.  Unless you are able to "borrow" graphics from the internet that meet your exact need.  The gradient dividers and arrow shaped text boxes for example must be created or found outside of QlikView.  QlikView could use a "shapes" library to do arrow shaped text boxes and that sort of thing.  As an example, the arrow shown (4:35) does not exist in QlikView.  It must be created or obtained elsewhere and used as an image in a text box.  There should be a way to do these types of simple representations without additional software.

QlikView could use a "legend" object that could link to various objects and could have customizable display options.  Legends are extremely limited today in QlikView.  The ability to customize the graphic column of the legend or to spread the legend horizontally simply do not exist, not to mention the ability to move the legend completely off the chart to another area of the page.

Also, the last piece regarding the dimming or highlighting of objects based on selections (6:08) is tricky and requires many similar or repeated calculations at different levels within an object.  Some of this can be mitigated with variable expressions, but it would be nice if settings existed to do this kind of stuff automatically. 

So the bottom line is "Yes" I can create this quality of design.  But are clients willing to spend the extra dollars required to get design to this level?  I would generally say "No".  Maybe if QlikView can create some of the design tool improvements listed above my answer to that question could more often be "Yes"!

Thursday, March 29, 2012

My Sentiments on Sentiment Analysis



My Sentiments on Sentiment Analysis

I have recently started working with sentiment analysis.  This is a new and interesting field in business intelligence and big data.  Sentiment providers promise to be able to quantify how users “feel” about your organization through the interpretation of comments, tweets or other content provided to you. 

There are a few limitations of this type of automated analysis.  Firstly, a computer algorithm has difficulty with figurative speech, sarcasm and the “lingo” of the day.  Surely, a computer will believe “sick” is negative, but what will it think of “that snowboard is sick, dude”? 

Secondly, the brevity of many of the social media forums leads to less accuracy in scores.  A computer can glean hundreds of adjectives and verbs and rate them in an essay, but when you are limited to a Tweet of 140 characters, there is not much for the computer to score.

Companies like Repustate give you tools to monitor your online sentiment from your Twitter or Facebook feed for example.  They also will allow you to access their scores through an API so that you can bring sentiment analysis into your own application.

So I did this with QlikView using the power of QVSource and Repustate.com who provides 50,000 free calls a month.  I will not get into the details of how to do this because it is actually pretty easy.  Instead I want to examine how accurate or “usable” the resulting information looks to be.

Repustate will take the text string you provide and answer back with a number.  A zero or close to zero number equates to a neutral sentiment.  A positive number obviously indicates a happy or encouraging sentiment and a negative number would be negative emotion.  Obviously, words like “amazing” and “encouraging” should trigger positive scores and phrases like “pissed off” or “horrible service” should warrant a negative score. 

So let’s first look at string length. 
1:     Horrible Service
Score = 0
2:     I received horrible service from a company that shall remain nameless.
Score = -1

If you just say “horrible service”, Repustate gives this a neutral score of zero.  But if you lengthen the string to “I received horrible service from a company that shall remain nameless”, the score comes back as -1.  So even when reducing to the presumably negative words, string length is a huge factor.


Let’s look at some other anecdotal examples.  Consider the following two tweets.  Which one is positive and which is negative?
1:     @_____ I agree that the #personalcloud will replace the PC but I am wondering how comfortable people will be with this concept. Security?
2:     @_____ I could not agree more! I am far from technical yet #QlikView allows me to create my own dashboards. #empowers


Oddly, example one received a positive 3.00, on the upper end of our sample while the second example received a negative 3.00, on the lower end of our sample.  This seems a little contrary to my judgement.  I would say the first example is slightly negative and the second is quite positive.

Consider this third example:
#BioPharma Companies make faster and smarter decisions using #BI http://conta.cc/hPG0dm

You would think this would result in a positive sentiment due to the phrase “faster and smarter” but it actually resulted in a neutral score of zero.

Tweets are limited to 140 characters and probably lots of these characters are likely rendered useless with the the hashtags, usernames and urls.  So let’s take a look at some longer strings and see if we can get some more accurate values.  Both quotes are by Thomas Jefferson.
1:     We hold these truths to be self-evident: that all men are created equal; that they are endowed by their Creator with certain unalienable rights; that among these are life, liberty, and the pursuit of happiness.
Score     =             1.00
2:     Enlighten the people generally, and tyranny and oppressions of body and mind will vanish like evil spirits at the dawn of day. 
Score     =             -1.00

So the first score makes sense, but I think a human would interpret the second example to be positive in sentiment. 

Let’s look at a slightly longer quote about happiness from Sharon Salzberg:
As I go through all kinds of feelings and experiences in my journey through life -- delight, surprise, chagrin, dismay -- I hold this question as a guiding light: "What do I really need right now to be happy?" What I come to over and over again is that only qualities as vast and deep as love, connection and kindness will really make me happy in any sort of enduring way.
Score = -.103


So the computer rates a quote exactly about happiness with a slightly negative score.  I am not sure I understand the logic there.

Try this made up text string:
This was supposed to be an amazing and beneficial seminar but I should have known better.
Score = 1.00


You can trick the algorithm fairly easily.

These examples were picked because they illustrate some issues with automatic sentiment analysis.  The seemingly odd scoring might not be indicative of the accuracy in a larger set.

But in general, I think we need to be cautious on how much value we attach to sentiment analysis.  The good news is, the algorithms will definitely improve over the next few years as more organizations begin to look at this accumulation of social media content that we can clearly call big data.  How do we analyze this data and create an understanding that will help us make decisions?  We are starting this conversation now and I am sure it will only grow in importance over the next few years.