Creating Better Employee and Customer Experiences with Liferay and Crafter

Posted by on June 21, 2016

man-1191845_1280

The modern customer’s needs are ever increasing as they want information combined with the convenience of interacting with your brand whenever and wherever from various digital touchpoints and devices. Meanwhile, employees are demanding digital experiences that facilitate rapid information access, communication and enterprise collaboration.

To meet these demands, organizations are leveraging Web Content Management (WCM) solutions such as Crafter CMS to help deliver consistent and personalized experiences throughout the customer journey. And internally, portal solutions such as Liferay Portal are being used to address a variety of social business and collaboration needs.

But what happens when you want to share the same content across both internal and external sites? Is integration the key? While many organizations are realizing the business benefits of an integrated solution, it’s important to keep in mind that integration isn’t always the answer, and when it is, the approach taken can determine your implementation’s success.

Understanding Platform Differences

Gaining a clear understanding of how each technology can be used for addressing various business needs means recognizing what each technology is under the hood.

At a high level, Liferay Portal is a multi-tenant, site-based platform, allowing the creation of multiple sites — including websites, portals, social collaboration environments, e-commerce, big data solutions, and mobile apps. The sites are built with Liferay’s portlets, all of which sit under the Liferay umbrella, meaning these sites are being published to the web by Liferay.

Crafter CMS, on the other hand, is an enterprise WCM tool with robust content management features — including user-friendly content authoring, in-context preview, workflow, multi-channel publishing, versioning, and content delivery.

Architecturally, Crafter is very different from Liferay in the way content is delivered. Crafter employs a decoupled architecture, where content authoring and delivery occur separately. Crafter’s authoring component, Crafter Studio, is where all the authoring takes place, along with content being managed in an Alfresco repository.

Unlike Liferay, where publishing occurs within itself, Crafter publishes to a completely different environment through Crafter Engine, the delivery component. Crafter Engine is able to serve content to virtually any channel, whether it’s a website using any front-end framework (PHP, .NET, Java, etc.), mobile app, or other third party system. This is the fundamental difference between Crafter and Liferay, and understanding this is a vital part of knowing when to integrate or not.

Perspective Differences

Liferay and Crafter are both powerful platforms that can be used to address a variety of business needs, including many similar, overlapping use cases. This overlap creates confusion around when to use each of these tools and if they should be used together. We’ve seen organizations integrate these products for the wrong reasons, which result in a lot of wasted effort to correct those mistakes.

Determining if your business will benefit from using these two products together requires you to think about perspective. Based on your business needs, if you see a lot of overlap between the two products, then one platform should suffice and it’s probably not a good idea to integrate. However, if there isn’t much overlap, then integration makes much more sense as it allows you to leverage each solution’s strengths.

The amount of overlap really depends on your unique requirements and what you’re trying to accomplish with your website(s). Keep in mind that much of this is attributed to how websites and content management has evolved over the years and its effect on marketing’s needs. Today’s organizational websites have grown to become much more complex, often involving multiple sites that are then integrated with other enterprise systems, such as marketing automation, CRM’s, e-commerce, and analytics to provide a richer end user experience.

The key consideration here is the total number of web assets your organization has. Are you a small organization with just one website, or a large enterprise with a global presence with hundreds of web properties to maintain?

For smaller organizations with only one website, then either Liferay or Crafter on its own is fully capable of addressing most if not all content management needs. However, it becomes more complicated when it comes to larger organizations with more sophisticated digital experience needs that typically involve many different sites and touch points.

In the latter case, an example of an integration pattern that doesn’t work is when Crafter is being used solely for managing all web content, where the entire site is then published through Liferay as the front end. This pattern fails because Liferay controls its own look and feel, so trying to control it outside of Liferay breaks its architecture.

When there are multiple sites involved, it only makes sense to use both Liferay and Crafter when Liferay is just one of many delivery channels. An example would be an organization using Liferay for its employee intranet and Crafter to manage its global and regional websites. When the organization wants to publish content that needs to be delivered across all websites along with the intranet, that’s when it makes the most sense to integrate.

In this use case, Liferay manages its own intranet page. Within the page is an area that’s managed by Crafter that enables access to enterprise content while still adapting to the look and feel of the intranet.

 integration-patterns

This decoupled architecture, where content is separate from delivery, also makes it easy to expand and add additional delivery channels (mobile, social, etc.) for true multi-channel publishing. We’ve found this to be a great integration pattern for organizations that desire the flexibility to scale.

crafter-publishing-reference-arch

 

To summarize, Liferay and Crafter are both very powerful at the platform level. If you’re thinking about integrating the two, it’s counter productive to perform a feature by feature comparison. Instead, design your solution based on your use case and not by focusing on features, as many different technologies will have the same features, but address each use case differently. And remember that integration isn’t always the answer, so do your research to understand the pros and cons. When done right, integrations can yield tremendous long-term benefits.

 

Customer Highlight: LifeCare – Delivering Dynamic Customer Experiences With Liferay Portal

Posted by on April 15, 2016

lifecare-video-screen-play

Every customer project comes with its own set of challenges, but at the end of it, when everything’s running smoothly in production, it’s always exciting and rewarding to look at the finished product and see the positive impact it’s making for each customer.

Our latest case study tells the story of how we helped LifeCare, an industry leader in providing employer-sponsored work-life benefits to over 61,000 enterprise customers, improve overall customer experiences using a solution built on Liferay Portal.

As an industry recognized leader and innovator in Work-Life, LifeCare was the first in the industry to launch a work-life balance website. However, the existing Work-Life site was running on a 10+ year old homegrown legacy system that presented a slew of challenges, including a cumbersome site updating process and outdated design.

To maintain itself as an industry leader, LifeCare performed a complete overhaul of their Work-Life site, and chose to build the new site on the Liferay Portal platform. Liferay not only supports a modern responsive design on the front end, but also content management capabilities, effective delivery of LifeCare’s content and services, along with easy integration on the back end.

Working closely with LifeCare, Rivet Logic helped architect an innovative solution that supports sophisticated white labeling capabilities for LifeCare’s customers, allowing delivery of heavily personalized content without compromising on site performance requirements.

The new Work-Life site now offers a customized experience for LifeCare’s enterprise clients with improved functionality. And for LifeCare, giving control of the content publishing process to the business users meant more frequent updates and fresher content, while freeing up valuable time for IT to focus on other strategic initiatives.

Read the full case study to learn more!

Awesome Customer Experience Begins with Customer Context

Posted by on April 01, 2016

smart-watch-821557_1920

With 68% of all Americans owning smartphones, it’s no wonder that many companies place a huge emphasis on mobile first. Yet from Starbucks to Uber, companies are realizing what matters are screens, not devices, and these mobile app driven companies are quickly adding complimentary web apps to create a better customer experience. The “context first” focus is the next wave of customer experience design that will soon replace mobile first as the leading approach to customer experience design. This smarter, more seamless design caters to the best of both worlds (mobile and web) and helps designers break away from designing for mobile by removing functions previously created for large screens.

Mobile is Not Enough

Simply put, mobile first is really a design strategy and not a complete method of approaching customer experience. It, in fact, limits the scope of the overall customer experience. While the optimal screen size is still a moving target, and there is fast-paced change concerning which screen size is best for varying contexts, it really all comes down to access to consuming and publishing information. From screens on wrists to tablets and notebooks, information via screens and not devices is the overarching concept that the “context first” design solves.

Customers, be they B2C or B2B, want a buying journey synchronized with their daily life as they interact with a brand’s products and services through numerous touchpoints and varying contexts (other than mobile). When companies stick with a mobile first design they miss out on key opportunities for customer engagement. A recent Gallup poll indicated that engaged customers buy 90% more frequently and even wary customers will give more money to companies they feel emotionally connected to – while ignoring others.

Context First Design

Servicing customers in a way that takes advantages of the situational context of use will create a better customer experience every time. Whether this means eliminating steps to speed up the process or, adding a step or two to enable the customer to easily broadcast their activities to their social circle, all depends on the objectives at hand.  For example, most people don’t take their laptop to the beach and no one is creating the board deck from their smartphone, so considering what screen is best for input and what screen is best suited for output can make all the difference. The ultimate goal, of course is to help the customer achieve their intended objective in a way that delights in their current context.

Context first is significant because it focuses on why a customer is engaging with a brand or company and allows companies to respond to each phase in a customer’s decision journey as well as the customer’s interaction with technologies outside of mobile. Additionally, it gives companies a broader lens of customer content and valuable customer data to better drive engagement and deliver a highly personalized, responsive and more ubiquitous customer experience.

Imagine the possibilities for the customer experience and top line growth of a company with the ability to completely address all context drivers to further engage customers and enhance their experience.  Context first opens doors for brands that were once closed by mobile-first thinking.

 

7 Reasons Why You Should Upgrade Your Liferay Implementation

Posted by on March 08, 2016

14437-choices_news

If you’re using Liferay 6.1 or below, then you might be aware that Liferay ended their 6.1EE support last month. With version 7.0EE set for release later this year, many businesses have an upgrade decision to make: whether to upgrade to 6.2EE or wait for the much anticipated version 7, which includes a completely new look and feel, new product and control menus, enhanced image selection experience, improved document management capabilities, and much more!

If your organization is an early adopter of the latest and greatest software, then waiting for Liferay 7.0 and upgrading then may be the right move for you. However, many other organizations prefer to wait until the initial kinks associated with any new major release have been worked out before deciding to upgrade. If you fall into that latter category, then upgrading to Liferay 6.2 now may be the better option.

For those that are considering a Liferay 6.2 upgrade, we’ve compiled a list of the top seven reasons through most noted features that we feel will help maximize your Liferay implementation…

#1: Mobile Device Preview & Responsive Design

Liferay 6.2 has done a spectacular job with its new mobile support features. And as businesses worldwide are seeking to strengthen their mobile presence, Liferay 6.2’s Mobile Device Preview and Responsive Design helps simplify the process and easily tops the list as the best reason to upgrade.

Liferay 6.2’s support of responsive themes means that sites can now automatically adapt to the appropriate screen size of the mobile device or tablet that’s accessing the portal pages. The power of this feature lies in the ability for it to address tablets and mobile devices at the same time, allowing the page structure and layout to dynamically change based on the screen size of the visiting device.

In addition, Liferay administrators and authors can preview site pages on mobile devices without the need for a physical device to test the site, allowing any changes to be easily previewed prior to going live. This enhances the ability to test and optimize for various mobile devices in a much more efficient way.

#2: New Control Panel UI

The main goal of the new control panel is user-friendliness, by addressing some of the challenges that have been growing since its introduction in Liferay 5.2, including:

  • Loss of context
  • Complexity
  • Mix of portal-wide, site, and personal account administration
  • Outdated UI
  • Empty first page
  • Non-intuitive navigation

Liferay 6.2 took steps to address these Control Panel issues by making it much more intuitive and user-friendly, through restructured navigation, more intuitive UI, and reorganized portlets.

#3: Enhanced Calendar

Liferay 6.2’s new calendar has several enhancements to benefit both internal and external users. Some of these features have even been implemented based on feedback from existing Liferay customers, which include:

  • Multiple Shareable Calendars
  • Resource Reservations
  • Custom Event Types

#4: Web Content Management Enhancements

With Liferay 6.2, users can now organize their Web content in folders and sub-folders, similar to documents and media.

#5: Drag-n-Drop Support for Document Uploads

Liferay Portal users can now drag a document from their desktop and drop it into the browser for document and media uploads.

#6: Application Display Templates

Application Display Templates (ADT) are similar to site and page templates, but at the portlet level. This allows custom templates for Liferay applications to be created and portlets to be re-skinned.

From a user perspective, this feature simplifies customization of the portlet display. And for developers, this saves them from having to modify the portlet configuration code every time a new setting is required.

#7: Improved Staging and Import/Export Features

These improvements will not only facilitate moving portlet data between environments, but also assist with development.

Liferay 6.2 Staging and Import/Export enhancements include:

  • Simplified configurations
  • Providing of status during publishing process
  • Providing of summarized information before and after publishing
  • Increased support of import/export scenarios

Well, there you have it, the top seven features of Liferay 6.2 that we think have the largest impact on your existing implementation!

If you need even more reasons, read our full white paper for 11 total reasons to upgrade! And if you’re already planning an upgrade, check out how Rivet Logic can help in our datasheet!

Rivet Logic Exhibiting at HIMSS16, Focused on Improving Healthcare Through the Use of IT

Posted by on February 16, 2016

With less than two weeks to go, the countdown to the annual HIMSS Conference and Exhibition is officially under way. The event will be held at the Sands Expo and Convention Center in Las Vegas from February 29 – March 4, 2016, and is expected to bring together 40,000+ health IT professionals, clinicians, executives and vendors from around the world. Attendees will learn about and discuss health IT issues, and on the exhibit floor, see innovative solutions designed to transform healthcare.

The exhibit floor will feature specialty exhibit areas such as Connected Health Experience, Cybersecurity Command Center, Clinical & Business Intelligence Knowledge Center, The HIMSS Interoperability Showcase, among others.

Rivet Logic is excited to be a first time exhibitor at HIMSS in the Connected Health Experience, a centralized destination experience for connected and wireless technologies. The Connected Health Experience combines the Connected Patient Gallery, Mobile Health Knowledge Center, Games for Health and a new focus on telehealth. Attendees will experience how emerging wireless and connected technologies address patient and consumer engagement, manage chronic conditions and create efficiencies in the healthcare system.

HIMSS16_300x250_ad

Topics include:

  • Mobile devices and applications
  • Patient portals and patient engagement/experience
  • Behavior change, wellness, medication adherence and gaming
  • Telehealth and remote patient monitoring
  • Wireless connectivity and access to health in remote, rural and underserved regions
  • Wearables and self-insured employee health
  • Wireless and mobile security and standards

Rivet Logic is also scheduled to present a speaking session in the Connected Health Experience pavilion at 1:00 pm on March 1 as we discuss best practices for patient, provider and member engagement.

If you’re planning on attending HIMSS, stop by our booth and hear how we’re helping healthcare solution providers enable better care by increasing engagement through solutions such as patient and member portals, enterprise collaboration, and mobile apps!

And if you’re a first time attendee, check out these planning tips and tips for navigating the event successfully to get the most out of your HIMSS experience!

See you in Vegas!

Creating a Successful Multi-channel Customer Experience

Posted by on February 11, 2016

puzzle-peices-customer

Forrester has coined the term Age of the Customer to describe today’s customer-centric era. To succeed, businesses must not only undergo a digital transformation, but to also do so with their customers’ needs in mind.

The modern consumer’s demands are ever increasing, they want the convenience of researching and comparing products online, and they want that information to be delivered on their terms. They also want options, with the ability to choose when, where, and how they interact with your brand.

Meanwhile, the digital landscape is ever changing, with the number of touchpoints on the rise, and each interaction with your brand is a piece of the overall experience. The key to a successful multi-channel approach is to put users at the center of your digital strategy and offer them a consistent experience throughout the entire journey that may span across multiple channels in a single transaction.

However, that consistent multi-channel experience also needs to be contextual, to serve up relevant content that enable users to more effectively perform tasks based on different scenarios they may be in. For example, a banking desktop site might show the user’s account summary after they log in, whereas its mobile app might want to show nearby branch locations.

Your technology needs to simplify this otherwise complex process, through a flexible solution that’s able to serve up that seamless experience for your users – they need to be able to switch from a desktop site to mobile app, and be able to pick up exactly where they left off.

To accomplish this, businesses need a flexible Multi-channel Content Management solution that can effectively engage a variety of audience groups across all applications, devices, and channels.

Rivet Logic’s Multi-channel Content Management solution is a seamless integration of Crafter CMS and Alfresco, enabling businesses to create and manage all content types through a user-friendly authoring tool, then publish to any or all channels and formats in a single step!

multi-channel-cm-arch-diagram

The solution leverages Alfresco for its powerful content management capabilities and Crafter CMS for its modern platform for building and managing rich online experiences across all digital channels. The result is a solution that allows you to create engaging, two-way conversations with your users to enable that personalized interaction with your brand!

Learn more about how you can benefit from a Multi-channel Content Management solution in our datasheet.

In 2016, It’s Time to Drive Deeper Customer Engagement Through Deeper Data Insight

Posted by on January 06, 2016

Customer-Segmentation_775x425_d79

2016 is officially upon us! A new year means a fresh start with new and improved strategies and goals, right? If you haven’t already reflected on the success of your organization’s 2015 customer experience objectives, now’s a good time to do so, to see what worked or didn’t, and how to better strategize in the coming year for better results.

Some questions to ask your self are:

  • Did you achieve the level of customer engagement you’d hoped for?
  • What worked and what roadblocks did you encounter?
  • Can your technology stack adequately handle your existing and future needs?
  • What new strategies and projects should be on your roadmap this year?

Lesson From the Holidays 

The holiday season might be over, but there’s a lot to be learned. In the midst of the season, people were faced with busy schedules as they tried to squeeze in last minute shopping in between holiday parties and travel plans.

Today’s consumers move at a faster pace than ever before, performing tasks on-the-go on mobile devices, and with online shopping rates at an all time high. The challenge for brands is to keep up and stand out from the digital noise.

More consumers are doing comparison shopping between competitors, and the ability for a brand to deliver the right content at the right time through the right device can be the determining factor between winning or losing out on a customer.

The holiday season was a prime example of how critical it is for businesses to incorporate a big data strategy into an overall customer experience strategy to optimally capture the attention of today’s consumers. And this isn’t just limited to retailers or the holiday season specifically, but really applies to any business that can benefit from deeper customer engagement. Ultimately, your goal as a brand is to empower your customers to purchase through whichever channels that suit their needs by helping to move them along their customer journey.

It’s Time to Leverage Your Data

At the same time, the holidays in itself also presented a data goldmine with a wealth of valuable behavioral data for businesses to collect, analyze, and leverage to make better business decisions! Imagine if a travel company knew from previous behavioral data that a specific customer traveled to somewhere warm for the holidays every year and could target them with relevant travel offers? This would more likely result in a purchase vs. sending generic offers that may or may not align with the customer’s interests.

Rivet Logic’s Data Services Practice is focused on helping our customers make better and smarter decisions through deeper data insight, allowing them to keep up with evolving user demands and increasing data volumes. Our full suite of data services solutions include:

  • Enterprise Data Hub – Provide a single view of the business
  • Analytics Platform – Gain insight into data to make real-time decisions
  • Customer Identity Platform – Collect, analyze and personalize the customer experience
  • Mobile Infrastructure – Build a mobile app that’s flexible and scalable
  • Product Catalog – Flexible and responsive to cater to evolving business demands
  • Content Management and Discovery – Manage, discover and surface content for the user

In 2016, it’s time to rethink how to drive deeper engagement with your audience – through better tracking of the customer experience, delivery of personalized contextual content, maximizing the effectiveness of your campaigns, optimizing your business operations, and ultimately increasing your sales and revenue.

Learn more about Rivet Logic’s Data Services solutions and how it can help your business in our datasheet.

5 Reasons Why Your CMS Should Move to the Cloud

Posted by on November 23, 2015

The Modern CMS and Crafter

Your website isn’t just brochure-ware or a place where people go for product updates, but instead it’s the lifeblood of your company and acts as an important sales tool for that first initial interaction with your users. It’s also an engagement tool, with the ability to segment and build personas, to deliver personalized experiences that’ll keep your users engaged. From an integration standpoint, a web CMS isn’t just a standalone effort, but needs to integrate with various other tools such as CRM, marketing automation, and analytics.

Crafter Cloud is a full featured, enterprise SaaS-based content management system with user-friendly authoring tools, easy integration, high-performance content delivery, ability for personalization and targeting, using a suite of industry-leading development tools to enable delivery of omni-channel experiences. Crafter was designed with flexibility and scale and can be integrated with a variety of digital efforts.

Why the Cloud? 5 Reasons to Move Your CMS to Crafter Cloud

From our experience implementing CMS solutions, we’ve across 5 consistent themes for why customers choose Crafter Cloud when deciding to move their CMS to the cloud.

  1. Custom development experience in the cloud – One of the biggest benefits from both an IT and marketing perspective is the availability of a custom development experience, which provides the front-end team a personalized development environment with the ability to use any front end framework of their choice. This leads to shorter release cycles, which benefits business teams and keeps them excited about the CMS as new features and functionality requests are met in a timely manner.
  2. Full Featured CMS – As a full-featured CMS, Crafter Cloud has the design, integration and security features of an enterprise CMS that’s traditionally deployed on-premise with your own resources. The cloud CMS is a great option for customers with a lot of security and integration requirements to deploy the system without a lot of IT overhead. In addition, one of the challenges businesses face during a rebranding effort or site redesign is the ability of the CMS to respond appropriately. Not only are there desktop views, we now need to accommodate multiple screens and mobile devices, and each experience needs to be unique. Design responsiveness and the ability to create custom design and not be limited by the CMS and its features is imperative.
  3. Augment IT – Deploying your CMS in the cloud allows you to augment your IT and accelerate time-to-market. This means freeing up time and resources and limiting your IT overhead so they can focus on new features and the overall user experience.
  4. Cost – Deploying your CMS in the cloud is also cost effective, with savings from resources, time and energy it would take to build and deploy the solution. Crafter Cloud employs a flexible pricing model that allows you to scale and buy as you grow, limiting any over buy.
  5. Running your business at the speed of the market – Often times your public facing website becomes an afterthought if the CMS can’t keep up (e.g. the need for IT resources to make updates, design updates limited by features, marketing needs more data / analytics, etc.). Teams often end up walking away from relying on the CMS and addressing these tasks independently. Crafter keeps in pace with not just consumers but also the technology side of the house by allowing development teams to work with tools they’re familiar with.

Design & Deployment Considerations

When it comes to Web Experience Management (WEM), it can be broken into 5 categories, each with its own subcategories to dissect and think about your business and users (IT, marketing, sales, customers, partners, etc.).

  1. Ease of use – Is it user friendly?
  2. Multi-channel – What are your multi-channel requirements? It’s no longer enough to say it needs to work on a mobile device. Mobile is a whole different experience to think through, and you need to make sure your CMS can be responsive and flexible in that sense. For example, a mobile experience for retail is very different from a services company.
  3. Personalization – Your site needs to be personalized to build engagement. A repeat consumer / site visitor doesn’t want to feel like they’re reintroducing themselves each time they visit your site, which can be very frustrating. You need a CMS that enables you to build the journey with the customer and not force a reintroduction at each touch point.
  4. Engagement – A CMS becomes a viable piece of your business when it can spark engagement, which comes in many forms. Engagement isn’t only about results in product buying, but also in comments, reviews, and feedback loops.
  5. Integration – Can it easily integrate with other third party systems – CRM, Marketing Automation, Analytics, etc.?

Who Are My Users and What Do They Need?

Users are typically divided between internal an external users. Internal users include Marketing, IT, and Sales, and all of these user categories have their own different expectations and opinions on how the site should be designed.

While IT wants security, Marketing prefers flexibility, ease of use and the ability to design and add new features, and Sales wants a site that’s captivating to bring them leads. It’s important to go through the process of defining and prioritizing expectations.

As you narrow down the list, you need to determine if the CMS is able to respond to these expectations, as keeping the internal team happy is the first step to launching a successful CMS. When it comes to features, determine what the current CMS supports, features you wish you had but previously had limitations, whether it’s lack of IT resources for customization or lack of familiarity with the CMS’s integration points. You need an extendable platform that can successfully address these feature requests.

In addition, your CMS manages a variety of content, from blog posts to news articles, to products and press. Your CMS needs to be flexible from a content editing standpoint, where non-technical business users have the ability to edit, preview and publish without any additional IT support. Depending on the organization, IT may or may not be involved in the CMS, so it needs to be self-sufficient, with Marketing owning the solution.

Your external users include customers, partners, and other stakeholders, and you need to start thinking about perception and how users view your brand during their site visit.

To manage user expectation, you need consistency across each digital touch point. The experience from desktop to mobile to kiosk should be consistent so that users don’t need to learn a new UI at each touch point. In addition, if you publish a lot of content, users are going to have certain expectations around the frequency of your updates, and the context in which they’re consuming the content from. All of these points warrant discussions when it comes to your CMS process – it needs to be flexible enough to address most of these challenges.

Customer Win Patterns & Success Stories

Customers select their CMS based on a few consistent win patterns – full-featured with the ability to respond, ability to integrate, provides developers with development tools, limited IT overhead so IT resources can be reallocated to other strategic initiatives, fast time-to-market, and ability to consolidate various sites into one platform.

Our customers are leveraging Crafter Cloud to address a variety of business needs, including:

  • Rebranding a 30 Year Old Company – This health & fitness customer had many inconsistent brands, designs and technologies across their sites that needed to be consolidated into one platform. With a strict timeline and lack of IT resources, they started by deploying their core public facing website onto Crafter Cloud, with other web properties to follow, all accomplished within a two month timeframe.
  • Creating an identity in Ad Tech – This advertising technology company went through a rebranding to create a new identity. Design was extremely important and they needed a CMS to support pixel perfect design. With Crafter Cloud, their solution was up and running in under 1.5 months.
  • Enhancing a Global Platform – This customer already had an existing technology platform in place with high user adoption. They wanted to enhance their site with social capability without disruption. Crafter Cloud provided the necessary social features that were implemented with limited platform disruption.

These are just three examples that all come back to the consistent theme of full featured CMS in the cloud, low IT overhead, cost effectiveness, and speed of market.

Creating a Memorable Web Experience

The larger goal is to have your web presence create a memorable experience so that it reinforces your brand. Best practices to accomplish this include the three C’s:

  1. Consistent – Both internally (equipping marketing with necessary tools in one area to create these experiences and providing IT with the right development tools) and externally (across multiple devices)
  2. Contextual – Providing the right content in the right context
  3. Conversational – The ability to create conversations and enable engagement, and ultimately build a community around your web experience

To learn more about Crafter Cloud, visit crafter cloud.io.

NoSQL Design Considerations and Lessons Learned

Posted by on July 29, 2015

At Rivet Logic, we’ve always been big believers and adopters of NoSQL database technologies such as MongoDB. Now, leading organizations worldwide are using these technologies to create data-driven solutions to help them gain valuable insight into their business and customers. However, selecting a new technology can turn into an over engineered process of check boxes and tradeoffs. In a recent webinar, we shared our experiences, thought processes and lessons learned building apps on NoSQL databases.

The Database Debate

The database debate is never ending, where each type of database has its own pros and cons. Amongst the multitude of databases, some of the top technologies we’ve seen out in the marketing include:

  1. MongoDB – Document database
  2. Neo4j – Graph based relationship
  3. Riak – Key value data store
  4. Cassandra – Wide column database

Thinking Non-Relational

When it comes to NoSQL databases, it’s important to think non-relational. With NoSQL databases, there’s no SQL query language or joins. It also doesn’t serve as a drop-in replacement for Relational Databases, as they are two completely different approaches to storing and accessing data.

Another key component to consider is normalized vs. denormalized data. Whereas data is normalized in relational databases, it’s not a necessity or important design consideration for NoSQL databases. In addition, you can’t use the same tools, although that’s improving and technology companies are heavily investing in making their tools integrate with various database technologies. Lastly, you need to understand your data access patterns, and what it looks like from the application level down to the DB.

Expectations

Also keep in mind your expectations and make sure they’re realistic. Whereas the Relational model is over 30 years old, the NoSQL model is much younger at approximately 7 years, and enterprise adoption occurring within the last 5 years. Given the differences in maturity, NoSQL tools aren’t going to have the same level of maturity as those of Relational DB’s.

When evaluating new DB technologies, you need to understand the tradeoffs and what you’re willing to give up – whether it be data consistency, availability, or other features core to the DB – and determine if the benefits outweigh the tradeoffs. And all these DB’s aren’t created equally – they’re built off of different models for data store and access, use different language – which all require a ramp up.

In addition, keep in mind that scale and speed are all relative to your needs. Understanding all of these factors in the front end will help you make the right decision for the near and long term.

Questions to Ask Yourself

If you’re trying to determine if NoSQL would be a good fit for a new application you’re designing, here are some questions to ask yourself:

  1. Will the requirements evolve? Most likely they will, rarely are all requirements provided upfront.
  2. Do I understand the tradeoffs? Understand your must have vs. like to have.
  3. What are the expectations of the data and patterns? Read vs. write, and how you handle analytics (understand operational vs. analytics DB and where the overlap is)
  4. Build vs. Buy behavior? Understand what you’re working with internally and that changing internal culture is a process
  5. Is the ops team on board? When introducing new DB technologies, it’s much easier when the ops team is on board to make sure the tools are properly optimized.

Schema Design Tidbits

Schema is one the most critical things to understand when designing applications for these new databases. Ultimately the data access patterns should drive your design. We’ll use MongoDB and Cassandra as examples as they’re leading NoSQL databases with different models.

When designing your schema for MongoDB, it’s important to balance your app needs, performance and data retrieval. Your schema doesn’t have to be defined day 1, which is a benefit of MongoDB’s flexible schema. MongoDB also contains collections, which are similar to tables in relational DB’s, where documents are stored. However, the collections don’t enforce structure. In addition, you have the option of embedding data within a document, which depending on your use case, could be highly recommended.

Another technology to think about is Cassandra, a wide column database where you model around your queries. By understanding the access patterns, and the types of questions your users are asking the DB, then you can design your schema to be more accurate. You also want to distribute data evenly across nodes. Lastly, you want to minimize partition (groups of rows that share the same key) reads.

Architecture Examples

MongoDB has a primary-secondary architecture, where the secondary would become the primary if it ever failed, resulting in the notion of never having a DB offline. There are also rights, consistency, and durability, with primaries replicating to the secondaries. So in this model, the database is always available, where data is consistent and replicated across nodes, all performed in the backend by MongoDB. In terms of scalability, you’re scaling horizontally, with nodes being added as you go, which introduces a new concept of sharding, involving how data dynamically scales as the app grows.

On the other hand, Cassandra has a ring-based architecture, where data is distributed across nodes, similar to MongoDB’s sharding. There are similar patterns, but implemented differently within technologies. The diagram below illustrates architectural examples of MongoDB and Cassandra. All of these can be distributed globally, with dynamic scalability, the benefit being you can add nodes effortlessly as you grow.

NoSQL Data Solution Examples

Some of the NoSQL solutions we’ve recently built include:

Data Hub (aka 360 view, omni-channel) – A collection of various data sources pooled into a central location (in this case we used MongoDB), where use cases are built around the data. This enables new business units to access data they might not previously have access to, empowering them to build new products, understand how other teams operate, and ultimately lead to new revenue generating opportunities and improved processes across the organization

User Generated Content (UGC) & Analytics – Storing UGC sessions (e.g. blog comments and shares) that need to be stored and analyzed in the backend. A lot of times the Document model makes sense for this type of solution. However, as technologists continue to increase their NoSQL skill sets, there’s going to be an increasing amount of overlap of similar uses cases being built across various NoSQL DB types.

User Data Management – Also known as Profile Management, and storing information about the user, what they recently viewed, products bought, etc. With a Document model, the flexibility really becomes powerful to evolve the application as you can add attributes as you go, without the need to have all requirements defined out of the gate.

Lessons Learned

When talking about successful deployments, some of the lessons learned we’ve noticed include:

  1. Schema design is an ongoing process – From a Data Hub perspective, defining that “golden record” is not always necessary, as long as you define consistent fields that can be applied everywhere.
  2. Optimization is a team effort – It’s not just the developer’s job to optimize the schema, just like it’s not just the Ops team’s job to make sure the DB is always on. NoSQL is going to give you tunability across these, and the best performance and results
  3. Test your shard keys (MongoDB) – If sharding is a new concept for you, make sure you do your homework, understand and validate with someone that knows the DB very well.
  4. Don’t skimp on testing and use production data – Don’t always assume that the outcome is going to be the same in production.
  5. Shared resources will impact performance – Keep in mind if you’re deploying in the cloud that shared resources will impact distributed systems. This is where working with your Ops team will really help and eliminate frustrations.
  6. Understand what tools are available and where they are in maturity – Don’t assume existing tools (reporting, security, monitoring, etc.) will work in the same capacity as with Relational DB’s, and understand the maturity of the integration.
  7. Don’t get lost in the hype – Do your homework.
  8. Enable the “data consumer” – Enable the person that’s going to interact with the DB (e.g. data analyst) to make them comfortable working with the data.
  9. JSON is beautiful

To summarize, education will eliminate hesitation, and don’t get lost in the marketing fluff. Get Ops involved, the earlier and more often you work with your Ops team, the easier and more successful your application and your experience with these technologies will be. Lastly, keep in mind that these are just DB tools, so you’ll still need to build a front end.

Click here to see a recording of the webinar.

Click here for the webinar slides.

5 Reasons You Should Consider Building a Native Mobile App

Posted by on June 12, 2015

The buzz around mobile has been around for a while and isn’t going anywhere, and with good reason. When over 90% of adults have their mobile phone within arm’s reach 24/7, it’s apparent that as a society, we’ve become largely dependent on our mobile devices. I bet the last time you forgot your phone at home, you felt like a part of you was missing, didn’t you? Well, you’re not alone.

With the population spending more and more time on their mobile devices, businesses can no longer afford to ignore their mobile experience. With an unlimited amount of information at their fingertips, consumers expect the ability to quickly access whatever info they need at that moment. And that’s not just limited to consumers. In B2B environments, business users are researching products and services on their smartphones, and performing tasks that would typically be done on desktops.

mobileapp-bannerleftThis requires a different approach to strategizing for mobile, a mobile-first approach. The question is no longer “should I build a responsive site or a native mobile app?” It’s not a matter of one versus the other. Businesses today need to have a mobile friendly website, period. It’s what your audience expects.

The question now becomes, “is mobile web enough?” To bring your customer engagement to the next level, it’s a good idea to consider a native mobile app. If you’re still not convinced, here are five advantages of mobile apps that makes the UX superior:

  1. Better handling of touch, gestures, and swipes – Side to side swiping, while very popular on mobile apps and desktop sites, doesn’t work as well on mobile websites
  2. Faster and more responsive – While mobile sites download the experience and data for each page through verbose HTML, mobile apps already contain most of the experience definition and only need to download the data
  3. Easy to continue where you left off – Mobile apps allow users to carry on tasks that span over long periods of time without having to log back in each time
  4. Tighter device integration – Mobile apps are much better equipped at handling features like geo-location, camera, and push notifications. While HTML5 is capable of supporting some of these device integrations, it’s not to the same degree and is often a power drainer
  5. Integration with other apps – It’s much easier and seamless to launch from one app to another app, than from an app to a mobile web app (take using your Facebook login to login to Pinterest for example)

Well, there you have it, five advantages that native mobile apps have over their mobile web counterparts. Of course, this doesn’t mean everyone should go and replace all their web apps with native apps. Each business still needs to determine what works best for them. But this provides some areas for consideration the next time you’re trying to decide whether or not to build that mobile app!