Friday, June 22, 2007

Design Principle 1. Placement

by Ryan Goodman

1. Placement: The underlying theme to placement is a consciousness to arrange individual or groups of components on a page to dictate a visual order of magnitude; not just to fill whitespace. If you have read other design books or articles, they always state that the most important screen real estate is at the top left and center of the page. I use the diagram below to explain a natural path that your eye will follow for any page that your view. Notice how the first two points on the page are the upper left and center, followed by the lower left and right, then up to the top right corner. Knowing this can help you in placing elements that are most important (navigation, top priority information, measures).

Regardless if you looking at print or digital media, your eye will follow this natural path in a split second before you even begin digesting what information is on the page. From there, it is other design practices like contrast that will pull your eyes in the direction the designer intended.

A commonality in dashboard design that I often see is a large logo at the upper left hand corner of the page. Try to fight the urge to do this.. Unless it is a marketing exercise and you want your company name front and center, which in many cases is still not the most important information you want to convey to your users. Your logo will fit best in the lower left corner of the page.

Next week we will talk about Proximity and how you can create visual connections by placing components on the screen to draw visual connections.

Friday, June 1, 2007

2008 Presidential Election Data Visualization Idea

by Ryan Goodman

I know this is a break from my typical content and my series for my 5 dashboard design principles... I will get back to them next week.

Here is an idea I have been playing with. If someone knows of something similar that already exists, let me know. It is one of those ideas that would be extremely useful if deployed by a creditable organization.

Problem
Scenario: Like every other American, you are eagerly awaiting the 2008 presidential election to cast your vote for someone who at a minimum, is articulate enough to communicate to the public without sounding like an idiot. A huge % of the American population feels some, or all of the pain points listed below as they try to ramp with correct information to make an informed decision for their next president:

  1. Some do not know the difference between candidates other than how they are presented in the media (TV, Internet, etc.)
  2. Some know the difference but are inundated with so much skewed or incorrect information from other's personal opinions and interests (TV, Print, Online, other people).
  3. Many feel a missing ability to breakdown of all candidates based on specific issues, with an ability to stand them up side by side.
  4. Most don't have the time or energy to dig and read through all of the information available (even if it is summarized).

So maybe there is something out there already…I have not found it. What we have here, is a wide target audience (American over 18) who all have a common interest, with no existing tool to fill this gap that I have presented. So here is what I propose….

Solution
An online application that enables anyone to identify their best choice for the 2008 election based on their own personal beliefs on specific issues (Economic, Social or Political). The idea is to enable someone to align themselves to a candidate who's stance is similar based on issues using the application to do the heavy lifting. The proposed application would streamline the process for making an informed decisions through a seamless, easy to use interface with unbiased, correct information.

Application Description/User Experience

1. User Input
Upon entering the application, the user would enter some basic information.
-Demographics: Age, Sex, Location, Political Affiliation (basic)
-Additional Information (optional): Job, Income, Family, etc..

2. Issue Identification: Social, Economic, Political, etc
The user would then navigate through a comprehensive list of Social, Economic, and Political issues. The user would then indicate the importance/weight of that issue and their stance. An important aspect of the application is flexibility to identify issues that are relevant, but also provide a means for education on all issues.

3. System Output
Based on the user input, the application will provide realtime feedback by providing a matching list of candidates based on similarities to the user defined issues. There are 2 ways that the system will identify matches which the user can toggle between.
1. Factual: A list of candidates who hold the same opinions or plans for issues the user defines.
2. Subjective: A list of candidates who other people in the same demographic select as their best choice.

Next Steps in User Experience

Once you have your initial input complete, you can do several things

  • Modify your criteria slightly, and see in real time how that effects the recommendations
  • Drill into individual candidates for background information, details on specific issues, plans, history, current news, etc
  • Make a decision to save you top candidates and/or choose your candidate if you would vote today.
  • Navigate to additional analysis in how you compare to the rest of the country:

Additional Analysis: The potential analysis that can be drawn from this system is a dream come true!
  • General demographics vs Specific Issues (importance and stance)
  • Changes over time across all analytics
  • Candidate Poll information

Saturday, May 5, 2007

Dashboards, Widgets, & Rich Internet Applications: Drawing Parallels & Differences

by Ryan Goodman

This week I wanted to focus on Dashboards, Widgets, and everything else that we put into a bucket called Rich Internet Applications.

There is significant overlap in all three with specific distinctions making each unique. Hopefully I can paint a picture that makes it a little easier to understand.

Consistencies Among all 3
  • Generally designed to incorporate an aesthetically pleasing UI.
  • Some or most data originates from a server side process or web service.
  • Enables some level of configuration or customization
  • Implies some type of security model
  • Provides a user interface paradigm that is intuitive and simple to navigate
  • Besides on the desktop outside of an internet browser which enables a user experience that requires no screen refresh.
  • Incorporates Web 2.0 technologies like AJAX or Flash.

Differences

Dashboards:

  • Primarily focused on presenting quantitative measures, metrics, and analytics.
  • Used to visualize the most recent information available.
  • Provide enough information to drive action.
  • Is usually embedded or integrated into another application or portal.

Widgets

  • Designed to present one or few elements on the screen at one time using minimal screen real estate
  • Presents the most important or frequently monitored information or drive common tasks.
  • Usually embedded or wrapped around a client side framework.

RIA

  • Built to for use as a standalone client application.
  • Leverages operating system specific functions in addition to server side communication and data access.

Monday, April 23, 2007

What is a Dashboard?

by Ryan Goodman

What is a Dashboard? A Simple Definition
A dashboard in simple terms is a summarized visual representation of critical information required to make business decisions. This visual representation is typically presented on a computer screen as collection of charts, tables and other visuals that display trends, statistics, and measures.

We will compare a business dashboard to the dashboard in your car. The gauges in your vehicle show you a real time performance: How fast your going, how much gas you have left, the oil temperature, etc. The collective gauge cluster in your vehicle allows you to quickly asses how your car is performing while you drive. In essence, a business dashboard should serve the same general purpose: presenting the most current performance measures available for your to drive your business.

Why is a Dashboard Valuable?
A dashboard is valuable to any person within an organization who requires summarized information to make business decisions. This value is derived from time savings on multiple fronts:
- The time savings to gather, aggregate, and present all necessary information.
- The time savings for the business person to consume, digest, and make decisions.
There are also several benefits to dashboard solutions offered by software vendors, but they hinge on other aspects related to IT, which we will not dive into for this article.

So in Summary...
- Dashboards server to present a holistic view of one or multiple facets of your business: primarily related to performance.
- Dashboards should enable a business person to quickly assimilate to the information presented to make informed decisions quickly
- Dashboards streamline the process for gathering and manually aggregating data into a coherent presentation.

Monday, April 16, 2007

Xcelsius Salesforce.com Widgets in Business 2.0 Magazine

by Ryan Goodman

Before boarding a plane to head over to Europe, I purchased my usual Business 2.0 magazine (April 2007) and found an interesting article on widgets. This article reported recent advancements in desktop widgets in the enterprise space. To my delight, they had a great image of an Xcelsius generated revenue tracker widget designed for Salesforce.com. I sat back and asked myself one question... At what point will this desktop widget craze materialize into something valuable or just roll up into the next big thing: Rich Internet Applications on the desktop?

Desktop widgets were the first iteration of what Adobe and other industry players have coined rich internet applications. It was the combination of Yahoo widgets and Apple desktop that propelled this cool technology into a desktop widget craze, as seen in Business 2.0, Wall Street Journal, and other publications. The draw for end users is the demand for a streamlined, customized, and aesthetically pleasing mini application that exists outside of the browser. There were three descriptors missing in the previous sentence that in many cases still restrict widgets from really catching fire.
  1. A strong security model- While existing frameworks are wonderful in displaying and rendering content, they are not designed to address security to satisfy enterprise requirements.
  2. Customizable content- While the technology is cool, without an ability to view customized content, widgets will always be perceived as desktop “toys.”
  3. A solid monetization strategy- It seems the path of least resistance is to make widgets free, and concentrate on using widgets as a value-add for existing software platforms, and applications.

The article in Business 2.0 indicates that enteprise software vendors are taking a stab at desktop widgets.

Monday, April 9, 2007

Calendar Date Formatting in Xcelsius

by Ryan Goodman

If you are working with dates within a connected Xcelsius dashboard, you can run into potential issues related to formatting. In most cases, you will require a specific format when you want to pass a date as a parameter to a web service.

Using the calendar component, you can insert and visualize a user defined date. Though you can set the cell format to modify the display of that date, Excel actually stores it using the 1900 date system. This simply means that the date Jan 1, 1900 has a true numeric value of 1, and Jan 1, 2007 has the true numeric value of 39083. The problem at hand is if you bind a web service connector component to a cell that is formatted, it will still use the true numeric value and not the formatted value that you see during runtime. Here is how you can remedy this:


Download the Source Files

  1. Bind a calendar component to an insert in cell
  2. Use the day, month, and year formulas to extract the individual values into their respective cells
  3. Use the concatenate to sting together the day, month, and year in your desired format.

Wednesday, March 28, 2007

Xcelsius Dynamic Lookup Logic: Selecting a range

by Ryan Goodman

Here is a scenario that many people have…. You have a connected model and the web service returns tabular data, but Xcelsius does not have the ability to lookup multiple rows of data with their selectors. Unfortunately, with Xcelsius 4.5 you have to rely on some Excel skills to assemble a layer of logic that will scale. The good news is I have put together a lightweight solution with the available supported Excel functions for Xcelsius. The bad news is that is painful to explain…

I did my best to point out the key components to make this model work. Your best bet is to download the Excel file and beat it up and look at the comments within the bold titles. I didn't feel that it was extremely important to build an Xcelsius model for this one, but if it would help, shoot me an email and I can put something up.
Click here to download the Excel source file