Rapid development! We have all heard this buzzword over and over again for the past several years. Everyone, it seems, is looking for a way to develop e-Learning quickly in order to meet the demand of customers in this just-in-time environment. But how can you implement rapid development without a mechanism for rapid design?
What’s more, there really aren’t any generally-accepted standards for instructional documentation. As a result, each organization creates documentation applicable to its particular product(s) or learning culture. That might be fine for in-house e-Learning programs, but what if you plan to expand your training audience to external customers, suppliers, or vendors? Must you start all over?
Now try to take that instructional design document, most likely created in Microsoft Word, turn it into a storyboard, and then develop it into e-Learning. Between copying from one document and pasting it into another, keeping track of multiple versions, and converting design concepts into online media (including the whole range from HTML, to Flash, to Captivate), how rapid is your design process going to be?
In this article, my main purpose is to introduce you to Microsoft InfoPath, an XML editor meant for professionals who just need to get a job done, without learning XML. You’ll get a tutorial on how to use InfoPath to set up a reusable template for your design process. I’ll also sketch for you the way that I’m using InfoPath to go from SME input, to design, to production, to organize the work of the development team, and to manage version control.
Overview of rapid design with XML
Do my first three opening paragraphs pretty much describe your design nightmares? Well, don’t despair. There is a great solution for all of these problems: eXtensible Markup Language (XML). With this platform- independent technology, designers can create reusable instructional design templates to expedite the design process. Since most development software tools (such as Flash and Dreamweaver) use XML, all of these tools can access your content.
Worried by what you’ve heard about the challenges of learning XML? Don’t want to learn to write XML? There’s no budget for a programmer? What you need is an XML editor program that will handle the details from within a familiar “what you see is what you get” interface.
But first, in case it’s new to you, let me offer some XML basics from the instructional designer’s perspective. Programmers, and those who are already well versed in XML and XML transformations, may want to skip ahead to “What InfoPath does for the designer.”
A brief look at XML
XML is all the rage these days, and for good reason. XML, like HTML and XHTML, is a way to mark up content, using “tags.”
However, HTML and XHTML are computer languages that define the display of content as a Web page. A browser can interpret HTML, and display content in specific ways: bold text, italicized text, formatted with bullets or paragraph styles, different fonts or colors, with various types of graphics, and so on.
XML, on the other hand, gives structure to data. Strictly speaking, and in spite of its name, XML is not a markup language. It has no fixed vocabulary or grammar. What it does do is give you a system with which you can create your own markup language matched to the job you are doing. Not only that, the markup language you build using XML’s rules will work within any generic XML tool you use later. Documents that you create with this markup language will be flexible and reusable, and you will be able to transform them into XHTML or HTML documents for display on the Web, or even into Portable Document Format (PDF) for printing. (Note, though, I won’t be covering conversion to PDF.) As you will see in this article, this creates tremendous advantages for you as an e-Learning designer.
An XML document contains data and markup that provides structure for the content. The data in an XML document is like the data in any other computer document, but most of the time, the documents are “narrative” — containing information in letters, numbers, and symbols meant for humans to use once the information is put into an appropriate form. The markup looks, on the surface, much like HTML markup: letters, numbers, and symbols enclosed in angle brackets. We call these combinations “tags.”
But there is an important difference. In HTML, markup tags are predefined. You can look up any given tag and know that a browser will always interpret it as a specific display instruction. XML does not have a defined set of tags. Instead, you create markup tags that apply to the content you are trying to catalog.
An XML markup tag consists of
elements such as
The XML schema and the designer’s vision
Quality control of all the content and the markup tags in an XML document is critical to success. An XML schema document gives you a way to control the details of your document content and markup. The schema document contains the descriptions of the types of content and the structure the XML document can have, and it contains any constraints on the data types and display. This is important to you as an instructional designer because it allows you to create a template that someone else can use to enter data into your XML document, and this template will only allow the other person to enter what you intended, the way that you intended. The XML schema, if you will, is a set of rules — and they are rules that you write, for your particular project. Figure 1 shows how this works. The capture process (often a Subject Matter Expert, or SME, creating a Microsoft Word document) collects content, the XML template, powered by the schema, filters and conform it, and the resulting valid XML resides in a document, ready for retrieval and use.
Figure 1 The XML schema document acts as a template to ensure the validity of your XML data.
The combination of tags that describe your data, and the schema, which sets the rules for the description, structure, and constraints, gives you another powerful benefit. It makes your data reusable. In my earlier example, instead of having to make a new set of tags for each translation, the writer only needs to change the language attribute. Furthermore, by determining the data you want to capture you can use the XML schema as the standard for future XML documents that need to describe the same type of data. Think of a schema as a Microsoft Word template. The data fields are already in place each time you create a new document from the template.
Transforming your data for the rest of the team with XSLT
XML makes it easy to store and retrieve data, especially if the data is the kind that you don’t need to be able to search randomly. Instructional content is generally sequential, so it’s a good candidate for XML. XML also supports transformation of data into different formats, to make it easier to use for different tasks. This means that you can use the same XML data source repeatedly, but only show each user the specific information he or she requires for the job at hand.
XML uses a language called XSLT (eXtensible Style Language Transformation) to take data elements apart, sort and select or delete them, rearrange the results, and transform them into another document in a presentation format, such as an HTML or XHTML file. Without going into the mechanics too far, you (or your XML editor software) create transformation instructions written in XSLT — essentially a style sheet — for each view, and link these to the XML document. Any XSLT-compliant Web browser (and that is most of them) will then transform the XML into HTML or XHTML according to the instructions.
In fact, transformation simply gives you another view of the data in the original XML file, and you can use XML and XSLT to create as many different views of any part of that data as you need. The data in the original file is unchanged. Figure 2 is a graphic representation of this process.
Figure 2 XML uses XSLT to transform data into specific views for different users.
Don’t worry, that’s as technical as it gets because now here’s the good stuff! You don’t have to be a programmer to create an XML schema or an XML document, or to generate the XSLT transformations. The XML editor software will do all the hard work for you. What you do need is instructional design knowledge, understanding of usability principles, and a vision for reusability and templates. For more advanced options, particularly when exporting XML out to e-Learning development tools, you will need some knowledge of XSLT. You may also need some knowledge of the larger eXtensible Stylesheet Language (XSL), of which XSLT is one part. However, for streamlining your instructional design process and documentation, an XML editor will be all you need. If you want to learn more about XML and XSLT, W3 Schools has an excellent tutorial to get you started. (http://www.w3schools.com)
What InfoPath does for the designer
There are many XML editors on the market, differing in functionality and price. Some of the more popular editors are XMLSpy by Altova, Adobe/Macromedia Dreamweaver, and Microsoft InfoPath.
I chose Microsoft InfoPath for my solution based on several factors. First, it is part of the Microsoft Office 2003 Professional version and works with Word, Excel, and Access, tying together the Office suite with the technology of XML. Since Microsoft Office 2003 Professional is a standard software load across the Textron enterprise, it was an easy decision for me to select InfoPath, as everyone — from the subject matter experts to the entire design team — had access to it. Second, InfoPath is not an expensive solution. Purchased as a stand-alone application, the software retails for less than $200.00 per license.
More to the point for my purposes, InfoPath is specially designed for creating forms with custom views. Imagine having only one document that contained all the content, and all the information needed to produce the design document, storyboard, and the voiceover script. InfoPath provides that functionality. With the ability to create multiple views of the content, InfoPath can even filter available information in a custom view for a specific audience. Certain fields can be locked or unavailable depending on the view.
For example, the SME has access to a view of the content storyboard that only has one unrestricted field available for him or her to enter feedback. Not only do your SMEs not see your programming instructions, they can’t alter your content! Because InfoPath is creating XML documents, you can archive the XML storyboard into a database such as Access, or export it to Microsoft Word for those users who do not have the InfoPath software. This is the power of XML as a platform-independent language.
Finally, the best part for non-technical users is that InfoPath looks like a Word document. Users familiar with Microsoft Office won’t feel like they have to learn yet another software package! I have used InfoPath in both the academic and corporate environments, where is was very well received, even among non-technical users.
You can think about the method of using InfoPath in an instructional design and development project as having two parts. In the first part, the instructional designer creates and publishes a reusable template, including views for each of the functional participants in the design and development processes. In the second part, the instructional designer uses the template and views to guide the project along the path from design to production. I’ll next give you snapshots of each of these two parts. Then I’ll go into detail on how to use InfoPath to create the template and views. I’ll wrap up the article with some “gotchas” that you will want to know about.
Create and publish a reusable template
You are probably anxious to solve all your design problems and speed up your design process with a nice reusable template. You can’t wait to get those wonderful customized views into the hands of your team (and especially into the hands of the SMEs). However, it’s important not to get the proverbial cart before the horse.
Remember that development is only as good as its design. That should give us instructional designers some job security! The same holds true for a reusable XML template. Fortunately, the creation and publishing process is literally straightforward with InfoPath. (See Figure 3.)
Figure 3 InfoPath provides a clear, simple path for creation of reusable XML templates.
It is always a good idea to start development by creating a mockup of your template. Please involve in this mockup effort the key professionals who will be producing the content. These are the SMEs, the graphic artists, and the programmers, at a minimum. Find out what information they need in order to produce their best results. Identify the information and content required to create engaging, effective learning, e.g.:
- The project description
- Business goals for the project (what’s the payback?)
- The audience demographics
- The learning objectives
- The actual content
- The theme
- A description of the user interface
Once the mockup is complete and reviewed, it’s time to start up InfoPath and create the “Form.” This form, when completed, is the master template.
Form creation begins with development of the data source, the hierarchical structure of fields, groups, and repeating groups that store all the data in the form. Think of these as files and folders that hold all the information needed by the designer, the developers (programmers), and the writers, graphic artists, and animators. In the process of developing the data source, InfoPath will guide you through definition of the data structure, content types, and constraints that will become the basis for the InfoPath created XML schema.
Once the data source is completed, InfoPath will help you design the form layout. This provides the instructions for presentation of the data in the source. It is the basis for the XSLT documents that InfoPath will create, and for the master template view.
Almost finished now, InfoPath guides you through design of the views. Views are display settings, stored within the template. This is where InfoPath applies XSLT to create these multiple views, each a customized layout for a particular function or audience. You can design as many of these as you need, but here are some that I have found especially useful:
- SME view (often the default view)
- Design document
- Voiceover script
Once you create the form, you can publish it to a shared location. The shared location can be a Web server, a Microsoft SharePoint content server, or simply a shared network folder.
Design to production
When you have published the form, you are ready to begin moving through the rest of the design process and on to production. Figure 4 illustrates one rather typical path.
Figure 4 InfoPath automates the path from design to production and greatly simplifies the communication and coordination processes for the instructional designer.
In my organization, initial content usually comes from the subject matter expert(s) in the form of MS Word documents. The instructional designer inputs this information into the master template, with any appropriate edits or clarification. The instructional designer also inputs key information in the categories identified during the form mockup process (i.e., goals, objectives, themes, navigation, etc.)
At this point, InfoPath has already set up the transformation instructions so the views are available to contributors. The instructional designer need only tell the contributors how to access those views.
In some cases, contributors will be able to provide additional information back to the XML data. For example, the SME will be able to provide review comments and the instructional designer will be able to read them. Based on those comments, the instructional designer may decide to modify other content or information in the XML data store. The instructional designer, and writers assigned to the project, will be able to add text, narrative, or directions to the data store as well. Other contributors (for example, the animators, and the voice talent) will be able to access that information as needed for their jobs.
In the yellow box in Figure 4 that outlines InfoPath’s functionality, all of the documents, data, and views are totally reusable. The schema that is behind the Master Template is a separate document, and the instructional designer can apply it to other projects. The XSLT instructions that generate the views are separate documents, and the designer can apply them to other projects too. The XML data itself is editable, and the designer can copy and paste elements that may be needed in another instructional product.
Can you see how much time and effort this process will save you? Are you ready to get started? In the next section, I walk you through the creation of the Form in InfoPath.
The reusable template
The steps in this tutorial follow those in Figure 3.
Mockup with MS Word
When thinking about a template form, consider the design challenges as well as areas that you could streamline in the design process. Take into account your instructional design goals, the entire cycle of design and development, and the data you need to create effective, engaging learning.
Involve the whole team in the process: designers, developers, and SMEs. You might not think the audience description is important to the developer, but this information really affects the selection of media and interactivity involved. I highly recommend capturing this data in Microsoft Word. Create a mockup of how you envision the form structure and the layout. Then have all parties involved review the document.
In designing a master template in InfoPath, you can continue to add fields to the form. However, it is much easier to refine your form content in Word, where everyone can review, add, and edit.
Here are some core fields to get you started in your documentation.
- Description: Brief summary of the overall project, content, technology
- Goals: The business or performance outcomes that will result from students completing the program
- Audience: The audience including, if applicable, their prior knowledge, demographics, psychographics, and attitudes towards content and technology
- Content: Source materials and access to any SMEs
- Objectives: Lesson and content objectives
- Metaphor/theme: The overall interface metaphor or creative theme which will be used throughout the program
- User Interface: Narrative description, from the user’s point of view, of how the program will be navigated
Create the data source
After finalizing your fields and structure, it’s time to transfer that information into a data structure in Info- Path.
To get started, choose File → Design a form from the InfoPath menu. Select an option from the Design a new form sub-menu on the right. Choose New Blank Form when you are creating a form from scratch. If you would like to customize a pre-built Microsoft template, choose Customize a sample. If you already have an XML document or schema that you want to use as the structure, select the option New from XML Document or Schema.
The main interface consists of the form layout area and the Design Tasks panel. Any time you need to return to the listing of options in the Design Task panel, click the Design Tasks button to display the panel. (See Figure 5.)
Figure 5 The main InfoPath interface consists of the form layout area and the Design Tasks panel.
Now you can begin adding data sources. The DNA of the template form is its data source. The data source stores all the data in the form, and outlines the hierarchical structure of the data. It consists of fields (elements and attributes), groups, and repeating groups. The overall data source is similar to folders and files on a hard drive. Figure 6 shows this structure within an actual completed form.
Figure 6 The structure of the data source is similar to the “files and folders” arrangement that you already know and use.
A field is an element or attribute in a data source that contains the data. If the field is an element, it can contain attribute fields. (Remember the structure of an XML tag.) A group is an element that can contain fields and other groups. Groups can also contain field controls such radio buttons and drop-down lists. When defined as a repeating group, a data field contains fields and other groups that can be repeatedly used in the InfoPath document. Does this sound familiar? Yes, that’s right, the data source in InfoPath is the XML schema. (See, I told you InfoPath did all the hard stuff!)
To get started creating your data source, click the Data Source link from the Design Tasks panel on the right. InfoPath will always name the first group myfields. (See Figure 7.) You can rename this group by doubleclicking myfields in the Data sources list and typing in a new name.
When creating your data source fields, keep the following in mind. Use descriptive names for your data fields. For example, you should name a field for learning objectives Learning_Objectives or LearningObjectives, not field1. Notice that I used an underscore in the field name. The initial cap format in the second word is another option. InfoPath cannot read spaces in the field names — this is actually a restriction of XML. Establish a punctuation standard before creating fields. One option is entering in all field names in all lowercase or all uppercase. Consistency is key!
Figure 7 Open the Data Source panel (from the Design Tasks panel) to begin creating the data source.
To continue adding more data fields, click the Add button at the bottom of the panel, or right-click the group folder and select Add from the menu. After entering a name for the field or group, select the type (field element, field attribute, or group). (See Figure 8.)
Figure 8 InfoPath guides you with dialogs when you are adding data fields and groups.
Remember that earlier I suggested designing the form first in Word. Here’s why. Once you define a type for the field, you cannot change its type later. Although you can delete fields and start again, consider the type of structure or hierarchy you envision for your content before you begin to design.
For example, will you have more than one learning objective? Most likely, you will. So the learning objectives data field will need to be a repeating group. Check the checkbox next to Repeating in the bottom left corner. This will create a repeating group and will enable the form user to add more learning objectives in the form.
Finally, select a data type for the field. Carefully consider the kind of data that the field will capture. (See Figure 9.) For versioning, you might create a field called version and set the data type to “Whole Number” (integer). However, if you plan to enter version numbers as 1.1, the Whole Number data type won’t be valid. Instead, use the Decimal Number type. You must click OK to confirm the new field after making your selections.
Figure 9 Select the most appropriate data type for your fields. This may require some planning and thought about your development process, such as versioning.
Design the form layout
After finalizing your data sources, you can begin designing and positioning your fields in the form layout area. Common design layout options that are available in Word are also available in InfoPath. The ability to format text, add color, insert hyperlinks, add images, and use layout tables are some of the design features available. In addition, you can utilize the many form-control options such as checkboxes, date picker, or rich-text boxes to control your data display. For the best organization and position placement control, I recommend layout tables as the way to organize and position your data fields on the page. After the table structure is in place, you can drag your data sources to the desired table cell position on the form layout, and add controls, color, and other formatting. To create the layout table, choose Table → Insert → Layout Table or click the layout link from the Design Tasks panel to select a pre-defined table layout.
For usability, break your form into sections with a separate layout table for each content section. Form design best-practice suggests that users complete forms more accurately if they are presented with blocks of fields grouped together by relation. For example, group your needs-analysis fields together in one table. Place your learning content outline in a separate layout table. The power of color will also help separate information into defined groups. Choose Format → Color Schemes to set up different colors for layout tables. As you begin creating different layout views for your form, color schemes will help differentiate the document views. I’ve made a Captivate movie available that illustrates this. See the Resources section for more information.
Add Form Controls
After positioning fields in your table layout, review your fields to determine if a form control might display the information more efficiently. For example, I have a field called contentType. This field describes the type of interaction the e-Learning will be: demonstration, exercise, video, or synchronous learning. To control user data entry, it is best to display this field as a drop-down list box. (See Figure 10.) Right-click the field in the layout form, select Change To... from the menu and select List Box. Right-click the field again and select Properties. Here you can enter the values for your list box. Click the add button in the bottom right corner to add values. Use the arrow buttons to reorder any values and click OK. Note that in the data structure, you can convert only fields to form controls. You cannot convert groups (the folder icons).
Figure 10 It may be advisable to add form controls (such as drop-down lists or option buttons) in order to make it easier for users to fill in the fields.
As you design your form, periodically preview it to see how the form will function. Click the Preview Form button to view and enter data into the form. To return to the design view, click the Close Preview button. (See Figure 11 for the location of these buttons.)
Figure 11 Use the Preview Form button as you design to see how your form will function.
Design the views
Remember earlier, when discussing some of the problems in creating rapid design, I mentioned dealing with multiple documents and versions. Creating multiple views in one InfoPath document is the solution to this dilemma. A view is a defined form-specific display setting that is saved within the form template, and applied to the form data when the user fills out the form. The same data fields are available for each view; however, you can filter out fields for specific users. (See Figure 12 ) Creating different views for each of the instructional design forms streamlines the process. An InfoPath document can have a design document view, a story board view, and an SME view. If you need an audio script for your voiceover talent, just create a view that displays only the voiceover text. To create additional views, select the Views link from the Design Tasks panel. From the Actions menu at the bottom select Add a New View and type in a descriptive name for the view.
Figure 12 InfoPath makes it easy to deal with versioning and with the needs of multiple contributors, by making it easy to set up views.
There is a shortcut for creating views. Since the views share the same data source, after creating a new view, copy the fields and layouts from another view and paste into the new view. Modify the fields for this view as needed, and change the color scheme design of the table layout as well so that users can easily tell one view from another.
There are also some tricks for using views. Give your views descriptive names based on their purpose — for example, design document, or SME review. You may designate one view as the default by right clicking the view and selecting Set as Default. This is the view that will automatically be visible when the form opens. I usually designate the SME view as the default view. Other users can access the desired view from the View menu in the published form. To prevent editing of specific fields in a view, right-click the field, select the Display tab and check the Read-only box.
Publish the form
You have created your data source, designed the form layout, and created custom views as needed. All that is left is to publish the form. Choose File → Publish and walk through the Publishing Wizard. Prior to publishing, ensure that you have designated a shared location to publish the form. All users must have access to this location. A Web server or Microsoft Share Point Content Server are the best locations, however, a shared network directory folder works as well. The Publishing Wizard will prompt you to select the desired location to complete the publishing process. (See Figure 13.)
Figure 13 The Publishing Wizard helps you select the hosting location to complete the publish process.
Think of a published InfoPath template form as a Word template. Double-clicking the template to open it will generate a new blank form from the designed template.
After you have published a form, you can still modify the form data sources and design. To open a published form, you must choose File → Open and browse for the InfoPath document (it will have a .XSN file extension) or right-click the InfoPath document in a folder and choose Design from the shortcut menu. You cannot double-click a document to open in Design view as this will generate a template of the InfoPath form.
There are a few things to remember when using InfoPath.
- First, as with any Microsoft product, there are always Service Packs and updates. With InfoPath 2003, you will want to make sure that you at least have SP1 installed as well. You can download this from Microsoft’s Web site. Choose Help → About Microsoft InfoPath to check that SP1 has been installed. Microsoft is now releasing InfoPath 2007, so make sure everyone is using the same version.
- All users must have InfoPath installed on their computer to access InfoPath documents. In addition, InfoPath documents have the restriction that they must publish to a shared directory or Web site where everyone who uses the form has access. The upside to this is that you only have to make any new data elements or any layout changes once in the source document. Once published, all previous versions of the document will update with the changes when the documents are opened the next time. So, for example, I received a request to change the font size in the documentation from 10 to 12 — after 20 XML documents had already been created. I changed the font size in the master template, republished it, and all the documents based on that template updated to the size 12 font.
- If you are using graphics in your document, these graphics will not export over when exporting a document to a Microsoft Word version. Here are some solutions. If you have some kind of PDF software, choose File → Print and choose PDF print format. PrimoPDF is free PDF software (http://www.primopdf.com) you can use if you don’t have Adobe Acrobat. The other option is to copy the picture from the InfoPath document by selecting Edit → Copy and pasting it in the correct position in the Word document.
Harnessing the power of XML with InfoPath can expedite your design phase, through the creation of reusable design documents. Remember to carefully plan your data and structure with the entire team before jumping into the InfoPath document design. By creating forms that employ usability and display audience-specific information, you can streamline your design flow and tailor the process to meet the needs of your team and learning programs.
Additional documents and Captivate tutorials are available from http://www.id-webworks.com/documents/ infopath.zip. Books:
Aitken, Peter, Powering Office 2003 with XML, Wiley Publishing, Inc., 2004.
Robbins, Thom, Programming Microsoft InfoPath: A Developer’s Guide, Charles River Media, 2004. Watt, Andrew H., Microsoft Office InfoPath 2003 Kick Start, Sams, 2004.
Barker, F. Scott., Beginning InfoPath 2003, Wrox, 2005.