Learning’s Future: Curation With Intent

If you care about corporate learning, you should care about curation.

As the need for learning becomes more critical, the pace of technical change often means formal training can’t be developed quickly enough to keep up. For Learning & Development organizations, the curation and sharing of information through networks that make the expertise of internal subject matter experts available throughout the organization keeps their workforce aligned with rapidly changing roles and technology. As more workers curate for their team members, departments or even their company as a whole, it’s destined to become an integral way for enterprises to share knowledge.

That’s especially true today, when jobs are being redefined and workers continually require new skills. According to Bersin by Deloitte, employees are overwhelmed by the sheer pace and complexity of their work. At the same time, they lack the skills necessary to keep up with the way their roles are changing. Georgetown University’s Center for Education in the workforce reports that 65 percent of jobs require a college degree while only 34 percent of Americans have one. That’s pushed organizations to increase their commitment to Learning & Development by double digits for each year between 2011 and 2014.

At the same time, learning is increasingly social and personal. No individual sees a system from the same point of view, and no two people learn in exactly the same way. Learning is most effective when it’s tailored to match the approach a worker takes to their job and is delivered through the channels they feel most comfortable using.

Creating such an individualized approach may sound like an impossible task, but in truth the solution is readily available through the workforce itself. When workers share their expertise with colleagues, learning naturally happens more quickly and in a more personalized way.

The key to making that happen is curation, the selection of information for sharing. In today’s world, where learning should be embedded into almost every job, curation helps separate the signal from the noise that bombards the networked workplace. Effective workplace curation is the sharing of knowledge with the intent to help others. Properly done, it develops media literacy, reduces the cognitive load for ourselves and others, and improves social intelligence through the process of sharing and feedback. As work becomes less routine, with fewer standardized methods applicable to each task, an organization’s ability to innovate will depend on how well its workers share knowledge.  

This might sound like a “soft” skill, but when spread across the organization it can lead to meaningful results. As Martin Harrysson, Estelle Metayer and Hugo Sarrazin wrote in the McKinsey Quarterly’s November 2012 edition, “By identifying and engaging [internal expert] players, employing potent Web-focused analytics to draw strategic meaning from social-media data, and channeling this information to people within the organization who need and want it, companies can develop a ‘social intelligence’ that is forward looking, global in scope, and capable of playing out in real time.”

Beth Kanter, an expert on social media and learning for the nonprofit sector, describes content curation as a three-part process that involves Seeking, Sensing and Sharing. She believes that however meaning is created, “it has to support your organization’s communications objectives or your professional learning goals.” Effective curation, then, happens within the context of the enterprise, when workers curate for their team, department or organization.

First, Find Information of Value

Learning is often about making connections. Curation helps identify and share connections. To offer value, curators must understand where their information comes from: Who’s providing it? Are they a reputable source? How do they know? Because the algorithms behind a search engine skew its results in unknown ways, the simple fact that a piece of data appears atop Google’s results list doesn’t mean it’s the highest-quality information available. Consequently, knowing and trusting the data’s source is critical in an age of information abundance.

That’s all the more important because businesses often require information on complex or specialized subjects for which there is no single reputable source. In such cases, they need a network of experts who can give an informed and nuanced perspective. The challenge is these networks may not yet exist. We may have to build them ourselves. In that case, trust is imperative: If we trust a person involved in the network, we’re likely to trust the sources of information and knowledge they rely on.

But we should always be wary. By continually testing the information we receive, we can discern patterns and understand an expert’s underlying biases. Over time, we’ll be able to build a unique network and, as Rob Cross and Andrew Parker point out in their book The Hidden Power of Social Networks: Understanding How Work Really Gets Done in Organizations, “high performers are distinguished by larger and more diversified personal networks.”

This highlights a reality about valuable curation: Good curators must be connected and curious-- connected, in the sense that they need large and diverse networks from which to glean new information and perspectives, and curious because curiosity drives learning, curiosity about ideas improves creativity and curiosity about people improves empathy and understanding.


Curation should always spotlight truly useful information and make it easier to understand the core message. Here are six specific ways to add value to information:

  1. Validate: Ensure that information is reliable, current and supported by research.

  2. Synthesize: Describe patterns, trends or flows in large amounts of information.

  3. Present: Make information understandable through visualization or logical presentation.

  4. Contextualize: Describe the information in the context of the organization or group.

  5. Question: Critically examine the assumptions of a source of information.

  6. Compare: Show how and where sources of information differ on a topic, and where they agree.


Share With Intent

Once we’ve curated information, we have to share it. After all, there’s no sense in going through the effort of curating if we’re not going to put the knowledge out there for our co-workers’ and organization’s benefit.

Sharing information effectively involves more than simply posting it in an online learning community. One size doesn’t fit all, so curators have to determine when to share specific knowledge, with whom, and through which channel. In some instances, an organization-wide blog may be the most effective way to share. In others, posting to a narrowly focused community may be the best way to reach an intended audience.

Curators must also recognize when to capture information that may not be needed until later. For example, 1,500 workers could use a specific tool every day, but over the course of six months 200 of them may stumble across the need to use an unfamiliar feature in order to make a deadline. If curators had the foresight to recognize information about how that feature could be valuable under certain circumstances, they could categorize it and include it in a knowledge base for use on-demand.

Curators add further value by putting information in the context of the person asking for help. Sending a note saying, “Here’s a link to the resource,” provides some value, but including a description of how the resource has previously been used adds more. Providing a list of resources, with each annotated according to the context of the person asking for help, adds even more.

Create a Solution Based on Engagement

All of this is especially important at a time when technology and automation are driving fundamental changes in how work gets done. While media discussions center on how new technologies will eliminate the need for many roles now performed by people, in November 2015’s McKinsey Quarterly, Michael Chui, James Manyika and Mehdi Miremadi contended that the focus on individual occupations was misleading. “Very few occupations will be automated in their entirety in the near or medium term,” they wrote. Instead, “certain activities are more likely to be automated, requiring entire business processes to be transformed, and jobs performed by people to be redefined, much like the bank teller’s job was redefined with the advent of ATMs.”

In many cases, then, automation will result in workers taking on roles that are more complex. While ATMs handle more of a customer’s routine banking chores, for example, tellers take charge of more tasks that involve sensitive financial matters and require human interaction. So, automation doesn’t necessarily mean work becomes easier. It means people are left to address issues that are more technically or personally complex.

Such redefined jobs require learning new skills, yet the pace of technical change often outpaces L&D’s ability to develop formal training. Consequently, organizations have little choice but to lean more heavily on informal learning if they’re to help employees’ keep their skills current. Curation helps accomplish this by encouraging workers and L&D teams to find and put to use  the knowledge and work of others. It fosters wider sharing of diverse ideas, and over time that sharing builds trust. Improved trust speeds the flow of knowledge throughout the organization, and the organization becomes more nimble. Better sharing improves learning, and better learning leads to better decisions.

Trusted Networks Ease the Flow of Information

Because technology makes it easier the share information, curators must be discerning in what they share. A shotgun approach to knowledge-sharing doesn’t accomplish much besides burying the audience, thus diluting the value curation is supposed to offer in the first place.

In large organizations especially, employees require the right suite of enterprise social tools to share knowledge, collaborate and cooperate. Such tools enable faster feedback loops inside the organization and allow it to work more effectively with connected customers, suppliers and partners, and to address challenges posed by competitors. They connect the work being done with the identification of new opportunities and ideas.

But people view knowledge in a very personal way. For example, most employees care little about organizational knowledge bases. Instead, they care about what they need to accomplish their goals.

After building his company’s knowledge base in 2003, EY’s Director of Knowledge Innovation Dave Pollard wrote: “[My] conclusion this time around was that the centralized stuff we spent so much time and money maintaining was simply not very useful to most practitioners. The practitioners I talked to about [Personal Productivity Improvement] said they would love to participate in PPI coaching, provided it was focused on the content on their own desktops and hard drives, and not the stuff in the central repositories.”

Pollard’s experience demonstrates that individual knowledge sharing and organizational knowledge management must complement each other. A decentralized approach, with individuals using their personal methods and sharing on their own terms, yields better results over time. The self-determination theory developed by Professors Edward Deci and Richard Ryan has shown that workers are engaged when they have autonomy, mastery and relatedness. In the context of curation, they need the independence to select their own tools, the time to practice and master sense-making skills--which allow them to take information and create meaning and understanding around it--and a trusted network of peers with whom to share and learn.  

Curation supports such self-determination. By connecting information and knowledge with their professional networks, workers better relate to their peers and more efficiently solve problems. Curation becomes a form of engagement, and the return on that engagement is trust. While trust is all-but impossible to measure, it’s an important result to CLOs who want knowledge to flow quickly, and the idea that knowledge flows faster through trusted networks is a foundation block of learning.

To succeed, organizations must let go of the idea of directed learning and embrace the concept of facilitated learning through curation. They must empower individuals to identify small pieces of information and then join them under minimal organizational control. While each person has to find their own process, the end result is an organization that collectively makes sense of and shares knowledge to everyone’s advantage.


Key Takeaways

  1. Technology and social networking have integrated themselves into our working and professional lives, often changing the nature of work itself. As a result, learning and development has never been more important, yet L&D organizations can barely keep up. The solution is readily available: Empower workers to curate and share information throughout the company.

  2. By sharing knowledge through their professional networks, workers better relate to their peers and more efficiently solve problems. Curation becomes a form of engagement, and the return on that engagement is trust. That’s an important result to CLOs who want knowledge to flow quickly.

  3. It’s time to let go of the idea of directed learning and embrace the concept of facilitated learning through curation. Organizations that encourage individuals to identify small pieces of information and join them with minimal oversight will organically share and make sense of knowledge to everyone’s advantage. 

L&D Takes on the Role of Curation ‘Enablers’

For years, L&D professionals have known that they couldn’t by themselves create all the content they needed to serve their organizations. Their solution was to curate it. Now, especially in enterprise-level companies, they recognize that even curating content can outstrip the capabilities of a learning-focused team.

Meanwhile, advancing technology has made learning more important than ever. According to the Rand Corporation, “Although trends in job tenure suggest stable or rising tenure for the workforce in the past decade, workers may still experience a need to acquire new skills to perform the same job or to advance to another job with the same employer.”

That fact, combined with the improving economy and tightening labor market, has increased pressure on organizations to invest more in employee learning if they want to boost retention rates. Businesses seem to have gotten the message and are putting their money where their mouths are. According to market researcher Technavio, the market for business e-learning will grow at a compound annual growth rate of around 11 percent between 2016 and 2020.

However, e-learning’s dramatic growth has produced a double-edged sword. The ever-growing need for learning materials has resulted in a staggering volume of online content: blogs, videos and wiki communities that provide detailed how-to guides while more structured online courses teach everything from coding to critical thinking.

That’s good news on the surface, but it forces Learning & Development managers to proceed cautiously. As they search for content to offer throughout their company, they must make sure they select information that’s engaging, effectively presented and, above all, accurate.

Making their job even more challenging is the fact that workplace skills are evolving at breakneck speeds. According to LinkedIn’s 2017 Workplace Learning Report, the average “skills shelf life” is just five years. L&D professionals are thus tasked with developing comprehensive “learning experiences”—instead of simple one-off programs—that steer employees toward a path of continuous growth.

The Shift From Creator to Curator

Just 10 years ago, the most valuable L&D professionals were those who could create content. Regardless of the topic, learning took a traditional path in which point A led to point B, which in turn led to point C. Methodologies such as ADDIE (Analysis, Design, Development, Implementation and Evaluation) versus Agile (with a focus on “learning sprints”) dominated debates over the “right” way to create content.

Then, as technology use spread in both the business and consumer worlds, learning began involving a conglomeration of materials—a YouTube video here, a Coursera offering there, a smattering of industry-relevant articles thrown in for good measure. Today, we’re not as concerned with creating content as we are about curating it. One reason is that L&D leaders have come to understand that while curating content can be simpler and more cost-effective than creating and updating it, doing it well isn’t easy. Effective learning involves understanding how different snippets of information are best absorbed by different audiences, enabling learners to use tools they’re comfortable with and allowing the entire approach to be tailored to the needs of each individual worker.

Through all of this, assessing value is paramount. Sloppy curation—providing a steady stream of shallow or off-target information—can do more harm than good in a business world where people are already overwhelmed by content. It’s the curator’s job to make sure every tweet, every video, every article and every quiz is worth the time necessary to click and absorb its lesson. Today’s workers aren’t only frustrated by wasted time, they resent it.

A New Role for L&D: Enabling Curation

Given that mindset, it’s not surprising that in 2017 we’re hearing more about “decluttering” and books like Marie Kondo’s The Life-Changing Magic of Tidying Up are hitting best-seller lists. Just as minimalism has taken hold in the design world, simplicity has become a watchword in the workplace. Employees want less friction: fewer meetings, streamlined methods of collaboration and achieving the coveted state of Inbox Zero.

In terms of learning, each worker wants to see only the resources that will provide them with the most help in developing their skills and doing their jobs. That makes a centralized approach to sifting through content an exercise in futility. The continuously evolving nature of e-learning and the ever-growing volume of available information make it all but impossible for learning teams to develop approaches that can satisfy the needs of all workers.

The solution lies in empowering the workforce to curate for itself. We’re talking about a bottom-up approach, where employees, internal thought leaders and influencers share materials with one another, resulting in less noise and the amplification of the most valuable messages.

“For many individuals, curated insights represent a ‘learning locker,’ allowing for both reflection and a demonstration of what they know,” wrote Allison Anderson and Ben Betts in their book Ready, Set, Curate: 8 Learning Experts Tell You How. “Allowing learners to contribute in these ways makes creating and maintaining a curated list of resources much more efficient.”

It takes a Community... of Curators

Of course, enabling organization-wide curation presents a number of challenges. A variety of technologies are available to help, but before you begin to explore them, think about the work involved in assembling a successful community of contributors. First and foremost, you must be ready to demonstrate that each participant’s time spent curating information will be valued. Managers must be educated on how and why their employees’ time spent curating benefits the organization. Curators who offer outstanding value should be recognized and rewarded.

Meanwhile, L&D professionals must devote time to being supplementary curators, organizing and supporting the community while continuously tweaking their approach to keep up with the latest trends and technologies. Because as L&D evolves, so does the roles of its practitioners. If technology and social media has changed the way people communicate and learn, L&D must look for ways to embrace, and exploit, these new behaviors. Not only must they understand curation, they must be able to orchestrate curation, so that the entire community of their organization becomes a learning mechanism itself.

The Difference Between Real Learning and ‘Morale Boosting’

When is a corporate Learning & Development program doomed to failure? No matter what industry you’re in, the answer’s the same: When it’s only there to make employees feel good, not to help them advance their careers.

One video professional remembers an ex-employer who offered programs “as morale boosters with no further action.” The skills being taught weren’t relevant for helping employees do their jobs or advance to higher positions. At his 1,000-employee company, “The CEO made a big deal about training available in IT for non-IT personnel,” he says. The IT department wasn’t expanding, and the company had no plans to even consider non-IT personnel for technology roles anyway. “Many employees laughed at the absurdity of it.”

‘Cotton Candy’ Learning

“Morale boost learning is like cotton candy,” says Christopher Veal, organizational development and training manager for the Orange County Fire Authority in southern California. “Sure, you leave feeling good, but it’s fleeting. Nothing really changes and the participant doesn’t likely change behavior in any way that makes a difference.”

Sometimes, “morale boost” programs may come with good intentions. For example, when David Stanley worked in the brutal field of financial sales for a Richmond, Va.-based company, “phones were slammed down on salespeople, doors were shut in their faces, insults were hurled,” he recalls. “Frontline sales people took a beating. Consequently, most of our training consisted of pep talks designed to counteract the psychological damage.”

However, the approach didn’t fix the problem, which was “inadequate substantive training,” says Stanley, who is now a science teacher and author. “As with most pep-talks, the effects were short-lived and useless.” Instead, he believes the training should have focused on how to prospect effectively in order to spend more time selling to qualified leads and less time being harassed by people with no interest in financial products.  

The Training Effectiveness Gap

This disconnect between the knowledge workers need and the knowledge they receive is a challenge faced by Learning & Development professionals everywhere. Around the world, 84 percent of executives believe learning is important, yet only 37 percent of companies believe that their current training programs are effective, according to Deloitte’s Global Human Capital Trends report.

This gap is leading employees toward the door. “Dissatisfaction with some employee-development efforts appears to fuel many early exits,” wrote Monika Hamori, Jie Cao and Burak Koyuncuin in the Harvard Business Review.  

“We asked young managers what their employers do to help them grow in their jobs and what they’d like their employers to do, and found some large gaps,” the researchers said. “Workers reported that companies generally satisfy their needs for on-the-job development... But they’re not getting much in the way of formal development, such as training, mentoring, and coaching—things they also value highly.”

With that in mind, it’s easy to see how short-term morale-boosting isn’t satisfying employees’ long-term goals. And when workers find a company that will offer real learning opportunities, they’re happy to jump.

The Cultural Fix

So how can businesses make sure their training options align with their employees’ aspirations?

One of the keys is to maintain a culture in which employees feel they can safely communicate with their managers, says Kristen Fyfe-Mills, associate director of communications at the Association for Talent Development in Alexandria, Va. For example, at previous employers she’s sat through programs that didn’t align with her goals for advancement. “I wish I’d known I could go to my manager and say, ‘You know, this training you’re having me do [in drafting documents], I learned in eighth grade. This won’t help me contribute to your bottom line faster. Are there some other ways we can structure programming?’”

“Really effective change,” Fyfe-Mills says, “comes when people are able to express themselves in organizations.”

But that’s only a piece of the puzzle. Companies must also conduct needs assessments for improving and fine-tuning their training options.

For Veal, the first step is to consider what some people call “WIIFM,” or “What’s In It For Me?” “When I’m looking to design training for our employees, one of the first things I look at is the ‘WIIFM’ aspect as it relates to the target audience,” he says. “There’s a lot of content out there to be found, and I want to make sure that it has practical and useful relevance for our participants.”

A Crucial Investment

It’s also important to remind executives that when training is done right--when it really educates employees rather than just attempts to make them feel good--businesses succeed.

“Global business is really competitive. If you want a highly skilled workforce, that’s going to require an investment in people--an investment that’s relevant and meaningful and is contributing to business impact,” Fyfe-Mills points out. Building a successful talent development program “is a game changer for organizations.” Companies that truly position themselves for success “are the ones doubling down on their beliefs and investments in talent development,” she says.

Research backs her up. Numerous studies show that impactful training programs improve retention, and employees become more committed, innovative and productive. In fact, Deloitte notes that after “studying more than 30 different research studies on retention and engagement, researchers found that focus on company-specific training is one of the strongest contributors to employee engagement and retention. Research also shows that ‘high-impact’ learning organizations deliver 30 percent higher customer service and show similar high performance in innovation.”

When learning hits the mark, employees “see the path forward and make that discretionary investment to want to contribute more,” Fyfe-Mills says.

It’s also crucial for attracting millennials, now the largest generation in the U.S. workforce. As Gallup found: “Millennials are not pursuing job satisfaction--they are pursuing development.”

Steady Improvement

The good news is things are moving in the right direction, albeit slowly.

“The trend lines are all pointing up,” Fyfe-Mills says. ADT’s annual state of the industry report found that companies invested an average of $1,252 per employee in 2015, totalling more than 4.3 percent of percent payroll expenditures, up from 4 percent the previous year. The amount of time employees spent in training also rose, to 33.5 hours from 32.4. And, Fyfe-Mills notes, companies are learning to put more focus and funding into the kind of training that their workforces need to advance.

Deloitte found similarly positive developments. According to its 2017 Global Human Capital Trends report, companies are moving toward “always-on” learning experiences that allow employees to build skills “quickly, easily, and on their own terms.”  

Finally, Veal says, while learning for advancement is important, it doesn’t have to be the sole focus. “Some employees may not have a desire to climb the ladder. They may simply want to learn new skills. So be sure to look at the multiple reasons for why your employees are seeking learning opportunities,” he advises.

Morale boosts can deflate quickly. Cotton candy leaves you hungry. To tap into the power of their employees, businesses need to give them the fuel they deserve--the chance to learn, develop, and expand. That’s how you build the workforce of the future.

Formal vs. Informal Content: The Aha Moment

We’ve been operating on a hypothesis for a long time now as a company - that people learn in their free time, outside of the traditional structure that L&D provides. This is something we say to our customers and prospects, and it’s a message our competitors share as well.

It wasn’t until a recent “Data & Dinner” session our product team hosted for the company that we were able to truly qualify this hypothesis... and the findings were pretty astounding.  

Because Pathgather aggregates formal learning content within organizations and informal learning from across the web into one place, we’re uniquely positioned to identify interesting corporate learning trends. These trends were previously invisible when all you could see was what was happening in your LMS, which is still the case at most organizations.

For context, the kinds of formal and informal content we’re talking about:

Formal Enterprise Content; Licensed or Produced Internally

  • Internal Platforms: LMS, CMS, Cloud Storage, etc. 
  • Third-Party Content: Lynda.com, Coursera, Pluralsight, Khan, Udacity, etc.

Informal Shared Content; Authored by Employees & Industry Through Leaders

  • TED Talks, YouTube, Industry Videos, etc.
  • Publication Articles, Blogs, Wikis, etc. 

When we pulled the data across our entire customer base, we discovered two thought-provoking observations. First, and not surprisingly, formal content vastly outnumbers informal content. However, what was surprising is just how large that discrepancy is.

On average, 97% of the content in the Pathgather library is formal, corporately controlled while just 3% can be classified as informal content and curated by employees.

image00.png

Second, and get ready for this one, despite informal content making up just 3% of the content library, it accounts for over 50% of content completed in Pathgather. That means over half of the learning that happens on Pathgather costs your organization nothing to provide. Zero. Nada.  

This is a pretty astounding revelation given that companies spend untold sums of money on content that employees have no interest in using, and can actually be obtained for free on the web at a higher level of quality.

Now, we could’ve easily dropped some “oh sh*t” stats on you and walked away, but we decided to dive into some of the reasons why we think this trend is occurring along with a variety of  ways to drive engagement with your formal content below.

Why do we see such a drastic shift toward informal content?

It all boils down to relevancy. Your employees are bombarded with a mountain of information throughout their day. This makes them numb to messaging and fosters a culture of reactivity. Therefore, only hyper-relevant material will penetrate their blinders and cause them to engage.

This is exactly what informal content does. While engaging with peers, mentors and influencers, users are curating skill-specific content that piques their interest and satiates their learning appetites.

Most L&D teams are not equipped to meet the growing, daily demand of its employees’ learning needs because those needs vary widely between individuals. This makes it virtually impossible for L&D to keep up with changing processes, technologies and methodologies.

Learning organizations need to then rely on the experts within their communities to be the frontline curators and help guide the learning process for all employees. If this data tells us anything, it’s that the role of the modern L&D team should be consultants and facilitators of learning, not creators.  

Should you throw away formal content?  

Absolutely not! Formal content will always play a critical role in your organization and it’s particularly important for developing foundational skills within each employee. What should be a continuous practice is the evaluation of your internal and third-party content to ensure that usage remains high and outcomes are positive for the learners.

This is seamlessly done in Pathgather because you can easily compare content sources, see which courses are the most popular amongst your employees and identify alternative informal content that may be more impactful.  

How do you achieve a better ROI?  

This gets to the old adage, “If you build it, they will come.” Just because you have a content library that spans every topic imaginable, doesn’t mean your employees are going to proactively find it, consume it and retain it. You need to take a page out of the informal process and build in relevancy to all your content catalogs.

For example, if you have engineering content, identify the groups of individuals who would most benefit from each skill addressed and proactively market this material to them. By tagging content by skills and topics, and organizing this information in an easy to find and engaging platform, learners are able to achieve what every L&D team and employee hopes for - professional development.   

To learn more about these statistics or how Pathgather can reinvent learning at your organization, reach out to us at info@pathgather.com.

#LearnOn

Changelog #8

We've released a slew of improvements over the past month or so, so it's time for another changelog! We've added support for several new integrations, added the ability to more easily organize your content into topics, expanded our admin roles, and much more. As always, please reach out to us at support@pathgather.com with any feedback or questions.

New integrations

A bulk of our work over the past couple of months has focused on new integrations. To enable these, simply login to the admin interface, navigate to the Settings section, and click on Integrations.

In addition, we also now have integrations for some new LMSs. Configuring an LMS integration requires our support team to flip some switches for you, so if you are interested in these, simply email us at support@pathgather.com.

Categorize external content using your internal topics

For those of you that leverage our content vendor integrations, this is a big one! We now support the ability to 'map' both a vendor's entire content catalog and/or a specific topic defined by a vendor to your own Pathgather-defined topics.

So, let's say you've enabled our integration to Coursera. You can now easily add all of Coursera's content to a specific topic you've defined, or you can 'map' a Coursera defined topic (e.g. Data Science) to a Pathgather topic you've defined (e.g. Computer Science).

To configure a mapping, head over to the Topics management section in the admin interface and click on the "Manage topic mappings" button in the top right. From there, click on "Define a mapping" (again) in the top right. The first option you'll be presented is to select an integrated provider (e.g. Coursera). Once you select a provider, you can choose the topic to add the provider's content to. If the provider has their own defined topics, an optional third option will be displayed that allows you to only consider a certain topic defined by the provider in the mapping. If you leave this blank, the provider's entire catalog will be added to the topic you select.

Add content to a topic in bulk

In another effort to make content organization easier, you can now also bulk add content to a specific topic. To do this, simply navigate over to the content management view of the admin interface. Select the content you'd like to add to a topic and click the "Add to topic" option above the results!

Additional admin scopes

Previously, we supported 2 user roles in Pathgather: a normal user and an admin. The admin role gave that user access to everything in the admin interface, which may be a bit much at times. So, we've separated our admin role into 3 new scopes:

  • Admin - This is the current role that gives the user access to everything in the admin interface.
  • Moderator - A 'moderator' admin can create, edit, and destroy any data, but doesn't have access to the Settings section, which includes branding, integrations, and API configuration abilities.
  • Read-only - A read-only admin can view analytics and data and run any reports they like, but they cannot modify any data or settings.

xAPI support (beta)

To clarify this one right off the bat, this does not introduce support for hosting xAPI content in Pathgather. Instead, this allows certain events that occur in Pathgather (user completes a path, user shares new content, user creates a new path, etc) to be sent as xAPI statements to an external LRS. This is in beta mode at the moment, so if you are interested in this one, please let us know at support@pathgather.com!

Custom support section

In the past, we've supported the ability to add an internal support email for users to contact at your organization. That's still supported, but we've also added support to enter any text/links you like to display in your support section. This is great to link to internal help resources, help desks, or to simply elaborate on how users can get additional support!

To configure this section, simply head over to the Settings section of the admin interface and configure the "Support Information" option.

Skills API

For the more technically inclined, our official API now supports adding skills to both the Pathgather skill collection and/or adding skills to specific users. This is quite useful if your HRIS or another internal tool already has some definition of the skills most important to or already acquired by users.

To learn more about this API support, peruse our API docs at http://docs.pathgather.com

Webhooks (beta)

Another enhancement for the more technically inclined, we've added beta support for certain webhooks in Pathgather. Webhooks allow you to 'subscribe' to certain events that occur in Pathgather. Once an event occurs, we'll send an HTTP POST to a URL you define with a payload that details the event that occurred. For example, if you are interested in promoting Pathgather in your company's enterprise social network, you could subscribe to certain events (e.g. user created a path, user joined a gathering, etc) via these webhooks. The payload you'd receive would contain information on the user that triggered the action and the data that was affected. You could then use this payload to create a 'feed item' in your enterprise social network (e.g. Yammer, Chatter, etc) that details the activity that occurred in Pathgather. 

To read more about the webhooks currently supported, you can view our API docs.


That's it for this Changelog! Again, if you have any questions or feedback, we're just a short email away at support@pathgather.com

Happy learning,

The Pathgather Team

Crisis Averted: Fostering A Learning Culture During Hard Times

Companies fail; however, failure is often preventable or even reversible. In aviation, there is a saying, “It takes three mistakes to kill you.” Meaning that just one failure doesn’t usually cause a catastrophic incident. Rather, it’s the compounding effect of multiple independent failures that leads to a catastrophe.  

For example, if the automatic landing gear doesn’t work, the back up gear will help everyone get home safely. If the manual landing gear extension is also broken, you’re in for a rough landing, but you’ll probably still make it. However, if for some reason you also don’t have enough fuel to make it to a safer area for a crash landing, you’re in trouble...

Just like airplanes, companies are complex machines and it takes a lot to bring them down. Most are resilient enough to survive one or two big, strategic missteps. But compound that with an unexpected economic downturn and morale-deflating layoffs not too far behind, that’s when one enters dangerous territory. It’s the crucial decisions made, and not made, in the aftermath of those layoffs that will determine the future of your company.

The Unearthing Effects of Layoffs

Following heavy layoffs, the remaining employees will become overwhelmed and concerned for their own job security. Eventually, many will leave for more welcoming and nurturing work environments if their current ecosystem doesn’t improve.

The first ones to leave, logically, are those who have the easiest time finding another job. Unfortunately for struggling organizations, those happen to be the people they can least afford to lose. Those who stay will then be burdened with filling the gaps created, facing exhaustion and burnout risk. In time, depleting team morale and uncertain job security will begin to push these employees out.

Studies paint an unpleasant picture of the impact that a culture of lowered morale has on employees. As if trying to hire during a rough stretch wasn’t already tough enough, 87% of surviving workers say they are less likely to recommend their organization as a good place to work. Given the uncertainty and turmoil, 77% of surviving workers unsurprisingly report that more errors and mistakes are made and 64% say the productivity of their colleagues has declined.

Perhaps most important of all to the company’s present and future bottom line is that 81% of surviving workers say the service that customers receive has declined. This is a post-layoff nightmare; a downward spiral of diminishing engagement, yielding an atmosphere of greater detachment and lower productivity making it harder to recruit and retain top talent.

Lean Into the Challenge

Crisis management 101 – don’t run away from a crisis. Embrace it. Lean into it. Learn from it.

All right, we’ve made our point – layoffs negatively impact company culture. We’re writing this post because there’s absolutely something companies can do about this!

Research (see footnotes) shows that by investing in people, organizations can increase engagement, retention, productivity and revenue. Fostering an authentic learning culture remains critical to an organization’s recovery and growth plans.

As Marcus Aurelius eloquently said, “The impediment to action advances action. What stands in the way becomes the way.” Or, in the more modern words of Ryan Holiday, “Turn trials into triumphs,” from The Obstacle is the Way. Let’s visit some of the ways leadership can judo flip the crisis into a culture-boosting opportunity.

Invest in Growing Talent

After a layoff or business split, individuals are uncertain about their future and place at the company. Many are often fearful of making any noise out of fear of being cut. Unfortunately, this stifles productivity, innovation and other significant contributions. A company full of people “keeping their heads down” during a crisis is exactly the opposite of what the company truly needs to turnaround.

Telling the team to pick their heads up and “shake it off” isn’t enough. Instead, leverage this instinct by providing an avenue for personal and professional growth. When employees recognize that staying at the organization remains the best way to develop skills valued by the marketplace, fewer people will think about heading for the door.

Mitigate the Hard Costs of Layoffs

Leaders must remain aware and mindful during and after layoffs. If positive actions aren’t taken to shore up morale and reduce turnover, it can make the problem far worse.

Studies show that the cost of lost employees can be nearly two times their annual salary. According to Josh Bersin, Principal at Deloitte, turnover costs include:

  • Hiring costs associated with advertising, interviewing and screening a new employee.

  • Onboarding, training and management time of a new team member.

  • Lost productivity as new talent may take up to one to two years to reach the full productivity of an existing person.

  • Reduced engagement and efficiency from other employees who disengage following high turnover.

  • Low customer service and additional time to resolve errors as a new employee undergoes a learning curve.

  • Fruitless training costs as the average company invests 10-20% of an employee's salary on training within their first two to three years.

Developing a comprehensive and effective learning culture is key to future stability. Showing existing talent that management is devoting energy and resources during tough times to their growth potential has an immediate impact on their decision to remain at, or run from, their organization.

Realize the Value of Learning

Learning is something that almost every business book, guide, blog and management consultant recommends in and after a time of crisis. Why? Because the act of learning and the engagement it creates unlocks the power to change underlying motivators. By stimulating the talent’s perspectives and future opportunities, the company empowers positive change from within.

We should be clear about one very important thing here – we are talking about learning, not training. Training will help one handle the present situation if performed properly. Learning, on the other hand, will equip one not only for the present, but also better prepare for and mitigate future trials. This is the sweet spot for crisis mode companies who aren’t able to fix their way out of the problem with present-day knowledge.

To quote Dale Carnegie, “Life truly is a boomerang. What you give, you get.” Just think of the potential positive returns of investing in one’s workforce during the most unlikely times. By investing in talent, the company showcases its character and interest in realizing the full potential of its people. As an inherent reciprocal, the team garners greater trust in the business and its values.

Dare To Be Great

Crises demand personal and collaborative greatness. It calls on individuals to rise to the occasion and make bold decisions.

If other organizations have experienced great change by following examples of learning-culture companies, such as Google and Intuit, who continue to invest in their workforces’ happiness and development by providing learning tools and programs, why not do the same?

It’s a bold move to invest in your talent when everyone is retreating. However, it’s this foresight perseverance that truly makes the difference in the business surviving or crashing.

 

Research:

Changelog #7

It's been a little while since our last changelog, as we've been hard at work on some exciting enhancements! Read on below to learn about our new Browse page, the new Learning Streaks feature, our redesigned navigation, and our path enhancements. As always, please reach out to us at support@pathgather.com with any feedback or questions.

Welcome learners with our beautiful new Browse page

Allow users to browse featured resources, topics, and skills

Allow users to browse featured resources, topics, and skills

Allow your organization's learning efforts to truly stand out with our new Browse page! This addition brings with it a wealth of commonly requested enhancements: the ability to feature specific resources, full control over topics and skills displayed, currently trending resources, top content and learners for a skill, and much more!

This page is the eventual successor to the existing Topics page. Once you configure and publish it, it will replace your Topics page, but you'll have plenty of time to make that change. Read more here for details on how the configuration process works.

Stay on track with our new Learning Streaks

Learning Streaks are a great way to motivate learners to learn something every week!

Learning Streaks are a great way to motivate learners to learn something every week!

Continuous learning is critical to both our personal and professional development, but it can be easy to forget to give learning the effort it deserves. However, our new Learning Streaks feature is here to help! As you learn in Pathgather, we'll track how much you learn each week and showcase that activity in your profile. Learn something every week to keep your current learning streak going!

Path builder enhancements and image support

Adding content and images to your paths is now much easier!

Adding content and images to your paths is now much easier!

We've improved the path editor so that the process of building a path is more intuitive and streamlined. Adding content to your paths is now part of creating the actual section the content will reside in. In addition, adding images to your paths is now fully supported!

Redesigned navigation

As you can see from the screenshots above, our navigation also received an improvement. We redesigned our navigation to give it a more organized, standard look and feel. We've also reduced the number of navigation options so there's less to sort through.


That's it for this Changelog! Again, if you have any questions or feedback, we're just a short email away at support@pathgather.com

Happy learning,

The Pathgather Team

A Note About Customer Success at Pathgather

Over the past 3+ years of building and growing Pathgather, we’ve been incredibly humbled and honored to work with some of the largest and most innovative companies in the world.  When we started, our expertise was in the design and development of beautiful, engaging web and mobile applications, but we were relative newcomers to the enterprise learning & development space.  As such, we relied heavily upon the vast experience of our customers, and it was their opinions and insight that helped us build the product we have today.

It’s easy to throw around the word “partner” when it comes to vendor-buyer relationships without necessarily meaning it, but partnerships are unquestionably what we formed with our customers over these early, formative years.  This was as much by necessity as it was our natural inclination - in order to build the right product, we simply had to.

We’ve now come to understand that there’s just no other way to do it.  We’re endlessly dedicated to creating as valuable and impactful a learning platform as we can, and the only way to do that is to listen to our customers, to allow them to help guide and refine our offering, and to invest as much time and as many resources into high-touch service and support as we can.  Our customers’ success yields our success - it’s as simple as that.

Because of this, we’ve decided to double down on customer success in one of the most emphatic ways a young company can, by having one of our co-founders, Jamie Davidson, lead the charge in the newly formed role of Chief Customer Officer.

If you haven’t heard of a CCO before, you’re not alone - it’s not a particularly common role.  But we think maybe it should be.

Building a company is hard.  There are dozens of competing concerns and priorities at any given moment, and we’ve seen what happens when customer service gets reprioritized or brushed aside in the name of, for example, growth. We get how and why this happens at other companies, but it’s not going to happen at ours.  With Jamie at the helm, we’re ensuring that customer success is and will always be our foremost concern.

For the past 3+ years, Jamie has helped build and scale the technical side of Pathgather as our CTO, where he's had the pleasure of helping to build an amazing technical team. The first member of that team, Neville Samuell, has helped Jamie at every step of the way as our Lead Engineer and has been a critical part of our success to date. Thus, we're also excited to announce that Neville will be promoted into a new role as CTO here at Pathgather, where we know he’ll do an incredible job.

To all of our customers reading this, here’s the upshot: we hope we’ve been doing a pretty decent job so far, but we want to blow that performance out of the water.  Hold us to the highest standards possible, and and we’ll continue to do our part to rise to the occasion.

With all that said, it’s back to work,
Eric, Jamie, and Team PG

Smashgather: Automating A Smash Bros Leaderboard With Computer Vision

Three weeks ago, I was comparing startup stories with a friend of mine, and we realized our respective companies were missing quite possibly the most stereotypical icon of startup "culture": the ping pong table. At that point I felt obligated to point out that, at Pathgather, we'd moved beyond ping pong and had taken to playing Super Smash Bros (the N64 version) at the end of every week - after spending the afternoon learning whatever we feel like, of course. It occurred to me that we didn't have a good way to keep score of our brawls... that seems like something I could automate, right?

That day, I cobbled together the first version of Smashgather: "An OpenCV app that automatically records Super Smash Bros 64 games to The Internet™, using computer vision and magic."

How It Works

We play Smash Bros via my laptop, hooked up to a TV in our office. While we're playing, the Smashgather client application is running in the background and capturing a screenshot every second using OpenGL, then uses OpenCV to run a very rudimentary image processing algorithm on the screenshot that determines two things:

  1. Is the current screenshot a win screen?
  2. If so, who is the winning character?

Once we detect a winner, we can log the results to a web server, and then display the data on a web app. By the time the winner has stopped celebrating the final smash, their victory is immortalized forever at smashgather.com.

Detecting Wins

Some example win screens from the original Super Smash Bros.

Some example win screens from the original Super Smash Bros.

I started by collecting an example screenshot for every character's win screen. You'll notice how similar these all are - in fact, the "WINS" text is identical in each one, except at slightly different locations on the screen, depending on the winning character name. We can definitely design an algorithm to take advantage of this! This is pretty basic image processing stuff, but it's still fun to dig in a bit to see how this works.

The Smashgather algorithm is a combination of template matching and image similarity. First, the screenshot is converted to grayscale (for simplicity and performance) and then matched to a template (cropped image) of the "WINS" text that accompanies every Super Smash Bros victory. This matching is done by "convolving" the template across the entire screenshot - without getting too into the weeds, that basically means we compare the template to the screenshot at every possible x/y location to find the point at which the template and the screenshot have the strongest overlap. For our screenshots, that's roughly 2 million different locations, but OpenCV is pretty good at doing that quickly so we don't have to worry about implementing all the math.

The "WINS" template is matched to every location in the screenshot, producing the strange image in the middle. The bright point in that image indicates the strongest match; when we overlay the template at that location, it produces the image on the right.

The "WINS" template is matched to every location in the screenshot, producing the strange image in the middle. The bright point in that image indicates the strongest match; when we overlay the template at that location, it produces the image on the right.

Now that we have the co-ordinate where the template overlaps the most, we can set about trying to determine if the "WINS" text is actually there. This is an easier problem to understand - we crop the screenshot and template to the same size, and then compute the SSIM (structural similarity) score between the two images to determine how similar they are. Remember, the two images won't be identical - the background will vary, the alignment might not be exact, etc. The SSIM algorithm is designed to be relatively good at handling those kinds of errors, and it certainly works well enough for our purposes. If the cropped screenshot and the "WINS" template are similar enough, we can safely say that we are, in fact, looking at a Super Smash Bros win screen!

Next up, we have to figure out who the winning character is. For this step, we run the exact same "match & compare" algorithm against templates for each of the character names. As soon as we find a matching character template, we've gotten everything we need (if you're curious, you can see the source for this simple algorithm here: WinDetector.cpp).

This whole process (capture screenshot, "WINS" template matching & comparison, character name template matching & comparison) is performed every second in order to track the current state of the game. We wrap up the process with a simple state machine, to avoid double counting wins, and we've got ourselves a program that can automatically keep track of Super Smash Bros games!

Keeping Score

The rest of Smashgather is less interesting - whenever a win is detected, we record that on a server and then make those records accessible via a basic web app. To make this part of the project more fun, I used a bunch of technologies that don't really make sense for this problem: PostgreSQL for data storage, a GraphQL Node backend to serve up the results, and a React + Relay app to render the data. Sure, a simple Ruby on Rails site would have taken a fraction of the time and require a lot less Javascript (the un-minified, un-compressed bundle is a hilarious 2.1 MB), but where's the fun in that? Besides, even with all that unnecessary work, we still had time Friday afternoon to put together a cringe-inducing 90s-style interface. You can, of course, check our leaderboards anytime by visiting smashgather.com.

...Why?

To be honest, we're busier than ever at Pathgather. Between launching new customers, coding new features, and hiring new employees, we don't exactly have a ton of free time - not exactly the ideal moment to spend a day or two hacking together an automated video game leaderboard, is it?

I'd argue that there will always be an excuse to compromise on your company values and culture, but you shouldn't compromise. We had a lot of fun building Smashgather on our "learning Friday", we learned new things about some interesting technologies, and I got to play around with my old love, C++. Also, let's be honest - keeping track of our wins is absolutely critical. Work can wait until Monday.

Of course, you can check out all the Smashgather code on Github.

Keep Learning!

The Real Recipe for Building a Culture of Learning

There is a theme in the HR industry that has received a lot of attention in recent years - building a “culture of learning.” Bersin by Deloitte defines this idea as the “set of values, conventions, processes, and practices that influence and encourage continuous learning.” Research from the same firm notes that organizations with strong learning cultures are 17% more likely than their peers to be market leaders because employees are continuously developing new skills. It seems self-evident that organizations would want to build cultures of learning, but what is more a mystery is another question - “how do you achieve this?”

In my experience working closely with top L&D departments from around the country and across industries, I’ve observed three key drivers of this culture - true, honest buy-in at all levels of the organization, the right resources, and the ability to share your expertise. Indeed, the marriage of these three things can dramatically shift the paradigm for organizational learning cultures. You might be tempted to ask, “So if it’s this simple, why doesn’t everyone have a culture of learning already?” Well, it’s because achieving this takes thoughtful consideration and the right strategy to support. Let’s dive in.

True, honest buy-in

First and foremost, to build a culture of learning, you need sincere buy-in at every level of the organization. It’s wonderful that your CEO made a mention of learning on the last quarterly call, but unless this philosophy trickles down and is supported by managers across all functions, you’re not really there yet.

So what does this mean in practice? It means that if one of your engineering managers sees a direct report taking a Pluralsight course on the latest programming language during normal business hours, that behavior is supported and not discouraged. In fact, that behavior is considered just as valuable as, say, meeting the next project sprint deadline. It means that the head of your sales department requires all salespeople to take one afternoon a month to drop everything and learn, and leads by example. 

I often hear that companies try to push learning but are unsuccessful. In my opinion, unless learning is seen as a truly valuable and legitimate business activity by senior leaders and managers of people - one that stands to make teams and entire organizations more productive and effective - you simply can’t build a true culture of learning.

The right resources

So once you’ve got the buy-in, now what? It seems obvious, but it’s critically important to focus on providing and curating the best and most relevant learning content. Unfortunately, there isn’t a one-size-fits-all approach to take here. 

For example, let’s say your retail company is mostly made up of marketing professionals. Most of the marketing personnel have years of experience in print advertising. However, your retail company plans to move 90% of the business to e-commerce by 2018. In this case, it’s hugely important for the longevity of the business that your marketing professionals have access to a wealth of resources on digital marketing.

Consider another scenario in which providing content actually has a negative impact on the learning culture. Let’s say the sales department just made a big push to acquire licenses to a content vendor for every single salesperson, but feedback from the ground level quickly reveals that the content is outdated and the UI is too frustrating to bear. In just a short amount of time, you’ve actually discouraged your workforce from voluntarily pursuing learning by connecting them with the wrong materials.

The ability to share your expertise

Of course, it’s important to consider the world in which we live today. Digital drives everything and real-time relevance is important. That’s why once you have the right resources and the culture to support taking advantage of them, it’s vital to give your employees a mechanism to share their expertise via learning resources. This can help ensure your culture of learning actually scales across the organization, which is particularly important at large multinational enterprises. Your culture of learning can go viral.

Continue the conversation

The three ingredients above are crucial to building a culture of learning - you can’t have one without these things. If you think you’ve done this successfully, or if you have other ideas, I’d love to hear from you - reach out to hello@pathgather.com!

 

 

Changelog #6

This month's changelog brings a new and improved onboarding experience, the ability to clone paths, and a new integration to Harvard ManageMentor. As always, please reach out to us at support@pathgather.com with any feedback or questions.

A More Delightful Onboarding Experience

We've launched a new (and brand-able) onboarding experience that allows you to immediately engage learners with custom copy and vivid images. This new experience guides users through the learning journey of finding great learning content, sharing knowledge and resources with others, and tracking progress as they learn.

And, as mentioned, it's brand-able! Just head over to your organization's settings in the admin interface to adjust the skills communicated to users and the images displayed. You can even create your own custom step in the onboarding experience to promote your brand and the value offered by your Pathgather implementation!

Path Cloning

We've also added the ability to clone paths, allowing you to use any path as a starting path for your own! You can clone your own paths as many times as you wish, allowing you to easily create a 'base' path that is used as a template for many others. If you decide to clone someone else's path, we'll track and promote that so you can always navigate your way back to the original.

Harvard ManageMentor (HMM) Support

We also recently shipped a new integration for Harvard ManageMentor (HMM), allowing all HMM content to be easily added to your Pathgather content catalog. To enable HMM in your instance, please reach out to our support team at support@pathgather.com to configure SSO access to your HMM library. In the next changelog, you'll be able to actually configure these SSO details yourself, so keep an eye out for that ;)


That's it for this Changelog! Again, if you have any questions or feedback, we're just a short email away at support@pathgather.com

Happy learning,

The Pathgather Team

Learning in the Enterprise: Udacity

This is the latest installment of our series delving into some of the coolest ways to learn online. You can view earlier installments here:

This time around, we’re going to take a quick look quick at Udacity, the learning website that did as much as any to kick off the MOOC revolution that first gained steam in 2012.  Because they helped champion the MOOC cause, Udacity has received a lot of media scrutiny ever since its founding in 2011, with news outlets alternately proclaiming it the bearer of the university system’s doom as well as a flop that can’t get students to finish its courses.

A MOOC, of course, is a Massive Open Online Course.  One of the first offered was a class on artificial intelligence that Udacity’s founder, Sebastian Thrun, taught at Stanford and subsequently made available to anyone online, for free.  More than 150,000 people signed up for the course, or, more than 10x the total number of enrolled students at Stanford.  Not bad!  Soon thereafter Thrun launched Udacity, with a vision of making high quality education available to anyone in the world.

About two years later however, Thrun was quoted as saying that Udacity had a “lousy product” and that they were pivoting to a model more focused on technical vocational training.  I’m not sure how many founders would admit in such a public way that the approach they had been championing for years was not working. However, this willingness to look objectively at the data and pivot to a new model is exactly what has helped Udacity get to where they are today - a product that, though I have no data on whether it is actually working or not, seems to be serving a real, existing market need, and doing so successfully.

So without further ado, let’s have a look at just what Udacity offers.

 

What can I learn there?

Everything about Udacity, from their marketing to their course offerings, is centered around the idea of skilling you up to the point where you’re definitively ready to be employed as a software engineer - their messaging is unequivocal about this.

Their learning content is packaged into something they call Nanodegrees, a cool term that encapsulates the idea that their courses are both detailed and serious enough to be worthy of being called a degree, but narrowly focused enough that you’re not going to be wasting your time on learning extraneous subject matter.

Some Nanodegrees that Udacity offers include:

  • Front-End Web Developer

  • Android Developer

  • iOS Developer

  • Data Analyst

  • Full-Stack Developer

  • Intro to Programming

  • Tech Entrepreneur

Why Should I use Udacity at my organization?

The answer to this question is naturally going to be highly dependent upon what your workforce is asking you for.  Udacity’s months-long courses represent a different way of learning than the one many experienced developers in your org would likely prefer.  However, the long-form structure and cohort-based pedagogy of nanodegrees will have strong appeal to many employees who have very little familiarity with coding and want to develop their knowledge into an actual asset - both for themselves, and your company.

Further Udacity Nanodegrees should be particularly compelling to companies because the learner earns a certificate upon completion that has some decent cachet to it, having been developed in partnership with companies like Google. That means employees are more likely to learn because they believe others will recognize the time and effort they put into the course material to be a valuable achievement, allowing them to ultimately apply their new skills on the job.

If you’re not convinced, why not pilot it with some of your more motivated and promising software engineers?  There’s no doubt that for many organizations the skills Udacity promises to help you acquire are or will be essential to your business, so it’s well worth looking into.

 

Changelog #5

Our first Changelog of 2016 sees a ton of enhancements around analytics. We know several of you have been waiting for these, so we hope you enjoy! As always, please reach out to us at support@pathgather.com with any feedback or questions.

A New Analytics Interface, With New Insights!

Understanding how and where learning occurs in your organization is critical to ensuring your efforts are recognized and relevant to your users. Our new analytics interfaces aim to give you complete insight into the learning that occurs within your organization.

We've redesigned the analytics administrative interface to be more intuitive and flexible, and we've also added new metrics for content views, launches, new gathering members, and new conversations. It's now easier than ever to dig into the content and paths most piquing your users' interest!

Track engagement with individual paths and courses

Each course and path in Pathgather is now accompanied with a dashboard showing engagement with that resource over time. Views, launches, completions, and much more can now be viewed across any date range and, if you have administrative access, for any resource in your catalog! For those without administrative access, you'll still have access to this dashboard for content you share or create. 

Oh, and one last bonus - paths now display each learner's progress with each individual path item, allowing you to easily discover which path resource is most or least popular!

Share from Drive and Box

When sharing content, users can now upload from cloud storage services like Drive and Box alongside normal support for sharing a URL. We've had administrative support for this for awhile when creating content, and we're happy to finally support this when sharing content too! Don't forget that we also automatically embed Drive and Box content, making it a great choice to store your PDFs, Powerpoints, and other learning files.

A Redesigned Path Page

Consistency is typically good, which is why we've made some slight tweaks to the path design so that paths provide a similar, consistent experience as all other content.


That's it for this Changelog! Again, if you have any questions or feedback, we're just a short email away at support@pathgather.com

Happy learning,

The Pathgather Team

Why We're A Bit Uncomfortable Being Named a Top LMS

In his most recent rankings of the top Learning Management Systems (LMSs) for 2016, Craig Weiss ranked Pathgather at the #5 spot. And honestly, we're honored…we really are. However, we're a little uncomfortable winning the award. Why? Well, because we aren't an LMS.

What is an LMS?

Traditionally, an LMS is a system that stores and serves learning content for an organization. As users consume content, progress is automatically tracked and reported back to administrators. It's been around for decades and is commonly at the forefront of a company's compliance requirements.

In theory, the LMS is certainly a worthwhile idea and a necessary system. From a compliance perspective, an LMS is practically a requirement. If you're obligated to report minimum training hours performed by your workforce, having a dedicated system that automatically tracks those hours is absolutely valuable. And to build a successful company that attracts and retains top talent, you absolutely must provide learning opportunities to your workforce. Refusing to do so is a recipe for disaster, as you're essentially stating that the collective knowledge of your workforce is good as-is.

We all know that's a ridiculous notion, so why are we so leery of the 'LMS' label?

We set out to make the anti-LMS

When we started this company, we had a single goal in mind - to build a learning platform that employees truly valued. The idea was to build a product that anyone from the summer intern to the new VP of Sales found value in because it helped develop knowledge critical to their career progression. Yet, after researching the LMS market in our early days, we quickly found out that system didn't quite exist yet.

LMS dissatisfaction has steadily been on the rise over the past several years, with dissatisfaction rates commonly reported to be in the 60-70% range. But here's the thing - that dissatisfaction was at the buyer level, not at the employee level. The normal, everyday employee often didn't even realize their company had an LMS, and when they did, a common opinion was "it's a bit tough to use". 

Thus, to achieve our goal, we came up with a solution that, in some ways, flips the traditional LMS model upside-down. We knew that to build a system that revolutionized the way employees learned, we had to rethink the ideal solution from the ground up. Here are just a few of the stark contrasts between Pathgather and the traditional LMS.

Top-down vs. bottom-up approach

The LMS is typically very 'top-down' - owners of the system define the content available and facilitate delivery to the employees. We flip this around, allowing any employee to share and curate content, resources, and their expertise with others. The end result is an extremely transparent system where anyone can influence the learning that occurs at their organization.

Content storage vs. content aggregation

The traditional LMS often stores content in either SCORM form or its successor, xAPI. We won't get into these formats in this post, but we at Pathgather currently have no support, and don't intend to, for hosting either of these content ‘standards’. Why's that? Well, beyond the fact that we've yet to see an engaging SCORM course, we leave that job, and content hosting in general, to the LMS or other systems.

Our reasoning is quite simple. The average enterprise has content scattered about in dozens of places - LMSs, CMSs, internal file stores, cloud storage solutions like Box, video platforms, etc. So instead of providing yet another place for content to live, we focused our efforts on aggregating all that content into one single, searchable place. Pair this strategy with our ability to also index modern content libraries like Pluralsight and Lynda (something LMSs have historically struggled with), and what's left is a single 'metadata' store for all the learning content available to the organization.

Required learning vs. inspired, or encouraged, learning

At the core of a lot of LMS experiences is the notion that learning is required. Company mandates, compliance requirements, required classroom training - the LMS has historically focused on providing administrators with tools to push learning onto their workforce. In Pathgather, we stray away from this notion, instead focusing on a personalized experience for each learner that encourages learning and provides context to the importance of it. The word 'required' isn't found anywhere in our UI. Of course, we provide tools that allows content to be recommended to others, but at no point do we inform learners that 20 hours of safety training is due next week, for example.

Back to the 'Top LMS' award

At this point, it's probably obvious why we're a bit uncomfortable being labeled a top LMS. At both the functional and surface level, we look nothing like an LMS. And frankly, we have little desire to change that.

But the core reason is more philosophical - we don't want to be thought of as an LMS because that label 'boxes' us into what is traditionally expected from the system. And frankly, we think the LMS, at least in its traditional state, is simply the wrong system to scalably and effectively solve the critical learning needs of the modern workforce. It's too top down, relying too heavily on a small group of owners (the learning team) to provide engaging, modern, and continuous educational content for a workforce with diverse skill sets and needs. With technology and practices often becoming outdated just as soon as they get adopted, more power must be given to the experts scattered about throughout the organization. Thus, that's where our focus lies.

Times have simply changed since the LMS was first developed. The workforce of today is dramatically different than the one that existed during the LMS's glory days (we have the internet to largely thank for that). Of course, companies still have compliance needs, and we're happy leaving that responsibility up to the LMS. But to solve the more critical learning issues peering down on today's organization, a new solution is required. We at Pathgather want to provide that solution outside the shadow of the LMS.

There are something like 500+ LMSs out there, and we've yet to see one attempting to solve the problems we're focused on. So while we're working on bringing our entire vision to fruition with the right product, we'd prefer it if you didn't call us an LMS :)


Reach out

If you have any questions about our 'anti LMS' strategy, comment below, tweet at us (@Pathgather), or reach out to us at support@pathgather.com.

Happy learning!

When Gamification Goes Wrong (And It Often Does)

Gamification - for better or worse, it's a common subject when talking about almost all products these days, especially learning products. I know we get asked about it quite a bit, but what commonly surprises me is the range of questions we get on the matter. These can range from the high level ("What is your gamification strategy?") to the extremely detailed ("Do you have a leaderboard in your product?").

What's surprising about that range? Unsurprisingly, it's questions like the latter that seem to imply an already developed opinion on what gamification aspects work best for the learning product the buyer is looking for. Let's look at why that approach may not be the best choice.

Strategy vs Implementation Details

When assessing the gamification capabilities of products, it seems many buyers like to focus on the details, or features, employed by the product. However, common gamification features like leaderboards, badges, and levels are simply implementation details of the larger gamification strategy baked into the product. And what's most important to the potential success of the product is that strategy. Without the right strategy, the features are largely useless - they're tools with no real purpose.

Not all products employ the same gamification strategy. At a high level, most strategies can be united under a single purpose - to encourage engagement with and use of the product - but there's a slew of critical details underneath this initial layer that define the whole strategy. And it's these details that will make or break a product's take on gamification.

Collaboration vs Competition

Collaboration and competition are typically the two major themes at the heart of any gamification strategy, but the two are dramatically different. Thus, when assessing products, it's best to, at least, have an idea on which theme you'd prefer.

Some products want as much competition amongst its users as possible. This is commonly seen in products that prefer quantity over quality - the more the user performs and/or the more the user interacts with the product, the higher their rank becomes. This is a common theme in video games, for example, where the creators want as many users playing the game as possible. The more you play, the more your talent develops, and the higher you'll climb in the rankings.

A more common enterprise example might be a product employed by the sales team to rank team members on the amount of sales made that quarter. Again, for a mature enterprise product, quantity is key here - more sales, and thus more revenue, is usually seen as a good thing - so at any time, a salesperson can login and see how they compare with their peers. Near the bottom? Uh-oh, better work overtime!

Would a leaderboard like this make sense if it were ranking learners on time spent learning this quarter?

Would a leaderboard like this make sense if it were ranking learners on time spent learning this quarter?

Encouraging collaboration, however, usually requires different means. In products where collaboration is key, quality trumps quantity - use the product as much as you like, but be sure what you're contributing is for the greater good. Products like this commonly employ a similar strategy where the product's user base provide the input that determines the quality of a single user's contributions and thus, their 'rank' in the site. Contrast this with the examples above where input from the user base wasn't even a factor, and you'll start to see the drastic difference between these two themes.

You don't have to look far for examples where collaboration is of critical importance - Quora, Hacker News, Reddit, and even Facebook. All of these sites employ a similar gamification strategy - users contribute something, and other users 'upvote' or 'like' those contributions, which awards the user points. In many sites, it's as simple as that. Often, you won't even find a ranking of the site's users based on these points, which may lead you to then ask "what's the significance of those points then?". Well, it's largely relative to the user. Most users simply feel good when others provide positive feedback on their contributions and don't really care if it's their first few points or if they're the top contributor in the entire site. Positive peer feedback is simply justification for the effort you gave to the site. We all like to get likes on our Facebook posts, right?

Quora doesn't even tell you how you compare to other users. They simply focus on how engaging and effective your contributions are. What you do with that info is up to you!

Quora doesn't even tell you how you compare to other users. They simply focus on how engaging and effective your contributions are. What you do with that info is up to you!

Now, back to those implementation details

I say all this to hopefully encourage you to reflect on your current gamification opinions and ensure you have the strategy in mind and not so much the details. Why? Well, there are a lot of products out there that have a poor gamification strategy but encompass almost identical implementation details. Leaderboards, levels, badges, certifications - they're implemented in a ton of products, but only a small handful get them right due to the right strategy. And if your focus is on whether a product has a leaderboard or not, you may miss the fact that the product simply implemented the wrong strategy to begin with. In this case, no tool or feature will right their wrong. 

I'm not sure where this came from, but this about sums up the "strategy" meetings where many bad gamification strategies were created...

I'm not sure where this came from, but this about sums up the "strategy" meetings where many bad gamification strategies were created...

And what of these products that perhaps have implemented the wrong strategy? What impact could that have on the product's users? Well, when a product employs a poor gamification strategy, it often has the opposite effect desired - instead of motivating use of the product, it demotivates use. Typically, the competition-based strategies are the easier ones to get wrong since a) only certain users are motivated by competition and b) they tend to use more features to power their strategy, and more is certainly not always better (points + leaderboards + badges + levels...let's do it all!). Thus, if the competition angle is either poorly done or simply over-executed on with feature after feature, the majority of users - except that small subset motivated by any and all competition - feel alienated instead of inspired. 

So in short, focus more on the underlying strategy, not so much on the features. In today's product landscape where almost every product touts some 'gamification' angle with almost identical feature sets, the devil is most certainly in the details. And being sure to assess those details could be the difference between a product that sends users away with rolled eyes vs one that has a lasting impact on your organization's users.

Reach out

If you have any questions about our expanded opinions on gamification in learning, comment below, tweet at us (@Pathgather), or reach out to us at support@pathgather.com.

Happy learning!

A Beginner's Guide To Relay Mutations

This is another technical post written by our Engineering team about what we're learning at Pathgather. If you're not a developer who is familiar with React & Relay, you'll probably be a bit confused!

Introduction

When I first got started using Relay a month or two ago, everything seemed easy. I was writing GraphQL fragments in my components, composing queries together using containers, and, since everything was being cached in the Relay store, I was browsing around the application crazy fast. It seemed like magic.

Then, I started experimenting with mutations and hit a brick wall. They just didn’t seem to make sense. I read all the guides, watched all the videos, but I still couldn’t seem to internalize everything well enough to actually make it work.

This guide is written for people like me who hit that “mutation brick wall”. It’s for developers who have played with Relay a bit, written some components, are pretty comfortable rendering data fetched from the server using GraphQL queries, but can’t quite figure out mutations. If that sounds like you, then read on! If instead you are brand new to Relay, you’ve got some homework to do first - the official Relay docs are a great place to start.

A Real Example: EndorseCatalogItemMutation

If you're like me, you hate reading about Todo apps. By now, you've probably looked at the TodoMVC code for Relay and still find yourself scratching your head at things like "fat queries", "mutation configs", and "optimistic responses"...

For this post, we're going to use a "real-world" example by talking about using Relay at Pathgather. I should preface this by saying that we haven’t shipped any of this code to production yet, so there’s still lots of learning for us to do, but at least this isn’t a toy example!

Some background on Pathgather first, so this all makes a bit more sense: we’re a enterprise learning platform that makes it easy for employees to find great learning content, share their favorite resources from around the web, and track their progress, all in one place. That means we spend a lot of time and energy showing users learning content: courses from online providers like Lynda, videos from sites like YouTube, blog posts shared by other users, etc. In our GraphQL schema, we call each of those things “CatalogItems”.

For this post, we’ll focus on a relatively simple example: a user has found a CatalogItem pretty valuable, so they want to "endorse" it so their peers can discover it too. This is a pretty simple interaction, of course, but we’ll layer on a bit more complexity at the end. Let’s see how we can model this specific action as a Relay mutation.

Five-Step Guide To Writing A Relay Mutation

I’ll walk you through how I think you should approach writing mutations in five easy steps. For now, let’s assume we’ve already written a React component that is happily rendering our CatalogItem on the client, which means our local graph is already storing some data in the form of a CatalogItem node (if you want some more info on how the Relay Store actually records that data, I highly recommend this great post that dives into all the details). The remote graph on the GraphQL server is much more complicated than that, of course. Here's what that might look like:

#1: Define Input Variables - i.e. "What portion of the graph are we targeting?"

For this mutation, the user is endorsing a specific CatalogItem. We need to think with graphs, not database rows, though - in a graph, you can only ever really target a node or an edge. In this case, we're definitely targeting a specific CatalogItem node, and the easiest way to find that node is to use the node's global ID (Relay makes this a requirement), so that’s what we’ll do. In other cases, you’ll end up targeting edges, or multiple nodes, or some combination of both - no matter what, though, remember you’ll be targeting a portion of the graph.

We can provide the ID of our CatalogItem node to the server via the input variables to the mutation. Relay collects these via the getVariables() method, which expects us to return an object with keys for each variable name:

getVariables() {
  return {
    id: this.props.catalogItem.id // === "123"
  }
}

With our input variables defined, that means our server should have enough information to locate the node we want to mutate in the remote graph (although someone will have to code that!). Here's where we're at:

#2: Define Name - i.e. "What should we call this operation to make it clear?"

Naming stuff is hard. You might chuckle that I even included this step, but I'm the kind of engineer that thinks naming stuff is super important, so I wanted to share some advice here. For me, the name comes second because I believe mutations should follow this basic format: <Action Name><Target Name>Mutation. Now that we've decided we're targeting an individual CatalogItem and endorsing it, the name is pretty obvious: EndorseCatalogItemMutation.

For our schema, we use snake case for everything (don't ask), so that corresponds to a mutation name of endorse_catalog_item.  We tell Relay this using the getMutation() method, which expects a GraphQL query:

getMutation() {
  return Relay.QL `mutation { endorse_catalog_item }`
}

Now that we've told the GraphQL server which mutation to run, it can actually make the change to the remote graph. Progress!

#3: Define Fat Query - i.e. "What portions of the graph does this mutation affect?"

Traditionally speaking, your old endpoints (things like "POST /comments") probably didn't specify all the possible things that could change as a result - how could they? Realistically, they probably return a custom document that contains the result of the operation, along with whatever else your client ended up needing at the time: the new comment, an error message, etc.

GraphQL takes a very different approach to this. Instead of the server specifying what is returned, the client needs to ask for what it wants. You can think of mutations as a write followed immediately by a read - we've already specified the write part (the name and input variables), so now we have to figure out what data needs to be read by the client. That's done via the mutation query.

However, we don't write the mutation query directly... and this is where people start to get confused. Since you're familiar with Relay already, you'll know that your components declare the data they want using GraphQL fragments. Mutation queries don't work like that. Instead of declaring exactly what data you want via a fragment, Relay tries to figure out the minimal amount of data you need in order to update your local graph. Relay then constructs the mutation query automatically by combining three sources of information together:

  1. Mutation Fat Query
  2. Mutation Configs
  3. Local Graph (Relay Store)

The first piece of information Relay needs from us is a "fat query". The fat query specifies what portion of the overall graph was affected by the mutation. You do this by writing a special kind of GraphQL query that specifies which fields may have changed, using some special syntax that Relay understands. Normally in GraphQL if you have a non-scalar field you have to specify which sub-fields you want to fetch (i.e. a field that has sub-fields, like a User field might have name, id, etc.). The fat query doesn't actually execute though, so you don't have to be that specific - if you just know that something on that field has changed in some way, you can just say "user". So the query ends up being less specific than a real query... which I guess makes it "fat"?

For example, in our EndorseCatalogItemMutation we know that we're affecting a very specific part of the graph - the CatalogItem node that was targeted by the mutation. We can specify a fat query that declares that anything about the catalog_item can change like so:

getFatQuery() {
  return Relay.QL`
    fragment on EndorseCatalogItemMutationPayload {
      catalog_item
    }
  `
}

...or, if we want to be more specific about what could have changed, we can specify the sub-fields that will be affected (fields like endorsement_count). This limits the possible mutation queries to ensure we don't overfetch something that can't have changed:

getFatQuery() {
  return Relay.QL`
    fragment on EndorseCatalogItemMutationPayload {
      catalog_item {
        endorsement_count
        is_endorsed_by_current_user
      }
    }
  `
}

We might not actually be rendering the endorsement_count anywhere, though, so fetching it would be unnecessary. This is where Relay starts showing off. Rather than construct a mutation query that fetches all the fields defined in the fat query, Relay intersects the fat query with the data your application has in the local graph to construct a query that only queries data you have fetched previously!

For example, let's say you have this catalog_item in the local graph:

catalog_item: {
  id: "123",
  is_endorsed_by_current_user: false
}

If we intersect the fat query with the fields defined on that catalog_item node, we get the following mutation query:

fragment on EndorseCatalogItemMutationPayload {
  catalog_item {
    is_endorsed_by_current_user
  }
}

Notice that we don't ask for the endorsement_count here because we haven't fetched it previously. If we play around on the site some more and a component fetches the endorsement_count at some point, the local graph will be updated to:

catalog_item: {
  id: "123",
  endorsement_count: 100,
  is_endorsed_by_current_user: false
}

We then reapply the intersection to form a new mutation query:

fragment on EndorseCatalogItemMutationPayload {
  catalog_item {
    endorsement_count
    is_endorsed_by_current_user
  }
}

Cool, right? Relay takes the guesswork out of constructing the mutation query since it knows you aren't currently showing the endorsement_count anywhere.

So, we've written a nice big fat query that specifies the portion of the remote graph that might have been affected by the mutation. Visually that looks something like this:

There's one thing missing here though - you might have 100 different catalog_item nodes in your local graph. How does Relay know which one to intersect the fat query against? That's where the mutation configs come in.

#4: Define Configs using FIELDS_CHANGE - i.e. "How should Relay intersect the fat query against your local graph to construct the mutation query?"

For our example mutation, the only thing missing is how to find the right node in the local graph to intersect the fat query against. Since all nodes are identifiable by their id, this is actually pretty simple to do - just configure the mutation to lookup the catalog_item node with id "123", and update the fields that may have changed. In Relay mutation terms, this is done by providing a FIELDS_CHANGE config object to the getConfigs() method:

getConfigs() {
  return [{
    type: "FIELDS_CHANGE",
    fieldIDs: {
      catalog_item: this.props.catalogItem.id // === "123"
    }
  }]
}

This is the missing piece of information that lets Relay lookup the appropriate parent node in the local graph to intersect the fat query against. It looks something like this:

If we combine the fat query, the mutation config, and the state of our local graph, Relay can now construct the mutation query that gets sent to the server:

Aside: On Mutation Configs

There are currently four* different valid mutation config types: FIELDS_CHANGE, NODE_DELETE, RANGE_ADD, and RANGE_DELETE.  Each config type takes a different set of supporting data to configure the intersection and the subsequent update of the local graph. Pretty much everyone I talk to gets totally confused by these config objects! In fact, you probably read about the different configs in the Mutations Guide, got confused, and found this blog post. Don't worry, we'll sort it out. Here's my advice for anyone getting started with Relay:

 

USE FIELDS_CHANGE FOR EVERYTHING.

 

All of the other configs are simply performance improvements over FIELDS_CHANGE that construct more efficient mutation queries (i.e. request less data). You don't need to optimize for that right now! The mere fact that you are using Relay and maintaining a local graph on the client means you are already wildly more efficient than any client application that doesn't use caching (which includes your most recent project, be honest). Focus on using FIELDS_CHANGE for now - it's easy to reason about and understand, because all you need to do is provide a map between the field names on the fat query (e.g. catalog_item) and the IDs for those items in your local graph (e.g. "123").

Once I decided that the non-FIELDS_CHANGE mutation configs were just performance improvements, I found mutations made a lot more sense, and hopefully that helps you, too. Here are a couple examples to prove my point.

Adding a new comment to a post? Instead of using RANGE_ADD to only request the new comment, just refetch the entire comments collection:

getFatQuery() {
  return Relay.QL`
    fragment on AddCommentToPostPayload {
      post {
        comments
      }
    }
  `
}
getConfigs() {
  return [{
    type: "FIELDS_CHANGE",
    fieldIDs: {
      post: this.props.post.id
    }
  }]
}

Change your mind and want to delete that comment? Don't sweat the NODE_DELETE for now, just refetch all the comments again!

getFatQuery() {
  return Relay.QL`
    fragment on DeleteCommentPayload {
      post {
        comments
      }
    }
  `
}
getConfigs() {
  return [{
    type: "FIELDS_CHANGE",
    fieldIDs: {
      post: this.props.post.id
    }
  }]
}

Get the idea? I believe that every mutation can accurately described as a FIELDS_CHANGE mutation because, in the absolute worst case, you can just refetch the entire local graph and be guaranteed to be up to date. Of course that's a bit extreme and I don't actually recommend you do that! Although to be fair, remember that your Relay components only ask for the minimum set of data they need to render, so even in the extreme example of refetching the entire local graph, the resulting GraphQL response might be smaller than some of the REST documents your current app is downloading and only using a handful of fields from...

We don't need to go to the extreme, though. If it feels like you are requesting too much data with FIELDS_CHANGE, or if you can't reasonably express what's changing by naming the parent nodes that are affected, it's time to iterate a bit. Let's briefly touch on that.

#4.5: Define more optimal Configs - i.e. "How can Relay guess about how the actual graph changed and apply that change to the local graph?"

For certain types of mutations, we can use NODE_DELETE, RANGE_ADD, and RANGE_DELETE to "guess" what the server changed in the remote graph. By guessing, we avoid having to refetch as much data - Relay can construct a more minimal mutation query and rely on us, the developer, doing the right thing.

To decide if we can use these more optimal mutation configs, we can follow this handy flow chart:

If you understand mutations well enough to confidently answer those questions, you probably don't need my help understanding how to configure those more advanced types. I'll leave it there for now, and maybe revisit those in a future post.

#5: Define Optimistic Response, if you can - i.e. "Can I fake a server response to make Relay update the local graph immediately?"

Now that you understand what mutations are truly doing - causing a change to a portion of the server graph, then querying the server in order to update the local graph accordingly - we can finish up our mutation definition. You'll note that the client knows a lot about what's happening. It precisely defines what portion of the graph to target (via the input variables), it understands what area of the graph is affected (via the fat query), and it constructs a query to refetch that affected portion (via the configs and the local graph). Since the client knows so much about what the mutation is going to do, it stands to reason that it could simply simulate the mutation on the client and not rely on the server at all, except to permanently record the change! If we don't rely on the server at all, we can make the change instantly, right? That's what optimistic responses give us.

I find it useful to think of optimistic responses as "simulating the mutation" on the client, but it's actually not quite true. Instead of performing the mutation and transforming the local graph manually, all we actually need to do is fake a server response, and Relay will pretend that was the real response. We don't have to obsess about making a perfect response, either - Relay will only use the optimistic response temporarily until the real server response arrives, which makes a permanent change to the local graph. Very cool.

For our example mutation, it's fairly easy to write a server response like so:

getOptimisticResponse() {
  return {
    catalog_item: {
      id: this.props.catalogItem.id, // == "123"
      endorsed_count: this.props.catalogItem.endorsed_count + 1, // === "101"
      is_endorsed_by_current_user: true
    }
  }
}

You might find it helpful to imagine optimistic responses as being the output of a "transform" on an existing fragment. It's often easy to create the response directly like in the example, but I could also have done it like this:

getOptimisticResponse() {
  let simulateEndorseCatalogItemMutation = (catalogItem) => {
    let mutatedCatalogItem = Object.assign({}, catalogItem)
    mutatedCatalogItem.endorsed_count += 1
    mutatedCatalogItem.is_endorsed_by_current_user = true
  }
  return { 
    catalog_item: simulateEndorseCatalogItemMutation(this.props.catalogItem)
  }
}

With our optimistic response defined, we can place some temporary data in the local graph while we wait for the true mutation response to arrive. Since we're updating the local graph, this also triggers a re-render of any components that were using that data, so our UI instantly updates. Here's what that looks like:

Bringing It All Together

At this point, our mutation is usable. We've defined the input variables, given our operation a name, added the fat query, specified a config, and wrote an optimistic response. We can package it all up into a class that extends Relay.Mutation and call it a day.

class EndorseCatalogItemMutation extends Relay.Mutation {
  getMutation() {
    return Relay.QL `mutation { endorse_catalog_item }`
  }

  getVariables() {
    return {
      id: this.props.catalogItem.id
    }
  }

  getFatQuery() {
    return Relay.QL `
      fragment on EndorseCatalogItemMutationPayload {
        catalog_item {
          endorsed_count
          is_endorsed_by_current_user
        }
      }
    `
  }

  getConfigs() {
    return [{
      type: "FIELDS_CHANGE",
      fieldIDs: {
        catalog_item: this.props.catalogItem.id
      }
    }]
  }

  getOptimisticResponse() {
    return {
      catalog_item: {
        id: this.props.catalogItem.id,
        endorsed_count: this.props.catalogItem.endorsed_count + 1,
        is_endorsed_by_current_user: true
      }
    }
  }
}

We can now use this mutation in any of our React components by invoking it's constructor with the right input variables and pass that off to Relay.Store.update(), which will send the mutation to the server, apply the optimistic update, and then wait for the mutation response before making the permanent change to the store. Success!

Refining Our Example

The example provided here is a mutation that affects a single node, so everything ends up being relatively simple. In reality, even small mutations like this one tend to affect a larger portion of the graph than I've shown here. For example, this action (endorsing a CatalogItem) definitely affects the catalog_item node, but it could also affect a total_endorsement_count field on the user who originally shared that catalog_item, or add a new edge to the current user's endorsed_catalog_items connection. In both cases, we'd need to update the fat query (to specify the other nodes that are affected) and provide additional fieldIDs to our FIELDS_CHANGE config. Hopefully by now you can imagine how that might work, but here's a theoretical example to help illustrate that:

getFatQuery() {
  return Relay.QL `
    fragment on EndorseCatalogItemMutationPayload {
      catalog_item {
        endorsed_count
        is_endorsed_by_current_user
      }
      sharer {
        total_endorsement_count
      }
      current_user {
        endorsed_catalog_items
      }
    }
  `
}

getConfigs() {
  return [{
    type: "FIELDS_CHANGE",
    fieldIDs: {
      catalog_item: this.props.catalogItem.id,
      sharer: this.props.catalogItem.sharer.id,
      current_user: this.props.currentUser.id
    }
  }]
}

As your mutations get more complex, they will start to have data dependencies of their own, so you'll also want to define fragments on your mutation to fetch that data before the mutation is even constructed (via the beauty of Relay container composition, of course!).

Summary

The key to understanding Relay mutations is to start "thinking with graphs". This was my biggest stumbling block when getting started, since I came from a REST world where mutations were always custom endpoints with custom input data and custom responses. The "Relay way" involves expressing your mutations as graph operations; if you do that, everything else starts to fall in place.

To get started, you can follow this five (and a half) step guide to design all your mutations:

#1: Define Input Variables - i.e. "What portion of the graph are we targeting?"
#2: Define Name - i.e. "What should we call this operation to make it clear?"
#3: Define Fat Query - i.e. "What portions of the graph does this mutation affect?"
#4: Define Configs using FIELDS_CHANGE - i.e. "How should Relay intersect the fat query against your local graph to construct the mutation query?"
#4.5: Define more optimal Configs - i.e. "How can Relay guess about how the actual graph changed and apply that change to the local graph?"
#5: Define Optimistic Response, if you can - i.e. "Can I fake a server response to make Relay update the local graph immediately?"

Once you become more familiar with Relay, you'll get more confident about moving outside the boundaries. You'll also start to notice some of the idiosyncrasies that don't quite make sense yet. For example, why are fat queries a client-side concern? How can you accurately describe a graph operation from the client when you don't actually know what exactly which nodes in the graph will be affected ahead of time? Not all these questions have great answers... yet. Do you think you have one? Submit a PR: https://github.com/facebook/relay

Reach Out

If you have any questions about this stuff, feel free to comment here, tweet at me (@nsamuell), drop me a question on the #relay channel on Reactiflux, or just send me a good ol' fashioned email: neville@pathgather.com. Special thanks to the Reactiflux folks who helped me learn this stuff and edit this post, too: @eyston, @ryancole, and @KyleAMathews!

Keep learning!

 

 

 


* there's also the secret "REQUIRED_CHILDREN" config you can use to add whatever fields you want to the mutation query. To find out more about this mysterious type, hunt it down in the Relay source :)

Learning Content in the Enterprise: Codecademy

This is the latest installment of our series delving into some of the coolest ways to learn online. You can view earlier installments here:

codecademy.png

This time around we’re going to be looking at a site called Codecademy. Codecademy (not to be confused with, or pronounced like, Code Academy) is one of the most popular ways for beginners to jump into programming. Millions of people have used Codecademy to learn web development (I’m one among their number), and it gets great reviews. Let’s dig in to see why!

What can I learn there

Codecademy is, as the name suggests, all about learning to code, mainly web development. The content is definitely designed for beginners, and it is great at what it does. Head over to Codecademy to get your start on anything from HTML/CSS/Javascript and jQuery, to Ruby, Python and PHP. Curious what these things called APIs are all about? Codecademy’s got you covered.
 

What makes it different?

Codecademy is incredibly interactive, totally free, and it gets you started writing your first lines of code almost immediately, giving you a sense of accomplishment and possibility right off the bat.

The approach that Codecademy takes is particularly interesting in contrast to the last learning website we profiled, Treehouse. There are no videos to be had at Codecademy - instead it uses text-based instructions to guide the learner progressively through each new concept. The only way to move on is to demonstrate that you understood these new concepts by coding your answers. It’s all coding, all the time, and it’s excellent.

Unlike Treehouse, you’ll find no Mike the Frog here, no action-adventure video series to reward you for completing the latest exercise. While there is a badge-based reward system, the UI is otherwise very clean and minimalist. All distractions are removed so you can get down to business.

Despite how different the branding and learning experiences are between these two sites, one is not necessarily better than the other. They both execute very well on their respective approaches, and may appeal more or less to a given learner based on her preferred learning style.

What’s the learning experience like?

The best part about Codecademy is they get you coding immediately. But you’re rarely faced with an entirely new or confounding challenge, because their “bite-sized learning” approach makes it feel like you’ve already encountered the latest concept. Instead of 5-10 minute videos, Codecademy delivers their learning delights in 15-second nanotasks that progressively skill you up.

Take one of their newer courses called “Learn the Command Line”. One of the first tasks here is to simply type “ls” into the terminal (which is conveniently provided to you right in your web browser). Hit enter, and you’re done. Your results appear on the screen, and you’ve learned a new concept! It's incredibly easy, and that’s how they want everything to feel. Regardless of how complex a given coding task may be in the abstract, Codecademy endeavors to walk you progressively through each and every prerequisite concept so that each new task feels no more difficult or foreign than the one that came before it.

Contrast this with Treehouse, which - though I tend to enjoy it immensely - can sometimes feel like it skips certain critical concepts that make the learning process more challenging than I would prefer, such that I have to go somewhere else to fill in the missing pieces before I can return to my lesson.

Pricing

Did I mention it’s free? That might be why one of their HTML courses, for example, has 4.5 million learners at the time of this writing. How do they plan to make money? I don’t know, but I’m sure it’s something that’s crossed their minds, and with so many users, they probably have options. In the meantime, let's just reap the fruits of their labor.

What is Codecademy similar to?

Later on in this series we’ll be profiling a couple other sites that have strong similarities to Codecademy, including Datacamp (a fellow Techstars alum), Codeschool, and aspects of Udacity. But Codecademy has, from what I’ve seen, the greatest breadth and depth when it comes to interactive coding. If you’re looking for a way to get started with programming but aren’t sure where to start, you will not go wrong by starting with Codecademy.

What I dug

I wrote my first lines of code on Codecademy - I dug it then and have dug it ever since.  To summarize, there are a couple main reasons for this:

  • It does a good job of stripping away as many barriers between me and my progress as possible, including the need to switch back and forth between the source of my learning (the text-based tutorial) and the place where I practice my newly-acquired knowledge (my code editor), which is placed right alongside the text tutorial.

  • The learning is delivered in such small bits that concepts which might otherwise be overwhelming or intimidating are rendered more comprehensible and manageable.

  • It makes effective use of tried and true game mechanics, including badges and progress indicators. I remember feeling quite accomplished in my early days due to accumulating my three dozen digital badges. 

What I could dig more

As a slight counterpoint to my praise of the excellent minimalist UX they’ve created, it can at times get a bit dry, and that’s where sites with a bit more flash like Treehouse or Code School shine. This, however, is typically remedied by setting it aside and coming back with fresh eyes. My only other qualm is that the content seems aimed fairly exclusively at a beginner to early-intermediate audience. One could argue, however, that this focus is why they have been able to execute well, and there are still many languages that they’ve yet to broach, even at a beginner level.

Usage in the enterprise

Since it's totally free, enterprises must be all over Codecademy, right?  Well, data is limited on this, but based on conversations we’ve had with L&D professionals, Codecademy rarely comes up. As with Treehouse, this could be due to its focus on beginners. Also, it’s unlikely that a learner who has completed every Codecademy course would be ready to contribute in a terribly meaningful way based solely upon what they’ve learned.

That said, it’s no secret that there’s a giant shortage of technical know-how in the labor force, so one could argue that companies can’t afford to overlook resources like Codecademy in the library of content they provide their workforce. Learning is a long-term investment, and I suspect it’s the forward-thinking companies willing to invest in long-term skill development that are going to be best positioned to succeed in the future.  And in the case of Codecademy, that investment happens to be $0. Seems like a pretty low-risk bet to me.

However, because Codecademy cannot be accessed through an LMS, companies lack an easy way of getting employees to specific courses within Codecademy, tracking what they’ve learned once there, and facilitating conversations between employees about the content. This is a challenge companies tend to face across all informal content, though there are solutions to be had.

Final thoughts

Have you used Codecademy before? What did you think of it? Is it in use at your organization on a company-wide level, or do any of your colleagues make use of it? Let us know in the comments!

Changelog #4

First off, Happy Holidays and a soon-to-be Happy New Year! We made a wealth of changes to round out 2015 and cannot wait to hear what you think about them! As always, please reach out to us at support@pathgather.com with any feedback or questions.

Introducing the New Learning Queue

The Learning Queue just got a lot more powerful with the ability to schedule and prioritize your learning. When queuing content to learn later, set a goal date to learn at some point in the future, and we'll include reminders as your goal date approaches in your daily Pathgather email.

A redesigned, more engaging landing page

Given the enhancements to the Learning Queue, we thought it appropriate to ensure it was front and center immediately when visiting Pathgather. So, we redesigned the landing page to clearly communicate content approaching its due date in your queue. We also converted the layout to a cleaner, more engaging two column layout (from the previous three column version).

Enhanced recommendations: suggested goal dates + analytics

We've also merged recommendations generated by peers with the new Learning Queue. Now, if you've been recommended content by another learner (e.g. a manager, coworker, etc), those recommendations show at the top of your queue with "Accept" and "Decline" options. Accepting a recommendation simply adds that content to your queue.

In addition, recommendations can also now be sent with a suggested goal date (which will be maintained if accepted and added to the learner's queue). And finally, we've implemented the ability to view metrics like which learners have accepted and completed your recommendations!

Search improvements: preview matched keywords in results

Ever wonder why certain results were being returned in your searches? Well, wonder no more! Now, when you perform a keyword search, we'll highlight the matched terms in each result so it's clear why that result was returned. We also tweaked our search algorithms to improve the accuracy of returned results.

Conversation Titles + Search

Screen Shot 2015-12-28 at 9.38.45 PM.png

When starting a conversation, we added support for a title as well as a body (just like an email). In addition, you can now search conversations in a gathering.

Github Gist Embed Support

Screen Shot 2015-12-28 at 9.43.05 PM.png

We added Github Gists to the list of content we'll automatically embed in Pathgather! Simply use a normal Github Gist URL when creating content, and your users will now be able to view the Gist directly within Pathgather.


That's it for this Changelog! Again, if you have any questions or feedback, we're just a short email away at support@pathgather.com

Happy learning,

The Pathgather Team

The "So What?" of Enterprise Learning

by Mansi Shah

As the Senior Manager of Customer Success here at Pathgather, I spend a lot of time working with our customers and their organizations. One topic that comes up very often is measuring the ROI of learning. There seems to be two main schools of thought in this arena - some organizations seek to understand the bottom line impact, while others take a “learning for the sake of learning” approach. At Pathgather, we believe that enterprise learning does indeed have a very real bottom line impact, but perhaps not in the way it’s traditionally understood.

Employee engagement, satisfaction, and retention

According to a 2011 PwC report titled “Millennials at work: Reshaping the workplace,” over 1 in 4 millennials expect to have six or more employers over their career and, by 2020, millennials will make up 50% of the global workforce. When asked to rank the three benefits millennials would value most from their employer, training and development came out on top (KPCB Internet Trends 2015 - see below).

Further, the cost to U.S. companies for each new hire is $4,000 (Bersin by Deloitte, Talent Acquisition Factbook 2015). The combination of these four insights is worth paying attention to.

If we know that millennials are highly mobile and an increasing plurality in the workforce, and that training and development is the #1 thing they value from employers, and that recruiting is expensive and time-consuming, shouldn’t this dictate every company’s retention strategy? Providing your employees with valuable learning opportunities could save your company thousands - perhaps millions - of dollars annually, build an attractive culture of continuous learning, and improve employee retention.

Skill development

Modern enterprise learning is sometimes viewed as hard to understand in aggregate. That’s understandable, especially in environments where learning is encouraged to be largely self-directed. But consider this example - you have an internal sales team full of relatively capable but not exceptional sales representatives and the leader of that team is scheduled to retire next summer. This challenge is probably not uncommon. Deloitte’s 2015 Human Capital Trends reports that organizations worldwide are struggling to develop an adequate leadership pipeline. Suppose Melissa, a sales representative on that team, recognizes this leadership gap and decides to pursue this opportunity to ensure she is fulfilling her greatest professional potential. Using her company’s learning platform, she discovers two TED talks on leadership, takes a month-long Coursera course on customer-centric selling, and reads three articles on negotiation over the course of six weeks. In addition, she is able to connect with mentors in other parts of her organization. Fast forward a few months, and Melissa has revealed herself as a potential candidate for the head of the department position. To us, that’s the connection between learning and development opportunities and your business’s bottom line.

Spreading the wealth

Another benefit of providing your employees with the right learning tools and resources is that you can begin to create a network effect with the increased knowledge and skills in your organization. According to the 70-20-10 model of learning and development, about 70% of workforce learning happens via on-the-job interactions with peers, teammates, and managers. This means that if some subset of your employees are taking advantage of tools to learn and track their growth in the enterprise, there’s a good chance their peers are benefiting from this second-hand. For the same reasons listed in the previous section, the more your employees are keeping their skills relevant and up-to-date, the more likely you are to be maximizing the return you get out of employing them in the first place.

Conclusion

So what does this all mean? It means that the latest research about the L&D industry seems to support the idea that robust learning programs actually support your organization’s bottom line - and therefore your organization’s health and future growth. We applaud those companies who take a “learning for the sake of learning” approach, but we believe it’s time to acknowledge that the bottom line is important too. To those who have always considered the bottom line, we encourage you to view your enterprise learning environment through the lens described above - the true impact of quality enterprise learning is that it keeps your employees engaged, develops critical skills within the organization, and creates a network of informal, on-the-job learning. 

 

Subject Matter Experts and The ‘Hit By a Bus’ Phenomenon

In my last job, there was a guy named James...and James was our go-to guy. Being in the healthcare software space, our clients loved data. Supply chain is all about ‘squeezing more juice out of the lemon’ and with the rising costs of healthcare, our hospital customers relied on our platform for some pretty significant decisions.  

That’s where James came in. James started his career at our company and because of his abilities to work with data, he quickly grew from an entry-level business analyst into a key role working with our database and record store. At least, that was his job description on paper. In reality, James was more likely responsible for keeping a multi-million dollar business afloat single-handedly. His knowledge of the information our platform collected was second to none and soon more and more groups relied on him to pull custom reports, assist with client services, or identify critical business opportunities. The phrase “I don’t know, why don’t you go ask James” was probably uttered a dozen times a day.   

This brings me to what I call the ‘hit by a bus’ phenomenon. During critical times, such as the launch of a new initiative, we used to joke, somewhat morbidly, that we hoped James wouldn’t get hit by a bus on his way home from work (of course, we always hoped he wouldn’t get hit by a bus, but during critical times, it seemed to be on our mind more often). It was a crass way of acknowledging that this one individual was so crucial to our company that if he ever decided to leave, there would be a significant impact on our ability to run our business. Sound familiar? I wouldn’t be surprised if you’re reading this right now and thinking something like ‘huh, just like Jessica in IT’.  

Unfortunately, what started out as a genuine willingness to help his company succeed had turned into a commitment that was way out of scope for James’ role, and it began affecting his engagement at work. While not a new phenomenon, it seems to be an increasing one in many organizations. Due to the continued specialization of technologies and processes, the need for domain or subject matter expertise continues to rise. And once companies get ahold of these experts, they often take them for granted, squeezing them for all they’re worth while failing to show proper gratitude. And in a growing economy where your SMEs don’t have to look too hard for other opportunities, you may end up in a situation where you need a new expert to fill the opening left by the outgoing one. Thus, the cycle restarts.

Clearly, managing your SME population has significant implications. So what are some strategies for improving this aspect of your business? As with many business challenges, I look at how a company can enhance its learning program to not only help solve the problem now, but also implement a cultural change to prevent the problem from showing up in the future.

The Influencer Culture

Social networks like LinkedIn came up with the idea of the ‘influencer’ several years back as a way to distribute an individual’s expertise on a mass scale. As opposed to managing hundreds or thousands of requests to connect, share, and network, LinkedIn provided this status as a way for these individuals to share their knowledge in a much more impactful way. This concept is one that is starting to appear in the corporate world as well. If your company is using social technology, what are the ways that you can identify SMEs and allow them to share their knowledge to the masses in a much more scalable way?  

Learner-Led Learning  

The whole reason that SMEs field so many questions is because they have credibility across the organization. In that case, is there an opportunity for the L&D team to use the SMEs knowledge to promote new learning? Your learners will be more likely to check out a video or article that’s been authored by a respected SME rather than the nameless L&D organization. Identifying SMEs and building a content message around them is a great way to capture their knowledge and increase engagement in learning.  

Recognition  

Employees value recognition and SMEs are no different. However, most often that recognition takes the form of increased leeway and freedom in order to keep the expert happy. While that’s a nice demonstration of trust and appreciation, recognizing your SMEs formally for the work they do can go a long way to establishing loyalty and employee satisfaction.

Unfortunately, recognition can be the hardest aspect to get right at a repeatable, scalable level. You can only so often resort to pay raises or bonuses before you’ve “played that card” or, well, run out of money. Forbes recently ran an article on creative ways to recognize your employees, and while not each way will resonate with every employee, I applaud the creative approach.

As an L&D professional, a good start to showing appreciation for your SMEs is to integrate their knowledge into your normal workflow and curriculum. Ask the SME for course recommendations in their areas of expertise, request they answer questions from newer hires in your company’s social learning platform (if you have one), or encourage them to start internal ‘meetups’ around their most valued skills. Of course, there’s no “one size fits all” approach here, so a great first step is simply getting to know your SMEs and their preferences and motivations.

Conclusion

When trying to help manage and grow your company’s SME population, L&D has a unique chance to not only contribute, but to also help solve a critical business need in a scalable way. SMEs, after all, are employees with valued and sought after knowledge, so it certainly makes sense for L&D to setup a learning environment that helps create new ones. However, integrating existing SMEs more closely into the culture of learning at your organization is an oft-overlooked catalyst to helping grow that population, and doing so also has the nice side effect of keeping the existing SME motivated through peer recognition and appreciation. If we had only set up such an environment for James instead of bombarding him with timely questions or calling him into urgent meetings, he might still be with us today. *

* Note: “with us” as with the company. I’m happy to say James did not get hit by a bus. He’s happy and healthy, just at a different company :(

 

Mobile Analytics