October 30, 2013 — By Duane Storey

Inside BraveNewCode.com: Some Tools We Use

I was going through our own administration panel here at BraveNewCode today and thought it would be interesting to share our set-up with other people. Our WordPress website isn’t just a blog, it’s also a full-featured eCommerce store, support centre and product licensing/upgrade server. To turn a normal WordPress website into one that can handle all of that takes quite a few tweaks, external services, and WordPress plugins.

Here is a list of all the tools we use here at BraveNewCode.com – from hosting, to sales, to support.

Hosting

Right now BraveNewCode.com is running on a large VPS at WiredTree. Someone recommended them to us years ago on Twitter, and we’ve been extremely happy with them ever since. For a while we had everything hosted on a large $350/mo dedicated server, but thanks to caching and optimization improvements in various places we’re now able to survive on a $60/mo VPS with room to spare.

In terms of backups, we back up our databases every few hours to Amazon S3, and the whole kit and caboodle nightly to the same location.

We also have a cheap Bluehost plan active as well with a splash screen for BraveNewCode saying that we’re experiencing difficulties. In the odd event that our website crashes completely (which has thankfully never happened), we can point BraveNewCode.com to Bluehost temporarily while we get our WiredTree server up and running again.

DNS

We used to host our own DNS in years past, but given our experience in the area (approximately zero) we decided to offload that responsibility to another provider. Recently that provider went down for about 12 hours, which caused our site to go offline. During that process we upgraded to DNSimple, and changed from Unicast DNS resolution to Anycast. Anycast nameservers can answer replies based on geographical location, which should hopefully help minimize the chances of our DNS provider going down during a DDOS attack in the future.

Newsletters

We don’t really have a newsletter per-se, but we do try to send out important product information to our customers from time to time. To accomplish that we’ve mostly been using iContact. Given our large customer base though, it’s a bit of pain transferring an updated contact list to iContact and then modifying a template for each email blast we send out. Ultimately that’s limited our ability to reach out to customers whenever we would like.

As such, we’re in the process of pulling that ability back to our own website – when we’re done we’ll be able to email all of our customers with a single click from our admin panel whenever we want. That has lots of benefits, such as being able to have 100% control over the look and feel of those emails (often mail services tack their own branding onto emails or mess up the included styles), and will always have an accurate list of people to send to whenever we want. Email management will be done from each user’s profile in the back-end.

Task Management

We’ve tried various tools over the years to keep track of what we are working on, and which tasks are assigned to which people. Ultimately we still use BaseCamp for this, since we can access it from our phones and it mostly just works. My only issue with these types of applications is that once you start using them for a few months. navigating through all the data can be a real chore that sometimes can slow you down instead of help you.

Revision Control

Our free plugins are hosted in the WordPress.org repository, and use Subversion for revision control. For our commercial projects we use Git, and pay to have them hosted at Beanstalk. To push out a new WPtouch Pro release, for example, all we have to do is merge our code into our ‘release’ branch and then queue a Beanstalk deployment. That in turn triggers a script on our website which generates a new .POT file, bundles up the product, pushes it to Amazon S3, and notifies our customers that there is a new version to download via their administration panels.

BraveNewCode Site

We use WordPress Multisite to handle our blog, main WPtouch Pro, as well are the support centre for our customers. Right now we have two sub-sites, one for bravenewcode.com, and another for bravenewcode.com/support. Our main site is using a customized theme, while the support site is based on SupportPress by the fine folks over at Woo.

The front slider on our website is powered by the Layerslider WP plugin.

WooCommerce Plugin

We’ve used pretty much every WordPress commerce plugin over the years, but eventually found WooCommerce and never looked back. Our main issues with the previous commerce plugins we tried were that many of them would periodically drop purchases, especially in the case of PayPal which sends IPN notifications to your server after a successful purchase.

Losing knowledge of a payment by itself is obviously a bummer, but it also meant that the customer who purchased the product didn’t receive their download link. If that happened late at night while we were all sleeping here at BraveNewCode, chances are they would have to wait 8-12 hours to get the product, which is a poor customer experience.

Thankfully we don’t have those issues with WooCommerce, and it mostly runs without any issues on our website.

In terms of product fulfillment, we have a custom plugin on our website that hooks into the WooCommerce payment notification system and sends out the appropriate emails to our customers with their purchase information.

WordPress SEO Plugin

We probably could spend more time focusing on SEO, but we’re generally quite busy and are still a relatively small company without a lot of extra hands. So while we generally add WordPress SEO content when we write posts and pages, it’s mostly around to generate the XML sitemap which we feed to Google and Bing webmaster tools to better understand our website.

W3 Total Cache Plugin

Our most popular page on this website is for our WPtouch Pro mobile plugin for WordPress. To help minimize server load, we use W3 Total Cache for all users who are logged out. We purposefully set it to ignore all our eCommerce pages, and to bypass all the user agents that WPtouch Pro uses. In this configuration W3 Total Cache only handles desktop caching, not mobile.

Our 3.1 update for WPtouch Pro (coming shortly) includes a new add-on for mobile called Infinity Cache which will handle caching for mobile visitors. The two together work in tandem to make sure pages are served quickly and efficiently to users, and help minimize the load on our servers.

WordTwit Plugin

One of the first things people do nowadays when they write a new post is publish a link to that post on Twitter. We wrote WordTwit Pro to basically automate that process for us. When you are drafting a post, you can edit and schedule the tweets that will go out as soon as it is published. It also interfaces with several URL shorteners, so you can make sure your tweets are nice and compact.

WordTwit Pro is now a free plugin, so feel free to grab a copy of WordTwit from the wordpress.org repository.

Piggy eCommerce Plugin

A few years ago Dale and I were sipping a few beers near Cancun in Mexico and playing with some code to try and get notifications of our sales on our phones. We thought it would be cool at the time if our iPhones made a cash register sound (cha-ching) whenever a new sale occurred.

We had our first “cha-ching” notification a few hours and a few beers later.

We now use that plugin on our own website to view, in real time, how many sales we’ve made for the week, the month, the year, and all time. It also includes a projected sales pane, so you can see how many sales you are likely to make going forward based on current sales. It’s a great little tool that always allows a commerce store owner to know exactly where they sit with sales.

Piggy is also a free plugin, so head on over to the wordpress.org repository to grab a copy of the Piggy eCommerce Statistics plugin.

WP-Mail-SMTP Plugin

Mail is one of those things most WordPress site owners probably don’t spend too much time thinking about. For the most part if you install WordPress on a Linux webhost, mail will basically just work out of the box.

The problem is that sending mail will use the mail() system function, which bypasses some of the great anti-SPAM technology such as DKIM signing. In order to have your emails DKIM signed (which basically show that the emails came from your website), you really need to send mail via authenticated SMTP.

Since our product fulfillment is made via email, not using SMTP would mean that many of the emails we sent out to customers would likely be marked as SPAM. Not all of them, but enough that it would be a pain to those customers and for our team, who would manually have to send information to individuals periodically.

Setting up SPF and DKIM, in conjunction with a SMTP mail plugin such as this one is a great way to make sure your customers and users will actually receive the mails you send to them.

WPtouch Pro Plugin

And of course, we utilize WPtouch Pro here for our own mobile website. It’s running a slightly modified version of the included ‘Simple’ theme. We recently added the ability to make purchases via WooCommerce into our mobile theme, so people now visiting our website on support devices can purchase the plugin without having to ever visit the desktop site.

Final Remarks

All of these tools together help us manage BraveNewCode, continue to work on WPtouch Pro for our customers, and provide timely support via our one-on-one support centre whenever they have any issues.

October 25, 2013 — By Duane Storey

Temporary Service Outage

Our primary DNS provider went down approximately 90 minutes ago, which essentially disabled this website as well as our support centre. We received almost instant notification via a service we use to monitor our website uptime, and quickly determined that our main DNS provider was experiencing a large issue. As such, we’ve transferred our domains to a new provider, one that will hopefully provide additional redundancy in the future.

DNS is still propagating, but services are already online again in most of North America. While the support centre was offline during this period of time, no aspect of typical WPtouch Pro usage depends on access to our servers, so customer sites would have been unaffected.

We apologize for the disruption in service, and will hopefully have everything restored shortly.

October 18, 2013 — By Dale Mugford

Piggy 2.0: A New Live Sales Data WordPress E-Commerce Plugin

wordpress ecommerce plugin

When we made Piggy, our real-time e-commerce sales data WordPress E-Commerce plugin available for free, we didn’t anticipate such an overwhelming response. It’s clear users of the plugin really enjoy its sleek, easy to use, and elegant interface. It really is the best way to view WordPress e-commerce sales statistics. For 2.0, we wanted to make huge strides in the look and feel of Piggy, and lay the groundwork for lots more to come.

To accomplish this we have done away with a lot of extraneous JavaScript, images, and other resources in order to streamline the loading of Piggy. The page weight for Piggy now clocks in at only 332KB! We have also taken great strides in leveraging WordPress’ new Transients API, which allows us to cache pre-calculated data and serve it much more quickly. Piggy has to calculate large amounts of sales data in a very short period of time, so it’s an enormous challenge to get all this data crunched and loaded to you on your mobile device in 3 seconds or so. For the most part, with 2.0 we’ve accomplished that. You’ll notice load times are significantly faster overall.

We’ve also updated the look and feel of Piggy to harmoniously match more closely with modern mobile UI interfaces, notably the latest versions of Android and iOS.

But just because Piggy is up-to-date in its user interface doesn’t mean it doesn’t support older versions of the OSes like iOS5 and iOS6. It also works on older Android versions too. So it’s the best of both worlds.

Piggy 2.0 is a free update available in the WordPress.org repository, today.

The bulk of our time and effort goes into our flagship product of WPtouch, yet we still love working on projects like this that are just so much fun to create. We hope you enjoy the latest update, thanks for being a user and/or customer BraveNewCode products.

October 17, 2013 — By Duane Storey

New WPtouch Pro Feature: Related Posts

Early this morning we pushed out WPtouch Pro 3.0.9.2. It’s been nearly six weeks since we did a release, mainly because we have been working hard on WPtouch Pro 3.1, which will be available before October’s through. In the interim we wanted to push out a small release that has one great new feature for all users: related post content.

Related Posts in WPtouch Pro

Related Posts in WPtouch Pro

Most people are familiar with related post plugins for WordPress, but many of these in our experience don’t work that well on mobile. We decided it would be best to simply roll our own module for WPtouch Pro to include this functionality for mobile sites. Related posts are determined by evaluating all types of taxonomy that are assigned to a post. It even works with custom post types as well.

Research shows that adding related entries to the bottom of posts can decrease bounce rates (how often someone will leave your site after visiting that page) by up to 50%, so adding related post content can be a great way to increase visitors exploring your site a bit further.

All WPtouch Pro users with a valid support and auto-update license can update via the WordPress administration panel. The built in mobile WordPress themes for WPtouch Pro already include this feature, so simply enable the display of Related Posts from the WPtouch Pro administration panel. Enjoy!

Previous Blog Entries

Added To Cart

Item added to cart successfully. You can either continue browsing and add more themes or extensions, or checkout now.

View Cart Checkout