A customer conversation platform is bound to increase social engagement and sales conversion. 5 customer messaging tips! | Layer

Posts

World-Class Messaging in Minutes

Guide to World-Class Messaging

We know that messaging increases customer engagement and improves conversion. No matter what industry you’re in, a 1:1 customer conversation strategy can lead to business success. However, creating your own branded messaging experience might sound easier said than done.

But did you know you can achieve world-class messaging in just a few minutes? It’s possible when you build on top of the Layer platform.

3 Components of Layer that Streamline Messaging Go-to-Market

Our goal at Layer is to enable you to build your own world-class messaging experience with minimal effort by using our customer conversation platform. To help, we’ve designed a new workflow in our dashboard that allows anyone (including non-engineers) to get started on Layer.

There are three main components in this workflow—an identity provider, sample apps, and a web wizard.

Rather than forcing you to register with Layer itself, the platform offers a simple identity provider. This eliminates the typical engineering hurdle platforms require when you have to migrate existing users or integrate your user management system. We’ve developed a simple 1-click deploy to Heroku that allows anyone to start experimenting with messaging through Layer quickly.

After you’ve had the chance to experience Layer, you can integrate your actual user management system for full-scale production deployment.

This streamlined access is also useful for existing applications that have already been built on Layer. By downloading the sample apps that are available for iOS, Android, and web, you can integrate your user management system and compare application behavior with Layer’s best practices. Validating against the best practices can help ensure you’re releasing an optimal messaging experience.

All of these processes can be completed through the web wizard available in the Layer dashboard. It guides you through the whole process of setting up your branded messaging experience.

This 3-phase workflow can be completed in just a few minutes and help you get well on your way to releasing your own customer conversation channel.

Want to see how it works in real time? Check out the quick 3-minute demo below.

by Amar Srinivasan

Sending Your First Layer Message from Ivy Montgomery on Vimeo.

FinovateSpring 2017: Bringing Financial Services Out of the Stone Age

Bringing Financial Services Out of the Stone Age

The financial services industry is one of the most heavily affected by digital transformation. With such strict regulatory and security standards to adhere to, it’s no surprise that going digital has been a challenge.

But just because digital transformation is difficult doesn’t mean banks and other financial institutions can sit idly.

Since 2007, Finovate has been hosting its series of events to keep financial services firms on top of the latest technology. This year, we’re joining the effort with our own presentation about how the finance industry can create mobile, personalized, interactive, and at-the-moment customer experiences.

If you couldn’t make it to FinovateSpring this year, you can still learn about getting ahead of digital transformation demands with a messaging experience built to delight customers.

A Fork in the Road for Financial Services

Maintaining the status quo might seem like the safe approach for any incumbent bank or financial services firm—but even the most established brands must resist this urge.

If there’s one thing to take away from FinovateSpring, it’s that new technology like person-to-person lending, blockchain, mobile, and more aren’t fads—they’re becoming the new norm.

Research from McKinsey & Company found that the next 3 to 5 years will represent a fork in the road for incumbent financial services companies looking at digital transformation.

Taking the “wait and see” approach to digital customer experiences will open incumbents up to see 35% of their net profits erode. Whether these profits are lost to competitor innovation, margin compression, or increased operational risk, it’s unlikely anyone would see this as the ideal path.

Banks and financial services firms that embrace can boost inflow revenue by 45%. Three major opportunities when digitizing include:

  • Increasing revenue with new offers and business models native to mobile and other digital channels
  • Offering new products and creating distinct digital sales processes that use data to cross-sell
  • Leveraging automation and transaction migration to lower operational costs and increase margins

One reason incumbent banks have been hesitant with digital technology is this perception that only millennials are resisting traditional channels. However, more than 50% of Gen X-ers and Baby Boomers prefer digital channels for multiple phases of the loan process.

FinovateSpring 2017: Bringing Financial Services Out of the Stone Age

When you root your digital transformation efforts in mobile messaging, you can take advantage of these digital transformation opportunities and drive loyalty with valuable customer conversations.

Messaging—The New Digital Focal Point for Financial Communication

Consumer communication has evolved far beyond how conversations work in traditional financial services. Face-to-face communication is great—but it’s like living in the Stone Age at this point.

Phone calls and emails have their place as well, but messaging is the preferred channel for modern communication (even with businesses).

With a branded messaging experience, you can have frictionless conversations with customers (and prospects) throughout the entire buying process:

  • Digital loan and account application with a mix of chatbots and human interaction when necessary.
  • Allow customers to make policy modifications and claims reports without dealing with the traditional headaches.
  • Provide push notifications and immediate messages regarding fraud detection so customers are always informed.

Building a digital customer experience that drives business requires differentiation, personalization, and a mobile-first mentality. Building your own messaging is the best way to accomplish all three.

Branded Messaging Is More Accessible Than You Think

Time is of the essence when it comes to digital transformation. Every month that passes is a new opportunity for your competitors and emerging digital natives to claim more market share.

It’s one thing to talk about releasing a core messaging experience and quite another to actually build one—but that’s why we presented at FinovateSpring this year.


         

With the Layer customer conversation platform, you can cut out the months of infrastructure development that seem so daunting when starting down the digital transformation path. Build your user interface on top of a platform tailored for the financial services industry (and all of its compliance challenges) and start taking advantage of digital customer conversations in days.

If you want to learn more about how a branded messaging experience can help you succeed with digital transformation, contact us today for a free demo of the Layer platform.

Have an EyeforTravel? How Messaging Creates an Edge in the Travel Industry

How Messaging Creates an Edge in the Travel Industry

The travel industry is poised for booming gains in the coming years as the millennial market continues to mature. Millennials already make up about 20% of all international travel. Moving forward, this new experience generation will prove to be an ever-growing cash cow for airlines and hotel chains.

But there’s a catch. Owning the revenue potential of the growing market will require more than just travel experiences—a mobile-native customer experience is now table stakes in the industry.

Traditional airlines and hotels might feel like they’re at a natural disadvantage against emerging (and established) online travel agencies, but they don’t have to be.

The 9th annual EyeforTravel San Francisco Summit will give industry leaders an opportunity to see how they can gain a competitive edge in the digital travel world—and we’ll be competing in the Start-Up Awards with an explanation about how mobile messaging can help you own the revenue potential of the experience generation.

It’s Not Too Late to Transform the Travel Industry

Online travel agencies are disrupting your business, leaving you with two choices. You can either watch as these companies leverage mobile technology to take more of the travel market, or you can close the tech gap and create a differentiated customer experience that makes you the premier option for consumers.

It may seem as if OTAs have already mastered the art of generating revenue through ancillary services, but there’s still time for traditional airlines and hotel chains to step in and regain control. Terry Jones, former CIO of American Airlines, CEO of Travelocity, and CEO of Wayblazer, once said:

“Kayak has 50 million users of our travel app, but most don’t use it during the trip. TripIt and TripCase have millions of users who get itineraries, use them during the trip, but don’t have much utility beyond the itinerary. Yelp and TripAdvisor are used during the trip, and at least TripAdvisor will get you to buy a few things along the way. Expedia is pushing hard on tours. But I would posit that no one yet really owns the travel edge.”

It may seem to transform into a travel company that can own the customer in the face of modularization by OTAs. However, a solid mobile strategy with messaging at the core can give you a direct line of frictionless communication for booking, support, and loyalty that will help you thrive against digital disruptors.

4 Ways Messaging Can Help You Own the Digital Travel Customer

It’s not enough to just dip your toes in the digital waters with something like a chatbot. You have to dive headfirst into the mobile deep end if you want to capitalize on the revenue potential of the experience generation.

When you implement a mobile-native messaging strategy, you can:

  • Cater to Millennials with Personalization: Consumers are coming to an expect an Uber-like experience in all aspects of digital. With a centralized messaging experience, you can offer booking and service experiences personalized to specific customers because you can engage in 1:1 conversations with them. Chatbots will help you scale—but the real differentiation lies in human interaction.
  • Overcome Challenges of the Sharing Economy: The rise of sharing-economy companies like Airbnb doesn’t have to be as daunting as it seems. Getting to market quickly with a branded messaging experience can help you bridge the tech gap so you can offer customer experiences that can compete in the sharing economy.
  • Create Upsell Opportunities: Expanding RevPAR and RASM are top priorities for hotels and airlines, respectively. How can you start making money by selling things other than flights and rooms? Engaging in 1:1 conversations with customers gives you upsell opportunities in a way that isn’t disruptive. OTAs are selling ancillary services and you can, too.
  • Drive Loyalty with Mobile Booking: Owning 100% of customer conversation data means you can create seamless experiences for repeat customers. If you provide a differentiated experience that caters to specific customer needs, they won’t have any reason to leave for OTAs.

These are just a few of the benefits of messaging that we’ll be talking about at this year’s EyeforTravel Start-Up Awards at the San Francisco Summit.

Mobile is already changing consumer behavior and messaging gives you a way to facilitate new business models that will help you improve your footing in the evolving travel market. If you want to learn more about how you can create a branded messaging experience that competes against OTAs, contact us today for a free demo of the Layer customer conversation platform.

How Web Summit Went from 0 to 60 (Thousand) in 7 Years

Web Summit Went from 0 to 60 (Thousand)

If you frequently attend industry conferences, you know they aren’t all created equal.

After a few different events, you start to notice the little things—the nuances of scheduling, networking, the speaker lineup, and “after hours” events. For the conference organizers, it’s all about delivering the best experience possible to keep you coming back for more year after year.

This is why Paddy Cosgrave took a different approach when he started Web Summit back in 2010. While others were hiring event planners to organize conferences, Cosgrave and team hired engineers and data scientists to optimize the Web Summit experience.

But all data and engineering goes to waste if the attendee-facing experience falls flat.

In just 7 years, Web Summit has become the world’s largest and most important technology conference. With messaging at the core, the conference has gone from just 400 attendees in 2010 to over 60,000 expected in 2017.

What Makes the Web Summit Experience So Special?

What do you look for when you attend a conference? Everyone’s preferences are a bit different, but the keys to a great conference experience often come down to 3 key components:

Education: If you’re in the tech space, who better to learn from than people like Elon Musk, Reed Hastings, Jack Dorsey, Michael Dell and others like them? Web Summit makes a point of bringing in the very best speakers to teach attendees about the latest trends in the tech ecosystem.

Entertainment: Web Summit does more than just bring tech leaders together. The conference has positioned itself as a must-attend event from an entertainment standpoint. Guests like Bono, Tony Hawk, Eva Longoria, will.i.am, and more make Web Summit what it is—both during and after conference hours.

Networking: With over 60,000 attendees—68% of which are senior management—it’s hard to argue with the networking power of Web Summit. Whether you’re a startup or and established company, Web Summit can serve as more than a conference—it’s quickly becoming a universal tech marketplace.

The biggest problem at Web Summit might be the fact that you can’t possibly do (or see) it all. You can’t listen to all 650+ speakers and you can’t meet with more than 60,000 attendees—and trying to find which talks and networking opportunities suit you best might seem overwhelming.

This is why Web Summit’s greatest focus is on surfacing seldom-heard speakers, personalizing session recommendations, and offering insight into which attendees should set meetings with one another. With a Layer-powered messaging experience driving the conference, Web Summit has minimized friction and maximized attendee (and speaker) satisfaction.

Messaging—The Foundation for a Frictionless Conference Experience

Understanding that messaging has become the universal communication experience, Paddy Cosgrave and the Web Summit team started working with Layer in 2015 to take the conference experience to the next level. Web Summit was already creating lanyards, registration software, recommendation systems and more—and building a messaging experience from scratch just wasn’t possible.

Web Summit case study from Ivy Montgomery on Vimeo.

Combining Cosgrave’s focus on graph theory, engineering and data science with a customer-facing messaging interface has led to 98% attendee satisfaction. Some keys to this success are:

  • Frictionless group discussions among attendees
  • Seamless mix of asynchronous and synchronous communication for meetings
  • Real-time location data to make meeting in person quick and easy
  • The ability to share memories of the Web Summit experience

Web Summit is the first software company to create events and Cosgrave has proven that there’s science to this conference planning process. But as Web Summit introduces even more events around the world, the partnership with Layer to combine a powerful backend with a frictionless frontend will be critical for delivering valuable experiences.

If you want to learn more about how Layer has helped Web Summit delight conference attendees around the world, contact us today for a free demo of the customer conversation platform.

Messaging 101 Series: The Importance of Avatars

Messaging 101 Series: What to Know about Avatars!

Guide to Messaging & Avatars

They say a picture is worth a thousand words. But who says pictures can’t be worth more than just a thousand words?

In your messaging experience, pictures/avatars could make the difference between lasting customer engagement and losing business to competitors. At a time when nearly 90% of companies are differentiating themselves through their customer experience, it’s important to add an emotional/human dimension to your messaging experience when it makes sense.

When you’re building out the nuances of your messaging conversation list, you have to consider where avatars fit in.

3 Ways Avatars Improve Your Messaging Experience

As with any aspect of messaging, your use of avatars will depend on the needs of your customers.

However, there are 3 main ways that avatars can improve your messaging experience:

Improve “At a Glance” Convenience: Much like your choices in sorting messages and presenting conversation details, avatars are important components of “at a glance” convenience. When there is a distinctive avatar for each thread in the conversation list, your users can quickly scan and locate the messages they’re looking for.

Establishing Trust in the User Relationship: The internet breeds a sense of anonymity, but that doesn’t mean your digital customer experience has to follow. Adding a face to your interactions with customers can make a significant difference in user engagement. When customers see who they’re speaking with, they start to trust that person (and the brand), which can lead to better sales and lifetime value.

Additional Sorting Information: There are times when users don’t just want to filter their conversation threads by recent activity or unread messages. If your use case has customers opening multiple threads about multiple distinct products, it might help to use an avatar that indicates the subject of each conversation. Don’t think that your avatars always have to be pictures of users—they can come in a variety of forms.

Avatars Aren’t Just For the End-User

When we think about delivering a messaging experience to improve the customer experience, it’s easy to get too focused on the customer side. Avatars are also helpful on the agent side—especially when it’s your sales team interacting with customers.

Take a use case like Trunk Club, for example. When agents are responsible for multiple customer relationships, the conversation list can quickly become chaotic. Having avatars for each conversation can make it easier to locate the specific conversation the agent is looking for.

The easier it is for agents to identify which conversation belongs to each customer, the more effort they can spend making customers as happy as possible.

You build your messaging experience with the customer in mind—but it doesn’t hurt to make life easier for agents, too.

If you’re ready to improve your digital customer experience through messaging, you can dig deeper than just avatars by reading our full Messaging Best Practices Guide.

Persistence of Messaging: How Chat Has Become the Universal Experience

How Chat Has Become the Universal Experience

Have you ever been surprised to hear your mobile phone ring? It seems like every time our phones ring now, we expect there to either be an emergency or some sort of spam. For the most part, people just don’t like phone calls anymore—but this isn’t exactly a new trend.

We’re approaching the 10-year anniversary of a major phone call trend. Q4 2007 marked the first time that Americans sent more text messages than made phone calls. And it’s no coincidence that the original iPhone—our first modern smartphone—was released just 6 months earlier.

As mobile phone usage continues to bury traditional landlines, messaging will prove to be the universal communication experience. But if we look back a few years, the idea of a messaging revolution starts to seem more familiar.

The Ebb and Flow of Messaging and Social Media

Messaging was eating into traditional communication before we ever thought about mobile or social media.

There were many iterations of popular group chat services, but none enjoyed the popularity of AOL Instant Messenger after its 1997 release. Yahoo! and MSN Messenger also fought for attention, but one thing was clear—people enjoyed the ease and convenience of online messaging.

Until these messaging apps hit a wall in 2007.

As phone calls gave way to text messaging, desktop instant messaging apps started giving way to the social media networks that thrived on mobile. The features that people loved about AIM were replaced by social media — Facebook let you make detailed, personal profiles, Twitter let you make real-time status updates, and (at the time) apps like Gchat let you keep in touch with friends.

And yet, messaging has remained persistent and is now enjoying a renaissance.

Mobile has solidified itself as the preferred consumer platform and direct messaging apps have returned to the forefront to replace social media engagement. Powered by booming usage of WhatsApp and Facebook Messenger, messaging apps have reached nearly 3 billion active users, surpassing social networking apps for the first time in late 2015.

There’s no doubt that we’re in the midst of a messaging revolution—and for companies looking to improve engagement with customers, it’s time to look beyond social media.

Break the Messaging Rules—Don’t Make the Same Old Mistakes

The persistence of messaging may not be surprising from a consumer perspective, but it’s certainly a new frontier for most businesses.

As the messaging revolution comes to form, you’re at a monetization crossroads—you can go with what you know or you can forge a new path.

Now that messaging has proven more engaging than social media, it’s only a matter of time before companies start monetizing their chat experiences. If you play by the rules, you’ll be sucked into a race to the bottom with competitors as you fight with advertising on platforms like WhatsApp and Facebook Messenger.

Facebook Messenger and other platforms will let you jump into the messaging revolution with chatbots. You might be able to share messages, GIFs, videos and offer simple services through these platforms, but you’ll sacrifice branding, flexibility and API freedom—not to mention the restrictions on customer data if you don’t own the experience.

Digital advertising has become a race to the bottom, but if you get started on the right path with messaging, you can avoid making similar mistakes. Own your messaging experience and start engaging with customers in their preferred channel.

If you want to learn how you can created a branded messaging experience that drives business results, contact us today for a free demo of the Layer customer conversation platform—get on board with the messaging revolution.

Messaging: Do You Have to Worry About Sorting Conversations?

Sorting Conversations

Messaging 101 Series: Do You Have to Worry About Sorting Conversations?

Think about how your text messages are sorted on your phone. Every time a new message comes in, it appears at the top of your conversation list and stands out from the rest of the threads. But what if the UI didn’t include this sorting feature?

Keeping your messaging experience as seamless as possible means offering an intuitive user interface—which includes proper sorting if your users engage in multiple conversations.

However, you have different sorting options depending on what best suits your users’ needs.

4 Sorting Options for Your Messaging Experience

In theory, you could sort conversations in your messaging experience however you want. The primary goal needs to be a seamless customer experience—and part of that means offering useful sorting options that users expect.

Here are 4 of the most common sorting options to consider for your conversation list:

Most Recent Activity: This is the most popular default sorting option for messaging. Coupled with a push notification, this is a powerful way to keep users engaged with your multi-thread messaging experience.

Online Status: If your messaging experience supports a community of members or multiple public channels, consider sorting conversations by the online status of users. When customers are opening your messaging experience to engage with others, it’s helpful to know who is present in the app.

Favorites: This feature is rooted in email, but might be most familiar from Slack at this point. When you “star” someone (or a channel) on Slack, you’re opting to move that “favorite” to the top of your conversation list. Sorting this way can help your customers keep track of those conversations that are most important to them.

Unread Messages: In many cases your most recent activity also represents your unread messages. But we’ve all skimmed through our inboxes and left emails unread. Sorting this way can show you the conversations that need attention ahead of those that users have already seen.

Again, there are plenty of other ways you can sort conversations in your messaging experience. It all depends on your specific use case and the needs of your customers.

Use Cases that Need Sorting Features

It’s important to note that single conversation experiences aren’t always free from thinking about sorting options. For example, your conversational commerce messaging experience might only have single conversations on the customer side—but what about your agents? Building in sorting features for your agents can help boost productivity and efficiency even if customers only ever see a single conversation.

There are more obvious use cases for sorting conversations as well. As mentioned in the option explanations above, community and marketplace messaging experiences are great candidates for sorting features. You just have to take the time to think about how you can make the most frictionless experience possible for your users.

However, sorting features are just a small part of a larger messaging experience. If you want to dig deeper into our messaging tips, check out the full Messaging Best Practices Guide.

Why Chatbots Aren’t Enough for Your Messaging Strategy

Chatbots and Messaging Strategy

It’s been just about a year since Facebook announced its support of chatbots in Messenger. This one announcement sparked “the year of the chatbot,” making automated messaging available to companies of all sizes.

As messaging continues to solidify itself as the universal communication channel, chatbots will become integral parts of our lives.

But if you’re using messaging to improve customer experience and boost engagement, you can’t have chatbot tunnel vision.

As great as chatbots are, you need a more holistic, owned messaging experience to get the most out of your customer conversations.

How Chatbots Are Improving Customer Experiences

Chatbot skeptics are concerned that we’re just moving one step closer to eliminating human interaction. However, the business benefits of chatbots are almost undeniable.

There are certain use cases where chatbots can impact the customer experience in ways that human interaction can’t scale to compete with. A few examples include:

“Just in Time” Customer Support: After Facebook Messenger announced chatbot support, other platforms followed suit—Twitter and Kik most notably. Having chatbots on these major platforms means you can be where your customers are at all times. Rather than directing customers to download an app or visit your website, you can initiate support and address their problems immediately with a chatbot.

User Acquisition: When you look at a platform like Facebook Messenger, its chatbot support gives you a one-stop-shop for user acquisition. Target users with Facebook ads through Messenger, spark initial engagement, and then direct them toward your owned experience.

Personalized Messaging at Scale: Our websites and mobile apps are built to address fictional personas that represent ideal users. If we could personalize the experience for each individual, we would. But human interaction can’t scale that way. However, chatbots give you an opportunity to personalize messaging at scale before moving users down the funnel toward human interaction.

These three use cases are driving adoption of third-party chatbots. And for small businesses that can’t afford to build features like these in house, they can be powerful assets for driving revenue.

However, large enterprises can’t fall into the “rented land” trap that has already proven costly in the past.

Why Chatbots Aren’t Enough for Big Brands

Whether you’re a retailer, financial services firm, a major hotel/airline, or anything in between, big brands can’t afford to build their customer experience houses on rented land—didn’t we learn our lesson before?

For years, Facebook called for businesses to build their audiences through their platform. Create a page and you can reach your audience for free—without having to maintain a separate website. Millions of companies jumped on board and enjoyed unprecedented organic reach. Until Facebook changed the rules.

After ramping up the Facebook ad program, companies saw sharp declines in organic reach and found that accessing their audiences now had a fee attached to it. Losing organic reach so quickly can have a significant impact on your bottom line—and the same thing is happening with chatbots.

Building your messaging experience through chatbots on rented land means giving up your branding freedom. It also means losing access to some key customer data that could help improve your customer experience and boost sales conversions. The benefits may outweigh these sacrifices for small businesses, but the Fortune 1000 can’t afford to trust the rented land approach again.

Instead of relying solely on a third-party chatbot to drive your messaging experience, you can seamlessly mix human and bot interaction on your own branded experience.

Chatbots and Humans Are Better Together

Chatbots shouldn’t be the foundation of your messaging experience. Instead, you should build a branded messaging experience that uses chatbots to achieve the benefits we discussed above.

Mixing chatbot and human interaction helps you eliminate friction from the customer experience and help ensure you’re always staying engaged.

However, many companies are attracted to rented land messaging options because they aren’t sure how to create an experience of their own. If you want to learn how you can build a branded messaging experience on top of a pre-made customer conversation platform, contact us today for a free demo of Layer.

World Economic Forum 2017—How Microsoft and Layer Improved the Davos Experience

Amidst a headline-grabbing Inauguration Day in the United States, the World Economic Forum took place for the 46th straight year in Davos, a Swiss resort in the eastern Alps.

For years, the World Economic Forum has served as a forum for resolving international conflict and fostering global collaboration. For example, 2017 marked the first time China’s head of state was invited to (and attended) the World Economic Forum—a major step forward in advancing global discourse.

However, the World Economic Forum faces one consistent problem—language barriers. When you bring together 2,500 business, social, religious, and academic leaders from over 100 different countries, you’re bringing together many different subtleties in communication that are bound to cause misunderstandings.

Leveraging the ubiquity of the smartphone as a common denominator, the World Economic Forum used messaging technology to break down these language barriers.

How a Rich Messaging Experience Changed Communication at the 2017 World Economic Forum

Microsoft CEO Satya Nadella was on hand at the 2017 World Economic Forum to discuss the stagnant global GDP and how he feels artificial intelligence must play a role in solving the problem. But this wasn’t Microsoft’s only presence at the event this year.

Behind the scenes, Microsoft’s language detection technology was integrated into a Layer-powered messaging experience for the benefit of every World Economic Forum attendee.

With Microsoft’s language detection driving in-line translations, the World Economic Forum messaging experience provided seamless communication among attendees to facilitate connections, discuss important issues and make scheduling meetings easier than ever. Creating a common dialog has always been a key part of the World Economic Forum’s vision—but eliminating friction in international communication via messaging took this idea much further.

However, messaging isn’t just a common platform in the context of the World Economic Forum. In a mobile-first world, messaging is the common means of communication for your customers, too.

If you want to learn more about delivering a seamless messaging experience customized for your own company, check out our Messaging Best Practices Guide or contact us for a free demo of the Layer platform.

Learning with teams

Editor’s note: This is a cross-post from Udacity‘s Dhruv Parthasarathy. Dhruv shares how, with the collaboration with Layer, they were able to successfully implement their classroom chatroom feature, Teams.

Despite all the advancements made to date, online education still has one glaring shortcoming — it is lonely. Learning online today is largely done on your own, at your computer, cut off from those around you. In essence, we’ve lost the human element of education that brings so much joy and richness to the experience. Here at Udacity, our goal is to create an educational experience that is better than any other, online or offline, and so long as our experience lacks this human element, we know we will continue to fall short of our goal.

Seeing this, we’ve been focused on bringing real, human relationships to the core of our product. The manifestation of these efforts is Teams: a new experience in Udacity where you join 10 other fellow students from around the world in a small, tight-knit community focused on learning. Students on teams answer each others questions, collaborate on projects, and help each other achieve their goals. Beyond that, they also get to participate in a real community with students who share similar career and learning goals. In order to create such a community, we knew that we would need to provide a simple way for teams to communicate with one another as without communication, there can’t be community! As such, at the very core of Teams are Rooms — persistent, Slack-like, chat rooms where students can communicate with one another. The first iteration of Teams and Rooms shipped in June 2015, a through the rest of this post, we’ll explore the engineering and product decisions we made in creating this product and how we’ve seen it improve the learning experience for students.

Teams — A Technical Perspective

One of the key elements of Teams is the web client where students log in to chat with one another. You can see what it looks like below.

In developing the web client for Team Rooms, we had a few specific engineering goals:

  1. The application had to be reactive. The view had to be able to update itself without a refresh in response to new events that occurred during the session (new messages, changes in status, new members joining etc).
  2. The application had to be simple to work on and extend as there would only be one to two engineers working on it (both frontend and backend).

Regarding our first goal, current practices in an MVC frontend (we use AngularJS), make creating a reactive application difficult. Let’s take a look at why this is the case. In a reactive application, controllers need to have a way of discovering when the model changes so that they can update the view. In the current paradigm, you have two main ways of achieving this:

1. Eventing + Callbacks

The first way you could approach this is by using a combination of eventing and callbacks to send out an event to controllers whenever you update the model and have the controllers run some callback in response. In practice, this is difficult to implement. A fine-grained eventing system requires a different event type for every property. Assuming you remember to emit those events on every change, the number of listeners also increases dramatically. In essence, the number of events and the number of listeners scales linearly with the number of model properties.

2. Watching Models

Alternatively, you could instead have your controllers check your model directly for changes by diffing the new from the old. But in practice, looking through a large nested object for changes is extremely slow and as more controllers attempt to do it, performance degrades significantly. If you have an object with let’s say a constant branching factor of m at each depth, and a depth of n, you will be watching m^n different properties which quickly becomes infeasible.

Our Solution: Store models in Immutable datastructures

Unsatisfied with the options we saw, we looked to solve this in a different way. Our goal was to create a system where controllers would just be able to say “I care about this part of the model only!”, and the model would update the controllers when it changed in a simple, performant manner.

Of course, checking if a standard Javascript object has changed is extremely expensive. But what if the object were immutable? Then, whenever the object changed, it would be trivial to know: you just see if oldObject === newObject and you’re done! In seeing this, we decided to store our state in an Immutable object, and we did so by using Facebook’s wonderful Immutable.js library. Now, we had a simple way of checking when the model changed — we just check the reference to the underlying immutable object! We then needed a way to communicate updates between the model and the controllers. Instead of using an eventing system, we chose to use Netflix’s ReactiveX library for javascript (RxJS). With Rxjs, we treat our model as a stream of states rather than a single, unchanging, state. Whenever we update the chat state model, we added a new value on a stream.
To understand this better, let’s walk through how a controller might subscribe to model changes. Let’s say we’re interested in showing a list of users in the chat room and want that list to update whenever the list of users changes. Let’s also say our users model has the following schema:

{'users':
    {
       userId: //user object,
       ...
    }
}

Here’s how the controller would do it:

  1. Get a stream of updates to the users model.
  2. // create a stream of user updates
    var userMaterializedView = chatState.createMaterializedView( // this is the main stream of updates the chat state chatState.chatStateUpdateObservable, // this is a function that returns the part of the chat state we care about function (newDB) { return chatState.getUsers(newDB); }
    );
  3. Subscribe to the stream and update the view whenever a new value comes on the stream.
  4. userMaterializedView.subscribe(function (users) { $scope.users = users;
    });

The diagram below visualizes what’s going on behind the scenes to help us create this stream.

The bottom stream of triangles, the ones that are all different from one another, is what the controller in this case gets. In this way, we created a simple API that allowed controllers to subscribe to updates on any transformation of the model they cared about.

The Backend: Powered By Layer

With a small team, we had the luxury to create this architecture on the frontend partly because we didn’t have to worry about the backend — Layer took care of most of that for us. As someone who’s configured and deployed a chat server from scratch before, using Ejabberd (an open source XMPP server), I can confidently say this saved us a lot of time. Managing an Ejabberd deployment on your own is challenging,and clustering the setup is quite difficult due to fairly opaque documentation that hasn’t been updated for a while. Additionally, Ejabberd isn’t particularly user friendly from a client perspective either. Being an XMPP server, it communicates over XML instead of JSON that your client can actually use. Moreover, it doesn’t support Websockets out of the box and you have to instead use the fairly ancient HTTP BOSH technology. As such, standard XMPP servers were not at all a great fit for our use case and came in the way of development.
On the other hand, Layer was a comparative joy. Layer gave us access to a simple Websocket API with extremely well documented json packets. This made communicating with the server very simple (see the documentation here). We didn’t have to worry about deployment, maintenance, or translating packets into something meaningful. What I personally loved most about Layer was that it was clearly designed to get development out of the way and allow you to focus on what’s most important — creating a wonderful experience for the user. My sentiments were shared by my colleagues working on the mobile clients — we were able to create a prototype android and iOS client in a matter of a weeks. I can’t think of another simple setup that would have provided us this kind of productivity. As a result, we were able to focus on our product and continuously iterate the user experience instead of debugging the server.

Improvements Since Launch

Since the basic product launched on July 6th, we’ve been able to improve it at a strong pace thanks to the productivity afforded us by Layer. Here are just a few of the enhancements we’ve made since launching less than two months ago.

Integration with Google Hangouts

While chat is good for communicating asynchronously, we found that nothing beats a live video chat for a realtime meeting. As such, we added in simple support for Google Hangouts which also gives our students the ability to screenshare with each other.

Udacity Guides

One of the most exciting things at Udacity is the growing community of intelligent, passionate alumni we have. We wanted to leverage this alumni network to help current students succeed even further. So we created the concept of guides — paid Udacity alumni who help teams learn, collaborate, and succeed.

We’ve been able to focus on improving the product in these ways largely thanks to the fact that we only had to worry about the client — Layer took care of the rest for us.

The Impact

As a result of this focus, we’ve seen metrics that lead us to believe that Teams are helping our students succeed in meaningful ways. For instance, the percent of students who submitted their first project, one of the key metrics of student engagement, increased by 25% — something we’ve never seen before. Not only this, we’ve seen groups connect, get to know one another, and create real bonds learning online. Layer’s tools and support have been an integral part of making this product happen and we are thrilled with our experience working with them. We are excited by the architecture we have put in place to create a truly reactive application for our students and know that the productivity afforded us by Layer was a key part in making this happen. We’ve still got a long way to go with Teams, but we’re confident that it can help us bring human connection to the forefront of online education.