Link to NSDL Portal

The Foundry is where code lives

All the parts of the software that brings the data to your desktop need to be nurtured to keep them alive in an ever-changing environment of new technology. New hardware, new operating systems, new graphic media codecs (coders and decoders), new browsers: the world in which a piece of software must work is in rapid flux. Here at the Foundry we build new software for your needs and, as a community, help keep this alive.
[Foundry picture source: Library of Congress]


Code is developed and bundled in a variety of forms for specific applications

Other Information

GLOSSARY
   

Information Path:

Scan the information from the Knowledge Base first. If you are already a Director® or IDL® developer you might want to jump to Advanced Topics.

From Code to the Classroom

The goal of the Foundry is to accelerate and energize the creation of user-near applications through the creation of a community based code development launching pad, and the coding of code objects, tools and heuremes, learning objects, and other gui objects and scaffolding.

A schematic of this process might look something like the drawing on the left. Code objects are created using OO programming so that they can be refined (refactored), and reused. These are put together into basic learning tools (heuremes) that each offer a potential user capability, such as the ability to select the answer to question by clicking on a map, or the ability to find the difference between two data sets.

The tools/heuremes are then bundled into learning objects, where an ensemble of capabilities would be commonly found together. These learning objects can then be filled with content and surrounded by standard GUI frameworks to create user-near applications.

At each level the code can be resourced for use in new applications. As new tools are required, these can be built and added to the inventory of code resources available to the Foundry developer community. As the schematic describes, the process leads from "code objects," which are produced through OO programming (See: Glossary) through the bundling of these into tools (or "heuremes—the basic units of learning objects). These modular tools are combined into functionally complete learning objects (which are also "tools," howver more complex and with additional user interface capabilities). Then these learning objects are embedded into applications with the help of additional graphical user interface objects and content specific to the pedagogical situation. The code resources developed by the Foundry include the basic code objects, the elementary tools that are made from these, the learning object modules that are created by bundling tools together, and then the applications that are ready for the end user. While the application capabilities are created within the Foundry, apart from some prototype applications, content creation will need to be added by interested user/developers. Because all of the code is available for sharing and reuse, the Foundry can accommodate developers with a wide range of skills and needs.

Working in high-level code environments

To save time, money, and effort, all of the tools developed in the Foundry are compatable with and reliant on the value offered by leading COTS software for data use and interactive multimedia application authoring [See also: Authoring Environments]. This means that there are already hundreds of thousands of code developers ready to use the Foundry to bring NSDL data resources to the public. Also, other capabilities that emerge from the software development efforts of these leading software companies will add value to the Foundry. A good example of this is the Alias|Wavefront Maya® plug-in to Director®'s Intel 3D® capabilities.

Wiki Wiki Web pages and community code resources

The Foundry Floor lives on the Comm Portal of the NSDL. Here is where all of the collaboration tools are found. Most of the descriptive pages are based on Wiki technology (See: Glossary). Wiki pages can be modified directly by Foundry users, so that the community can develop the site that serves to inform the community. The key to community code development is the concurrent versioning system (CVS) architecture, currently provided by the NSDL in the form of a Source Forge coding environment. This is a fully secure space where all versions of a piece of code can be managed.

 

Community
K-12 Teachers
College Teachers
Museum Staff
NSDL Project
Campus Media Staff
Link to the Foundry Home Page
Knowledge Base
Foundry Fundamentals button
Authoring Environments Button
Data Resources Button
Learning Objects button
 
Advanced Topics
GUI Central button
IP ecommerce button
Software Central button
Future Technology button
Foundry Fundamentals