Let’s Backup a Minute!

Let’s Backup a Minute!

We recently enjoyed Bill Nye’s (‘The Science Guy’) new series on Netflix where Bill Nye Saves The World! In each episode he delves into a scientific subject and brings it alive with insightful explanations, demonstrations and discussions with an expert panel. In some episodes he likes to Take A Minute to make a passionate point about a topic. Subjects include climate change, alternative medicine, artificial intelligence, vaccinations and many more in the 13 part series. So it inspired us and we decided we should Take a Minute and discuss disaster recovery strategies for backing up and updating WordPress based websites. Lots to Think About In a nut shell you can adopt one of several backup strategies: Do nothing. Rely on your hosting ISP to have backups. Make a backup copy of everything before doing any updates. Routinely backup the site on a scheduled basis. If we decide backups are a good idea we then have to decide where to backup to. Options include: On the same ISP server account. To a cloud account like Dropbox. To a local machine, like your own desktop or office server. To an email account as an attachment. We also have to decide what to backup: WordPress core (not really necessary because WordPress keeps archive copies of all releases) Themes Plugins Customizations Database (WordPress always uses a database) And then we have to decide how to backup: Via FTP Using a plugin (there are several) Relying on an ISP process Some combination But there are other factors that need to be taken into account: How often do you update the site content? How often...
“Reverse Thinking”

“Reverse Thinking”

Reference If you haven’t, now take a look at the detailed proofs for the Monty Hall problem offered in the Wikipedia article. The ‘standard assumptions’ on host behavior apply as in the original article. The Monty Hall problem, based on a TV show, became famous in an ‘Ask Marilyn’ Parade column for confusing more than a 1000 readers with PhDs. It has been written about at length in Wikipedia (1) but we can show that it is easily figured out by using what we might call ‘reverse thinking’. Most explanations tend to be counterintuitive and long. First though, what is the problem? Suppose you’re on a game show and you’re given the choice of three doors to open. Behind one door is a car; behind the others, goats. You pick a door, say No. 1, and the host, who knows what’s behind the doors, opens another door, say No. 3, which has a goat. He then says to you, “Do you want to pick door No. 2?” Is it to your advantage to switch your choice? Many observers think that after the host has opened one door there remain just two doors each with a fifty-fifty chance of having the winning car. As a result, there appears to be no advantage in switching. Now that your are thinking about the probabilities of a winning solution, let’s stop and take another look. Note that at the outset everyone has a 2 in 3 chance of choosing the wrong door. After you have chosen either wrong door the host then has no choice but to show the other wrong door thus...
The Power of Design

The Power of Design

What is design? We mostly know a well designed object when we see it, like the recently released Apple Watch. It resonates, it feels useful, it elicits pleasure. And when we come across a bad design, it grates, it doesn’t work and can be down right annoying. Design is a process for creating something and design is the shape, form or fashion of that finished something. When it comes to websites, design is not just in its visual appeal. Design affects or drives all its components. Starting with the visual side, there are the elements and layouts of the website pages. How the navigation works, its menus, dropdowns, iconographic links and its images, photos and graphics. When designing a website there is the part where we identify what needs to be done – its functions. Then with some reflection, we create a particular feel that’s not always predefinable and can be very subjective. Going deeper, the architecture of the code that drives the site can be either an engineering marvel (good design) or a developer’s nightmare (bad design)! Fortunately, Content Management Systems like WordPress have abstracted the essential functions of websites: administration and presentation. WordPress has its own jargon to communicate these abstractions, such as themes, templates, pages, posts, widgets, plugins, and media. WordPress in turn is built on a scripting language (PHP) that sits on the servers and communicates with databases. PHP also had to be designed, the database structure had to be designed, the database language had to be designed. It goes on. A modern web page includes lots of different parts. JavaScript, another scripting language ‘knows’...
Why Do I Need a Contract?

Why Do I Need a Contract?

Perhaps a better question might be ‘Why do we both need a contract?’ When we make a proposal we include a project scope, pricing and payment terms. Before we start work we exchange contracts, collect any down payments and sign off on the project scope. The two, proposal and contract, are connected so that we have a firm legal foundation that we know will cover all the likely contingencies. But the basic reason is that you the client will know and agree to what we are going to build and how much bang you will be getting for your buck. We then also know the extent (scope) of the project. We find this minimizes any misunderstandings. During execution, working with the client additional great ideas often come up and these can be folded into the project in a couple of ways. Either we can add an additional Statement of Work or prepare a separate phase 2. Clauses in our contract cover such circumstances. In this way, an exchange of documents keeps everything professional while providing a lot of protection for both of...
How Much Does a Website Cost?

How Much Does a Website Cost?

We are often asked how much does a website cost. It’s a good question because without proper funding a website project can be short changed and the results less than desireable. We like the analogy of building a house. It’s cost will depend on a wide variety of factors. How many rooms, what types of fixtures will be used, whether an interior designer will be involved, whether an architect will design the house. Websites have parallel equivalents in say the number of Pages, how users will interact, whether graphic design will be needed for a unique look and whether custom features will be needed to perform special business functions. So what do the components of a project look like? First a project will need a domain name or ‘address’ that visitors and search engines will use to find the site on the internet. Next a hosting service will need to be engaged to actually carry (host) the files used to deliver the site’s content, behavior and appearance. Some free or premium themes can be used as a basis for the site’s appearance. Some free or premium plugins can be added to extend the functionality A graphic designer can then develop a site’s appearance, layout and branding Coders can add custom functionality on top of or in parallel with plugins already installed Copy editors can prepare and fine tune the needed content. Photographers can capture needed imagery. Videographers can make film clips and tutorials. And this doesn’t cover the effort that might be needed for social media, email and other marketing campaigns. Without an agreed upon project scope, getting a...
It’s All Marketing

It’s All Marketing

Coming from an engineering background, I’m not at all that enthusiastic about the tedium of marketing. Since I’m not too sure where marketing, advertising and sales intersect, I find myself wanting to call the whole field ‘marketing’. I understand that others will find it a rewarding career and mentally stimulating. At one end, marketing is based on research into what customers might want or where there are real needs in society waiting for a practical solution. At the another end are the ads, carefully crafted with technical excellence, designed to engage a customer in a promise. At another end – I don’t see it as linear – someone has to go out and interact with people to make a sale, to close a deal or to make a convert. This probably sounds terribly obvious, but then think about it in terms of; a religious or charitable organization pursuing its membership goals, a political candidate trying to get elected, an academic institution trying to compete for the best students to enroll. And perhaps more specifically, what about one’s career development where it’s important to get the powers that be, the next boss or even the current boss, to understand the value of one’s contributions. Throw in kick starter campaigns, space programs, medical research initiatives and without marketing they just don’t happen. The internet has made a web presence for any cause almost mandatory – it’s basic marketing. The good news is that in our field of endeavor we get to build platforms for just that, marketing, in this general...
Plugin Licensing

Plugin Licensing

(updated May 1, 2015) For those of you familiar with WordPress, you will know that it is supremely extensible with plugins and themes.  Many of these are open source and free, many are available for a fee as Premium Plugins or Premium Themes. Most of the time the prices for these are very reasonable and represent a small fraction of the total cost of a project. However, some vendors of premium plugins practice selling licenses that are good for many or an unlimited number of domains and include technical support for a period, usually 12 months. Web developers can then install the plugin for their many projects across many different domains without having to buy a single domain license each time. This can create a problem for clients. It’s nearly always good practice to update plugins when a security update for the plugin becomes available or if it’s needed to stay compatible with a security update from WordPress. Many vendors provide plugins with automatic-optional updates that makes this easy. Sometimes though when vendors are selling multiple domain licenses to a developer, the client may not be able to access the update because it is tied to the developer’s account with the vendor. In such cases, purchasing a single domain license in the client’s name will often solve the problem. However, another possible solution we’d like to suggest to vendors is to unbundle technical support from upgrades and move to a two tier model. Offer a Developer License as the vehicle to provide technical support and a Domain License as a means to provide access to updates for each client. Vendors...