Saturday, January 24, 2009

Interview with Patrick Hogan WWJ Project Manager

Patrick Hogan is NASA World Wind Project Manager. He was kind enough to answer and comment ten questions regarding NASA virtual globe project and open source initiative.


Patrick Hogan at NASA Ames Research Center
1. World Wind came out in 2004 before Google Earth and is arguably one of the (if not the) first virtual globe. What is the 'short' history of World Wind - how and when did it all start, what where the goals and the context?


World Wind began in the 2002/2003 timeframe under NASA Learning Technologies, a program to get 'NASA content' into the classroom. In January 2004 World Wind became one of the first NASA programs to be released as open source. World Wind existed approximately coincident with Keyhole, though neither knew of each other until later.

2. World Wind is a free and open source project delivering technologies to the community that some private companies have spent large amounts of money to acquire. Who is paying for this and how come it’s given away just like that?

Same answer as to your previous question, World Wind began as part of NASA Learning Technologies, a program to get 'NASA content' into the classroom. NASA has more planetary information than any other entity on Earth. NASA, more than any other entity on Earth, needs to have the tools necessary to work with planetary data that is part of the public domain. Today, more than ever, it is vital that research, academia and the public have useful access to this data. This is made most possible with technology that can readily adapt to service those various needs. This includes the need for a broad spectrum of private companies who are free to use this technology in proprietary ways. World Wind open source technology stimulates entrepreneurial enterprise by helping to standardize the geospatial information exchange medium. This establishes the infrastructure for greater participation by the widest possible range of business enterprise from small to large.

The World Wind project is supported by several agencies within the US federal government, including of course NASA.

By using open source technology and open standards for data exchange, the government has the ability to adapt to rapidly changing circumstances. Building increasingly more sophisticated functionalities to a core technology that is open source continually challenges entrepreneurs and the world community to greater appreciation for what is possible. NASA provides the kind of leadership that allows for this. World Wind technology also provides the government with absolute control over use of the technology, as well as absolute security due to code visibility, while also making industry and the world community more competitive in the area of solutions based on use of this open and standardized technology. These solutions can be proprietary, free, or open. Advances in intelligence come from a combination of information access and increasingly sophisticated processing of that information. World Wind, although a very smart mechanism, is not intelligence. World Wind technology is about standardized and optimized delivery of pixels, picking them up and moving them around. Information intelligence is applied by others using this technology as the medium for information exchange, a lingua franca, if you will.

3. A common reaction to the World Wind project is to wonder why bother redeveloping something that already exist for free, namely Google Earth or Microsoft’s Virtual Earth?

Google, who bought Keyhole in October of 2004, delivers data that is proprietary and restricts use of its technology essentially to the KML file format. World Wind provides that same ability without any limitation on how one might use the technology. This stimulates business opportunities for a much larger solution domain.

4. It is a bit disappointing that one cannot access imagery as good as in other virtual globes with NASA software. Why is it so?

When you open World Wind, out of the box so to speak, it arrives with the base set of data needed for a 3D world. Although higher quality imagery is available that World Wind can certainly deliver, and does so for those who have access to that data, the base set of data that World Wind comes with is necessarily in the public domain. We are looking forward to higher quality imagery becoming increasingly more available. We are already seeing this happen. The great State of New York and the great country of New Zealand, having made higher quality imagery publicly available, prove this is already happening.

5. There does not seem to be any 'road map' for the World Wind Java SDK. How are decisions made regarding the implemented capabilities?

For those who can appreciate the degree of sophistication involved in developing an Application Programming Interface (API) -centric Software Development Kit (SDK), it’s easy to understand the unusual amount of *accommodation* required for how others will use the technology. Building an optimized and adaptable technology of this nature is a Herculean task. It is far more involved than simply building an application. World Wind technology must transparently 'plug-in' to other applications. The ability to do that well is as much art as engineering. Leonardo da Vinci was notorious for spending inordinate amounts of time working through ideas before ever putting paint to brush. World Wind is being crafted as an adaptable building block others construct with. Making it work requires accounting for many variables well beyond our control. Building for the future is an infinite challenge. We look forward to a time when much more of the world participates in the development. Although this is already happening informally, this will begin in earnest with release of v1.0.

6. How large is the development team?

I’ve heard it said that it’s not size that matters. So thankfully, we have a few of the best. At some point, after version 1.0, we’d like to see a collaboration of the world community to advance this core technology. We’re already seeing this technology applied by the European Space Agency, the Japan Space Agency, and a few Fortune 100 companies, as well as extensively within the US government.

7. A number of community users would be willing to contribute code to the project but there is no such established process to do so now. Are there any plans to allow contributions?

We welcome contributions and have already put some of those to good use. We want World Wind development in the hands of a well organized worldwide consortium. That takes a concerted effort by the world community. We look forward with great anticipation to that stage of this project. You don't have to be a rocket scientist to know that the amount of energy required to effectively process the input from a worldwide community is enormous. 2009 should be 'the' year for version 1.0 of World Wind along with the hope for a world community that hosts the ongoing development of this technology.

8. The WWJ SDK is still in alpha stage after two years. When can we expect a stable 1.0 release and what will be in it?

In the spirit of ‘we will serve no wine before its time,' version 1.0 is expected during the second half of this year (2009). What will be in it? More and better stuff!

9. The WWJ SDK departed from the World Wind .NET version in the sense it is not a 'ready to use' client application one can download and use right away. Although there are clear advantages in providing a SDK, are there any plans to produce a WWJ client application similar to the .NET version so many have been using?

World Wind Java is component technology purposed to be used as a plug-in by others in support of their visualization needs. We like playing a strong supporting role rather than the lead. We believe this provides the maximum opportunity for information exchange technology to advance.

10. The unique aspect of World Wind technology is that it also provides the WMS server software to deliver geospatial data. How did that happen?

World Wind SDK technology is there to visualize geospatial data, manage the pixels so to speak. Having the technology to see 3D is cool, but that's only half the story, maybe even the smaller half. Making data accessible, the data delivery mechanism, is where the information experience begins. The World Wind Server delivers data according to the Open Geospatial Consortium international WMS standards.

Together, the World Wind SDK client and WMS server provide the infrastructure for government, research, and business communities, as well as education and public outreach, to both deliver and experience information, hopefully increasing our understanding. And it is also true that sometimes we do things just for fun! World Wind technology unlocks the power to make all this happen.

Patrick Hogan - interview by Patrick Murris, January 2009.
Photo from swissstartups.com.

> Another Patrick Hogan interview by Scott Swigart, and Sean Campbell for the How Software is Built blog - July 2007.
> World Wind presentation at the Geological Society of America, May 2007. How the Java SDK got started.

Wednesday, December 3, 2008

World Wind at the American Geophysical Union

Patrick Hogan the NASA World Wind project manager will be presenting the World Wind Java SDK at the 2008 American Geophysical Union Fall Meeting in San Francisco December 15-19.

Although Google Earth and KML have an overwhelming presence, the World Wind Java SDK is being used by an increasing number of professionals:

Patrick Hogan presentations:

During Patrick's presentation, VEGA will also show a new version of EOLI (Earthnet OnLine Interactive), a client developed for the European Space Agency for the Earth Observation, Multi-mission, Catalogue and Ordering Services, using the World Wind SDK.

Thursday, November 20, 2008

World Wind Multitouch Wall in Public Underground

Johannes Schöning from the University of Muenster Institute for Geoinformatics, Germany has posted a video showing their multitouch wall version of World Wind Java installed in a public place.



During a technology exhibit we installed a FTIR based large scale multi-touch screen in pedestrian underway in the city of Münster, Germany. In this video we show a few impressions of this project called: "Hightech Underground".

Build your own multi-touch screen - see link below

See this previous post about the same multitouch World Wind project - May 2008.

> YouTube video here.
> Some pictures of the event.
> Build your own multitouch screen with the MultiTouch Bootcamp.
> Improving interaction with virtual globes through spatial thinking: helping users ask "why?", a research paper from the same author.

Tuesday, November 18, 2008

CNES e-CORCE: Earth At One Meter Every Week

The French Centre National d'Etudes Spatiales (CNES) has come up with an innovative satellite remote-sensing system capable of generating a high-resolution picture of Earth on the Web, refreshed every week. Four patents have already been filed for the concept, called e-CORCE that could start broadcasting on the Internet by 2014.

CNES e-CORCE
Although still on paper, the plan is to use a constellation of thirteen low cost micro satellites capable of imaging the globe at a resolution of one meter. Each of these orbiting webcams would use a smart "spycho-visual" compression scheme to drastically reduce the amount of data to be transmitted in real time to a grid of fifty ground stations connected to the Internet.

Whether this particular project will become a reality or not, it shows what the current trends in micro satellites technologies, data compression and grid computing will allow in the near future. How privacy groups, military and security agencies around the world will react to it remains to be seen though.

Tuesday, October 7, 2008

World Wind Java 0.6 Screenshots

While the next alpha 0.6 version of the NASA World Wind Java SDK is not ready yet, here are some screenshots showing some of the coming features.

NASA World Wind Java SDK 0.6
NASA World Wind Java SDK 0.6Airspace shapes and volumes, terrain conforming or not.


NASA World Wind Java SDK 0.6Distance and area measure tools, terrain following or not.


NASA World Wind Java SDK 0.6View visual controls layer, provides a GUI to pan, tilt, zoom or look around.


NASA World Wind Java SDK 0.6
NASA World Wind Java SDK 0.6Extended track markers shapes and attribute management.


Friday, September 12, 2008

Elevated Surface Image for World Wind Java

A few WWJ forum members have asked whether it would be possible to have a surface image that could be rendered somewhat 'up in the air' instead of painted on the globe surface. The idea would be to show the global clouds image for instance at 10 km altitude. Although the feature is not part of the actual SDK, i happen to have created some time ago a sub class of SurfaceImage that does exactly that.


Download TexturedLayer.java (updated for WWJ 0.6 December 7, 2009), remove the .txt extension and add to the SDK render package.

The class is very similar to SurfaceImage and is instantiated the same way, but the texture will be painted on a 'flat layer' at a given altitude that must be set using the setElevation() method.

Note that the cloud image does not contain an alpha channel and will obscure the underlying imagery. In the .net version of World Wind, the "Global Clouds" plugin does some post processing after each new image is downloaded to create an alpha channel and save the resulting image as a .png. In that case the alpha is just a copy of the black and white cloud image.

However, i found you could get somewhat better results by replacing the cloud image with plain white - the alpha channel will then 'modulate' the white and produce a more realistic effect without the 'grayish' shades where the cloud coverage is less then one hundred percent.

The bottom line is that some additional work is to be done to get a decent global cloud image over the World Wind Java globe, even with this 'elevated' surface image class. The above screenshot is using a static post processed image - not the 'real time' online version.

Another usage of this textured layer could be to use a plain blue texture with some transparency and somewhat simulate the sea level as with the "Global Flood" WW.net plugin (see this forum thread).

Monday, September 1, 2008

Truncated Earth in World Wind Java

I wanted to try this for a while and i'm pleased to see it works rather well considering how little code is involved. Here is a simple World Wind Java example application that will produce a truncated globe.


Download TruncatedEarth.java, remove the .txt extension and add to the SDK examples package.

Update Nov. 20: once again there appear to be a dependency on the not yet publish SDK 0.6. Please check this forum post for a workaround with version 0.5.

The code illustrates how to extend and override the globe elevation model to 'take out' a slice of the planet. Although rough coloring of the section interior is easily done with some gradients and surface images, placing a texture on the section side would require a bit more then that.

Wednesday, August 6, 2008

Wii Remote and World Wind Java

Fabrizio Giudici, a World Wind Java early adopter, reports yet again a Wii remote related demo involving the NASA SDK. The project called Montenav demonstrated by Gianpaolo Melis at the JUG Genova uses the Nintendo hardware to control the WW globe using gestures.


In the above video the red and green dots are the two hands being tracked simultaneously. Gianpaolo Melis used IR leds attached to his hands to communicate his gestures to a fixed Wii remote.

For more details see Fabrizio Giudici web log.

Last January i reported another project involving Wiimotes and World Wind - the .net version. Recently, j_c_maglio, a WWJ forum member mentioned working on a related project.

Saturday, August 2, 2008

OneGeology World Layer for World Wind Java

Did you ever wonder what the Earth would look like if you stripped it of water and vegetation, revealing the underlying rocks?

The OneGeology project aim is to create dynamic digital geological map data for the world. It is an international initiative of the geological surveys of the world who are working together to achieve this ambitious and exciting venture.


Here is a WMS layer for NASA World Wind Java showing the 1:25M Geologic Units for the entire planet, provided by the french BRGM. Download OneGeologyWorldLayer.java, remove the .txt extension and add to the SDK layers.Earth package. Note that this layer is only a coarse 'preview' of the underlying datasets and will not yield much details if you zoom closer.

The OneGeology web site features a 2D map browser - the OneGeology Portal, that allows you to explore in more details the different layers provided by the participating organizations.

The official launch of OneGeology will happen at the 33rd International Geological Congress (IGC) in Oslo, August 6th - 14th 2008.

See this Nature article for an overview of the project.

Tuesday, June 3, 2008

World Borders alternate layers for WWJ

The 'broken' Country Boundaries layer has been an issue for some time in World Wind Java... After a quick search, here are three alternate layers to fill the gap until the NASA WMS server gets up and running again.

Metacarta country_02 layer - 12 levels, no coastline - WorldBordersMetacartaLayer.java


Freemap factbook layer - 12 levels, not so clean - WorldBordersFreemapLayer.java


Katrina OWS world layer - 5 levels only - WorldBordersKatrinaOWSLayer.java