Thursday, February 28, 2008

First Thoughts After ASTD Sessions

I’m on the flight back from ASTD TechKnowledge and thought I should try to capture some initial thoughts from the conference and sessions while it was still fresh and before life clouds my memory…

I did two sessions and face time at the conference. I also had some really good lunch conversations. I found that one-on-one and small group is a fantastic way to have meaningful discussions. It’s too bad that there aren’t ways to do more of this at a conference.Are there models for this that people have seen work at different kinds of conferences?

I need to go back and look at Better Conferences, Be an Insanely Great Professional Conference Attendee to see if there were suggestions.

I read the evaluations from both sessions before I left. I always appreciate written comments thanks to the people who spent the time to write something. By in large I got very favorable evaluations on the first session and a mixed bag on the second.

The first session was an Introduction to eLearning 2.0. The slides were similar to eLearning 2.0 Presentation - ISPI Los Angeles.

I felt this session when pretty well. The audience had diverse experiences, backgrounds which always makes it challenging. Generally people were familiar with what a Wiki was, but few had ever edited a Wiki page or seen it done. At least I showed that in my session.

About 15 out of 130 were bloggers – likely on personal topics – one was politics. Only 2 people said they read my blog. Yikes.

Almost no one was familiar with social bookmarking.

How much ground can you really cover in an hour? I tried to go all the way from the overall landscape to individual tools back to the new landscape that is eLearning 2.0. That was a big challenge.

I’m going to do a similar presentation in June at ASTD ICE in San Diego. I’m going to try to work on improving the flow a bit. Otherwise, I’m not sure what I’ll change.


The Second Session was intended to be a discussion session that was eLearning 2.0 - Applications and Implications - a follow-up to the first session. I used suggestions from Conference Breakout Sessions to help me design this session.

As I said, the second session was not rated as high. I’m going to write a follow-up post around the discussion in the session and some other more detailed thoughts. But some high level thoughts... Oh, and I just saw that Kevin Jones posted his thoughts around the session: TK08 - Tony Karrer and Implementation of Social Learning.

Challenges / Mistakes

  1. Needed a better session description. It was not clear that this was a discussion, Q&A with relatively little presentation.
  2. I was planning for 30 and instead had more than 100 – not even sure how many more. I have not been successful getting into small group discussions at large conferences.
  3. Room was way too big and hard to hear some contributions. And with that size, people were not able to get their questions asked and answered. I’m sure it was probably somewhat frustrating. However, some people said upfront that they wanted to be lurkers, so maybe it was okay for them.
  4. I needed to seed the audience with more people who had hands on experience. We had about 7-10 people with real experience of different kinds.
  5. People did not offer up as many examples of where they’d like to use Blogs, Wikis, Social Bookmarking as I anticipated. I thought they would be just rolling out. Especially with the survey to prompt some ideas. It would have made the session a lot more energetic. Again, seeding would have worked much better. Once I started asking for examples, that worked well. Of course, it was hard to hear.

Things that went okay / well

  1. I’m really glad I didn’t do small group discussions Conference Breakout Sessions - thanks everyone for steering me away from that. It would not have been good.
  2. Good examples from the audiences. Intuit – Wiki for customers to discuss tax issues. Worried about quality. In the end, updates happen in about 5 minutes if someone posts something wrong. Good adoption.
  3. People were able to voice challenges that they faced and I feel we had good discussion / sharing around these challenges. Kevin said he was frustrated that he couldn't jump in and dismiss some of these more quickly. I think I should have attacked it that way instead of getting the list all at once.

Overall, I might try to do this again, but I’m going to have to figure out how to overcome some of this. Clearly 75 minutes is not enough to discuss eLearning 2.0, but having a discussion of eLearning 2.0 for the next 75 minutes is not quite right either. More guidance and structure would have probably been better. Hmmm … okay, I’ve got some ideas. That makes me feel a bit better.

Wednesday, February 27, 2008

LiveScribe Pulse Smartpen-Language Translation

I have made several posts about the LiveScribe Pulse Smartpen and can't wait to get my hands on it. The LiveScribe Pulse Smartpen is a new computing platform with tremendous promise. In the video link you can see the Pulse Smartpen in action as it translates from English to Spanish, English to Mandarin, and English to Arabic. It is really exciting to see the Pulse Smartpen in action. Just think of the power and the application that this computing platform has to offer.

Show Branch Alone in MindManager 7

There are times when you have developed a rather complex MindManager 7 map, that all you want to do is just focus in and isolate that branch so that you can attend to the information that is on that topic. The Show Branch Alone command is a great feature which lets you do just that. All you need to do is click on the Topic and go to the View Menu and select Show Branch Alone. You can accomplish the same thing by Pressing the F4 key. The F4 key when you have a Topic selected toggles between Show Branch Alone and Show Other Branches. I have created a short screencast in Camatasia Studio 5 to show you how it works.

Xdrive -Free 5GB of Online Storage

If you are looking to store your files on-line you may want to take a look at Xdrive which will provide you with a free 5GB account. Xdrive announced the release of the Xdrive Desktop Lite client that has been developed using Adobe Air, which once installed lets you drag files from your desktop or USB drive right into your Xdrive account. I installed the Xdrive Desktop Client today and it worked like a charm. Within minutes I was able to drag my files and have them stored on-line. By setting permissions for files you can easily share files with friends and family. Once your files are stored you can access them with any computer with any internet connection. Give it a try! If you need more space you can subscribe for premium storage plans that start at $9.95 a month for 50GB of storage.

Monday, February 25, 2008

Long Tail Learning - Size and Shape

Beth Griese - posted a response Is Learning 2.0 a long tail? to my post Corporate Learning Long Tail and Attention Crisis. In it, Beth shows a graphic:



This caused us to have a good exchange. Beth tells us:
I'm thinking of "topics" as anything that an organization's people would want to learn about for their jobs. I'm not limiting that to the "traditional means" training topics, but I do limit that to things that are job-related, which is why I think the tail has a limit.

I'm thinking that the scope of the demands from our learners are finite and still within the means of a training department (with the help blending training programs and of the social knowledge of the company properly harnessed), rather than requiring the power of an Amazon-sized retailer to meet a near-infinite long tail of interests.
If I think about myself and my current and future information needs that relate to all aspects of my job, these are continually changing and growing. So, even if there was a way to define my current tail, tomorrow there's more. And when you talk about all people within an organization, well it seems clear that it's very, very large - effectively infinite. So, I'd want to make sure that we don't delude ourselves:
  1. Long tail learning is effectively infinite
  2. There is no way for an individual to keep up (see Kathy Sierra's The Myth of Keeping Up) much less learning and development.
  3. Trying to "keep up" and putting ourselves in the producer role is not going to work.
Instead, I truly believe that the information needs are tracking the shift shown in the following graph (and Beth's graph seems to agree with this except that she cuts it off):



We have to face up to the reality that information needs are shifting and our role can either only focus on the shrinking tall end of the long tail or we can look at how we can play in the long tail where smaller audience sizes, rapidly changing content, etc. makes it such that traditional "topics" kind of approach doesn't really fit.

There's quite a bit more on the size and shape of the long tail through my post on Long Tail SEO - 60+ Articles.

Sunday, February 24, 2008

Fix Central: A central place to get your Informix fixes

In this article I'll cover one of the sites that IBM uses to improve it's interaction with customers. As many Informix customers know, traditionally we would only have access to the normal releases.
Theese would be like IDS 10.00.FC8, or CSDK 3.00.TC1 etc.
I won't go into details explaining the meaning of all the release code fields, but you probably know that any two letters and one numeric digit following major and minor versions (FC8 and TC1 in the examples) mean that this is a standard, generally available release level (internally called Interim Release). It includes mainly code fixes, but can also include some new features and they are cumulative (FC8 should include all the corrections and features that went into FC7).

But, if you ever hit a bug and contacted support, then you probably ended up with a patch level like 10.00.FC7X5 or 11.10.FC2W1. These have special meanings... The "X" letter, followed by a numeric digit means this is a special build, generated from a customer request, and it includes one or more bug fixes. It is not cumulative, meaning X2 may have a completely disjunct set of fixes from X1 and also X1 on one platform may have nothing in common with X1 on another platform.
"W" means it's a Post Interim Drop (PID). These were introduced a few years ago, and they are build for the major platforms. These release levels include a set of fixes (no new features) and are made from time to time. They are cumulative, meaning all W1 fixes will be included in W2 (unless the fix itself has problems and has to be removed).
The idea behind all this is that the customer should not have to wait for the next commercial interim release to get a product fix, if he hits a bug.

Until June 2007, you would have to open a support case before you could have access to one of this special builds. Then your support engineer would give you specific instructions on how to download the fix from a temporary location (or you could receive the fix by mail if you prefer).
Since that date, IBM made available many of these fixes in a new system or web site, called the Fix Central.
You will need a valid ibm.com account, associated to a valid Passport Advantage customer account. Then, assuming your PA account entitles you to use the specific version you will have access to some of these fix releases.
This makes the interaction between customers and IBM technical support easier, and it also gives the ability for a customer to access and test the most recent releases by himself. If you fill you're hitting a bug, and after searching the support site you find an APAR (Authorized Program Analysis Report) that matches it, you may search for a fix that solves it in the Fix Central site.
The searches can be made by product family, APAR, release level and platform. So this means you have a lot of flexibility and ease of use.

I'll end this post with some references where you can get more details about all these:

Friday, February 22, 2008

Learning Object Tools

A reader from another country has asked me about Learning Object Tools. I asked him to clarify what they meant and the response was:
Learning Object Tools are those that allow you to create, edit and manage learning objects.
There is also a bit of language barrier. I pointed them at the Wikipedia article - Learning Object. It cites quite a few repositories and briefly mentions "Burrokeet is an Open Source Software tool that assists in the creation of Learning Objects from existing content. " This is something I'm not familiar with. I also suggested looking at LCMS products. And looking at SCORM / SCOs.

But it got me to thinking that I've really not looked at Learning Objects in quite a while - and I've not really kept up on Learning Object Tools.

So, I was hoping that someone could help me and him:

  1. What are good general discussions of learning objects and learning object tools?
  2. My impression is that these were a big topic about 4-5 years ago, and a lot is happening in academia, but not much is happening in corporate spaces. Is that the right impressions?
  3. What are the categories of tools that represent this space?
  4. What are some specific tools within those categories?
Any help would be appreciated.

Thursday, February 21, 2008

Cheetah 2: The cat is out for it's second open beta...

As the title suggests, IBM has just made available the IBM Informix Dynamic Server (IDS) 11.50 (codenamed Cheetah 2) for anyone wanting to test it. It's the second open beta of an IDS version (the first happened last year with 11.10 - Cheetah).

The process is a little bit more complex than the previous beta. This time you have to send and email requesting access. The system will provide you with an access code and you'll receive a copy of Carlton Doe's book on IDS 11.

Again IBM proves it's commitment to Informix technology and to it's customers, by providing a new release available in about 1 year.

This beta program includes a non-disclosure agreement and we cannot talk about it... But I'm sure as soon as the new features are announced we'll see a lot of articles about them, and I plan to cover some of them here in detail. For now, please check the release notes :)

So, in order to get hold of your copy, just go to http://www.ibm.com/informix/new and click on IDS 11.50 beta. As I mentioned above, the process will take longer than last time, but you'll receive your copy of Carlton's book.

Once again R&D has made a wonderful job in providing excellent new features. I'm curious to know for how long the competition will play the 'FUD' song to customers...

Wednesday, February 20, 2008

Work Learning - Same Thing

Mohamed Amine Chatti (a fellow Eddie eLearning nominee) last two posts The LaaN Perspective, and Requirements of a PLE Framework are both interesting posts and worth reading.

His requirements for a PLE Framework include:

  • Personalization
  • Social features
  • Social filtering
  • Incorporate various Web 2.0 concepts and technologies (mashups, widgets, aggregation, OpenID, RSS, etc.)
  • Flexibility and extensibility
  • Web browser platform
  • Aggregation/Mashups
  • Ease of use
Several thoughts jumped out at me:
  • The concept of a Personal Learning Environment (PLE) exists, but actual PLEs only exist as theoretical combinations of skills, methods and tools. The concept of a Personal Learning Environment Framework gets it even farther from some actual system. There will be Social Network Operating Systems that will allow us to pull together our highly personal environment. But, too much structure is not going to work.
Knowledge work is not separate from learning.
Yes, there are times that Knowledge Workers will step away from day-to-day activities to go do developmental learning activities that may not be directly related to their day-to-day knowledge work. But that's the exception. In almost all cases work and learning is inseparable.

To me, it does not make sense to look at using one environment (an LMS or PLE) as part of learning and another environment as part of knowledge work.

That's the reason I call these:
Personal Work and Learning Environment (PWLE - pronounce p-whale)
And there's only one for me. It's the set of methods, skills, tools that I use to perform my day-to-day knowledge work activities where I acquire information, knowledge, etc.

Luckily all of the requirements that Mohamed cites apply equally well to a PWLE.

I'm curious if anyone actually sees this different? Do we gain something by separating them?

If we are going to make progress with Corporate Learning Long Tail and Attention Crisis, I think we have to think about these things in an integrated fashion.

Chuck Frey Has Posted the Results of Latest Survey

Chuck Frey has posted the latest results of the whats "Hot & Not" survey on his blog. I had a chance to read it and was surprised at some of the findings. If you have the chance take a look at the findings and let me know what you think.

February Mindjet Newsletter is Out

If you are a MindManager User then take a look at the just released Mindjet February Newsletter. You will notice that the newsletter has been totally redesigned with lots of great MindManager information and articles. You will find great maps and articles by Jamie Nast, Stephanie Diamond, and CJ Cornell. Each month I will contribute a video tip demonstrating how to do use one of the many MindManager features. The new Mindjet Newsletter not only looks greta but is chock full of great tips and information. Enjoy!

PS: Additionally, I am available to help your organization create video tutorials for in house training using state of the art screencasting software. If you look at my blog you will see some examples of the work that I have done using Camtasia Studio 5.

Tuesday, February 19, 2008

Andrew Wilcox Starts MindManager Blog


Noted MindManager User and Trainer Andrew Wilcox has started a blog focusing on MindManager solutions. Andrew is quite active on many MindManager Forums and runs Cabre, a UK-based training firm that provides training on MindManager . It will be great to have Andrew write regularly about MindManger. I for one am looking forward to his blogs and posts.

Corporate Learning Long Tail and Attention Crisis

John Seely Brown and Richard P. Adler’s recent article - Minds on Fire: Open Education, the Long Tail, and Learning 2.0 talks about the implications of the Long Tail on Education. The article is definitely worth a read, and it got me to finally write about what I see as a crisis in corporate learning.

Background

If you are not familiar with the concept of the Long Tail, head over to take a look at the Long Tail article on Wikipedia. It's a pretty good introduction to the main concepts around a very important concept. You can also look at getAbstract's - Abstract on Anderson's The Long Tail.
The core idea is that for retailers like Amazon, they sell very large volumes of titles that cannot even be carried in a bricks-and-mortar store.


Typical Long Tail

Carried further, when distribution, storage and production get lower, it becomes viable to sell relatively less popular products.


Thus, markets in Long Tail situations shift towards larger volumes of increasingly broader products with smaller volumes at the top.

This is happening in many situations: major publishers (CNN, Yahoo, Cnet) competing with niches publishers, competing with blogs; TV production facing a widely distributed audience across 500 cable channels and YouTube. There's quite a bit more on this in Long Tail SEO - 60+ Articles.

Since everyone still has the same amount of time to spend consuming all of these products or information, they are naturally going to spread their time over broader and broader range. This gives rise to the Attention Economy where the scarce resource is not distribution channels or information, the scarce resource is attention. Each person only has a certain amount of time. Where we choose to spend that time is important. And even if we are successful in getting someone’s attention, we often get Shorter Attention Spans and only getting partial attention - Stop Reading - Skim Dive Skim.

If you think about the Long Tail graph, it works just as well when we substitute Attention instead of Sales.

Impact

How does this impact the world of learning organizations and corporate learning functions (training organizations)? Consider the following:

  • Corporate learning functions today act like a publisher / distributor.

  • The average knowledge worker has access to an increasingly large set of information resources and corporate learning is an ever smaller part of this set.

  • Cost is most often not a factor in a knowledge workers decision about the use of information. Time (attention) is much more important. Factored in is expectation of quality (how much time I need to spend filtering the content to determine if it’s of value). As a quick example, we choose our preferred search engine in large part because we feel it will be the best investment of time to find the best quality information.

  • Information sources will continue to grow exponentially, so Corporate Learning as a traditional publisher will be able to focus on an ever smaller portion of the knowledge worker’s needs.

If we do not receive attention, we risk becoming progressively marginalized. Receiving attention becomes far more important than it ever was and will require far more effort than in the past. Corporate learning is in the midst of an attention crisis.

  • Corporate learning functions are seeking to find ways to lower production costs so they can attack broader markets – go farther into the long tail. They look to eLearning approaches to lower distribution costs. They look to rapid authoring tools to lower production costs.

  • For corporate learning functions to really impact the long tail, they will be forced to look at eLearning 2.0.

What we know at any point in time has diminishing value.

  • Corporate learning is also facing the fact that anything they create and publish becomes out of date that much faster so effective production costs are increasing.

Challenges

The list of issues above represent what can truly be considered a crisis for corporate learning organizations. It's a crisis born of the Long Tail and the Attention Economy. A whole range of challenges result. I believe our first challenge is to really recognize our current world and the Disruptive Changes in Learning and realistically that we are facing an Innovators' Dilemma in Learning/eLearning.

Corporate learning functions will either continue to focus on the front of the tail and an ever smaller portion of the total information needs of knowledge workers or will look to expand into the long tail. To play in the long tail, corporate learning functions will need to:

  • Find approaches that have dramatically lower production costs, near zero
  • Look for opportunities to get out of the publisher, distributor role such as becoming an aggregator
  • Focus on knowledge worker learning skills
  • Help knowledge workers rethink what information they consume, how and why.
  • Focus on maximizing the “return of attention” for knowledge workers rather than common measures today such as cost per learner hour.

Focus on Personal Work and Learning Environments (PWLE) - More Discussion and Personal Work and Learning Environments.

These challenges represent some pretty dramatic questions for us:

  • How do we get into the attention economy business?
  • How do we dramatically lower production and delivery costs?
  • How do we support self-service learning and user generated content?
  • How do we foster knowledge worker skills?
  • What are the new metrics?
  • What does this mean for our current learning systems?
  • How do we aggregate content?
  • What are the legal and compliance issues?
  • What are the new roles that must be created to go after this?
  • Where do our skills fit? What new skills do we need?

This is going to be interesting!

Sunday, February 17, 2008

Informix user authentication: PAM for the rescue (part 2)

I hope you had the chance to read and eventually follow part one of these series of articles related to IDS authentication using PAM. If you did, you already know the basics of PAM and how to setup IDS to authenticate against an LDAP or Active Directory server.
But there are still several topics we need to cover to fully understand IDS PAM authentication:
  • Challenge/response and implicit (no password) connections
  • How to setup distributed query environments using PAM
  • Can we develop customized PAM modules?
  • What are the current IDS PAM limitations?


Challenge/response and implicit connections:

Most of us, people working with Informix, know that besides the usual user/password connection we can establish what we usually call implicit connections. These connections are based on trust relations between the client and the server or between a specific user on the client and a user (the same or other) in the server.

These trusts are configured exactly as the trust relations for the "r" commands (rsh, rcp, rexec etc.).Specifically you must use the /etc/hosts.equiv or the ~user/.rhosts files. Just as a side note, I've found many customers that assume they need these services in order to Informix trusted relations work. This is not correct. You can work with the files even if the services (rshd, rexecd etc.) are down. And it's probably much better to leave the services down since they raise a lot of security issues.
These connections are normally used in environments using 4GL and ESQL/C applications. More modern applications (Java, J2EE, .NET, PHP, Ruby, Python, Perl etc.) use the more usual user/password mechanism. 4GL and ESQL/C can also use user/password, but typically they use the implicit connections for simplicity and because they normally run in more controlled environments.
dbaccess, the ASCII tool that every Informix DBA uses can use both types of connections. If you specify the database in non interactive mode it will try implicit connection, but using the menus or specific instructions will allow you to make user/password connections. So, how does all this relate to IDS PAM authentication? Read on...

PAM is based on a challenge/response mechanism. The modules will throw challenges to applications, and these should respond with the correct answers to these challenges. A correct answer will fulfill the modules requirements and a wrong answer will cause module failure.

So in a sense, you can consider the user/password has a challenge/response case. If the module you're using requires a password and you use a user/password connection everything will be handled transparently for you, assuming the module has been configured in password mode (pamauth=(password) in $INFORMIXSQLHOSTS)

But we can configure the modules in another mode (pamauth=(challenge)). This has to be done if we want to use implicit connections with PAM.
In these cases you have to prepare your application to answer the challenges issued by modules. This is done only in recent versions of Client Software Development Kit (CSDK) and JDBC driver, and the way it works is by allowing you (the developer) to code a callback function to answer challenges. Whenever the authentication modules raise a challenge, the CSDK or JDBC interface code will forward this challenge to your function. Obviously you need to register it as a callback function for PAM authentication. In ESQL/C the API function to do this is called ifx_pam_callback(). You should declare your callback function like this:

int callback(char *challenge, char *response, int msg_style);

and then register it:

ifx_pam_callback(callback);


The callback function must be declared with three arguments:
  1. char *challenge
    The challenge issued by the authentication module
  2. char *response
    The answer provided by the callback function
  3. int msg_style
    The kind of message the module sent
Depending on the module you're using you may choose to give automatic responses or else forward the challenge to the user and allow him to introduce the answer. The msg_style parameter can be used for this, and is the module choice.
If you choose to ask the user, the same callback function may work with very different modules, as long as the user understands the challenges and can provide a correct answer. This approach implies that you'll have to bother the user, which is a different behavior from the traditional implicit mechanism of authentication.
On the other hand you may choose to code the answers in the callback function, or allow it to find the correct answer automatically. This approach forces you to adapt your callback function if you choose to change the authentication modules. As an example you could arrange the callback functions and a PAM module to authenticate through key exchange, or through a set of questions and answers that only an algorithm could understand. Connections would be allowed only to clients using the correct callback function.

In JDBC the callback mechanism is provided by the IfxPAM() method in IfmxPAM interface.
If you have CSDK installed, you can find an example of a callback function being use in an application. Check $INFORMIXDIR/demo/esqlc/pamdemo.ec

But the real beauty comes when you also see the other side. That side is the PAM module itself.
To show you this I will borrow an example published in DeveloperWorks, more exactly here.

The authors are three IBMers who have created an example of a PAM module that I will reproduce here with very small changes:

/*
example from http://www.ibm.com/developerworks/db2/library/techarticle/dm-0704anbalagan/
with slight changes and a few comments
*/


#include <link.h>
#include <string.h>
#include <security/pam_appl.h>
#include <security/pam_modules.h>

#ifndef PAM_EXTERN
#define PAM_EXTERN
#endif


/*
This implements the main PAM API function. This will be called when we create a
PAM service like:

auth pam_demo_mod required


The function signature is defined in the PAM include modules
*/

PAM_EXTERN int
pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char *argv[])
{
struct pam_conv *conv;
struct pam_message msg[3], *msgp;
struct pam_response *resp;
const char *user;
char *answer, *prompt[2], *vanswer[2];
int pam_err, retry;
void *handle = NULL;

/*
Define three prompts. We will raise three challenges. Two questions and an info string.
The answers are shown in parenthesis.
The user will see the questions and the answers. Only for demonstration purposes of course!
*/

prompt[0] = (char *) strdup("Your school name (MIT):");
prompt[1] = (char *) strdup("Your maiden name (SUZE):");

vanswer[0] = (char *) strdup("MIT");
vanswer[1] = (char *) strdup("SUZE");

pam_err = pam_get_item(pamh, PAM_CONV, (void **)&conv);
if (pam_err != PAM_SUCCESS)
return (PAM_SYSTEM_ERR);

msg[0].msg_style = PAM_PROMPT_ECHO_OFF;
msg[0].msg = prompt[0];
msg[1].msg_style = PAM_PROMPT_ECHO_ON;
msg[1].msg = prompt[1];


/*

Send the two challenges to the client

*/

for (retry=0;retry<2;retry++) msgp =" &msg[retry];" resp =" NULL;" pam_err =" (*conv-">conv)(1, &msgp, &resp, conv->appdata_ptr);
if (pam_err == PAM_SUCCESS){

/* No response needed for text info and error msg */
if ((msg[retry].msg_style == PAM_TEXT_INFO) ||
(msg[retry].msg_style == PAM_ERROR_MSG))
{
continue;
}
answer = resp->resp;
if (!answer){
pam_err = PAM_AUTH_ERR;
break;
}
if (strcmp(answer, vanswer[retry])){
pam_err = PAM_AUTH_ERR;
break;
}
}
}
if (resp){
if (resp->resp){
free(resp->resp);
}
free (resp);
}
return (pam_err);
}

/*
The functions below are required, but not used in this module
They are called for account/session etc.
So, we'll just return success
*/

PAM_EXTERN int
pam_sm_setcred(pam_handle_t *pamh, int flags,
int argc, const char *argv[])
{
return (PAM_SUCCESS);
}

PAM_EXTERN int
pam_sm_acct_mgmt(pam_handle_t *pamh, int flags,
int argc, const char *argv[])
{
return (PAM_SUCCESS);
}

PAM_EXTERN int
pam_sm_open_session(pam_handle_t *pamh, int flags,
int argc, const char *argv[])
{
return (PAM_SUCCESS);
}
PAM_EXTERN int
pam_sm_close_session(pam_handle_t *pamh, int flags,
int argc, const char *argv[])
{
return (PAM_SUCCESS);
}

PAM_EXTERN int
pam_sm_chauthtok(pam_handle_t *pamh, int flags,
int argc, const char *argv[])
{
return (PAM_SERVICE_ERR);
}


Create a file called pam_demo_mod.c with the above code and then compile/link it with:


cc -g -c pam_demo_mod.c
ld -G -o pam_demo_mod.so pam_demo_mod.o -lpam


If it works, you should have a pam_demo_mod.so module in your current directory. This is your newly created module. As I mentioned in part 1 of this series, it can be really simple to implement a PAM module.

Now, to show you how this works, we'll have to create another PAM service in our IDS instance.
This is similar to what we've done for LDAP authentication. Follow this steps:
  1. Edit $INFORMIXDIR/etc/$ONCONFIG and add another DBSERVERALIAS (let's call it cheetah_chg):

    DBSERVERALIASES cheetah_pam,cheetah_chg,cheetah_drda                # List of alternate dbservernames

  2. Edit your $INFORMIXSQLHOSTS and configure this new service:


    cheetah_chg onsoctcp pacman.onlinedomus.net 1532 s=4,pam_serv=(ids_pam_challenge),pamauth=(challenge)

    Please note:
    1. We must choose a different PAM service name (ids_pam_challenge)
    2. The pamauth option is set to "challenge"
  3. Create a file called /etc/pam.d/ids_pam_challenge with the following line:
    auth required pam_demo_mod.so
  4. Copy your newly created pam_demo_mod.so to /lib/security (or any other place where your distribution keeps the PAM modules)
  5. Restart your IDS instance

After configuring the server side, it's time to show you the client side. You must use a second machine for this. Follow the following steps:

  1. Make sure you have a stores demo called stores_demo
  2. cd to $INFORMIXDIR/demo/esqlc (in your CSDK installation)
  3. Edit the file called pamdemo.ec: Check the SELECT statement in that file and change it's WHERE clause to "customer_num=104"
  4. compile pamdemo.ec:


    esql -o pamdemo.exe pamdemo.ec

  5. Setup the $INFORMIXSQLHOST file to have the new port we just created in the other host
  6. set the correct INFORMIXSERVER:
    INFORMIXSERVER=cheetah_chg;export INFORMIXSERVER

  7. Run pamdemo.exe:
    ./pam_demo.exe
Answer what you see in parenthesis. You will see something like this:


cheetah_chg@manicminer:fnunes-> ./pamdemo.exe
Starting PAM demo
Callback function registered.
Your school name (MIT):: 1:MIT
Your maiden name (SUZE):: 2:SUZE
SQLCODE ON CONNECT = 0
John Doe

PAM DEMO run completed successfully


You can follow the code, but in brief what happened was that the PAM module we used raised two challenges which were handled and forward to the user by the call back function.
The first challenge expects an answer "MIT" an the second expects "MIT". If any of those are wrong the authentication will fail. The message showed to the user is defined by the callback function, but it can use parameters passed by the module. As I wrote above, this can have the user intervention or not. It's up to the programmer to decide and to implement it in the callback function.
This ends the topic of challenge response and implicit connections using PAM.


How to setup distributed query environments using PAM:

One of the greatest advantage of using PAM comes in fact from a limitation... When you are connected to instance "A" and want to access a database/table in instance "B" you do a distributed query. Something like:


SELECT field1, field2
FROM remote_db@remote_instance:remote_table
WHERE ...


In a typical Informix installation, this would require a trusted relation between the host running the instance to which the application is connected and the host running the remote instance.
Once you setup this trust it would be active for any instance... so you would have to be very careful with the database privileges.
Since PAM works by raising challenges between host and client, and because a distributed query can happen at any time, it would be impossible to establish connection between instances/clients when a distributed query was sent. The solution to this problem introduced a great functionality (IMHO it should have been like this since ever)... You may have noticed that since 9.4+ you have another system database called sysuser.
In this database you'll see a table called sysauth with the following structure:


username char(32)
groupname char(32)
servers char(128)
hosts char(128)


This is the place where you define the "trust" relations between your instance and remote hosts and Informix servers.

I will extend my example above... As you may have noticed I have a host called "Pacman" running an IDS 11.10 instance with the names cheetah (standard port), cheetah_pam (pam in password mode), cheetah_chg (PAM in challenge mode) and cheetah_drda (the new protocol DRDA). The other host I used to run the pamdemo.exe example is called "ManicMiner". In this host I have created another instance called cheetah2. I then start dbaccess on manicminer against instance cheetah2 by running:


cheetah2@manicminer:informix-> dbaccess stores_demo -

Database selected.

> select * from stores_demo@cheetah:customer;

956: Client host or user informix@manicminer is not trusted by the server.

No such file or directory
Error in line 1
Near character position 42
>


The error is expected. I tried to connect to the remote instance normal authentication port and have no trust between Pacman and ManicMiner. Let's see what happens with the PAM enabled port:


cheetah2@manicminer:informix-> dbaccess stores_demo -

Database selected.

> select * from stores_demo@cheetah_pam:customer;

950: User informix@manicminer is not known on the database server.
Error in line 1
Near character position 46


Interesting... I can't access it, as expected, but we have a different error (-950, instead of the usual -956). Let's check it with finderr:


User username is not known on the database server.

This statement refers to a database on another computer system, but the other database server does not accept your account name. You must have a valid trusted login identity on any database server you access remotely. See your database administrator about putting your login ID in 'sysuser:sysauth' on the remote server. This message appears on PAM enabled servers.


Well, it explicitly tells us to use the sysauth table of the sysuser database of the remote instance... So let's get back to the Pacman server and run:


cheetah:PacMan.onlinedomus.net:informix-> dbaccess sysuser -

Database selected.

> insert into sysauth (username, servers, hosts ) values ( 'informix', 'cheetah2', 'manicminer' );

1 row(s) inserted.

>


And now, again on ManicMiner, the same query:


cheetah2@manicminer:informix-> dbaccess stores_demo -

Database selected.

> select * from stores_demo@cheetah_pam:customer;



customer_num 101
fname Ludwig
lname Pauli
company All Sports Supplies
address1 213 Erstwild Court
address2
city Sunnyvale
state CA
zipcode 94086
phone 408-789-8075

...

28 row(s) retrieved.



So, in order to authorize distributed queries in PAM enabled engines/ports, you have to setup the authorizations in the sysauth table of the sysuser database.
You need to specify the username, the instance of origin (servers column) and the hosts originating the query (hosts column). Note the following:
  • Although it's possible to specify more than one server or host in the respective columns (separated by spaces and/or commas), you should always indicate only one server/host per row. This will be easier to maintain (if you need to remove for example) using scripting and it's possible this may change, and in the future it may only support one value
  • The host field specifies the machine where the query comes from. This will be the remote instance host and not the client application host. The existence of both servers and hosts columns allows you to have two instances with the same name in your organization and distinguish between them. I wouldn't suggest having two instances with the same name, but you may want to have it. One for production and the other for quality for example.
  • The groupname apparently is not used at this time. Personally I would love to see this field be used for specifying the default role for the user... But this is just my wish...


Can we develop customized PAM modules?


Well, the quick answer is yes. Above is an example of a dummy PAM module. As you can see it's not very complex. You just have to send challenges and receive responses. You may even just check certain properties setup by the PAM framework and decide if they verify certain criteria (things like time of day, number of sessions for that user, machine load etc.). I would say that with PAM, sky is the limit... But as we'll see further ahead there are still some limitations.

One thing that you must have in mind, in case you think about writing your own modules is security. Be aware, that you'll be defining your database authentication mechanism. You have to be careful! Your code cannot compromise authentication security nor database stability and performance. But don't let this scare you. There are plenty of PAM modules using open source licensing schemes... So, there's a good chance that whatever you need was already developed by someone, and if not, you can get examples and PAM modules skeletons to start with.


What are the current IDS PAM limitations?



Unfortunately, by the time this article is being written, there are quite a few limitations. I will try to enumerate them, and at the same time give you some insight on the status of these limitations. Some of them are perfectly known to the R&D teams, and they'll solve it as soon as possible. But given the current release schedule and the list of features they want to put in IDS it's not easy to start working on some of this issues. Let's see the list. Bear in mind this is my personal view. Nothing here represents IBM positions on any of these topics, and this does not represent any assumption on how or when these issues may be addressed:

  1. PAM is not yet supported in .NET clients
    This is a known issue.
  2. PAM authentication still requires that the OS knows about the user
    The reasons for this odd behavior relate to some features that depend on the existence on an OS identity: SET EXPLAIN to file and SYSTEM command in the stored procedures are two examples of this
    R&D is aware of this problem and accordingly to some talks they already have ideas for solving this
  3. PAM layer does not setup all the PAM framework variables. The PAM API defines these internal variables:
    • PAM_SERVICE
      The service name
    • PAM_USER
      The user name
    • PAM_AUTHTOK
      The user authentication token
    • PAM_OLDAUTHTOK
      The old user authentication token
    • PAM_TTY
      The tty name
    • PAM_RHOST
      The remote host name
    • PAM_RUSER
      The remote user name
    • PAM_CONV
      The pam_conv structure


    At this time, IDS does not establish PAM_RHOST and PAM_RUSER. PAM_RHOST would be good to have... PAM_RUSER is also not set but I have doubts it could be securely establish by IDS. The client libraries can send it, but to assume this is secure would be a mistake since the connection packets can, theoretically be handcrafted.
    I personally believe adding PAM_RHOST would be an easy fix, but I don't know the code...
  4. The groupname field of the sysuser:sysauth table is apparently not used. Accordingly to same sources this would be the OS group of the user. I really don't see great advantage in this. What I would love to see is a way to specify the default role for a remote user (eventually different from his default role, even if this is defined). This would make sense, because we would be able to specify the user default role depending on the connection origin for distributed queries
  5. Documentation!
    PAM is an area where the documentation doesn't live up to its standards (remember that Informix manuals received industry recognition...). All the features should be clearly documented... In fact, this was the main reason to publish these two articles

I think I covered most of the aspects of PAM authentication in IBM Informix Dynamic Server.
With this and the examples on this and the previous article I think anyone should have enough information to test it.

I'd like to end with some references to other material that may be useful, and relates to this:


As always, if you have any comment or doubt don't hesitate in leaving a comment or contact me.
Hope this helps to clarify PAM authentication in IDS. Hopefully more customer feedback and requirements will give R&D more reasons to solve the issues and to improve this functionality.

Saturday, February 16, 2008

Consultant for Hire

Yes- I know this is a shameless plug but why not, this is my blog. I have been doing a lot of work with MindManager Pro 7 and some of the Third Party Add-ins and feel that these are some really powerful tools to help professionals and business people manage the onslaught of information that we need to handle. If you are interested in finding out how I can help you use these tools to solve your business or professional need, please feel free to email me. Additionally, I am available to help your organization create video tutorials for in house training using state of the art screencasting software. If you look at my blog you will see some examples of the work that I have done using Camtasia Studio 5.

Thursday, February 14, 2008

SCORM Test

There have been lots of good comments and discussion on the post Test SCORM Courses with an LMS : eLearning Technology. Well worth looking at some of them.

The basic issue covered in the post was how to test SCORM courses prior to loading on a given LMS (e.g., Docent, SumTotal, Saba, Learn.com, etc.).

We talked about the SCORM test suite, SCORM test wrappers, and various test tools such as Trident, Reload player (http://www.reload.ac.uk/scormplayer.html), SCORM Test Track, remote debugging using tools like WebEx, HTTP traffic tracking with tools like Firebug, and some other things. Quite a great bit of discussion and useful information. If you are interested in testing your scorm courses, probably worth a read.

But recently someone (anonymous) left comments challenging a few of my base assumptions and I'd be curious to get thoughts. They asked:
"Why is testing courseware different? Why assume that the client or someone else is supposed to provide systems for testing for courseware vendors but not say accounting systems?"

"Perhaps you can rent or lease the software? Most major LMS vendors have their own test labs, support, and professional services."

"All of them sell their LMSs."

"There are third-party companies which you can hire to test courseware against LMSs."

"Have you ever tried contacting SumTotal about what options they have available for third-party courseware testing? What did they say? How many other LMS vendors have you spoken to?"
All of these challenge the base assumption that I made which is - the LMS vendor really is not looking to work with people who are creating small amounts of courses that need to be tested on their LMS. That's my general sense having working with a variety of different LMS vendors, but maybe that's not true?

Also, I wonder how much it would take to get the LMS setup for scorm testing? Cost? Hours?

Any comments from the LMS vendors ?

Any experience out there in working with LMS vendors to do scorm tests?

Or is it pretty much that you are using scorm testing tools and then getting on the actual installation to test and debug issues?

Safety Training Design

Some interesting discussions are going on in the Big Question for February The Learning Circuits Blog: Instructional Design - If - When - How Much. I thought I'd take a cut at an answer based on something we've been involved with recent - the design of safety training. This includes topics like driver safety, defensive driving, following rules, workplace safety, OSHA, operating machinery, wrist safety, food preparation, kitchen safety, first aid, fire, etc. There are striking similarities to most of the topics:
  • Most of the core information is already known by the learner. They probably already know the 3 second following safety rule.
  • There is likely content that is known, but ignored. Even though they know they should drive their truck 3 seconds behind the car in front, they don't because it feels like you are losing a lot of time when someone cuts in front of you and you have to slow down to allow 3 seconds again. (Note: it actually doesn't cost much time, but it does feel like it ... especially here in Los Angeles.).
  • Performers need consistent reinforcement of these messages.
The reality is that much of the training on these kinds of topics is rather boring and mundane because it assumes that its purpose is to teach the person the information in the first place.

This is where design comes in ... We have to look at the larger picture and figure out what is going to make sense.

The answer we commonly come out with is a blended solution that involves various touch points including activities for managers, posters and a series of small (15 minutes or less) eLearning pieces that focus on reminding, reinforcing and on likely bad habits. Content around bad habits addresses things like - how much does it really cost you to let the person cut in front? On most trips it is almost nothing. It's almost all perception. Yes, there are lots of studies. And, in fact, stressing about it is bad for you. Be cool, follow the 3 second rule.

Corney, yes. But possibly very effective at attacking the problem. By the way, they already know the 3-second rule.

So, what does this case of Safety Training Design have to do with Instructional Design - If - When - How Much?

The recent post by Gary Hegenbart - Why Bother with Instructional Design? Gary tells us:
For eLearning I think careful planning is required, especially for self-paced courses. For classroom training, and maybe even live online training, almost no ID is needed. Huh? An instructional designer saying you don’t need instructional design? Yep, you need course developers not instructional designers.

In the past year I’ve spent a lot of time working on instructor-led training for both in-person classes and live online classes. What I’ve found is that no matter how much work I do two things are true:

  • The instructor will always do things their way.
  • Students don’t care about instructional design.
Wow, I don't really buy these arguments. I don't disagree that the instructor will take liberties with the instructional design. And Gary later makes the point that you need a good instructor - agreed. However, they should be given a decent road map. And "students don't care" - hogwash. If the safety training design was for manager delivered training, would you want to tell the managers to teach the three second rule or would you want them to concentrate on the real point - why people ignore the rule even though they know it. Would you want them to try to do it all in one shot, or over time. Design is needed here. And you often see really poor design around exactly this kind of topic.

So, Gary's argument around this topic don't hold water for me. I definitely need some level of instructional design or my training is going to be focused on the wrong things.

What's interesting about the design of safety training is that it feels like a topic where you would need very little ID. After all, you can quickly find a list of the topics that go under something like driver safety. You'd find out that you need to teach the 3 second following rule. And you quickly jump onto a really boring (since the learner already knows the information) course.

To me, this is where Common Sense and Intuition is Not Enough around when, if and how much instructional design is needed. Common sense and intuition is why there's so much really horrible safety training eLearning in the world today.

Wednesday, February 13, 2008

Making the Most of Attending a Conference - Ideas Needed

In comments in the post Death of Magazines - Broader Deeper Coverage, Virginia Yonkers commented:
I have to wonder what you expect to get out of a conference. I have never gone to a conference with the expectation of learning anything (although it would be a nice aside) but rather to network, discuss issues, and market (myself, my institution, my discipline, my theories/philosophies).
and later
I just had two papers accepted at the AERA conference in NYC this year and am dreading it. Last year's experience was horrible when it came to the conference itself, because I felt no sense of connection with such a massive organization.

However, the learning took place when I came home and was able to read through the papers and journals I picked up while there. I also contacted some of the people whose papers I found interesting. Unfortunately, at this point in my career, I must attend these types of conferences. So I will suffer through a trip to NYC (I'm a small town girl) and give me 10 minutes of presentation.
Sadly, I've felt the same way about going to conferences. I'm going to present at the conference and I'll get together with folks for networking and discussion. I'll learn through those things, but it seems that creating a conference where I also get to have a great participation experience is not on the agenda of conference organizers or attendees. This is something I've lamented about frequently.

Lots of people chimed into the post Better Conferences and among the ideas were things like:
  • Free wifi (top choice on the poll)
  • Smaller sessions with more advanced topics and discussions (this worked great at the last DevLearn but unfortunately was at 7AM)
  • Unconference within a conference
  • Keynotes aimed at us
  • Lots of demos
  • Cheat sheets or other sharing to help you get more from the conference
But this was from the perspective of what the conference organizer should do to make it a better event. Clark Quinn told me back then that it really is up to the attendee (especially the "expert" attendee) to get more out of it.

I somewhat agree with him on this. And I've certainly tried to think through this (see Be an Insanely Great Professional Conference Attendee and Session Hopping a Practical Guide). I've also continually suggested that the key is Better Questions (see also Continuing Thoughts on Questions and What Questions Should We be Asking?).

However, Virginia's comments got me thinking. I thought about how great the conversations are at my CTO Forum where a group of peers come together. Why am I not getting value from conferences? Why is Virginia clearly dreading going to her conference? Shouldn't something that costs so much money and time offer me more value that something that's free (my CTO Forum). Something is wrong here. Maybe
As a practitioner with more experience, I'm not doing the right things to get more from my conference experience.
But what are these things? What do other people do to get more from a conference?

For more discussions on networking and LinkedIn see Networking Events in Los Angeles and Southern California, Secret for Networking at Events – Prenetworking, Pre-network with LinkedIn, Local Event Organizers Need to Adopt Social Media.

Tuesday, February 12, 2008

Web Event: PersonalBrain on My Mac

For those of you who are interested in learning about PersonalBrain for the Mac plan on attending this special webinar. I have written about the PersonalBrain and you can access my blog posts here.

http://vietnamtech.blogspot.com/2007/10/using-personallbrain-for-upcoming-web.html
http://vietnamtech.blogspot.com/2007/09/personalbrain-4-on-web.html
----------------------------------------------------------------------------------------------------------------

Web Event:
PersonalBrain on My Mac
Wednesday, February 13, 2008

PersonalBrain 4.0 is cross platform for all PC, Mac and Linux users! The software is used by hundreds of thousands of people worldwide who need to analyze, brainstorm, and synthesize a wide variety of information both on their computer and the Internet. Learn how PersonalBrain can help you link and organize all your files and Web pages on Mac OS X.
Topics Covered Include:

• Using PersonalBrain and Safari Browser to add Web pages and Thought icons
• Integrating files and folders from your desktop
• Taking notes to capture key ideas and concepts
• Moving quickly between different Thoughts with Instant Activation
• Editing and changing your Thoughts
• Working across platforms and exporting your Brain to HTML

Date
Wednesday, February 13, 2008

Time
11:00 AM Pacific, 2:00 PM Eastern

Date
Wednesday, February 13, 2008

Time
11:00 AM Pacific, 2:00 PM Eastern

TD ThinkingWorks Add-in for MindManager 7

I am always on the look out for new MindManager Add-ins and recently came across one from Thinking Dimensions, a consultancy that focuses on helping companies to make better decisions through a collaborative problem solving approach using the KEPNERandFOURIE™ thinking technologies. In order to learn more about the TD ThinkingWorks add-in for MindManager 7, I had the opportunity to speak with Ingrid Hogervorst, Product Manager to get some background information and to learn how Thinking Dimensions ThinkingWorks can help individuals and companies make better decisions. Ingrid shared with me that the company Thinking Dimensions is an International consultancy that helps companies and organizations to resolve strategic and operational issues. Using the tie tested and proven thinking methodologies developed by KEPNERandFOURIE™ the consultancy helps companies to work through problematic situations using a structured problem solving approach which helps to make the decisions making process both visible and collaborative. Ingrid shared with me that MindManager 7 is an extremely important tool to help individuals and companies to better visualize possible solutions to a problematic situation. Combining the visual tools built-into MindManager with the TD ThinkingWorks add-in provides a wonderful platform to help individuals and groups to collaborate and to think through a situation all the while being guided by the prompts that TD ThinkingWorks add-in has to offer. As Ingrid shared, all too often groups will brainstorm possible solutions which may not really be tied to the objective and may be irrelevant to the problem being solved. Using the TD ThinkingWorks add-in, ensures that groups work through the problem using timed tested approach. The KEPNERandFOURIE™ thinking technologies relies not only on rational thinking and divergent thinking but captures creative and intuitive dimensions to problem solving as well.

TD ThinkingWorks includes 5 different templates that can be used depending on the problem that is at hand. These include ThinkingWise, which can be used to clarify a vague or complex problem; CauseWise, which can be used to understand the cause of a problem; RiskWise, which can be used to identify potential risks; SolutionWise, which can be used to generate solutions to problems, and PriorityWise, which can be used to prioritize and gain focus on a problem.

I had the chance to download The TD ThinkingWorks add-in from the Thinking Dimensions website and the installation went very smoothly. Once TD ThinkingWorks was installed it appears as a tab right within MindManager 7. Clicking on the TD ThinkingWorks tab shows the ribbon and your options for selecting one of the starting Wizards which include: ThinkingWise, RiskWise, SolutionWise, CauseWise, or PriorityWise. Depending on your scenario you select one of the Wizards and you are walked through the entire process step by step. There are helpful prompts and hints on how best to answer the questions as the Wizard guides you and your team to better decision making process. The Wizard really keeps you on task and makes you think through the problem in a clear and methodical manner. This would be a great tool to have at a meeting with a projector so that everyone can collaborate as your resolve a particular issue. By going through the process, you ensure that the end result or output is relevant to the problem. When you have completed the process the Wizard in the background has been building a visual map with all of the inputs that you entered during the session. I found TD ThinkingWorks add-in to add a great deal of value to MindManager 7 and a cost starting at $29.99, you having nothing to lose and all to gain, as your teams become more effective in making problem solving highly visible, visual, and collaborative. Ingrid shared with me that she will be doing a number of webinars during the next couple of months to show people how TD ThinkingWorks can be used with MindManager 7, to help organizations make better decisions. I think that once you take a look at TD ThinkingWorks you will agree that is much value in this add-in for problem solving and decision making in your organization. For more information go to ThinkingWorks web site. If you have ad questions about TD ThinkingWorks, please feel free to contact Ingrid Hogervorst, Product Manager.

Monday, February 11, 2008

Death of Magazines - Broader Deeper Coverage

Rick Nigol posted and reminded me of a post by Donald Clark - Training magaZZZZZZZZZZines. Both are lamenting about the fact that picking up any publication tends to cover roughly the same ground over and over. I have a similar feeling about the limited value of these publications for me and it's something that I mention at most presentations I ever do on eLearning 2.0. In particular, I say that since I've begun to shift my scanning behavior to blogs (scanning is how you stay up-to-speed on a topic) - my rapid fire skimming of blogs via a Skim Dive Skim approach has meant that magazines have mostly become pretty irrelevant to me. I will bring copies of magazines on a plane to flip through, but rarely do I read articles in any great depth. They simply are not worth my Limited Attention.

In other words, my scanning behavior has radically changed because of blogs (see Time Spent on Blogging, Personal Learning Strategies).

I also lump into this most of the activities at conferences (see Better Conferences). In fact, my limited attention has made me into a Session Hopper. It's much like skimming, but at a conference.

But Rick and Donald got me thinking that the reality is that Magazines and Conferences continually must aim at introductory, novice, overview level content. That appeals to the broadest audience. And somehow, ASTD conferences attract 50-75% newbies to ever conference. If you look at it, there is a relationship here:

Introductory / Novice Sources:
  • Conference Sessions
  • Training
  • Wikipedia
  • Magazines
What's common about these is that they are higher level coverage from a more trusted source, but they only go to a certain depth. And, yes, after you've gone through these for a while, they tend to be fairly repetitive.

Expert Sources:
  • Search
  • Blogs
  • Conversations with other experts
These sources tend to offer more depth along more narrow topics. Further, there is a tendency to involve other people in conversations to really explore the topic. The conversations can happen in all kinds of ways both online and offline.

The conference sessions I present on eLearning 2.0 and the articles I write on various topics (e.g., Learning and Networking With A Blog (T+D article)) have to be somewhat of an overview. You cannot assume that people come with a common understanding of a topic. And I would suggest that I normally focus on more advanced topics.

In Disruptive Changes in Learning, I point to how the long tail of learning is addressed through alternative sources...
  • Mainstream media -> YouTube
  • Mainstream press -> Blogs
And this has real impact when you see things like: InfoWorld Folds Print Magazine and you also see things like The Industry Standard coming back, but as an aggregator / prediction market.

It will be interesting to see what begins to happen to mainstream sources that chase large audiences. Can they survive with such broad coverage? Can they also add value for people looking for deeper content? I personally think there's an interesting aggregator role, but they may be made irrelevant by networked aggregation unless they get out in front today.

Certainly, for most experts, my guess is that they've lost much of their value and there are much better scanning sources.

Of course, this also relates to the same issues we face as developers of training. We currently focus on large audiences. We face much the same challenge as publishers and conference organizers. How do you pursue opportunity in the long tail?

Thursday, February 7, 2008

Google Docs Adds Forms

Over the last couple of months I have begun to rely more and more on Google Docs for collaborating and sharing documents, spreadsheets, and presentations. As I noted a couple of weeks ago Google continues to develop and add incredible features to this platform. Just yesterday I learned that Google has added the ability to create Forms from within the Spreadsheet application. I tried it last night and found it very easy to use. It is now possible with this feature to collect data from a group of people and then analyze and collect it within Google Spreadsheet. It is a great way to do a simple survey and share with people in your group. Just go to Google Docs and select New Spreadsheet-then click on Share and Select To fill out Form and then click on Start editing your form. From there follow the steps to create your form. Once you have created the form you can invite others to it. Once your collaborators have submitted their forms, the data automatically is published to your spreadsheet.

Recording a Videoconference with OoVoo


I had noted a couple of days ago that OoVoo had added a number of great features to OoVoo version 1.5. Having the ability to record a video conference is reallly a killer feature and I wanted to give it a try. So in this video you will see me interviewing my colleage Ned Davis who is a faculty member of mine and a techie at the college where I teach.

Click on this link to view the interview. Now imagine the possibilities!

Online Training vs eLearning

I don't remember what I was reading, but the post/article differentiated learning as what the learner does and training as what we do to the person - and hopefully they learn.

What's interesting is that eLearning has become pretty much synonymous with Online Training as opposed to use of technology for various kinds of learning.

In a world:
  • where we have to be responsible for our learning,
  • where learning and work are often not separate activities,
  • where there's just too much for each of us to learn so we have to make choices,
  • where we have to continually evaluate our sources of information,
  • where we have to Stop Reading and instead Skim Dive Skim
How relevant is Online Training as compared to supporting Personal Learning?

This really relates to the questions being discussed in this month's Big Question (Instructional Design - If? When? How much?) where I've argued that Common Sense and Intuition Not Enough to justify ID. But maybe my concern stems partly from the targeting of smaller audiences, niche learning needs, diverse backgrounds - all that suggest a hard time for instructional design - although not necessarily for the right kind of instructional designer.

I'm not sure where I'm going with these thoughts, but it really struck me that confusing eLearning with Online Training is problematic. This relates to the discussions in Learning Systems and EPSS and ePerformance.

Wednesday, February 6, 2008

New Mind Mapping Survey from Chuck Frey

Chuck Frey is at it again with another mind mapping survey. Chuck's surveys are always very informative and help to pinpoint how users are deriving benefits from mind mapping. If you have the opportunity, participate in his latest survey and provide the mind mapping community with important information and feedback. Chuck's latest survey focuses on which features are "hot or not." To find out more, click on this link to take the survey.