Sharing Articles / Blogs / Perficient https://blogs.perficient.com/tag/sharing/ Expert Digital Insights Tue, 27 Aug 2024 16:23:48 +0000 en-US hourly 1 https://blogs.perficient.com/files/favicon-194x194-1-150x150.png Sharing Articles / Blogs / Perficient https://blogs.perficient.com/tag/sharing/ 32 32 30508587 Full guide to enabling Headless Multisite Add-On for your XM Cloud solution https://blogs.perficient.com/2024/08/26/full-guide-to-enabling-headless-multisite-add-on-for-your-xm-cloud-solution/ https://blogs.perficient.com/2024/08/26/full-guide-to-enabling-headless-multisite-add-on-for-your-xm-cloud-solution/#comments Mon, 26 Aug 2024 22:37:35 +0000 https://blogs.perficient.com/?p=367793

Sitecore Headless Next.Js SDK recently brought the feature that makes it possible to have multiple websites from Sitecore content tree being served by the same rendering hoist JSS application. It uses Next.js Middleware to serve the correct Sitecore site based on the incoming hostname.

Why and When to Use the Multisite Add-on

The Multisite Add-on is particularly useful in scenarios where multiple sites share common components or when there is a need to centralize the rendering logic. It simplifies deployment pipelines and reduces infrastructure complexity, making it ideal for enterprises managing a portfolio of websites under a unified architecture. This approach saves resources and ensures a consistent user experience across all sites.

How it works

The application fetches site information at build-time, not at runtime (for performance reasons). Every request invokes all Next.js middleware. Because new site additions are NOT frequent, fetching site information at runtime (while technically possible) is not the best solution due to the potential impact on visitor performance. You can automate this process using a webhook to trigger automatic redeployments of your Next.js app on publish.

Sitecore provides a relatively complicated diagram of how it works (pictured below), but if you do not get it from the first look, do not worry as you’ll get the understanding after reading this article.

Uuid 8601bf89 50ab 5913 42ed 4773b05ab2c3[1]

Technical Implementation

There are a few steps one must encounter to make it work. Let’s start with the local environment.

Since multisite refers to different sites, we need to configure hostnames. The Main site operates on main.localhost hostname, and it is already configured as below:

.\.env
    RENDERING_HOST=main.localhost
.\docker-compose.override.yml
    PUBLIC_URL: "https://${RENDERING_HOST}"

For the sake of the experiment, we plan to create a second website served by second.localhost locally. To do so, let’s add a new environmental variable to the root .env file (SECOND_HOST=second.localhost) and introduce some changes to init.ps1 script:

$renderingHost = $envContent | Where-Object { $_ -imatch "^RENDERING_HOST=.+" }
$secondHost = $envContent | Where-Object { $_ -imatch "^SECOND_HOST=.+" }
$renderingHost = $renderingHost.Split("=")[1]
$secondHost = $secondHost .Split("=")[1]

down below the file we also want to create SSL certificate for this domain by adding a line at the bottom:

& $mkcert -install
# & $mkcert "*.localhost"
& $mkcert "$xmCloudHost"
& $mkcert "$renderingHost"
& $mkcert "$secondHost"

For Traefic to pick up the generated certificate and route traffic as needed, we need to add two more lines at the end of .\docker\traefik\config\dynamic\certs_config.yaml file:

tls:
  certificates:
    - certFile: C:\etc\traefik\certs\xmcloudcm.localhost.pem
      keyFile: C:\etc\traefik\certs\xmcloudcm.localhost-key.pem
    - certFile: C:\etc\traefik\certs\main.localhost.pem
      keyFile: C:\etc\traefik\certs\main.localhost-key.pem
    - certFile: C:\etc\traefik\certs\second.localhost.pem
      keyFile: C:\etc\traefik\certs\second.localhost-key.pem

If you try initializing and running – it may seem to work at first glance. But navigating to second.localhost in the browser will lead to an infinite redirect loop. Inspecting the cause I realized that occurs due to CORS issue, namely that second.localhost does not have CORS configured. Typically, when configuring the rendering host from docker-compose.override.yml we provide PUBLIC_URL environmental variable into the rendering host container, however, that is a single value and we cannot pass multiple.

Here’s the more descriptive StackOverflow post I created to address a given issue

To resolve it, we must provide the second host in the below syntax as well as define CORS rules as labels into the rendering host, as below:

labels:
  - "traefik.enable=true"
  - "traefik.http.routers.rendering-secure.entrypoints=websecure"
  - "traefik.http.routers.rendering-secure.rule=Host(`${RENDERING_HOST}`,`${SECOND_HOST}`)"
  - "traefik.http.routers.rendering-secure.tls=true"
  # Add CORS headers to fix CORS issues in Experience Editor with Next.js 12.2 and newer
  - "traefik.http.middlewares.rendering-headers.headers.accesscontrolallowmethods=GET,POST,OPTIONS"
  - "traefik.http.middlewares.rendering-headers.headers.accesscontrolalloworiginlist=https://${CM_HOST}, https://${SECOND_HOST}"
  - "traefik.http.routers.rendering-secure.middlewares=rendering-headers"

Once the above is done, you can run the PowerShell prompt, initialize, and spin up Sitecore containers, as normal, by executing init.ps1 and up.ps1 scripts.

Configuring Sitecore

Wait until Sitecore spins up, navigate to a site collection, right-click it, and add another website calling it Second running on a hostname second.localhost.

Make sure second site uses the same exact application name as main, you can configure that from /sitecore/content/Site Collection/Second/Settings item, App Name field. That ensures the purpose of this exercise is for both sites to reuse the same rendering host application.

You should also make sure to match the values of the Predefined application rendering host fields of /sitecore/content/Site Collection/Second/Settings/Site Grouping/Second and /sitecore/content/Site Collection/Main/Settings/Site Grouping/Main items.

Another important field here is Hostname, make sure to set these fields for both websites:

Hostname

 

Now you are good to edit Home item of Second site. Multisite middleware does not affect the editing mode of Sitecore, so from there, you’ll see no difference.

Troubleshooting

If you’ve done everything right, but second.localhost resolves to the Main website, let’s troubleshoot. The very first location to check is .\src\temp\config.js file. This file contains sites variable with the array of sites and related hostnames to be used for the site resolution. The important fact is that a given file is generated at the build time, not runtime.

So, you open it up and see an empty array (config.sites = process.env.SITES || '[]') that means you just need to initialize the build, for example by simply removing and recreating the rendering host container:

docker-compose kill rendering
docker-compose rm rendering -f
docker-compose up rendering -d

Also, before running the above, it helps to check SXA Site Manager, which is available under the PowerShell Toolbox in Sitecore Desktop. You must see both sites and relevant hostnames there and in the correct order – make sure to move them as high as possible, as this site chain works by “first come – first served” principle.

Multisite

After rendering host gets recreated (it may take a while for both build and spinning up steps), check the site’s definition at .\src\temp\config.js again. It should look as below:

config.sites = process.env.SITES || '[{"name":"second","hostName":"second.localhost","language":""},{"name":"main","hostName":"main.localhost","language":""}]'

The amount of SXA client site records must match the records from SXA Site Manager. Now, running second.localhost in the browser should show you rendered home page of the second site.

Another technique of troubleshooting is to inspect middleware logs. To do so, create .env.local file at the rendering host app root (if does not exist yet) and add the debugging parameter:

DEBUG=sitecore-jss:multisite

Now, rendering host container logs will expose you the insights into how multisite middleware processes your requests and resolves site contexts, and sets site cookies. Below is a sample (and correct) output of the log:

sitecore-jss:multisite multisite middleware start: { pathname: '/', language: 'en', hostname: 'second.localhost' } +8h
sitecore-jss:multisite multisite middleware end in 7ms: {
  rewritePath: '/_site_second/',
  siteName: 'second',
  headers: {
  set-cookie: 'sc_site=second; Path=/',
  x-middleware-rewrite: 'https://localhost:3000/_site_second',
  x-sc-rewrite: '/_site_second/'
},
  cookies: ResponseCookies {"sc_site":{"name":"sc_site","value":"second","path":"/"}}
} +7ms

The above log is crucial to understanding how multisite middleware works internally. The internal request comes rewrites as <https://localhost:3000/_site_second where ‘second‘ is a tokenized site name parameter. If .\src\main\src\temp\config.js file contains the corresponding site record, site gets resolved and sc_site cookie is set.

If you still have the issues of showing up the Second website that resolves to Main website despite the multisite middleware log outputs correct site resolution, that may be likely caused by conflicting with other middleware processors.  This would be your number one thing to check especially if you have multiple custom middleware. Miltisie middleware is especially sensitive to the execution order, as it sets cookies. In my case, that problem was because Sitecore Personalize Engage SDK was registered through middleware and also programmed to set its own cookie, and somehow configured with multisite middleware.

In that case, you have to play with order constant within each conflicting middleware (they are all located under .\src\lib\middleware\plugins folder) with the following restart of a rendering host.

Resources Sharing

Since the multisite add-on leverages the same rendering host app for the multiple sites that use it, all the components and layouts TSX markups, middleware, and the rest of the resources become automatically available for the second site. However, that is not true by default for the Sitecore resources. We must assign at least one website that will share its assets, such as renderings, partials, layouts, etc across the entire Site Collection. Luckily, that is pretty easy to do at the site collection level:

Site Collection

For the sake of an experiment, let’s make Second website to use Page Designs from the Main site. After the above sharing permission, they are automatically available at /sitecore/content/Site Collection/Second/Presentation/Page Designs item.

Configuring the cloud

Once we make the multisite add-on function well, let’s make the same work in the cloud.

  1. First of all, check all the changes to the code repository, and trigger the deployment, either from Deploy App, CLI, or your preferred CI/CD
  2. After your changes arrive at XM Cloud environment – let’s bring the required changes to Vercel, starting with defining the hostnames for the sites:Vercel
  3. After you define the hostnames in Vercel, change the hostname under Site Grouping item for this particular cloud environment to match the above hostname configured earlier in Vercel.
  4. Save changes and smart publish Site Collection. Publishing takes some time, so please stay patient.
  5. Finally, you must also do Vercel full re-deployment, to force regenerating \src\temp\config.js file with the hostnames from Experience Edge published at the previous step

Testing

If everything is done right in the previous steps, you can access the published Second website from Vercel by its hostname, in our case that would be https://dev-second.vercel.app. Make sure all the shared partial layouts are seen as expected.

When testing 404 and 500 you will see that these are shared between both sites automatically, but you cannot configure them individually per site. This occurs because both are located at .\src\pages\404.tsx and .\src\pages\500.tsx of the same rendering host app and use different internal mechanics rather than generic content served from Sitecore throughout .\src\pages\[[...path]].tsx route. These error pages however could be multi-lingual, if needed.

Hope you find this article useful!

 

]]>
https://blogs.perficient.com/2024/08/26/full-guide-to-enabling-headless-multisite-add-on-for-your-xm-cloud-solution/feed/ 1 367793
Sitecore MVP Summit: What We’re Allowed to Share https://blogs.perficient.com/2023/10/15/sitecore-mvp-summit-what-were-allowed-to-share/ https://blogs.perficient.com/2023/10/15/sitecore-mvp-summit-what-were-allowed-to-share/#comments Sun, 15 Oct 2023 08:18:37 +0000 https://blogs.perficient.com/?p=347045

I have always said that Sitecore MVP Summit is the best perk of all the MVP program benefits available. Usually, it is a tsunami of insightful information and considerations, shared with the group of MVPs for discussion and feedback in return. Because of that MVPs can have a planning horizon, in terms of work, development, and contributions.

Due to the sensitive nature of such early access information, the vast majority of it cannot be shared with a wider public and it is always explicitly highlighted. It is only a small volume of it comparable with the peak of a floating iceberg above the water line, that could be shared. Today I would like to present you all the information from MVP Summit we are allowed to share so that you could also benefit from it.

With that in mind, here we go!

Cloud Portal

Picture6

The portal team is working to make an even more granular set of permissions for the portal, and I can only applaud that. Over the past 6 months that was a very frequent request from our customers, asking for specific fine-tuned permission, and I am glad that we now will be able to do that. Notify the new roles other than previously available User and Admin, below.

Img 20231003 123845

OrderCloud

OrderCloud eventually makes its way to the Sitecore Cloud Portal. It will be available for relevant subscriptions, as it is not included in XM Cloud Plus. If you never heard the term Xm Cloud Plus – I’d recommend reading a blog post from my colleague David San Filippo about this new offering.

Picture7

Not just XM Cloud, but also Search, Commerce, and Personalize would share the unified experience. Components would be easily draggable to a page, for example, you can drag-drop search results component to a storefront page powered by your OrderCloud.

Picture2

We’ve got a React-based starter kit for creating an admin experience.

Picture8

XM Cloud and Forms

Next is really big! Making Edge personalization possible opens plenty of opportunities – starting with being able to do per-component personalization as it was with XP platforms, rather than having solid page variants as it is implemented in XM Cloud today. That also will reduce the amount of custom logic from your head application, keeping it clean and having fewer dependencies. The other benefit of edge personalization is that it removes one intermediate request to the decisioning engine between the browser and your head application making it low-latency calls, which is especially valuable in geo-distributed solutions.

Picture9

One more loud shout-out! We’ve been waiting so much and it is coming in a matter of weeks rather than months. Forms are coming back with its new truly composable implementation, as a separate product. Forms will be provided with every XM Cloud subscription, including XM Cloud Plus.

With Forms, Sitecore decided to re-use existing technology rather than building one from scratch.

Guessing what do they take as a foundation? XP Forms? Incorrect! XP Forms require having a CD server,  it was generally a non-SaaS solution so there was much to get redone in that case. They chose another product that features better, composable forms – Sitecore Send. I recently wrote the full overview of this product, including the forms and how exactly they function. That allows deploying forms as a component not just to Pages, but universally elsewhere, for example, a third-party platform. SaaS forms are also much more friendly for less technical users.

What type of fields will be available?

  • Submit Button
  • Email
  • Phone
  • Text
  • Long Text
  • Select
  • Date
  • Number
  • Checkbox
  • Recaptcha
  • .. and a few others

Where do the form submissions go? That’s for you to decide! Forms will give you a webhook to define that, a kind of flexibility that is done by purpose leaving the Forms product with maximum compliance of PII data storage. I believe, as an option, there will be some connectors, say for CDP and/or simplified integration for those clients who are less focused on compliance.

I was really impressed by the UX and UI of the new Forms experience, it is really easy, user-friendly, and powerful!

Picture1

Lots of work has been recently done on site management in XM Cloud. As an example, you can now access sites that you created from other existing source code than the templates provided in the Dashboard. These sites are labeled as non-SXA managed, and the Dashboard has now a filter so you can decide which sites you want to display on the Dashboard Sites tab.

Pages and Components as well as Sites are coming together into a single visual building experience, called Experience Studio. Its idea is to bring a seamless transition from what developers provide in a form (say) React component to marketers actually utilizing these inputs with various composable products, not just XM Cloud alone.

Pages And Components

Sharing Allowed 2

Leveraging Site Templates was a long promise from Sitecore and I am glad it is now getting to the implementation.

Sharing Allowed 1

CDP, Personalize, and Analytics

Embedded Personalization has been integral to XM Cloud from day one and covering most common scenarios it has proven to be a success. However, as soon as your websites become personalization-heavy heavy need a more robust solution to address personalization cases rather than generating numerous page variants. That was one of the most wanted features and it is coming soon – component-level personalization execution at Edge. That in turn brings more flexible scenarios of A/B testing.

Picture3

Unified Tracking finally will get there, collecting plenty of meaningful behavioral information into CDP. Instead of having individual trackers for different products (ie. Search, Send, CDP) there will be a single unified API used, which also means creating a single and unified API key to it.

Picture4

New Engage SDK – replaces Boxever scripts with engage script which you can embed externally and npm-based engage SDK to work with React and Next.js frameworks. Unlike old Boxever scripts, it supports geo locations out-of-box.

Img 20231003 123932

You can create API Keys to work with Sitecore Personalize so that you use them to create experiences and experiments, please see relevant documentation.

Img 20231003 124029

Another interesting slide.

Img 20231003 124124

You can create custom conditions.

Img 20231003 124309 Img 20231003 124426 Img 20231003 124620 Img 20231003 124525

Img 20231003 124437

The new Site Analytics homepage gives you deeper analytics with interactive heatmap and usage dynamics.

Img 20231003 123521

Content interaction Analytics. Going beyond Sites and Pages – not just page visits and sessions, but more in-depth analysis of visitors’ actions – how and where they go, behavioral trends, etc.

Picture5

Deployment and Migration

With the entire range of all the products in a composable family, Sitecore is rethinking the overall developer experience for the better. That includes productivity, reducing time to receiving operable products, minimizing configuration to getting them up and running. We already saw multiple starter kits for almost any product, which indeed helped us (developers) to speed up.

Developer Experience

The biggest change from the Deploy App is that now we can keep and deploy the front end separately from a CM instance and the rest of our codebase. That means, frontenders who typically prefer working on Mac equipment, will be able to have fully autonomous local development. They don’t need to spin up complicated Windows-based containers any longer with the single purpose of working on the Next.js app. Their workflow has now been proven to be genuinely cross-platform, and the corresponding Deploy App tooling has been provided. They of course need Sitecore CLI which is already cross-platform, as been written with a cross-platform .NET so that works universally everywhere.

Img 20231003 144657

One more user-friendly feature: upon completion, the tool exposes all the important settings and secrets to me, exactly what I may need for further setup.

Img 20231003 145404

Next, let’s talk about content migration. There were not one but two migration solutions presented to us, with slightly different coverage and use cases. The integrated tool is under NDA, so I will only focus on the other migration tool developed by Ivan Brygar which was also presented:

Img 20231003 153444

It is a standalone WFP application that is capable of moving both content and users from your legacy platform to your XM Cloud

Img 20231003 154017

Migrating users is an important moment. It is crucial to note that in SaaS version users are not part of XM Cloud, but rather exist within Unified Identity and belong to a Cloud Portal itself. From there, admins or organization owners can define the exact set of permissions for users across the available applications.

With that in mind, this migration tool is creating such users by emailing the invites and waiting for the activation. Later it will be also able to set up the desired permissions.

Img 20231003 160658

Here is the more detailed roadmap for this migrations product:

Img 20231003 161007

It is expected to become open-source soon, as the creator confirmed to me.

Thoughts

I feel so impatient to share much more exciting things learned at MVP Summit which aren’t yet allowed for sharing. As soon as relevant products and updates come out of NDA, I’ll be able to provide you a detailed overview of them, so please stay tuned!

 

]]>
https://blogs.perficient.com/2023/10/15/sitecore-mvp-summit-what-were-allowed-to-share/feed/ 1 347045
Customer obsession: The next wave of competitive advantage https://blogs.perficient.com/2015/06/16/customer-obsession-the-next-wave-of-competitive-advantage/ https://blogs.perficient.com/2015/06/16/customer-obsession-the-next-wave-of-competitive-advantage/#respond Tue, 16 Jun 2015 21:26:27 +0000 http://blogs.perficient.com/digitaltransformation/?p=8716

 

Last week, I was fortunate to attend a presentation by Kyle McNabb, VP of Research Strategy at Forrester. He spoke about how empowered customers have given rise to a new era. “The device is not the problem, the problem is what we can do with the device,” he said.

McNabb continued to tell the audience about how the connected consumer is impacting the way we do business. Here are my notes from the session:

 by Record TV (1)

Early adoption is becoming cheaper and easier

Ten years ago, early adoption meant you were willing to spend $2-5,000 on a plasma TV. You were willing to invest your hard earned money knowing that it might not work out, but it might be fun for a while.

Now that early adopter cost is negligible. The cost of innovation and the cost of consumers to adopt it has erroded to zero. That is what is changing the fundamental dynamics of how we engage with brands.
“Technology is impacting every piece of our lives.”

This isn’t about technology. This is about people and how we are changing.

Forrester has 20 years of history about how people are changing.
This is what’s keeping CIOs and CMOs up at night:
  • 53% of consumers agree that price is more important than brand.
  • 74% of B2B buyers start their research online
  • 41% of showroomers end up buying at another retailer
  • 35% of US adults are interested in digital wallets
  • 14% of US adults track their fitness

Customer-obsession is the next wave of competitive advantage.

We (at Forrester) believe customer-obsession is the next wave of competitive advantage. Everyone can say they’re “customer-centric.” The firms I’m going to show you are the ones that actually do it, because they’ve changed their operating model and are looking at technology differently so that they can become “customer obsessed.”

The CIO and CMO are the primary stakeholders for technology investments. What can you do with technology, systems and processes to get after that customer? Define a new operating model that is fueled by technologies that support the customer life cycle.
At this point, Kyle referred to the Forrester report he authored titled “Top Technologies for your Business Technology Agenda.” The Business Technology Agenda is driving projects, shifting how firms are spending money. What do CMOs and CIOs have to do differently to develop a new competitive advantage in this age?
“Put the customer at the center of their decision-making.”

Companies that define digital transformation

“Don’t be digital to be digital. Be digital because your customers are digital.”

  • by Record TVSouthwest disrupted the airline industry because they care about the customer. Their mission: “We like to think of ourselves as a customer service company that happens to fly airplanes.”
    • They were early adopters of wifi on the plane.
    • Their mobile app attracts you as you make the purchase, 2 days before, day-of and day after your travel.
    • Their contact center knows your full profile and history so they can best serve you.
  • BCBS Florida is trying to identify their consumers’ journeys so that they can be there at the moment of the customer’s need.
  • Lego takes their mission to heart. They are focused on parents too.
  • Farm Credit Bureau of America in Nebraska, serving farmers. They’ve embraced agile, personas and journey mapping to be digital.
 “Stop thinking of marketing as a flash-in-the pan campaign. Instead build a platform others can add to, that lives for a very long time.” – Sona Chowla, CMO and President of Digital at Walgreens
Southwest was killing Delta, so Delta had to respond. Delta changed the experience at the gate – they have computers, serve drinks, etc… at the gates.

Are you focused on growing budget priorities? (are you going where the puck is or where it’s going?) The majority of new projects that get identified and funded inside an organization will be around what the firm is doing to respond to customers.

“Don’t talk about what you do. Talk about what your customers need and how you can help them in their moment of need. ”

Don’t give them a generic view of digital transformation. Help them understand how you can solve their problems and help drive growth.

What’s it mean to you?

  • Growth, customer acquisition and loyalty, and product and service innovation fuel spend today.
  • North American firms simply don’t have the resources to keep pace with their customers.
  • Help leaders accelerate their digital business future.

Digital Transformation Webinar

We are addressing digital transformation in our webinar this Thursday. We will have special guest Nigel Fenwick, Vice President and Principal Analyst, Digital Business Strategy, Forrester Research, included in a live broadcast round table webinar with Perficient’s David Stallsmith, Director, Customer Experience and Digital Transformation and Michael Porter, Managing Principal, Strategic Advisers. Register below or at this link.

 

Learn more: 

]]>
https://blogs.perficient.com/2015/06/16/customer-obsession-the-next-wave-of-competitive-advantage/feed/ 0 186487
Lessons from 2014: How to get more clicks on Facebook. https://blogs.perficient.com/2014/12/25/lessons-from-2014-how-to-get-more-clicks-on-facebook/ https://blogs.perficient.com/2014/12/25/lessons-from-2014-how-to-get-more-clicks-on-facebook/#respond Thu, 25 Dec 2014 12:31:24 +0000 http://blogs.perficient.com/digitaltransformation/?p=7814

Merry Christmas!  As I have some time off at the end of the year, I’m looking back at information I have gathered in my reading list that I find interesting.  I came across the article We tested all the best advice to get more clicks on Facebook. Here’s what worked by Kevan Lee at Buffer’s Social blog.  As I re-read the article I had a funny feeling that I’d commented before on posts by Kevan Lee.  Sure enough, I found two other blogs posts from this year that contained information from Kevan.

What is intriguing to me about this article is that Buffer used a very methodical approach to testing each of their theories.  Too often I see companies just try things without really following a good scientific methodology.

First Buffer started with a baseline of how their Facebook page performed.  This is critical because you can’t measure what works without having a baseline.

Here are the seven techniques Kevan used to see which were the best at getting users to click on a Facebook post:

  1. Post to Facebook at non-peak times
  2. Post more frequently to Facebook – six times per day
  3. Post less frequently to Facebook – once per day
  4. Ask questions in the updates
  5. Change the style of the update
  6. Post only link updates
  7. Post different types of images with the links

That seems like a pretty good list of techniques. I won’t go through the results for each test here – you can read through Kevan’s blog post for the details.  However, here is an example of the results from the first test – posting at non peak times:

Source: https://blog.bufferapp.com/facebook-marketing

Here they found a big increase in clicks at 11:00 pm, even though they were posting less frequently at this time.  Very interesting.

Here are the three techniques that worked the best for Buffer:

  • Share link posts
  • Share in the evenings
  • Create a main image/graphic for your post

Of course this is data only for Facebook for Buffer.  You should follow a similar test regime to see what works best for you on Facebook and other social media sites.

]]>
https://blogs.perficient.com/2014/12/25/lessons-from-2014-how-to-get-more-clicks-on-facebook/feed/ 0 186426
Lessons from 2014: The Problem with Sentiment Analysis https://blogs.perficient.com/2014/12/24/lessons-from-2014-the-problem-with-sentiment-analysis/ https://blogs.perficient.com/2014/12/24/lessons-from-2014-the-problem-with-sentiment-analysis/#respond Wed, 24 Dec 2014 13:58:36 +0000 http://blogs.perficient.com/digitaltransformation/?p=7812

As we wind down 2014, I’m taking a look back at some items in my reading list and bringing forward the ones I found important from a learning standpoint.  The article The Problem with Sentiment Analysis by Sarah Kessler at Fast Company in November 2014 qualifies as one of those “aha” articles.

Analyzing social media has been a hot topic in the past couple of years.  Ms. Keller points out that during the 2012 presidential election season USA Today had a daily story about President Obama’s “sentiment” score versus Mitt Romney’s score.  The score was calculated by analyzing social media posts about each candidate.  In theory, the analysis could show which candidate is getting more positive comments versus negative comments.  And, in theory again, this could tell us about public opinion for each candidate.

However, Ms. Keller interviewed Marc Smith who pointed out that this type of sentiment analysis is inherently flawed.  Marc Smith is a sociologist who specializes in the social organization of online communities.  He went so far as to say about the USA Today stories that “This is remarkably poor data. That this is borderline criminal.”  As Keenan Thompson says in Saturday Night Live, “What up with that?”

Tight Crowd Pattern Graph: NodeXL Graph Gallery

Mr. Smith argues that this type of sentiment analysis only reveals which group of supporters “shouted” the loudest that day. It really tells us nothing about public opinion of either candidate.

What I found really interesting is Mr. Smith’s work on how crowds form around a topic on social media in six different shapes:

  • Polarized crowd in which two groups form and rarely interact with each other.  This is akin to the political sentiment described above.  The Obama crowd did their thing and the Romney crowd did theirs independently.
  • Tight crowd where a small group of people cluster around a conference.  The image in this post shows a tight crowd pattern.
  • Brand cluster in which people talk about a brand, but rarely interact with each other in the crowd
  • Community cluster where multiple small groups form
  • Broadcast network in which many people connect with a media outlet, but not with each other
  • Support network where something like a service center connects with lots of people, but those people don’t really interact with each other.

According to Mr. Smith, looking at the shape of the network lets you see that not all social media posts can be treated the same.  He argues that you should report on the size, volume and content of each major cluster over time.

This makes a lot of sense to me.  If you are measuring sentiment for a particular brand, event or anything else, you should be interested in how the network aligns with your goals.  Say you are hosting a conference – you’d want to see the social network form into a “tight crowd” pattern.  If it doesn’t then something is probably not working right.  Likewise if you are a brand and see the “brand cluster” pattern emerge, you may want to take steps to encourage your followers to interact more with each other, if that is a goal.

If you are involved in sentiment analysis or any social media analysis, I encourage you to follow the links here and take a look at Marc Smith’s research in this area.  Let me know what you think.

]]>
https://blogs.perficient.com/2014/12/24/lessons-from-2014-the-problem-with-sentiment-analysis/feed/ 0 186425
G2 Crowd scores Salesforce Chatter top social collaboration tool https://blogs.perficient.com/2014/12/23/g2-crowd-scores-salesforce-chatter-top-social-collaboration-tool/ https://blogs.perficient.com/2014/12/23/g2-crowd-scores-salesforce-chatter-top-social-collaboration-tool/#comments Tue, 23 Dec 2014 14:29:47 +0000 http://blogs.perficient.com/digitaltransformation/?p=7797

I saw the following tweet from Salesforce CEO Marc Benioff:

Image of tweet from Marc Benioff

This was interesting enough for me to follow the link to see why Salesforce Chatter was rated the best social collaboration system.  Barry Levine at Venture Beat had a nice article about G2 Crowd’s grid on social collaboration.  Here are the first two paragraphs:

Salesforce’s Chatter is the social collaboration tool with the highest customer satisfaction.

That’s a key takeaway from G2 Crowd’s new Grid for Social Collaboration tools, the first Grid report for this category. It scored 14 business products based on G2 Crowd’s customary metrics of customer satisfaction and business presence, in this case based on over 325 reviews from business professionals.

This was really interesting to me.  G2 Crowd allows people to rate these systems and then translates those ratings into a 2×2 grid similar to Gartner’s Magic Quadrant.  Venture Beat also mentions the 325 reviews used to generate the ratings.

While the G2 Crowd rating system looks good and in theory produces crowd-based results, when you dig a little deeper, you find that G2 ratings are really based on much smaller sample sizes. For example, here is the latest grid as of today:

G2-Social Collaboration

In looking at the Leaders Quadrant, you find that Chatter had 97 reviews and Microsoft Lync had only 11 reviews.  You can click on an icon to see the number of reviews:

g2-lync

I don’t dispute that Chatter is an excellent social collaboration tool and Salesforce should be proud to share these kinds of results.

However its hard to rank these tools on customer satisfaction alone from such small numbers of reviews. First, I imagine you could easily get 11 reviewers to enter lower scores for any product. Likewise, I’m sure you can ask 11 people to go rate a product very high.  I’m not suggesting anybody is doing this on the G2 Crowd site to impact the rankings, its just a possibility.

Second, and more importantly, assume that the total population of users for all these tools were 1,000,000 users.  That’s probably very low, but its a nice round number.  To have any confidence in our survey, we’d need a sample size of over 1,000 users responding to the G2 Crowd reviews. And that would be 1,000 random users.  With only 11 reviews or only 97 reviews, statistics tell us that we should not be very confident in the results.

The G2 Crowd information is interesting and it would be great if we could get the right number of reviewers to make the data statistically meaningful.  But, really, don’t rely on this information alone to make your purchasing decisions.  That’s why Gartner, Forrester and Perficient use a variety of factors when rating these systems.

 

 

]]>
https://blogs.perficient.com/2014/12/23/g2-crowd-scores-salesforce-chatter-top-social-collaboration-tool/feed/ 1 186423
A Day in the Life of a Social Media Manager https://blogs.perficient.com/2014/09/29/a-day-in-the-life-of-a-social-media-manager/ https://blogs.perficient.com/2014/09/29/a-day-in-the-life-of-a-social-media-manager/#respond Mon, 29 Sep 2014 16:16:05 +0000 http://blogs.perficient.com/digitaltransformation/?p=7691

In the BufferSocial blog, Kevan Lee posted an article for Social Media Managers.  The post takes a look a “typical” social media manager’s day and breaks down that day into many different activities, represented in the info graphic here.   

Mr. Lee also provides several different views on how other people spend their days managing social media.  One person, Finola Howard, manages to compress all her daily activities into just one hour per day. Her tasks include:

  • Use SocialOomph to figure out which new twitter followers to accept
  • Measure which posts are performing the best so you can take advantage of them
  • Schedule tweets and posts for the day.  She uses Buffer for this, other use tools like Hootsuite.
  • Find content
  • Respond to others
  • Monitor engagement of fans and followers

In general, the post identifies 12 tasks of a social media manager.  The twelve tasks are shown here and the article does a great job of explaining each of them.

If you manage social networking within your company, say using IBM Connections, Yammer, Jive or others, you should also pay attention to the tasks.  Each of these 12 tasks apply to internal as well as external social managers.

In addition, Mr. Lee provides a series of checklists for the social media manager.  These lists come from places like Mindbrew Creative, HeroX, Hootsuite and others.  Even by itself, the various checklists are well worth your time to understand.

Overall, A day in the Life of a Social Media Manager is extremely valuable and full of great information.

]]>
https://blogs.perficient.com/2014/09/29/a-day-in-the-life-of-a-social-media-manager/feed/ 0 186407
The Ideal Length of every Tweet, Facebook Post and Headline https://blogs.perficient.com/2014/04/08/the-ideal-length-of-every-tweet-facebook-post-and-headline/ https://blogs.perficient.com/2014/04/08/the-ideal-length-of-every-tweet-facebook-post-and-headline/#respond Tue, 08 Apr 2014 12:09:46 +0000 http://blogs.perficient.com/digitaltransformation/?p=7224

I think every writer at one time or another has thought about how long is too long for a post, tweet or headline.

WordPress Title Length

As I typed my headline into WordPress, it was kind enough to tell me that my headline is 59 of 65 characters. I never understood if WordPress thought 65 was the max or the ideal size for my headline.

Reading through Zite (soon to be Flipboard) today, I came across this article by Kevan Lee at Fast Company: The Proven Ideal Length of Every Tweet, Facebook Post, and Headline Online.  Mr. Lee did the research to find out best practices and here is what he came up with.

Twitter

100 Characters.  This is according to Twitter’s best practices.  Twitter found that there was spike in retweets for tweets between 71 and 100 characters. So if you want your tweets sent around by others, don’t take up all 140 available characters and don’t send short tweets.

Facebook Posts

Remember seeing a Facebook post that takes up the entire screen?  Unlike Twitter, the ideal Facebook post size is only 40 characters!  What?  You have so much more room to type in Facebook.

Ideal Facebook Post Size

Jeff Bullas found that posts of 40 characters received 86% higher engagement. Since Bullas’ sample of Facebook posts of 40 characters was a small sample, Facebook suggests 80 characters or less is good too. At 80 characters, Bullas found those posts has 66% higher engagement.

Google+ Headline

On Google, you have a headline and the body of your message.  If people only look at headlines, how long should they be?  How about 60 characters or less!  So maybe WordPress’ suggestion of 65 or less is not so bad.   Why 60 for Google?  Demian Farnworth found that more than 60 characters will likely split your headline into two lines in Ideal Google+ Headline SizeGoogle+.  Mr. Farnworth says that if you can’t get your headline under 60 characters, then make sure your first sentence draws the reader in quickly.

Headlines

So what about headlines in general.  This blog post has a headline that WordPress suggested I limit to 65 characters or less.  According to Mr. Lee, 6 words is the ideal length.  Rats – his headline and my copy of it are both more than 6 words.  This number comes from research done by KISSMetrics.

What about Blog Post Length?

According to WordPress my post is 367 words long right now.  Mr. Lee says that my post is too short!  The ideal post length – according to Medium – is 7 minutes.  That is, people pay attention for about 7 minutes.  Anything longer and they stop reading.  It turns out that 7 minutes is about 1,600 words long, or about 4 times the size of this blog post.  Ideal Post Size

I hope you enjoyed reading this since I kept it under 7 minutes.  Have a look at all the links I included because they all have additional information that you may find interesting.  If you made it this far into my post, tweet a link, post a message on Facebook or leave a comment to let me know what you think about ideal tweet, post and headline size.

 

]]>
https://blogs.perficient.com/2014/04/08/the-ideal-length-of-every-tweet-facebook-post-and-headline/feed/ 0 186341
Has the Knowledge Worker finally arrived? https://blogs.perficient.com/2014/03/04/has-the-knowledge-worker-finally-arrived/ https://blogs.perficient.com/2014/03/04/has-the-knowledge-worker-finally-arrived/#comments Tue, 04 Mar 2014 16:43:14 +0000 http://blogs.perficient.com/digitaltransformation/?p=7049

IBM has a fantastic explainer video this succiently explains what a connected knowledge worker (to borrow from the late Peter Drucker) is. Check it out.

]]>
https://blogs.perficient.com/2014/03/04/has-the-knowledge-worker-finally-arrived/feed/ 1 186327
Infusing Social into Digital Experiences https://blogs.perficient.com/2014/01/29/infusing-social-into-digital-experiences/ https://blogs.perficient.com/2014/01/29/infusing-social-into-digital-experiences/#respond Wed, 29 Jan 2014 15:39:42 +0000 http://blogs.perficient.com/digitaltransformation/?p=6928

Adding social capabilities to your digital experience site can bring some nice benefits. One benefit that is often overlooked is the multiplier effect of social sharing.  If you can can get people to promote your brand or product, you can reach larger audiences and save advertising costs as well.  A single “Like” on your product page can translate into millions of people seeing that someone they know endorses you.

Infusing Social Into Digital ExperiencesIBM spoke about combining WebSphere Portal and IBM Connections into a Social Digital Experience.  Traditionally, IBM Connections has been seen as an internal social tool that works on the intranet.  But, in fact, Connections can be useful on your external site as well.

  • Support communities are often a way to engage with customers and then direct them to your other sites.
  • Blogs on your external site can attract visitors
  • Innovation or ideation capabilities let people give you input and can cause those people who engage to reach out on other social platforms.  On twitter:  “Hey Perficient is looking for ideas about enhancing X, go to their site and weigh in…”

WebSphere Portal now exposes and seamlessly integrates all IBM Connections features making it easy to infuse social capabilities in your Digital Experience site.  Portal also has the ability to publish content directly to social media networks such as Twitter, Facebook, LinkedIn and internal Connections.  You see a video of these capabilities here:www-10.lotus.com/ldd/portalwiki.nsf/dx/TECH-D06_Social_Renderingcol_Combine_IBM_Web_Content_Manager_with_IBM_Connections_to_Render_Social_Data_on_Your_Portal_Pages

]]>
https://blogs.perficient.com/2014/01/29/infusing-social-into-digital-experiences/feed/ 0 186311
What’s coming in WebSphere Portal and WCM https://blogs.perficient.com/2014/01/28/whats-coming-in-websphere-portal-and-wcm/ https://blogs.perficient.com/2014/01/28/whats-coming-in-websphere-portal-and-wcm/#respond Tue, 28 Jan 2014 14:12:36 +0000 http://blogs.perficient.com/digitaltransformation/?p=6881

Rob Will, Chief Architect at IBM, presented the future vision for Portal and WCM today.   He started out talking about how the concept of customer experience has been evolving over the past few years.  A core shift has been to enable non-technical users to do more and more with less reliance on IT.

What's Coming in WebSphere Portal and WCMA slight change with profound implications has been the change from a Web experience to a Digital experience, which implies support many more devices and output streams.   Portal and WCM has always been about web sites, not mobile applications.  Portal is now in the mobile web site business to enable multi-channel web site business.  Portal is still the integrating platform for content, applications, etc.  Everything done in Portal and WCM is now done with mobile in mind.

IBM Worklight is the hybrid application platform that integrates with Portal and WCM.   Worklight enables access to all the mobile device features through portlets.  Its easy to create a Worklight adapter to grab content from WCM to display in a native application.  WCM’s personalization engine can also be leveraged from Worklight so you see the same promotions on the web as you see in the mobile app.

Mobile Directions

  • Improving integration to support device classes
  • Fine tuning seamlessness of the theme integration
  • Co-deploy Worklight on Portal

Content and Rich Media

  • More and more convergence between portal and content management
  • Projects and Templates (in Portal 8) are heavily relied on in future releases
  • Content Template Catalog 4.1.2 came out last week – uses latest CKEditor for inline editing
  • Vanity URLs- in beta now.  You can completely control the URL.  URLs are stored in WCM to support Syndication.  This feature will deprecate URL Mappings in Portal.
  • WCM Content Security is more seamless with Portal.
  • Attribute based security means you can control access to content based on Attributes.
  • Project templates make it easier to set up projects, including predefined workflow
  • Now everyone is entitled to EditLive! Enterprise version
  • Customers on 8.0.0.1 have entitlement to WebRadar which is content reporting and analytics
  • Cross Version syndication is supported to ease content migration.  You can syndicate from WCM 7.0.0.2 CF26 or higher to WCM 8.0.0.1 CF09 or higher
  • Syndication – improvements in error messaging, error handling, more retry capabilities.  Also in the Authoring UI, you can see a status of each object’s syndication.
  • Rich Media Edition seamlessly integrates with MediaBeacon.
  • Deliver and Stream HD Videos – this includes integration with BrightCove

Personalization and Targeting

  • In 8.0 IBM added in-context rules editing.  New minor enhancements are coming here.
  • Marketing Management is more of a focus for a richer experience, including Unica Marketing Center and IBM Interact.
  • New Portlet allows user to enter a few details about the spot and the portlets does all the work to bring in offers from Interact.  This reduces the rules that you have to write in portal.

WCM and Commerce

  • This is available now.
  • You can link content from WCM directly into a commerce site.  This also includes preview capability

Social

  • Social rendering in 8.0.0.1 takes content from connections and delivers them inside portal mixed with other content and applications. WCM presentation templates are used to make the social content look like other content on the page.
  • In the next version, IBM provides a bunch of enhancements.  Discussion threads hosted on IBM Connections, but linked to WCM content.   Here the visual experience of the discussion is controlled by WCM.
  • Now you can Like, create posts, comment, etc right in line.
  • Dynamic filters for social lists – these lists cooperate with other page components to filter content and drilling down in lists.
  • This is all available in mobile web too.

For a sample of how well Portal, WCM and Connections are integrated together, take a look at the Connect 2014 Site:

  • News and updates are blogs in Connections
  • Events are in WCM.
  • Session info is in WCM,
  • Speaker profile is in Connections.
  • Downloads are in Connections Files.
  • Session add is a DB2 application

Digital Data Connector (DDC) – this is a new concept and we’ll more information on this shortly.

  • Extends social rendering and WCM to any type of data source.
  • Can take most data source and bring into Portal through social rendering

I had to leave this session early, so I will follow up with another post on the rest of the new features coming in the future.

A beta version of Portal is now available if you want to try out some of these features.

 

 

 

]]>
https://blogs.perficient.com/2014/01/28/whats-coming-in-websphere-portal-and-wcm/feed/ 0 186307
What's coming in WebSphere Portal and WCM https://blogs.perficient.com/2014/01/28/whats-coming-in-websphere-portal-and-wcm-2/ https://blogs.perficient.com/2014/01/28/whats-coming-in-websphere-portal-and-wcm-2/#respond Tue, 28 Jan 2014 14:12:36 +0000 https://blogs.perficient.com/digitaltransformation/?p=6881

Rob Will, Chief Architect at IBM, presented the future vision for Portal and WCM today.   He started out talking about how the concept of customer experience has been evolving over the past few years.  A core shift has been to enable non-technical users to do more and more with less reliance on IT.
What's Coming in WebSphere Portal and WCMA slight change with profound implications has been the change from a Web experience to a Digital experience, which implies support many more devices and output streams.   Portal and WCM has always been about web sites, not mobile applications.  Portal is now in the mobile web site business to enable multi-channel web site business.  Portal is still the integrating platform for content, applications, etc.  Everything done in Portal and WCM is now done with mobile in mind.
IBM Worklight is the hybrid application platform that integrates with Portal and WCM.   Worklight enables access to all the mobile device features through portlets.  Its easy to create a Worklight adapter to grab content from WCM to display in a native application.  WCM’s personalization engine can also be leveraged from Worklight so you see the same promotions on the web as you see in the mobile app.
Mobile Directions

  • Improving integration to support device classes
  • Fine tuning seamlessness of the theme integration
  • Co-deploy Worklight on Portal

Content and Rich Media

  • More and more convergence between portal and content management
  • Projects and Templates (in Portal 8) are heavily relied on in future releases
  • Content Template Catalog 4.1.2 came out last week – uses latest CKEditor for inline editing
  • Vanity URLs- in beta now.  You can completely control the URL.  URLs are stored in WCM to support Syndication.  This feature will deprecate URL Mappings in Portal.
  • WCM Content Security is more seamless with Portal.
  • Attribute based security means you can control access to content based on Attributes.
  • Project templates make it easier to set up projects, including predefined workflow
  • Now everyone is entitled to EditLive! Enterprise version
  • Customers on 8.0.0.1 have entitlement to WebRadar which is content reporting and analytics
  • Cross Version syndication is supported to ease content migration.  You can syndicate from WCM 7.0.0.2 CF26 or higher to WCM 8.0.0.1 CF09 or higher
  • Syndication – improvements in error messaging, error handling, more retry capabilities.  Also in the Authoring UI, you can see a status of each object’s syndication.
  • Rich Media Edition seamlessly integrates with MediaBeacon.
  • Deliver and Stream HD Videos – this includes integration with BrightCove

Personalization and Targeting

  • In 8.0 IBM added in-context rules editing.  New minor enhancements are coming here.
  • Marketing Management is more of a focus for a richer experience, including Unica Marketing Center and IBM Interact.
  • New Portlet allows user to enter a few details about the spot and the portlets does all the work to bring in offers from Interact.  This reduces the rules that you have to write in portal.

WCM and Commerce

  • This is available now.
  • You can link content from WCM directly into a commerce site.  This also includes preview capability

Social

  • Social rendering in 8.0.0.1 takes content from connections and delivers them inside portal mixed with other content and applications. WCM presentation templates are used to make the social content look like other content on the page.
  • In the next version, IBM provides a bunch of enhancements.  Discussion threads hosted on IBM Connections, but linked to WCM content.   Here the visual experience of the discussion is controlled by WCM.
  • Now you can Like, create posts, comment, etc right in line.
  • Dynamic filters for social lists – these lists cooperate with other page components to filter content and drilling down in lists.
  • This is all available in mobile web too.

For a sample of how well Portal, WCM and Connections are integrated together, take a look at the Connect 2014 Site:

  • News and updates are blogs in Connections
  • Events are in WCM.
  • Session info is in WCM,
  • Speaker profile is in Connections.
  • Downloads are in Connections Files.
  • Session add is a DB2 application

Digital Data Connector (DDC) – this is a new concept and we’ll more information on this shortly.

  • Extends social rendering and WCM to any type of data source.
  • Can take most data source and bring into Portal through social rendering

I had to leave this session early, so I will follow up with another post on the rest of the new features coming in the future.
A beta version of Portal is now available if you want to try out some of these features.
 
 
 

]]>
https://blogs.perficient.com/2014/01/28/whats-coming-in-websphere-portal-and-wcm-2/feed/ 0 186779