In the last two postings of this blog, we looked at visualizing data using traditional business charts and graphs, and at the complications presented by data that have no obvious visualizations associated with it.
,Today, we will look a little more deeply at this issue of representing data that does not lend itself to simple Excel-like 2D business visual representations or to obvious 3D video game-like representations.
Using 3D graphics and animation to visualize data.
So, how could complex and abstract information be represented visually? How about using 3D graphics and animation?
I teach animation at my university and have put together an educational site ( wordsbybuzz.com ). As part of my research (along with my collaborator Richard Hackathorn who introduced me to the research area), I have been looking at ways to use 3D models and animations to visualize data. After all, there must be a way to leverage all of the 3D assets that are out there and target them toward the growing problem of how to comprehend the vast amounts of data that can be mined from the Web.
Let’s consider it. Our basic research approach focuses on visual metaphors that can be used to construct “stories” what will move someone through a world of complex, abstract data. Airplanes and cars can be used to represent the movement of information between applications or sources. Particle effects can be used to represent the disaggregation of data. 3D models can stand for various data types, and the movement of these characters the specific transformations of data. Other models could represent major application domains, like warehousing and distribution, manufacturing, financial, retail, and web retail data.
The core challenge.
But what’s the underlying challenge? There are indeed massive 3D graphics and animation assets that can be scoured from the Web, and it’s not hard to imagine ways in which they could be put together to visualize various sorts of information and the way it is manipulated and processed.
The issue is one that, for decades, has killed one visualization technique after another. Users are generally not comfortable with having to memorize large numbers of icons. If they are only suggestive, and do not literally resemble the concepts they represent, we have trouble remembering them, and the fancy visualization becomes more trouble than it is worth.
So that’s the dilemma. We have no problem determining the meaning of a bar chart or a graph that tells us how many cartons of milk we sold last Tuesday in Denver. At the other end of the data complexity spectrum, we have no problem with maneuvering through a 3D world (such as those that can be found on secondlife.com) as we examine the operations of a hardware store, but the stuff in the middle – where we need powerful visual constructs, but they represent things like securities and investment data, along with the way it is processed in the various electronic markets of the world – that’s where the real challenge lies.
So, what makes data difficult to visualize? In other words, if our goal is to provide an interactive, highly visual way of searching, using, and updating data, what are the big challenges?
The last blog posting.
In the last posting of this blog, we looked at visualizing data as charts and graphs.
We noted that even when all we want to do is visualize data as relational tables, this can be a huge challenge if the tables have a large number of tuples. If scrolling through tables is intractable, we might want to use a query language to focus our search. But we also noted that writing SQL queries in a visual notation is difficult if the queries themselves are anything but very simple.
And, we noted that 3D graphics and animation is being used to search data that has a natural 3D-plus-time nature to it, such as maneuvering through a factory assembly line.
In this posting, let’s consider two other challenges facing developers of data visualization technology.
When the data is naturally visual, but when the average size of a data item is huge.
Searching a video or audio database can be extremely time-consuming. The problem is that what we really want to do is search data by its true, innate meaning. And what is the meaning of a piece of video? Well, in the worst case, you have to watch all of it and then decide on your own just what it means. We can’t watch an arbitrary number of long video segments.
There are ways to attack this problem, and they take the form of various tagging mechanisms.
In essence, we build a parallel database that contains descriptive data about the video (or audio) database. We then use a query language to search this parallel database, and when we find a set of tags that seem to identify what we want, we then go ahead and download the video or audio pieces that is associated with these tags and examine them. A very popular (and very sophisticated) facility for tagging media is called MPEG-7.
It’s also true that image processing techniques can be used to process video data directly, without a human having to view it interactively. Often both tagging and image processing are used.
So, we might search for pieces of video that are 1) in color, 2) shot between 1960 and 1963, and 3) contain images of President Kennedy. That last one, item 3, might be determined either by looking at tags or by using image processing.
When the data is abstract in nature and there is no obvious visualization.
Interestingly, it is something at the other end of the visualization spectrum that can prove even more challenging. What about data that isn’t innately visual, like financial data? This is particularly problematic when the data has many dimensions.
I teach database systems at the university level, and it is interesting to note that when textbooks cover data warehousing, which is a way of aggregating and searching data, the fictional applications used in the textbook diagrams have three dimensions. So, we might build a warehouse of financial data and lay it out in chunks that can be searched by Product_Number, Sales_Region, and Date. This example can be laid out very nicely in a diagram, where these three data dimensions form cube, and searches correspond to isolating useful sub-cubes.
But suppose our data has to also be searchable by Customer_ID, Shipment_Cost, and Warrenty_ID? Now, it’s kind of hard to draw a simple, elegant diagram. This gives us some insight as to why it is difficult to visualize complex data. Real world data can have dozens or hundreds of dimensions.
The larger question.
In my class the other day, we were discussing data visualization. A student asked a very good question: Is it even reasonable to be trying to do this? Is it a good idea to visualize multi-dimensional, abstract data? Are we trying to fly over the Atlantic on a motorcycle?
We don’t actually know the answer to this yet. There are things we could be trying to use, like particle dynamics and visual metaphors.
More, next time…
There are many research and development areas in computing that come and go in cycles. At the top of a cycle, an old challenge is attacked with new supporting technology and new minds – and a significant advance is made. At the low end of a cycle, only very incremental advances are made and it seems that there might never again be any significant advances.
Data visualization is one of those perenially-challenging areas.
Researchers and developers revisit this domain periodically, and occasionally, significant advances are made. As is the case with many long-standing technical challenges, a handful of problems tend to remain largely unanswered.
What is data visualization and what are the long standing problems?
Creating a pie chart or bar graph is a form of data visualization.
In general, aggregation visualizations of common business data are one of the most powerful and well developed data visualization techniques. Lots of applications will create charts, tables, and graphs with a few simple commands.
But what about visualizing non-numeric data or data with many dimensions? It’s hard to use a graph for anything more than data with three dimensions (usually named x, y, and z).
Laying out relational tables visually is a form of data visualization.
Viewing diagrams of relational tables is a form of data visualization – but only if it provides visualization of the data in tables and not simply the structure of the tables themselves.
By laying out the attributes (like Customer Address and Name), the domains of attributes (like character strings and integers), Keys (like Customer Number), and other properties of database tables, a database user can quickly master the structure of a database.
But viewing relational data itself remains a big challenge.
Scale has a lot to do with this problem. There are often far, far more rows in tables than can be effectively searched visually.
Searching blob data (such as images) and continuous data (such as video) is a big challenge.
Relational tables often have attribute values that are difficult to search visually because of their huge size and their tendency to have content that is difficult to quantify. This includes data in the form of images, video, and audio. In general, searching media bases visually remains a key, major challenge.
Current technology relies heavily on using tags as surrogates for the actual data itself. We search for videos in .mov format, that are less than two minutes long, show images of the inside of Winchester Cathedral, and can be used without paying royalties – but we do all this without actually viewing the video until we have narrowed our search space down to a handful of videos.
Graphical languages for writing SQL queries remains a huge challenge.
Even when data is made up entirely of traditional business data like characters and integers, graphical querying remains a huge problem. Again, this is because of scale. How do you write queries that manipulate several tables and contain complex expressions?
Query by Example, which is very, very old, still stands out as one of the biggest advances in this area.
Viewing 3D data based on real world environments is a significant, more recent development.
There has been an explosion in 3D graphical and animation applications. It is now quite tractable to create realistic “immersive” environments for viewing such things as factories, warehouses, and business processes.
Importantly, this process has been made tractable with modern modeling and animation applications. In particular, there are simple modeling applications (like Google SketchUp) and lots of canned content (such as the models that can be downloaded and used with Google SketchUp).
There are a lot of canned movement tools, as well, things that can be used to walk a character through an environment or move a product down an assembly line. These are far less developed, but iClone is worthy of consideration. (See reallusion.com.)
We can be a lot more than simply passive with our 3D worlds, too. Tools for driving these applications graphically have been developed. This relies on real-time rendering in response to user input and borrows heavily from gaming technology and simulated worlds (such as those found in secondlife.com).
But what happens when the data is abstract and/or has many dimensions, and therefore does not lend itself to obvious, natural visualizations?
More next time…
I’m a professor in a computer science department in an engineering school in a major state university. There has been a quiet, but dramatic change in the way a lot of computer science, engineering, business, and science departments are funded. It’s in response to the increasing difficulty of financing large universities with taxpayer funds.
The problem is:
How do you compensate for a projected long term decrease in state funding? What do you do when tuition has already been raised to frightening levels?
The solution is:
Tell professors that their primary job is to bring in research dollars. If you can’t get the state to pay, let the federal government do it via NSF (the National Science Foundation), the DOE (the Department of Energy), DARPA (the Defense Advanced Research Project Agency, the folks who funded the development of the Internet), and a handful of other federal agencies. Look to large corporations, too, for research funding. And take advantage of any proprietary technology that might result from university research by spinning off start up companies.
Basically, the idea is to keep professors busy writing research proposals, and let the money flow in.
Of course, the result is that professors teach even less than they have in the past, and in fact, it’s professors who don’t bring in enough money who are assigned increased teaching duties. I won’t go so far as to say that teaching is a punishment. There is an acknowledged need to teach the children of taxpayers and it makes sense to have some professors focus on teaching in order to free up other professors to write proposals. But the preference is to hire, tenure, and promote faculty who bring in lots of research dollars – not the professors who end up being full time teachers.
If you want to teach in a university and have it be your primary occupation, your employer would prefer to hire you as an “instructor”, someone who earns a hell of a lot less than professors.
Where do those research dollars go?
It’s important to note that the federal government is not interested in supporting the teaching mission of state universities. Federal research dollars must support specific research projects. The money pays for Ph.D. students to perform research, for faculty members to travel to conferences to disseminate research results and buy equipment, and to have those Ph.D. students help churn out research papers to be published in academic journals.
Research dollars in effect re-commission large universities as research institutions instead of educational institutions.
It is true, however, that universities charge 50 percent or more overhead to the federal government. If a professor is given a dollar to perform research, the federal government gives the university another fifty percent to manage the overall effort and provide basic infrastructure, like offices and lights and electricity.
There is an upside to this.
This retargeting the mission of universities is not all bad, not by any means. Research is important. University researchers make a lot of advancements that improve medical technology and our electronic infrastructure. Research leads directly to the development of new products and services, and in doing so, greatly aids our economy.
(By the way, many private universities find themselves in the same situation, pressuring faculty to focus on research and not teaching, in order to stay afloat.)
It’s also true that a university which has an excellent research reputation boosts its reputation, drawing in more qualified students and bringing out of state students (who often pay dramatically higher tuition) into the state to be taught by those famous researchers. (But undergraduate students won’t see all that much of these professors, as their teaching duties have been sharply reduced as a reward for bringing in research dollars.)
There is a downside to this:
The impact on teaching is very broad-based, beyond the removal of high-profit professors from the classroom. It’s becoming harder and harder for universities to support academic departments that don’t bring in research dollars. Faculty positions are shifted to computing, engineering, and science departments, and business and information schools, as well as to high-dollar graduate programs like law and medicine.
All in all:
It is of course true that many fine researchers are fine teachers who enjoy being in the classroom. Very few professors actually do not teach at all.
And teachers who are in tune with the research world can convey more cutting edge material. Students often benefit greatly from graduating from big name research institutions.
I enjoy my work and the environment in which I work. I teach technology, and gifted students in my classes point out emerging technology to me all the time. I would never want to not teach.
Finally, combining research and teaching can, I believe, provide an optimal platform in which to train the next generation of leaders, thinkers, and policy makers.
We just need to be aware of the changes that are happening at major universities, and make sure that in the end, students remain a primary focus.
Godaddy: five stars.
I have a handful of domains that I have bought on the GoDaddy site. They also host a few domains for me. And I use one of their email accounts quite heavily. Their servers are fast, their web mail interface is intuitive and visually pleasing, their rates are highly competitive, and their customer service is great. I’ve never had any problem getting someone on the phone who wants to aggressively solve my problem.
That’s the good stuff. This is the bad stuff: the website
Their retail website is (somewhat ironically) noisy, confusing, and tangled. I’m surprised they don’t have something a lot better. They should find the guy who made their mail/calendar pages.
I wonder if perhaps the reason their retail web pages are so noisy is so that you can’t easily distinguish useful information from the countless ads that appear on the web pages as you try to perform a simple transaction. Maybe they want me to have to read their ads figuring that on the average, it will lead to more sales.
The real bad stuff: spam.
The problem, though – the real problem – is the spam. Over the past 19 months, they have sent me 255 pieces of spam. That’s almost one every other day. Seriously. They consist mostly of short term coupons that will get me a discount – if I act fast.
A handful of them are below. (I won’t make you look at the noisy images and other text that comes with these tag lines.)
HOLIDAY SAVINGS are available at Go Daddy. SAVE 28%* — Four Days Only!
SAVE 30% on .COM, plus special savings on other favorite domains!
you have from Wednesday to Wednesday to SAVE 20% OFF your order of $50 or more!*
Exclusive offer from Go Daddy | Call us 24/7: 480-505-8821 |
2009 has been an amazing year for Go Daddy – and we couldn’t have done it without customers like you! To say thanks, we’re giving you 15% OFF your order of $40 or more* when you order before midnight (PT) on December 31, 2009.
Time is running out. Act now to get 20% OFF* your order of $75 or more. This special offer expires soon, so don’t wait – order today!
Never pay retail.
The messages come at such a high rate that I never read anything from Godaddy, and have missed meaningful messages about my account account, because they were sucked in by my spam folder. I leave them there, and when I decide I want to buy something else from Godaddy, I look at the most recent couple of coupons. If there isn’t one that will save me 15 or 30%, I wait to make my purchase. Clearly, you should never, never pay GoDaddy’s full retail price.
It’s fun to see just how many pieces of spam they send me. Hell, I counted them.
There is a lesson here.
We are so used to being saturated with ads that GoDaddy isn’t even concerned about pissing off their customers with the noisy, buy-something-else-now website and their nonstop stream of spam. Is the Web being ruined?
But, when it comes to GoDaddy, in all honesty, their reliable servers and motivated service people make it all worthwhile. Honest.
Note taking and organizing – I do it every day, almost all day. It’s by far my most common use of my desktop machine. The most critical applications for me, therefore, are note programs. I think it’s true for a lot of people.
There’s a new product I’m excited about…
For a lot of years, I have used note-taking software from Aquaminds (aquaminds.com). They have two Mac note taking applications: NoteTaker, which is a standalone desktop app, and NoteShare, a very similar desktop app that lets you share your notes with other people.
Options, options, options.
The Aquaminds apps let you transform just about anything into a note. Like most people, my notes are highly heterogeneous in nature: text, email conversations, images, outlines, bulleted lists. You can record sound clips and turn a note page into a browser.
You can display your notes as a slide show. With NoteShare, you can post your notes to be accessed as a website.
There’s a ton more. What’s nice is that you can learn the capabilities of these apps incrementally; their menus are intuitively arranged and you don’t need to read a thing to get started.
It’s the metaphor that matters.
But it’s not their myriad of options that makes me like the Aquaminds note taking apps. It’s the metaphor that drives them. You use these products to create simulated paper notebooks. To me, this is the most natural way to organize the things I need for a project. You create a notebook with sections and pages, and put entries on each page. It builds an index and displays it next to the notebook, if you want. You can even create a colorful cover for your notebook – although I have never gone quite that far to live the metaphor.
Sounds simple and obvious, right?. But I rooted around for years trying to find a similar product that runs on Windows machines. The closest I could find was Microsoft OneNote, but its interface is noisy and unintuitive, if you ask me. So I have been using a couple of the “bucket” note taking programs where the user interface consists of a master list of single page notes, with a list of buckets down the left size of the interface. You organize your notes by putting each note in a bucket. These programs are flat and don’t give you that feel of creating a top-down, organized notebook tied to a specific project or job.
Finally, notebooks for Windows.
Maybe I missed something. Maybe there is one out there. I never found one.
But the folks at Aquaminds just came out with one! It’s called Express Desktop. It’s definitely a scaled down product compared to their others. But now I can make my notebooks on my Windows 7 box just like I do on my Mac. It displays a master list of notebooks and each one is a complete, top down pseudo-notebook, complete with a fake spiral down the side. I feel organized on my Windows machine, finally.
… oh, and Aquaminds’ customer service is astonishing.
As desktop and notebook computers become faster, very good graphics cards become the norm, upload and download bandwidth widens, and as the number of consumer-oriented media applications explodes, more and more of us are dealing with massive user interfaces. So, what makes some mega-apps inscrutable and others intuitive?
What are these mega-apps?
What are mega-apps? Those programs with multi-layers interfaces, with multiple main menu settings, countless complex windows, numerous embedded drop-downs, arrays of palettes, seas of tool boxes, etc., etc. It’s those applications where you can only see a small fraction of a given app’s capabilities on your screen at any given time. They include Adobe Photoshop (raster image editor), Apple’s Final Cut (video editor), Autodesk Maya (3D animation application), and Luxology Modo (another 3D animation application). Note that many of these many-hundred and multi-thousand dollar apps can be bought far more cheaply as student, “express”, or “elements” versions – and even when they are scaled down, they are still huge and suitable for professional use (although this might violate the licensing conditions of the given app).
Copycats and natural interface components.
Here are some things that are useful to note. Competing vendors tend to copy the capabilities of each other’s apps, as well as the look and feel of their applications. There are also trends in user interfaces, with the dark-gray-with-white lettering look popular right now. Certain capabilities tend to lead to common interface constructs, as well, such as timelines in video editors (even though iMovie dropped its timeline), grids of thumbnail images in photo applications, and keyframe timelines in animation applications.
An interface that guides the user through a complex workflow is almost impossible to build.
It’s also true that the creators of all of these applications struggle with the same problem: How to guide a user through the complex workflow within a mega-application? It is intractable to show how to use the application within the interface. There are far, far too many intricate tasks that can be performed. There are endless possibilities. As a result, necessarily, the interfaces to these apps are static. They give you access to these applications’ powerful functionalities, but learning to use them is entirely a different matter.
So, what can make a big difference?
What makes some of them more intuitive than others? Is this even true, or when you compare competitor to competitor (like Autodesk Maya and Luxology Modo and Newtek Lightwave), are they pretty much all equally inscrutable?
I think there is a difference. You can see it when an application’s designers give up on the idea of embedding how to use an application in its interface. Rather than struggling to guide the user with “how-to” wizards, or offering up complex, canned operations, or providing mountains of built-in media content, they simply try to make the interface visually pleasing.
Yes, that can do it.
More in a later posting…
… Also, the desktop and audio capture videos of my animation class at the University of Colorado can be found at wordsbybuzz.com
Taking a mile.
There’s an old saying about giving someone an inch and the person taking a mile. Well, have you ever installed anything from NCH software? Boy, did they take a mile.
First of all, let me say that what little I have seen of their software, I like. They sell image, audio, and video software for editing and converting media. (They also sell other products that I have never looked at.) The one application of theirs that I have bought is quick to open, has a clean and intuitive interface, and given it is not intended as an Adobe-like mega-app, it has all the functionality you would expect.
But I only bought one app…
But, when I paid for and installed this program, Switch, an audio format conversion application, along with their free image editor, I got a surprise.
When I clicked on Start and chose the All Programs menu to verify that Switch had successfully installed, I was totally blown away. The NCH installers had installed thirteen folders embedded within one called NCH Software Suite! Then I found another folder in the All Programs listing, called Graphics Related Programs, and there were three folders embedded within it!
Their trick, of course, is that they are trying to get you to buy more of their applications. When you click on one of those apps, the NCH software says “An install-on-demand component is required for this operation.” All you have to do is hit Install and you can buy yourself a pile of applications you had no intention of buying. And oh, in case you’re nervous about this, you are also told that if you change your mind, you can always use the Control Panel to un-install it all.
It’s amazing what they have the nerve to do. When you click on their two main folders inside my All Programs menu, you see a ton of other applications that are just waiting for your permission to install and pay for.
By stealthily performing a massive folder install, NCH lost their legitamacy for me. It is important to note that all of these extra applications were NOT installed. They simply wanted to put all this stuff in my All Programs menu so that I would be tempted to click on them and then try their install-on-demand app, thereby agreeing to buy more of their software.
This is incredibly annoying. They put so much in my All Programs list that it was hard to find the one program I purchased and installed.
I think that if they want to clog up my All Programs menu, NCH should given them all to me for free.
I had a Windows machine die recently, and there was no way to bring it back to life. I bought a new machine. That meant I had to reinstall a number of applications.
It is becoming more and more common for expensive media applications to be node-locked to a particular machine. Some of them allow 2 activations on 2 specific machines. (At least dongles are on their way out.)
I understand that software “borrowing” is a serious problem and I don’t mind an application being tied to a specific machine. I run a lot of graphics, image editing, drawing, painting, video, audio, and animation applications. As a professor who uses them for teaching purposes, I often pay far less than the retail price for applications, and I appreciate this a lot.
Using the Web.
But there is one thing that I wish more software venders would turn to: allowing deactivation to be done on any browser on any machine.
The problem is that when a machine dies and there is no way to resurrect it long enough to deactivate applications, it can be extremely time consuming to get them running on the replacement machine. Adobe applications are like this, and so are Autodesk products. Don’t get me wrong, both companies answer the phone, and I have never been on hold for anything more than a fraction of a minute. They’re polite, too, and listen to my explanation, grill me only very gently, and then reset my activation count.
But there are a few products, like Pixologic’s ZBrush, that allow you to give each machine a name so that you can deactivate an application without having to bring a dead machine to life or call someone up on the phone. ZBrush lets you activate their product on two machines, and at any time, you can fill in a brief form asking them to deactivate one or both of them. Now, it’s not done automatically. You have to wait for them to manually read your online form and do the deactivation. But they always seem to do it the same day and I have never had to send a second request. It’s just so much less of a hassle.
I hope that more venders start using this mechanism. For me, it would remove what is perhaps the most stressful aspect of having to hand a machine over to the hardware gods: knowing that there is a pile of applications that are going to be annoyingly time-consuming to reactivate.
It makes sense, today.
There’s another reason for doing this. More people use multiple machines today, and not just a single desktop and a single notebook. Also, machines have been undergoing major generational changes lately, with multi-core processors and 64 bit operating systems and powerful graphics boards becoming commonplace. And we are also for the most part on the Internet 24/7. We need to be able to move quickly and gracefully between machines, and web-based activation protocols make a lot of sense.
Maybe Pixologic will find a way to automate theirs, so that machines can be deactivated instantly without a human having to get into the loop. It’s difficult for me to know if this would expose them to more risk.
This blog is dedicated to emerging Web and media technology, in particular, 3D animation. But in this posting, we’re going to compare the installation of an iMac with the installation of a Dell Windows 7 desktop.
(By the way, I teach 3D animation at the University of Colorado – feel free to download my class videos at: wordsbybuzz.com.)
The two machines.
First of all, this is not your typical “Windows sucks” blog posting. In truth, the two machines I am comparing here both run quite well, and in truth, I’m impressed my Dell XPS’s ability to run complex graphics and 3D animation software, with comparable render times (generating video from animated scenes) to my iMac, and with interactive response rates similar to my iMac.
They are comparable hardware-wise, with multicore processors, 64 bit operating systems, and a lot of memory.
Both operating systems were preloaded – sort of.
They both came ready to go, supposedly, with their operating systems and appropriate drivers preloaded.
But here’s the thing: to “install” the iMac, I had to connect my two external drives, along with the keyboard and mouse. Then I hit the “on” button, and well, it booted. Fast.
I then had to run the operating system update program (called Software Update on a Mac) to bring my machine up to date with the latest version of the operating system.
That was it. Ten minutes, max.
Now, as for my Dell machine…
It took two days. I mean it. Two days of downloading countless Windows operating system updates, two days of re-running updates that would not take the first or second time I tried, two days of downloading Dell updates, two days of downloading the proper drivers for various devices.
And rebooting and rebooting and rebooting, with some of these reboots taking twenty minutes.
The big comparison.
I don’t think anything was wrong, but the difference between the two machines was astonishing. I couldn’t imagine running a machine room somewhere and having to install Windows machines on a daily basis.
The other thing, something that I already knew from past experience, is that the process of installing applications on a Windows machine is much longer than installing the same apps on a Mac. So, of course, there were many more hours of putting in CD’s and DVD’s, and downloading installers, and then going off to do real work on my iMac while I waiting for these install programs to do who-knows-what, so that I could do real work on my Windows box.
I do have to say, however, that once the Dell was fully installed and I got all my apps loaded, it performed beautifully – and still does. The Dell people were also very prompt and helpful when I had trouble figuring out what drivers I needed – something that does not happen on a Mac, since they bundle their hardware and software.
Next time we get back to 3D animation.