Mobile-first, cloud-first approach to e-commerce
I’d like to share a few of my thoughts on building solutions with EPiServer Commerce and why you should not only look to the web-platform(s) when building e-commerce solutions.
Maybe you’ve heard that Microsoft has a new CEO. Satya Nadella. And so far he seems pretty darn awesome.
On his first day he set the course for Microsoft.
As I said on my first day, we need to do everything possible to thrive in a mobile-first, cloud-first world.
Where does that leave us, the web, cms and e-commerce? Broad question. But here’s my take on it.
Roughly three years ago we saw the coming of responsive design. Suddenly we’re (somewhat) screen size-agnostic in the context of a website. Are we out of the woods? Of course not. First, the web is losing ground in comparison with the apps. I wrote a blog post about the mobile web experience where I included a prediction from Microsoft that mobile will overtake mobile in 2014. It already has, this january apps blew past the web. And we need to build our solutions accordingly.
So we really do need to thrive in a mobile first, cloud-first world. First of all let’s take a look at what mobile-first means.
In my world a mobile-first approach is building our solutions to be device-agnostic and always available. Some call it omnichannel. Not sure I agree with this definition, but let’s go with it.
Today we’re knee-deep with apps and web. Those are the two primary consumers of our data. And it’s a good start. But consider the devices of tomorrow: smart watches, google glass, cyborg brains, etc. You don’t have to build a grand solution that caters to all, but you can start off small and most of all smart.
Okay. So cloud-first. Should you push everything to Azure or Amazon? No, not necessarily. But there are some pretty awesome services out there that are prepped and ready to be utilized in this brave new world. I’m looking at you, EPiServer Find. I find myself returning to EPiServer Find repeatedly for building these kinds of solutions. The idea of pushing data to a service that is fast, reliable and have an interface that is very easy to integrate with (REST/JSON) is a fantastic start. And you should keep it in mind at the very start when building your solution.
I don’t want to be too high-level and fluff-fluff. There’s a very warm and special place for people that design solutions and know nothing about the metal.
With EPiServer 7 we got blocks. Awesome. But here some solutions went overboard and made very few page (content) types and just worked with blocks. Not ideal if you’re going to push data to EPiServer Find and then retrieve items by type. E.g: “Hey, find! Give me all products!” and Find replies “I have no idea of what you’re talking about! I only have objects!”. I imagine data communication as it looks on the floor of the wall street stock exchange. Absolute madness.
When designing your content types you should already here consider how data will (could) be consumed. Start off small but smart.
Stay DRY with your data and functions
You can opt-in to use EPiServer Commerce as your provider of product data and functions. But it must be made very clear that this is the supplier of such data (an architectural decision), otherwise you’ll have a plate of spaghetti integrations that will be difficult to maintain and your data quality will be less than optimal. The data will probably arrive through an integrations layer from multiple line-of-business (LOB) systems but it’s EPiServer Commerce that owns the aggregated product definition that makes sense for our omnichannels.
A simplified architecture to explain some of my thoughts.
The takeaway from this is that EPiServer Find can be a cross-cutting function for both EPiServer CMS and omnichannels. Omnichannels being basically any application that consume data and access functions over HTTP.
EPiServer Find is a cheap and effective way to build small but smart solutions from the start that will have your solution prepped for omnichannels and not having to cost a fortune.