Tuesday, November 2, 2010

Velir’s Mind-Blowing Multi-Channel Mayhem

In my personal handbook, it says that it’s better to under-promise and over-deliver than the other way around. I’d always rather surprise people with unexpectedly positive results than disappoint them with lots of fanfare and little substance.

So, why am I writing a blog with the title “Mind-Blowing Multi-Channel Mayhem?” Am I running the risk of over-promising? Could our recognized partner this time around truly blow your mind? And why “mayhem?”

Well, the Outstanding Solution review committee spent many hours talking to partners about their Outstanding Solution applications. We saw some great work and we’re keeping some of these in our back pocket for future consideration. But Velir easily rose to the top of the pack this time around and inspired all of us with their vision and ingenuity. Quite literally, after Velir walked us through the work they did, we knew that it would be tough for any other partner to come close.

So, what have they been up to that impressed us so much? In short, Velir has realized one of the fundamental promises of CMS: edit once, publish everywhere. And they’ve done it with one-click simplicity for everything from the iPhone to Facebook to email.

Velir implemented this solution for the Brookings Institution,  a nonprofit  organization based in Washington, DC that conducts high-quality, independent research and provides innovative, practical public policy recommendations. By working with Brookings and their digital strategy and design partner, Threespot,  Velir engineered Sitecore to allow content to be published across all of Brookings’ digital properties.

For starters, how about viewing a website on a mobile device? Standard fare, you might think, but it’s remarkable how many sites are still not optimized for cell phones and similar devices. Velir handled this challenge effortlessly, providing a great mobile experience on the leading mobile devices (such as the iPhone and the Blackberry).

But they didn’t stop there. No. How about mobile apps, and not just for the iPhone but for Android as well? Let’s start with the iPhone basics, such as the gorgeous splash screen with a relevant quote-of-the-day:

Brookings Splash Screen

On the home page of the app, the iPhone presents the latest news stories along with a daily feature:

Brookings Article Browsing

It’s perhaps too small to see in this image, but note that in addition to Featured stories, users can browse by Topic, view Videos, browse by Expert and sign up for Events.

Velir Outstanding Solution Navigation

The experience is mirrored in the Android version. Check out the Video browsing, the Event sign-up and the Sharing:

Brookings Video Browsing

Brookings Event Signup

Velir Outstanding Solution Share This

You might be thinking “Ok, we’ve all seen mobile apps before, what’s the big deal?” Well, first off, these just happen to be very well-designed and executed cross-platform mobile apps. But second, and even more significantly, they are all managed – along with the website content – through Sitecore.

For full disclosure, Velir had to do a little bit of coding in Sitecore to pull this off (in addition to working with the Apple and Android SDKs). While their apps were set up to consume Sitecore content, Velir developed an XML/REST-based API to retrieve content from the Sitecore repository.

Imagine editing content once in Sitecore and having it published out to your website, your mobile sites and your mobile apps. That’s the dream of web CMS, right? Author once and publish across all your channels.

Well, Velir didn’t want to stop there. What if you could publish to Facebook and Twitter as well? That would be pretty cool too, right? In the screenshot below, you’ll see that each article the client published has metadata that allows the author to push the story out to Twitter (numerous Twitter accounts are made available to content authors). Note that the system automatically generates short URLs for the content author, eliminating another tedious step in the publishing process:

image

And actually, there’s even more. How about using Sitecore to publish newsletters? Velir has that covered as well.

So, to sum it up, Sitecore is recognizing Velir’s Outstanding Solution that allows content authors to enter content and have it published to the web site, mobile sites, mobile apps, Facebook, Twitter, RSS and Newsletters. It’s an awesome and delightful accomplishment that takes both technical expertise and vision.

In general, I wouldn’t consider this as a Phase One project. In other words, I wouldn’t consider this “in scope” for the initial launch of a site. But for a mature Sitecore site like this one, and a seasoned partner like Velir, Sitecore has helped them take the user experience and the content author experience to the next level. Congratulations to Velir on this Outstanding Solution!

You can learn more about Velir here:

http://www.velir.com/

You can visit Brookings at: http://www.brookings.edu.

Wednesday, June 23, 2010

Siteworx Makes Finding Answers Easy

How do you search over 30 years’ worth of data located in multiple content repositories on server farms around the world? Siteworx faced this fascinating challenge and their solution generated much attention from the Sitecore Outstanding Solutions committee (see Sitecore Recognizes Outstanding CMS Projects for more information).

Siteworx’ approach to the requirement involved the use of the Solr search server (built with Lucene). Through Solr, Siteworx indexes content from the Sitecore solution, a legacy Wordpress blog and even Google Analytics data. By using Solr with with a very content-rich site, Siteworx provides essential end-user facilities such as search, faceted navigation and rich metadata options.

What’s the story with indexing Google Analytics data? It’s a really cool idea: Solr pulls in the top 5,000 records from the last 24 hours using the Google Analytics API. This associates Google’s browsing data with Sitecore content items. With this data in the index, Siteworx provides a powerful “Most Popular” search facet on the web site.

The Wordpress integration is also interesting. The Solr index is populated using a push approach. Siteworx developed a Wordpress plug-in that pushes content to the Solr index when a new blog post is published. This allows for the blog content to appear alongside Sitecore content when a visitor performs a search.

Another key piece of the search puzzle was metadata. Siteworx’ client had a complex site taxonomy with 500 available metadata elements. The challenge here was making sure that content was properly tagged using this extremely rich taxonomy. Before content is published, editors can click a “Regenerate” command in the Ribbon that parses the text of an article and identifies keyword matches. These keywords are then associated with the article content and actually appear as inline tags in the article.

Overall, what I admire here is Siteworx’ ingenuity in tackling some challenging requirements. The site they were building had 30,000 substantive articles. Visitors to the site depend on being able to find relevant articles in the topic areas they are researching. Through content aggregation using Solr and automated, rich meta-tagging, they were able to develop a highly usable site with outstanding searchability.

You can learn more about Siteworx at http://www.siteworx.com.

Wednesday, June 9, 2010

Hanson Dodge Rocked My World

.NET CMS implementation varies in its complexity. Some projects are pretty basic – maybe a unique look and feel to the site, but otherwise straight-up content management. Other implementations provide interesting challenges that can push the limits of many lesser CMS systems. Hanson Dodge’s Outstanding Solution falls into this latter category. Their slogan is “Active minds at work,” and, from what I saw in their Outstanding Solution application, this is an understatement.

The focus of this Outstanding Solution was a web site for a world leader in Sports Utility Transportation (see Sitecore Recognizes Outstanding CMS Projects for more information). Hanson Dodge did more cool stuff than I could possibly mention in a single blog post, so I’ll focus on two areas in particular: internationalization and application integration.

Let’s start with internationalization. As you may know, Sitecore starts off with multilingual capabilities, but a skilled partner can take the platform much, much further. Hanson Dodge was tasked with numerous internationalization requirements:

  • Over 30 different languages for the site
  • Independent language and country dimensions (i.e. think of a country as a market whose content can be viewed in any number of languages)
  • Different product lines and site content by country
  • Configurable fallback languages (i.e. if the content isn’t translated into language A, revert to language B)
  • Country-driven pricing
  • Multi-lingual Flash content

To deal with these requirements, Hanson Dodge used Sitecore’s extensible framework impressively. From extending Sitecore’s dictionary functionality to adding a custom language fallback feature to filtering market-specific content, Hanson Dodge repeatedly showed themselves to be .NET and Sitecore pros.

In terms of application integration, Hanson Dodge had a significant list of systems that needed to talk to each other:

Sound like a handful? The integrations were numerous and Hanson Dodge was able to leverage Sitecore’s extremely open architecture to plug in to system functionality as required. Particularly interesting was their use of Sitecore’s Data Provider abstraction layer to pull in content from the Stibo STEP system. This allowed them to integrate the STEP content in the authoring environment while publishing standard Sitecore items to the delivery environment (and thus shielding the STEP system from web site traffic).

I could go on about Hanson Dodge and their expertise with Sitecore, but I encourage you to talk to them directly about their projects. If you are considering a site with an international audience or where system integration is crucial, this Sitecore partner has the experience and expertise you need.

Wednesday, June 2, 2010

New Sitecore Outstanding Solutions Announced

This week, Sitecore recognized two partners as part of its Outstanding Solutions program for Q1 & Q2 of 2010. We are proud to recognize Hanson Dodge Creative and Siteworx for the outstanding work they have done for their clients. Sitecore had a great time working with these partners and reviewing their impressive solutions to some complex implementation requirements.

I will blog more extensively about each of these partners and their Outstanding Solutions. As a sneak preview, here are some of the challenges they faced:

  • Search index aggregation (including content from non-Sitecore sources)
  • Product Information Management (PIM) integration
  • Dynamic content tagging based on an elaborate content taxonomy
  • Multilingual functionality with fallback language capabilities
  • Country-driven pricing
  • Adobe Flex integration

I’ll give credit where it’s due in future posts and elaborate on each of these features (and more!). Stay tuned…

You can learn more about the Sitecore Outstanding Solutions program on the Sitecore.net site.

Thursday, April 1, 2010

.NET CMS Implementations that Succeed Every Time

One of the biggest determining factors of whether or not a .NET CMS implementation with Sitecore (or any CMS for that matter) succeeds has nothing to do with technology. CMS history is littered with countless of CMS projects that have been delivered roughly on time and roughly within budget but have still failed. Why would an otherwise successful project be quickly declared a failure? The simple, non-technical answer is this: end-user rejection. It’s a classic case of a system being implemented perhaps with the right technology, but without a clear understanding of what end users want, what their level of technical proficiency is and how they expect to use the system. Nothing can kill a CMS project like end users who rebel against the system, sticking to their old practices, complaining loudly to upper management and starting rogue projects to address perceived deficiencies in the new CMS.

Non~Linear Creations (NLC) has orchestrated many impressive implementations of Sitecore that demonstrate the best in ASP.NET CMS technology practice and system usability. What stood out to me so powerfully in their Outstanding Solution application was not simply their technical prowess – this was something I have long been well aware of – but the fact that they applied their technical dexterity directly to the problem of usability for content authors. Non~Linear impressed me with the fact that in numerous cases they had gone the extra mile to really understand the audience for the CMS and to make sure that this audience had the tools they needed to succeed.

Now, why did NLC need to focus so much on usability? Isn’t Sitecore already an extremely usable system? If you look at tools like Page Editor and Page Designer, it’s really hard to imagine a web content management system that’s easier to use. But here’s the catch: I’ve conducted an unscientific survey and have found that many Sitecore implementations don’t make use of these extremely valuable (and cool) user interfaces. Instead, a great number of implementations stick with Content Editor as the preferred authoring interface.

Sometimes there is good reason for that. If most of the content authors are fairly sophisticated system users or if they feel more comfortable in an interface that provides a global view of the content repository, Content Editor is a good fit. But what about the many less-technical users who would love to be able to just browse the web site and start typing on the page? It’s these less technical users that really need the CMS implementation to speak directly to them.

Why doesn’t every project implement Page Editor and Page Designer? Here’s why: Many CMS projects have a division of labor between HTML developers and .NET developers. The HTML developers create their beautiful, cross-browser compatible artistry in XHTML and then throw it over the fence to the .NET developers who make it work with the CMS. But remember, all of Sitecore’s interfaces are 100% browser based. There is never anything to download in order to start editing content in Sitecore. (This, by the way, is a system administrators dream come true.) But, because Sitecore is rendering its interfaces  using HTML and CSS, there are sometimes collisions between the coding practice of the HTML developer and Sitecore’s own approach to coding its UI. It might seem like Page Editor or Page Designer are not dialed in properly because Sitecore’s HTML is conflicting with the HTML designer’s code. This is always something that can be addressed by minor CSS tweaks. But, in reality, this division of labor means that the HTML developers don’t really understand the CMS – they may never have even been trained in Sitecore so they don’t know that they are writing code that will impact the Sitecore UIs.

Here is where NLC’s usability magic comes into play. Their analysts know Sitecore, their HTML developers know Sitecore and their .NET developers know Sitecore. It is like an orchestra where all members are playing together perfectly and the resulting harmonies just blow you away. At NLC, you work with developers who are trained to think like content editors. This means that the team that is working on your site’s HTML is making sure that they aren’t defeating the incredible usability of Sitecore’s UIs. It means that developers aren’t designing solutions that are technically elegant, but not directly responsive to business users needs. And it means that NLC is always on the lookout for new ways to tweak the standard Sitecore UIs to make them fit perfectly into a new business context. While this blog has focused on Page Editor and Page Designer, NLC shared with me numerous other examples where they have gone the extra mile to make the CMS user interfaces beautifully harmonize with the needs and technical level of the system’s end users.

All of this is just the tip of the iceberg of what NLC offers. In fact, it’s just the tip of the tip of the iceberg. I encourage you to check out their web site if your are looking for an implementation partner or need help in selecting your content management system.

Non~Linear Creations: http://www.nonlinearcreations.com

Thursday, February 18, 2010

Enterprise CMS in the Hands of Masters

When I think of Enterprise CMS implementation – particularly the most complex implementations out there – Revere Group always sits at the top of my list. You might think that – as a billion-dollar company – they would be slow-moving, bureaucratic and lacking spark. I can promise you that nothing could be further from the truth. It’s no coincidence that within a month Sitecore recognized this organization three times – for the Best Legal Site of the Year, as a Sitecore MVP and as a Sitecore Outstanding Solution recognized partner. They are that good.

As part of their Outstanding Solution submission, they showed me something I literally didn’t even know existed. It’s so cool, I can’t believe no one has thought of it before. But it’s true. I’ve trained hundreds of Sitecore developers and seen at least as many support cases; but I’ve never seen one tackle an implementation challenge with this particular trick.

Here’s the challenge: If you’ve been working with Sitecore for awhile you know that one of the tricks for content sharing is the idea of having a pointer item. A pointer item has a drop-list that points to another item in the content tree. It may also have fields that resemble the referenced item. For example, an item may have the following fields:

  • Title
  • Description
  • Image
  • Reference Item

The Reference Item field is a drop-list that points to another item (typically containing similar fields). In your presentation components, you can use the following logic:

  1. Retrieve the Reference Item.
  2. If Title is null in the context item, use the Title field from the Reference Item
  3. If Description is null in the context item, use the Description field from the Reference Item.
  4. If Image is null in the context item, use the Image field of the Reference Item.

I’ve also described this approach in my Content Tree blog. The idea is cool, but it does require a little bit of coding in your presentation components to figure out whether to get the data from the current item or from the reference item.

Revere and, in particular, Sitecore MVP Matt Hovany, came up with an ingenious simplification of the problem. Looking in the Sitecore web.config, Matt found that Sitecore defines a Standard Values provider (see below).

StandardValuesProvider

Matt decided to extend this provider to incorporate the concept of a reference item. In the example above, the Reference Item is treated as the current item’s Standard Values. By using a Standard Values provider, Matt got all of the logic he needed built-in.

Think about the above example again. Instead of having to use presentation logic to figure out whether to use the field values from the current item or the reference item, Matt coded a Standard Values provider that did all of the work in one place. Because the referenced item is treated like the current item’s standard values, there is no longer any need to place this logic in your presentation components. It works automatically, just like normal Standard Values in Sitecore.

This qualified as an Outstanding Solution in my mind because I heretofore had not encountered such an elegant solution to a common implementation challenge in Sitecore. You’ll be hearing more about Revere Group’s innovations in later Outstanding Solution blog posts.

Friday, February 5, 2010

The Best .NET CMS for Application Integration

Sitecore is the best .NET CMS for application integration hands-down. You will be hard pressed to find another web content management system that has been so thoughtfully designed to support integration scenarios. I have discussed this topic at length in my “Integrating External Data with Sitecore 6” whitepaper and, suffice it to say, there is so much to say. If you are interested in gaining access to this whitepaper, sign up for the Sitecore newsletter or ask your Regional Manager for a copy.

One of Sitecore’s oldest partners in North America is Roundedcube and they have done some outstanding work in integrating Sitecore with 3rd-party applications. Their facility in taking advantage of Sitecore’s openness and many integration points was what caught our attention in their Outstanding Solution application. I strongly encourage you to learn more about the work they have done with Sitecore.

One of Roundedcube’s clients was a national association that wanted to build a communications hub for their members. In their best-of-breed approach, they chose Sitecore for their CMS and Telligent Community Server for their community platform. The client also used TIMMS for their association management solution. Roundedcube faced the challenge of how to get these systems talking without causing undue pain to their end users, i.e. forcing users to log in repeatedly as they bounce from system to system. Their solution was two-fold:

  • Create a single sign-on process that allowed for centralized authentication between the three systems.
  • Create a web services layer to facilitate data communication between the disparate systems

With these connections in place, they were able to create a visitor experience that leveraged the power of these three systems:

  • Blogs, forums, photo galleries, shared files and social networking from Community Server
  • Newsletter subscription, event registration and e-commerce functionality from TIMSS
  • Dynamic presentation and content security from Sitecore

Thanks to the Roundedcube team for sharing with us about their Outstanding Solution! You can learn more about Roundedcube in the following articles on the Sitecore web site.

Ogden City, UT – Extreme Website Makeover

Second Baptist Church, Houston, TX – This membership-based organization improves their site to increase page views by more than 380%

Wednesday, January 27, 2010

Content Management Alchemy with Import Frameworks

Over the next several blog posts, I will be revealing some incredible secrets our partners have shared with us as part of the Outstanding Solution program. As I mentioned before, I am utterly impressed with the work our partners do and the creative solutions they are devising in addressing client requirements. But rather than go through a laundry list of our Outstanding Partner accomplishments, I want to share with you an essential piece of CMS implementation practice that comes up over and over again in my discussions with partners: content import frameworks.

What is a content import framework? Most CMS projects require a strategy for moving content from a legacy system (such as a legacy CMS, a home-grown administrative tool or just static HTML pages) to Sitecore’s content repository. If you are familiar with the Sitecore API, you know that importing content into Sitecore is a piece of cake – literally, 5-10 lines of code can do most of the heavy lifting for you. But there are certain challenges that partners must address in every implementation: How do you migrate links from the existing site to the new site? How do you import media into the CMS and preserve links to media? How do you account for obsolete content or content that will have a new home in the information architecture? These can be tricky problems to solve, and that is where a content import framework comes in.

Two partners with outstanding import frameworks are Revere Group and Non-Linear Creations. Let’s consider a few issues that both of these partners shared with me:

  1. Hold on to your SEO. When sites are migrated from a legacy system to Sitecore, customers often want changes to their information architecture. This may be to address historic usability issues or because it is required for a major site redesign. The challenge here is that it is essential to let Google know that those old URLs have moved, not gone away.
  2. Update your links. As you may know, Sitecore has an incredible link generation technology that allows for multi-lingual, multi-site and multi-extension URLs. As your content gets imported into Sitecore, you need to parse the HTML content to ensure that the old links are pointing to the right location in the new information architecture and that they comply to the standards for Sitecore’s LinkManager.
  3. Load and link your media. As the content import takes place, media must be imported into Sitecore’s Media Library and links to this media must be updated.
  4. Know your sources. As part of the import process, partners need a good understanding of how to handle content from a variety of sources. Importing from HTML documents, for example, requires recognition of tag patterns; importing from databases requires an understanding of the database structure.

Sounds tricky, doesn’t it? That’s why it’s important to have a content import framework that packages many years’ of CMS implementation experience into tools, APIs and best practices that can be re-used on each project.

Now, we all would love a magic button that imports content. Unfortunately, no one is quite there yet. An import framework is not necessarily a cure-all for the inevitable pains of content migration. Both Revere Group and Non-Linear Creations shared with me that these frameworks are reusable tool sets, but they must always be modified for each individual client. Sometimes, even copy-and-paste is the best way to go. No two implementations are completely alike – an import framework creates efficiencies, but the migration process still requires careful analysis, configuration and coding.

If you want to learn more about these outstanding partners, each of whom has worked on many Sitecore projects over the years, I encourage you to check out their web sites.

Revere Group: http://www.reveregroup.com

Non-Linear Creations: http://www.nonlinearcreations.com