Architecture Roadmap: Do You Know Where You’re Going?

For any software product, having a clear vision of what it looks like is an important aspect for how it gets done. Seems pretty obvious, but all too often a product starts out as one thing and ends up as something else. Many factors can contribute to this, and one of them is that the stewards of the product can lose the vision they had for the product in the first place.

There is also a delicate balance at play with software products, and it’s the line between these two sides:

  1. Delivering features that lead to sales
  2. Delivering those features on a solid technical foundation

If you’ve been around long enough, you know that most products are built with features being the overwhelming priority. Features sell, plan and simple, and initially it can be the lifeblood of a product. But at some point, features become a zero-sum game and can lead to a bloated product where 80% of the “must-have” features aren’t actually used by its customers.

Whether that happens or not, the trick is being able to put in place an underlying technical platform that helps you to continue pushing the product forward. And they key to this is an Architecture Roadmap.

A Vision Reborn

Backstory time. A little over a year ago I joined Znode and basically spent my first month asking questions from anyone who would give me five minutes. Questions about the Multifront product, its history, how it got to this point, what are its strengths and weaknesses, who our customers were, what were their challenges, how do we market and sell it, where do our partners fit in, what is the out of box experience, and on and on. I asked questions from all angles.

What emerged from those discussions was a new vision for where the Multifront product should go. It needed to change from a standalone application into a true enterprise-class ecommerce engine platform. Someone put it to me this way: this will be like trying to change the wings and navigation system of an airplane full of people, but the plane must remain in flight while doing it. Yes, something like that.

An Architecture Roadmap Is The Key

In order to accomplish this monumental feat, we needed a plan, so I began curating a list of technical to-dos that would have an impact in the Multifront transformation. Over time, this simple to-do list morphed into a broader architectural roadmap, with buy-in not only from the development team, but also sales and marketing and Znode’s leadership team. This architecture roadmap is our guide to know where we are going and how we will get there.

30 Items, 40 Revisions

As of this writing, our Architecture Roadmap is on revision #40 and contains 30 items. Many of these things are big-ticket items, a couple are pie-in-the-sky types of things, while others are smaller in scope. But the size of these items is not what matters. What matters is that they exist and are visible to everyone in the company, which helps foster discussions and planning for future releases.

Again, it’s all about knowing where we’re going.

More to Come

This post kicks off my next series, where I’ll dive into the details for some of the items on our Architecture Roadmap. Stay tuned.

Click to learn more about the Znode Multifront architecture and framework


Responsive Design: Crafting an Experience for Everyone

The phrase “responsive web design” is still somewhat of a buzzword when it comes to building web sites. However, responsive web design is not a feature that you add on to your web site to make it mobile-friendly. Responsive design is just how you build web sites in a multi-device world. The question of “should we go responsive” shouldn’t even be a question because the answer is always “yes,” and that’s why the new MVC version of the Multifront ecommerce platform includes an example storefront that was built from beginning to end using responsive techniques.

Responsive design is not a feature.

The obvious advantage to responsive web design its ability to display well on devices of varying size, from phones to tablet to desktops. Of course, there are thousands of different devices out there in the wild – even in your office – and it’s impossible to account for them all…and you’re not supposed to.

The big difference with responsive design over how sites have been designed in the past is that you cannot worry about tiny details. The term “pixel perfect” is no longer valid when it comes to web design. You’re shooting for “usable” when it comes to a responsively designed web site, but that doesn’t have to mean boring or generic. It just means that you can’t worry about the positioning of an element between two different Android phones. It’s not going to look the same and it’s not intended to. Ultimately the design needs to be usable and communicate clearly, so the extra whitespace that appears on the big phone and not the small phone is not a concern, bug or problem.

Separating your concerns

Depending on where you sit in the development chain, the fact that responsive design relies on a single code base could be a good thing or a bad. I favor the former because managing two separate code bases for the same product is just more trouble than it’s worth. Before too long you’ll find one version is way out of sync with the other, giving your customers a very inconsistent experience between devices. You may also find yourself with two different products going in opposite directions, and that’s not going to help anyone.

Using the same code base for every experience doesn’t mean you can’t selectively load data, it just means you handle it all up front rather than having the server sniff a browser and do a bunch of domain switching and project loading. And when we’re talking about an online store, there’s probably little reason to have different markup for different devices. When going responsive you design and build once, but that means you have to consider every part while you work.

A tailored experience

The one aspect of responsive design that makes a huge impact on the user experience is that it requires you to think about the design and usability of your site on many devices. But since you’re considering device sizes from the beginning, you can be confident that the content on your site will be treated properly regardless of screen size. You’ll find yourself with a much better web site in the end when you build this way, but there are some trade-offs.

The need to consider different sizes does require more design effort from your staff but it’s to the tune of weeks, not months or years. There is little-to-no extra overhead when building a responsive site compared to a non-responsive or separate code base sites. Plus, the work flow for responsive design is going to get better and more efficient as we all adopt it as the correct way to build a web site. Don’t avoid design discussions and decisions. Embrace them for what they are – a chance to make your web site and your product better for everyone.

Designing for performance

Last but not least, the one thing you can’t skimp on when talking about building responsively is site performance. It’s no secret that a web site needs to be as fast a possible, and responsive doesn’t change that. But going responsive does mean you have to consider the performance for every page, every view and every interaction because you don’t know if the customer is on their phone standing in line at the grocery store, or if they’re on their couch watching television.

Performance needs to be part of the design process, not an afterthought or optimization routine applied when you’re all done. Think about the size of files, images and consider every plug-in and add-on you’re thinking about using. The question should always be asking is, can we do without this?

If anything, building and designing responsively is about whittling away the things you don’t need until you get to the true needs of your customers. Once you get there you’ll find you have a great experience for everyone regardless what type of device they’re using.


Sitecore And Znode Announce Release Of E-Commerce Integration For Sitecore 7 Customer Experience Platform

Full integration of leading technologies allows for a powerful content management and product solution for enterprises
Sitecore, the global leader in customer experience management software, and Znode, provider of the leading .NET e-commerce software solution, Multifront™, today announced the release of an integration for version 7 of Sitecore’s customer experience management software. The integration of the two leading solutions will empower enterprise businesses to deliver engaging and relevant experiences to their customers while supporting the rapidly evolving demands of today’s enterprise e-commerce and content management strategies.

Znode’s e-commerce solution, Multifront, enables companies to fully customize and personalize the online shopping experience. The highly scalable and flexible solution features rapid speed to market, full access to the source code and integrations with leading enterprise back office systems and is completely adaptable to the requirements of B2C and B2B ecommerce.

The integration leverages Sitecore’s new OBEC (Out of the Box Engagement for Commerce) integration framework to bring cross-channel engagement to e-commerce. A customer’s shopping experience can be customized based on activity in other channels, including email, mobile and print. In addition, a customer’s experience in those other channels can be tailored based on e-commerce site activity. This combination of Sitecore and Znode delivers a truly unified cross-channel customer experience.

Znode Multifront acts as an e-commerce engine with the Sitecore experience platform. This engine serves up product catalogs, payment services, promotions, account information, price, inventory and shopping cart functionality through API web services. The Znode integration allows Sitecore to leverage these web services and present powerful content management, personalization, email campaigns and user analytics. Combining Multifront with Sitecore also enables implementation partners and customers to extend the combined customer experience platform with ease.

“We are excited to announce the formation of our technology partnership with Sitecore,” said Marc Boston, Director of Strategic Partners at Znode. “The integration between Multifront and Sitecore’s leading customer engagement platform will allow for a great experience not only for an end customer but for developers and solution implementers within Sitecore’s partner network.”

In development for more than a year, the integration using the Znode Commerce Engine represents a truly innovative approach to connecting the .NET technologies. It includes key advantages such as:

  • Fully functional e-commerce capabilities natively delivered through Sitecore’s experience platform
  • A high performance data connector which is highly extensible, configurable and scalable for synchronizing e-commerce data with Sitecore
  • Extensive use of Providers and Pipelines which gives customers the ability to extend the application beyond the out of the box integration
  • Feel ‘at home’ architecture for Sitecore developers Support of e-commerce Faceted Search
  • Seamless integration with Sitecore Digital Marketing System via e-commerce Pipelines

“Today’s competitive online space requires businesses to deliver personalized and engaging online shopping experiences,” said Darren Guarnaccia, Chief Strategy Officer at Sitecore. “The integration of Multifront with Sitecore’s leading experience platform will provide a powerful tool for marketers to deliver high-impact online-shopping experiences that lead to measurable results. We are very excited to welcome Znode to Sitecore’s vibrant commerce partner ecosystem. The technical teams at Znode and Sitecore have worked closely together to deliver a superior, developer friendly integration that can be easily tailored to our joint customers’ requirements. ”

To learn more about the Sitecore and Znode e-commerce integration, visit www.znode.com.

About Sitecore: 

Sitecore is the global leader in customer experience management software. The company delivers highly relevant content and personalized digital experiences that delight audiences, build loyalty and drive revenue. With Sitecore’s experience platform, marketers can own the experience of every customer that engages with their brand, across every channel. More than 3,500 of the world’s leading brands – including American Express, Carnival Cruise Lines, easyJet and Heineken – trust Sitecore to help them deliver the meaningful interactions that win customers for life.

About Znode:

Znode, provides a leading .NET e-commerce platform, Multifront™, which enables companies to fully customize and personalize the online shopping experience. The highly scalable and flexible solution features rapid speed to market, full access to the source code and enterprise system integrations and is adaptable to the unique requirements of B2C and B2B e-commerce. The platform contains a comprehensive and robust feature set out of the box but truly differentiates in the ability to extend functionality, provide capability for multi-tenants, customize to unique requirements and get to market quickly. Znode serves hundreds of customers around the world and is used by leading manufacturers, distributors and retailers. For more information, please visit http://www.znode.com.


API Series: Help and Documentation

There are a lot of traits that make an API great. Easily consumable, predictable, discoverable, wide open, and a consistent URL design are the first that come to mind. But an often overlooked and undervalued area is documentation. Without proper documentation, developers are left to fend for themselves trying to figure out how to use an API, which is both time-consuming and error-prone. We’ve all been there, frustrated by an API and its lack of documentation.

Of course, there are some shining examples of API documentation done right – the Stripe API and the Github API immediately come to mind. Both are formatted and laid out well, easy to read, and contain all necessary information required to use their respective APIs.

For the Znode API, we knew from the beginning that documentation would play a major factor, and in fact, we quite often used other API docs as inspiration (in particular the Stripe API). We wanted users of the Znode API to feel at home and comfortable, and one of the best ways to do that is by providing clear, understandable documentation.

In fact, we went so far as to make the Znode API documentation simply *part* of the API itself (you can see a version of it at api.znode.com). There is no Word document or PDF file that you have to read through to know how to use the API. The API is a living, breathing artifact that you can understand as you use the various endpoints. The homepage of the API lays out all of the parts that make up the API and what they mean, while each endpoint help page lists all of its supported features and sample data to get you up to speed quickly (which also serve as the perfect reference material).

The Znode API documentation is as vital to the API as the API itself, because in our eyes, they are one and the same.