First - if we look at consumer-centric data applications (Zillow, Google Finance, etc.) and compare their interfaces to more traditional enterprise BI applications, it's amazing to see how the latter just doesn't even attempt to look good.
Why is that?
Because enterprise BI app developers aren't under the same pressure to seduce their users like consumer data apps. Zillow, Google Finance, et al live and die by the community they create, so for them, user experience in paramount, and it shows. Most BI apps, on the other hand, are almost developed under the assumption that users are under a “thou shalt always use this BI software” executive order, and as such don't have much leverage in rejecting a software based on poor or sub-optimal user experience.
So they begrudgingly use the BI software for its least interesting/effective use - churn out one report after another. The BI app basically becomes a report production factory.
That brings me to my second point - for BI to be more than charts/graphs/dashboards, it needs to be part of the user's workflow. Now the term "workflow" means a lot of different thing to differnt people, and has recently become a popular box in BI markitechture diagrams - but to me, it basically means that BI app needs to know the various contexts under which its users are using it, and provide a way to add intelligence/insight to the process. BI app by itself should almost be invisible.
Zillow users think of themselves as a home buyers/sellers, not a real estate data analysts. Typical Google Finance users are checking out their portfolio and evaluating stocks, but don't think of themselves as financial analysts. So, why in the world BI applications are hell bent to think of their users are data analyst first, rather than understanding the specific tasks they are trying to accomplish more intelligently?
That's where workflow comes in. BI app needs to understand the nuances of the business domains their users are in, make intelligence available in their task workflow where it's needed, and provide a clear way to act upon that intelligence. Too often we think of BI as a separate app where a user will do analysis, and then the users will jump to other apps where they can take actions -- that's now how users see the world. And without understanding the users, BI apps can't really provide intelligence.
It's time to turn this model around. BI apps should think more like mashups --pull data from any "public" repository with REST like API's, make anlayses available to share and tweak, and make the resulting insights be integrateable to other apps. The more lines get blurred between BI apps and the rest, more successful its adoption is going to be.