This is an exciting day. The project that I've been working on for almost a year now is now going into an official launch. InfoMesa has been, and continues to be, a community effort by Microsoft Life Science and our major Enterprise Life Science customers and partners. InfoMesa is a bit unusual because it's designed to create community in the scientific landscape, while also having broad applicability across many other vertical industries.
What is it?
InfoMesa is a project to allow scientists to do more science and more discovery in a collaborative and data-rich environment. The metaphor that we have elected to use as the underlying fabric of the InfoMesa is a Whiteboard.
InfoMesa allows any kind of data or visualization to be added to the Whiteboard. Far from static, these tools are interactive, allowing data to be absorbed from data sources like Oracle, SQL Server, Excel Spreadsheets, XML or even Cloud-based web services. InfoMesa, when complete will support imagery, video, 2D connected models, 3D models (lit in a photo realistically manner), web searches, results from web service calls, Image Tile Maps, ScatterPlots, Sticky Notes, Ink Notes, Rich Annotations and Associations.
An Example of a typical InfoMesa Whiteboard is shown here:
Whiteboards are quite large in size (about the size of 20, 30" conjoined monitors). Whiteboards can also be linked to each other, so this allows an efficient way to both organize work and to handle performance concerns. The screen is completely resolution independent, you can use the MouseWheel to zoom in and zoom out and the canvas can be scrolled left, right and up and down.
Each element on the Whiteboard can be tagged (and actually will insert tags based on it's type when a tool is added to the whiteboard).
Data Visualization backed by Data Persistence
As each item is added to the whiteboard, it is saved -- or persisted -- to a back end database. Each whiteboard is drawn from a database that contains a third-normal form relational data structure. This means that as you add items, other people that are sharing the same whiteboard can see what you have added and vice versa. It also allows us to control who can see, change, and create items on the whiteboard.
Another advantage to this is that a whiteboard can be built programmatically. In other words, by doing appropriate data inserts and updates in the data model a whiteboard can be built up.
The platform is currently sitting on top of an Access Jet database for easily being transferred to any Windows XP (sp2) or Vista machine. However, the final data platform will be SQL Server 2005 or 2008 for scalability, security, and feature reasons.
Another item to throw in here, Sharepoint Portal Server, which has been explosive in both it's growth and uptake in the Life Science Community has a feature called the Business Data Catalog (BDC). This feature allows Sharepoint to index relational databases and customize the experience of what happens when a search result link is clicked. This allows searching across the entire corpus of Whiteboard, Room, Element and Tagged Elements and when a result is clicked an InfoMesa application is fired up and presented to the user.
How are Things Organized?
To have science organized by massive whiteboards is too flexible, everything just gets grouped together spatially and every scientist or worker will have their own way to doing this. We need structure and it needs to be inherent to the underlying fabric.
So, we have come up with a hierarchy of organizational principles. Rooms are provisioned by a researcher, or by a team of researchers. Each room then contains and number of Whiteboards. Whiteboards can be linked to one another within a room metaphor. There are some use cases floating around which require links across rooms and we will be pursuing this.
Within each whiteboard, we support a notion of sub-canvases that are typed. We currently support Ideas, Hypotheses, Experiments, Decisions, and Procedures. This allows a structure to embed any of the tools inside these frameworks and move them around, persist them to another whiteboard, or even to Reward or Penalize the results coming from the type. For example, if an experiment seems to be promising a bar graph on the top left corner can be clicked and adjusted to signal that the experiment seems to always be successful given the conditions described inside the canvas.
The Problem we are Trying to Solve
Why are we doing this? During the last year I've had a number of scientists basically support the notion that research and the computing environment underlying this activity as it stands now does not support the learning, annotation and journaling (documentation) richness that is needed. As an example, consider the following web site: www.pdb.org - the Protein Databank. This is a fantastic site and used by hundreds of researchers every day.
This site provides an efficient way to store information and to share it, but the granularity of the storage and the learning aspect is completely inefficient. I can see who the authors are, the primary citation, the history, the method, and even parameters to consider about the data. If I want to interact with the proteins structure I can launch any number of molecular viewers (KiNG, Jmol, etc.). Once I have read everything and learned about the protein, I close everything back up and the knowledge is now mine, but the company or organization that I work for is not any smarter (other than the knowledge between my ears now).
What if, the actual areas of the protein structure that Dr. Zhang worked on was clear to the eye, what if the specific data points in the X-Ray Diffraction data that are critical to understanding the structure or mechanisms in the structure were able to be annotated and connected literature? This is what we are solving with InfoMesa. These types of pages can be sourced into InfoMesa, but the annotation features and manipulation features allow me to do the science inside of a rich cockpit, without worrying about the communication aspects as much. In short, I can do more science and the knowledge is institutionalized, regardless of geographic boundary.
Will it work on my Laptop?
When it comes to an application like InfoMesa we are trying to revolutionize the actual "Day in the Life" of a researcher. There are now numerous form factors that both Microsoft and others are bringing to market that allow workers to be more social and more productive. Examples of this are the Surface Computer, Touch Wall, Social Computing Rooms, such as those found at Renci, and even powerful desktop machines with 90" of conjoined monitors such as those sold by Alienware, HP Blackbird and Boxx Technologies.
We do support InfoMesa on Laptops and I have been demonstrating that for over a year. It is not the platform we expect that it would be used in typical use.
Additionally we are exploring how it would work with technologies like the Wacom Cintiq digital tablet and other form factors.
What do I need to run it?
Microsoft Vista Recommended (Also supported by Windows XP, Service Pack 2 - DotNet 3.51)
Visual Studio 2008
A *great* graphics card
Instructions: Unzip InfoMesa_Data in the root drive of C: So the structure should look like this:
c:\infomesa_data\3ds
................\assets
................\Database
................\pdb
................\tilemap
Unzip the InfomesaLoader in the Visual Studio 2008 Projects Folders (found under your Documents folder)
Where can I get it?
InfoMesa is an ongoing project. We will be publishing the community members soon on these pages, but anyone can download it and play with it. We suspect that even the community users will both share and "fork" the source code to do other projects internally that they want to keep proprietary.
http://cid-794708049c7ae9c2.skydrive.live.com/browse.aspx/TechnologyDemonstrators/InfoMesa/InfoMesa%20Phase%201%20|5Due%20in%20September|6
This link above contains both the source, the data and example files and a PPT to share with management or others.
To Be Continued...
I will continue to post here on a weekly basis regarding the progress of this project...send me comments or questions that you have.