This Roadmap Session covers a lot of information. So let’s jump right into it.
ReadyThemes - One of the big things we want to cover is ReadyThemes. ReadyThemes consist of two parts; the actual themes on the front end and the backend Admin component. We currently have nine ReadyThemes. They are all free, high quality and responsive. We have seven themes that are currently being built. They are built on three different frameworks. One is Twitter Bootstrap and the other two are internal frameworks that our Developer Matt Zimmerman developed in-house. We’ve had over 2500 downloads to date so we’re getting a lot of great usage and feedback on them.
Here are the new ones that are coming out soon:
Venture - this is based off the new Levels ReadyTheme that just recently launched. This is what we call a variation or a child theme. Levels is the foundation to it and we have basically a CSS stylesheet and images that turn Levels into a completely different theme.
Autoparts Unlimited - it’s a brand new theme geared towards customers with a lot of products. It’s very search heavy. Customers who know what they’re looking for can come find it quickly and easily.
Hariss & Stone - this is based off the Suivant ReadyTheme. The Suivant is the most popular ReadyTheme to date and this has a different style to it. It has more organic colors.
DiVino - this is based off of Levels, but it’s a darker version. If you’re familiar with any of our current themes, Iron and Wool is a darker version of Suivant.
Next Generation of ReadyThemes
We asked our design team to take a step back from all the themes we’ve currently done and let’s do a different approach. One that’s very brand centric, product focused and lifestyle focused. So now we have a new set of themes that are coming up here.
Essentia - This theme has bright colors, is lifestyle focused, very brand focused.
Luxe - You can see that these have a totally different style than our existing ReadyThemes. This one particular is product focused. One of our goals with the ReadyThemes is to not only provide a variety of themes for our markets, so B2B, those with a small number or large number of products, but also different variations for different product types.
Storyteller - this theme is geared towards someone who has one, two or three products, or a small subset of products that they want to tell the story about, how they built the product, etc. This is what I like to call a “kickstarter theme.” If you have a product on kickstarter, you can pick this theme and customize it for your particular product and showcase it here.
ReadyTheme Changes
Just recently all the themes were updated to support Miva 9.5 template changes. One of the changes that happened behind the scenes, all the files like the javascript and the CSS, images, all these have moved to this new file called /mm5/themes/levels (or whatever theme name you chose). It’s not a drastic change, but it changes where the file lives and we’ll continue to try and tweak this. One of our goals is to standardize how the themes are built. Right now some of the different themes used to keep some files in one place and other files in another place. We want to come up with a standardization across all the different themes. That’s why we changed the path. Another thing that changes is we’re splitting out different features in components. So they’ll have individual CSS files. This will allow us to easily port functionality across different themes. You’ll start seeing this more and more as we build out and develop new themes.
Better Asset Management - We want to help improve how CSS and javascript is managed. There’s a bigger picture for that in terms of wanting to do that for the entire software, but for now with ReadyThemes and how they manage the assets.
Child Themes - We’re working on better handling of Child Themes. (i.e. Suivant vs. Iron and Wool having different color themes but the same foundational framework, etc.) We want to explore that some more and make that process a little bit easier.
Template Changes - Every time a new version of the software is released, it requires Page Template changes, well the only way to get those changes is to manually go and make them in your theme. So we’re exploring ideas not only for the ReadyThemes but for our software in general. So we’re hoping to make that process smoother and easier.
Developer Docs - If anyone here has built a site based off a ReadyTheme, there’s currently limited documentation. We answer questions on the forum, but we’re going to continue to build that out and provide more documentation so it’s easy to figure out how the functionality is built, how to modify it and that will give you a headstart when you’re making changes to the existing themes.
Brand New ReadyTheme Market Place
This past year we created and launched a brand new ReadyTheme Market Place in addition to the themes. We expanded how the themes are displayed, we have much bigger graphics, themes are easier to find, you can compare themes much easier, you get a live demo of the actual themes, you can see descriptions and release notes for the themes, we’ll post bug fixes there, etc. If you haven’t checked this out, go to http://apps.miva.com/themes. It’s a brand new, easy to use theme store.
Apps.Miva.com - This is where we list all of our apps and modules for Miva Merchant. You can buy and install them all from here. We talked about this last year. The app store has grown quite a bit. We now have over 200+ Apps and Integrations in the App Store. An App can be a module like Toolkit, or it can be a third party service like Cloudflare. We’ve continued to expand our App Store and we’ve seen a huge increase in third party developers creating apps for Miva.
New Module License Manager - Just recently we were working on a new Module License Manager so if anyone builds and develops modules, that is now in the works and is probably 3-6 months out.
Miva Template Language Growth - One thing that’s changed is the growth of the Miva Template Language this year. This comes in essentially two pieces; one of them is the release of new engine functions, so like mvt:call, which allows you to call through an http request any third party url. Before you needed a third party module to do that, but now it’s built into Miva. The biggest one is mvt:do. This has probably had the biggest impact in the template language over the last year. It unlocked and opened every single function that’s available to Miva in the Page Template Language. Things that you used to need Toolkit for like adding a customer to a price group or to do one of the functions that Toolkit provided, you now can do via mvt:do. So what we’ve seen this last year if you look at it from a purely sales point of how many Toolkits we sold, we’re down by about 90% this year. That’s not necessarily a bad thing. It just means more people are discovering these functions, they are using them to build their site and it’s all built into Miva which is a good thing.
Stay Connected - I started a Developer Newsletter at the beginning of this year. I’ve added as many developers as I could think of. If you aren’t signed up for it, please go here and do so: http://www.miva.com/dev-newsletter I cover new features, we do Developer Only Webinars, share about new functionality that’s coming out and I share a lot of insight into what’s coming in the Miva world to stay connected to the Developers. We also have our podcast that Phil and I do and that talks about the same kind of information but in a more interactive environment.
Coming This Year
Docs.miva.com - this is probably my biggest undertaking for the year. We have a ton of documentation that we have developed over the years and we’ll continue to release documentation - but the problem is it’s really hard to find. There’s no single place where you can go to look for it. We have miva.com/videos, we have some tutorials on docs.miva, there’s code samples across the forums, and in some of our Developer Training. So basically, it’s all over the place and what we want to do is to create a single location where you can get any documentation for Miva Merchant and it’s all searchable. One example is, you can go to docs.miva.com and search for “Inventory Variants” and your search would return is the Reference Guide that talks about what Inventory Variants are and how to use them, you’d get a video that shows you how to use Inventory Variants, you’d get Code Samples on Inventory Variants and you’d get some Developer Docs on them as well. So a single place to get all the information you need related to certain functionality. So this is a big initiative that I’m working on this year and hopefully next year I can share it with you.
So we have an 800 page pdf Reference Guide that essentially walks through how every single feature in Miva works. The problem with that is that it’s a pdf. So someone would have to download the pdf to search for things they are looking for, which isn’t horrible, but it isn’t as good as if it were in html and searchable, indexable by Google, etc. online. So our goals is that we take all our documentation that we’ve developed over the years and put it in one central location where it’s easily searchable.
New Affiliate Program - This is mostly for our Development Partners in the room. We are working on a brand new affiliate program. Here’s a mockup of the dashboard. This ties into a new system My.Miva which we’ll talk about in a few minutes. We’ve needed for quite some time the ability to login and see what customers are tracked to you, your commissions and payouts. Right now there’s no place to do that. I end up emailing people and you get it from accounting. So this is a great addition and we’re really excited about it. This is going to streamline a lot of processes on our end and hopefully make your lives smoother.
9.00053 Fraud Tools - With the forced acceptance of EMV migration you can tell things were going to change, you just don’t know what. So there was all this chatter that it was going to force fraud online. It’s shown up, but not in the way they thought. So what they thought was that people would start hacking websites, but the problem is, unless you’re Amazon or Target, most websites aren’t big enough honeypots to spend time going after. So what they’ve done is, they are using websites as a card verification tool. So we’ve all seen that over the last 15 years. What happened is, starting in December, what they used to do was walk into Target. If you were in an organized crime ring, you’d push a bunch of cards out to your minions, they’d all go to their Targets and Walmarts and buy stuff so they know which cards work and which don’t and they they’d turn around and sell the cards. Now because those terminals are more secure using Chip and pin, they’ve decided to do all the cards online in an automated fashion. So what we’ve seen in the beginning of January is a rise in carding attacks. In the most specific sense, you’re not shipping product, they generally don’t harm your web site or give up access to data, but your gateway charges you every time they try and make a transaction so if you wake up one morning and someone has tried to run 10,000 transactions through your payment gateway you’re going to have a really unpleasant conversation with your bank. In the old days, most of the gateways sort of handled carding. They would have velocity checkers built in and this caught them a little off guard, but now they have basically thrown up their hands and said “this is the shopping carts problem.” So we decided to rush out a new release and its only purpose is to prevent carding attacks.
9.00053 Fraud Tools features include:
Last 12 Months Most Features We’ve Ever Released - Here’s a list of everything that’s been released this last year:
Digital Downloads
Developer Related Features
Miva Merchant from a year ago is not the same Miva Merchant Feature Set that it is today. It’s changed dramatically. What you used to need a lot of third party modules for is now built in.
What’s Different - Three Basic Things
9.6 Represents a Shift - 9.6 Represents a shift in the type of features that we’re building. We’re now able to build features that leverage other features to solve really complicated problems. Subscription Management is a really great example of that. It uses the ability to save credit cards and it uses customer address book and it uses a new concept we have called scheduled task. All those together are able to create this really great functionality. So we’re now working on really complicated problems and really really nice features.
Miva 9.0006 Features
Feeds
Feeds - Feeds is probably one of my favorite features. Anyone whose ever had to create a feed to send to Google shopping or create a feed to send to a shopping comparison engine - historically how we’ve done it there’s a few modules that can do limited parts of it - Template Data feed was probably the biggest module a lot of you in here are familiar with. What we built is like Template Data Feed on steroids. There are some problems that we want to address with all the current solutions out there. How do we handle really long running feeds. How do we handle timeout issues. We need some tools to help sanitize the data. So if we’re outputting a feed to a csv or html, xml, how do we how do we make sure the data is sanitized for that format? Access the data you need. So if you have a feed that needs Inventory Variants or if you have a feed that has attributes or output a feed that has a mixture of them, we want to make sure you have the flexibility to do that. Finally, speed, some customers have huge data sets so you want to make sure you able to turn through those as quick as possible.
Feeds
So there are a lot of different ways to run your feeds and get your data. We have some docs that are available now.
Docs Available Now: http://docs.miva.com/docs/template-feed-documentation
These are some early docs. Some of the features might change because this feature is still being worked on.
You have the option to enable URI Access which means you can access it via a URL, you can have an access key so you can make it not public and requires a special password in able to get the key, you can output the feed to a file and it can be in the public script directory or private data, you can control the location and filename and you can email the feed if you wanted to. So all of this is controllable via a template. So you click this “Edit Template” button and that would bring you to a point and click interface to have the feeds work so you can say I want to load product data, I want to load all active products, it’s going to be CSV and here are the feeds that I want and Miva will generate the feed for you. You can also click on the “Advanced Mode” and you’ll have access to all this template code underneath it. So you can control it, you can do conditional statements, anything you want to do you can do.
New 5.24 Engine Functions
Scheduled Tasks
So this is probably my favorite feature that we built. It’ simple, it’s elegant, but it’s powerful at the same time.
So this is how a scheduled tasks runs. When website traffic comes to your site either through the Admin or through the Frontend, a Miva virtual machine loads and it loads that data it needs to return that page. It’s going to go and return the requested page, whether that’s an Admin page or frontend page. There’s now a new path for Scheduled Tasks that’s going to ask a question “is there a task that needs to run,” and if there is it will say “does the background process already exist?” It’s allowed to have one background process per store, so if it’s currently generating a feed there’s a queue, so it would be added to the queue and it will sit and wait it’s turn. It will then loop through all those until all tasks are complete. You have a few settings to allow Miva to essentially spawn a thread that’s going to sit and wait for a task to run in the future. It’s for 0 to 24 hours in advance. You can set it for if someone comes to the site and 60 minutes from now there’s a feed that needs to run, I’m going to spawn off a thread and I’m going to sit there and have it wait for the time for the task to be run, it will run and then that task will fix it. So this is how we solve the ability to schedule something in advance when there’s no concept of “state.”
Schedule Tasks opens the door for features like:
Review Baskets
For customers to use the current module that’s on the market, it’s called, “Show Baskets,” what I’ve seen is that they are usually addicted to it. They’ll check it 5 to 10 times a day. They’ll be able to see patterns of customers that move across their site. For the customers that use it, they really love it. So we took that concept and built it into Miva.
Review Baskets
Inventory at Checkout
In Miva, when a customer adds something to their cart, it removes the item from your inventory and it stays in the cart until the basket expires or is deleted. Where it kind of falls short is if you have one of a kind products or you have very limited inventory for products, where someone could add that last one to cart and now it’s tied up in their basket and no one else can buy it because it’s in their cart. So what this does is it flips inventory where the inventory is not actually reduced they actually buy the product. It still has the global inventory check where if you only have 5 available you can still only add 5 to your cart. You can’t add more than what’s available to your cart, but 10 people could have the last 5 products in their cart all racing to get through checkout. The way this works, is the first person to buy it wins. So there’s a trade off here. So if someone has something in their cart and you don’t want to allow backorders, someone who buys those products and someone else buys the last products it’s now out of stock. So there’s checks that you can set up. You can control what screens it’s on. So I’d do the checks on all the checkout pages, OCST, OSEL, OPAY, and it will verify “do you still have the inventory left for what’s in their cart? If you do great, then continue. If not it will kick them back to a page the you specify letting them know with an error message that the inventory that’s in their cart is out of stock.”
Etsy & Google Shopping
We now support Etsy, Marketplaces and Google Shopping.
MivaPay
MivaPay is something that we’ve been working on for about two years and now it’s going to launch in June. The idea was this, as we went through PCI Certifications and as we looked at how all the other players in the ecommerce space handle it, we found that there’s really two ways of handling it.
If you’re an open source platform you just ignore it and pretend it doesn’t exist. If you’ve been following Woocommerce or Magento this year there’s a new hack to steal credit cards from those platforms every four days. Drupal has some similar issues. There’s really no meaningful way to protect a platform when you leave it wide open like that. Now the downside to that is there’s a reason why people like open platforms, you can do anything. So we’ve always walked a fine line. We want you to be able to do anything, just not do anything really stupid. So we talked and talked and talked and we looked at our competitors on the Sass side; the Shopfy’s, Bigcommerce, Volusion, etc. What we found was they all handle PCI just fine but you can’t do anything with their product. The products are super limited. You can move the graphics around but you can’t really get into the depths of the plumbing. I’m sure a number of you have played with platforms like that and tried to do an advanced business to business site or something like that and you just can’t get anywhere. So what we realized, and a little bit of hat off to Magento and Enterprise here, the middleware was the right place for this. So what we realized was, we could build the middleware, a separate product, that will sit between Miva merchant and Miva Merchant hosting and your payment processor and it will handle both PCI (when people hear PCI they have two concerns: if your credit card processor is punishing you or you get hacked) otherwise you don’t care. So what we realized was, we’ll build a separate hosting architecture in its own PCI Certified segmented out, on its own servers, its own routers, its own everything, it will be fully PCI Certified by the same auditor we’ve been using for our PADSS and it will only show up in one small way in Miva Merchant. There will be a little bit of an iframe, it will show up on OPAY, and that iframe will then hit MivaPay, and we will have two core features that will let us build more features on top of that. So it will be a tokenization engine. So even if your current payment gateway doesn’t support tokens, or if you’re using Payflow Pro which does support tokens but you have to jump through this weird rigamarole to get approved for reference transactions, none of that matters anymore. We’ll handle the tokenization. Tokens have become a standard process anyways. We’re going to follow the standard token specs. We will tokenize it for you, we will guarantee it’s PCI Certified, all you will have to fill out if you use this is an SAQA. Then what happens behind the scenes is you’ll be able to choose any of the payment gateways we currently support. The one limit to this is if you’ve got a custom gateway and it’s not going to work with MivaPay. But, as long as you’re using AuthNet, Chase, PayPal, Payflow, Cybersource, they are all going to work.
So that’s the architecture at its core. What it allows us to do though is a number of things:
It allows us to create a full wallet. So now your customers can have a full Amazon style wallet without the security issues. They won’t have access to the card numbers anymore than a hacker would.
It also, and this is the one I’m probably most excited about, is you can have a full Subscription Management Tool, and I don’t care if you’re selling the dog toy of the month club or Vanity Fair - you’ll have everything you need to manage subscriptions on your ecommerce site as long as you’re using Miva Merchant and MivaPay.
Now in phase 2 of this, which is intended for later this year, we’ll be a formal IOS Point of Sale App ala Square with the difference Square’s easy, Square’s great, I use Square - the big difference is that this would tie into your Miva store so your entire product catalog and inventory would be there and so if you sold something via your point of sale app, your Miva store would have record of it for CRM reasons as well as your inventory would be accurate.
As far as pricing goes, we’re not sure how we’re going to price this yet. We’re trying to figure that out. So, if this product is appealing to you, and you have opinions, I’m going to have a private lunch on Friday we would like to invite you. There’s two ways we’re looking at this; you’ll be able to pay for it as a middleware, so just sign up and pay, and the price will vary depending on the size of your company, so call it $10 - $1000 or something depending on if you’re a $100,000 customer or a $20,000,000.00 customer. OR, there will be a way to get this for free or at a significantly reduced cost if you use the merchant processing that we’ll offer with it.
Subscription Management
Features
Admin Features
9.7 and Beyond
Web Services API (SOAP)
Use XML Provisioning Layer as a Backbone
It’s been our desire to do a full service API for a couple years now and were now very very close. This will be our next big initiative to complete this. So right now if you want to push and pull data from Miva Merchant we have some great enterprise tools. We’ve built a couple modules that you can export any data you want from Miva and you can push any data back up that you want to Miva. We currently have the tools to do this, but it’s all configured on a case by case basis. So for each individual store we have to install these tools, we have to configure the output of the xml adjacent to the output of the data that’s being pulled out of Miva and then to push data into Miva you have to follow our xml provisioning format. So Web Services will take that concept and open it up to essentially everybody; any third party could push and pull data through Miva Merchant. And for anyone familiar with our xml provisioning layer which have this whole xml layer which essentially allows you to do anything you could do in the admin, create an order, create a product, create a customer, anything you could potentially do in the admin you could do through xml. So there’s an xml format where you could build an xml feed and import it to Miva and it will format an action.
The backbone of this Web Service API is going to use that behind the scenes. So if you want to know what we’re going to support, out of the box what you can do with this web server, it’s pretty much everything you can do through the Admin will be available through Web Services API. I’m incredibly excited about this. When we release this we’ll have full documentation, part of docs.miva so anyone can go online and use it and push and pull data.
Future Roadmap
FastCGI & HTTP/2
At a high level we’re updating the engine, so 5.24 will support what’s called FastCGI and that gives us some performance benefits at the engine level. It allows us to control the max number of mmvm that get run on the server, it will help servers from overloading, and you can actually run Miva on a cluster of servers over here. HTTP/2 which is the next version of HTTP, that standard was finalized. In order for us to support that we’re waiting for PLESK which is a front end caching system that we use. Once Plesk updates, hopefully by this summer all Miva Merchant web sites will automatically get HTTP/2 which will be really nice and will come with some front end speed improvements as HTTP/2 instead of downloading a single image or a single request you can download multiple images at the same time, multiple assets at the same time, it helps with the page speed load.
ReadyThemes - One of the big things we want to cover is ReadyThemes. ReadyThemes consist of two parts; the actual themes on the front end and the backend Admin component. We currently have nine ReadyThemes. They are all free, high quality and responsive. We have seven themes that are currently being built. They are built on three different frameworks. One is Twitter Bootstrap and the other two are internal frameworks that our Developer Matt Zimmerman developed in-house. We’ve had over 2500 downloads to date so we’re getting a lot of great usage and feedback on them.