Buddypress Redeux

Sometime in 2011 I was asked to assist a friend in setting up Buddypress. Buddypress was a special plugin that, along with WordPress MU or WPMU would make your WordPress site into a social network.  It was a bit of a dream at the time, to be able to plugin this in and that in and get a basic Facebook.  It was not easy and there was a bit of trouble, because it was actually built on top of WPMU which was really many blogs in one.  So it was very convoluted.

I heard WordPress acquired buddypress a few years ago. Well, the 2011 version of Buddypress did not implement very well.  From what I remember we stumbled into it and found that we needed a developer to do this or do that. Eventually we lost interest in the project, because we were just trying to create a basic social site.

Many Buddypress plugin functions hardly worked, and you were really limited because at the time you had to use a special WordPress template that was Buddypress compatible.  In fact, you had to not only have a special template or create one yourself, you also needed to hire a programmer to get Buddypress to pretty do anything out of the ordinary.  So, what this meant is you ended up with a common looking Social site that was no different than Facebook, so nobody cared.  In fact the template issue was as big a stumbling block as the custom coding issues.

So, fast forward 4 years, and we are now popping the new Buddypress into action. Basically it is a whole different world. I know that WPMU became part of the standard WordPress build.  So, it is not really worth going into, but basically Buddypress can allow you to not only create a social site, it can be combined with BBpress to create a multi-blog site for your users, where every user can have their own blog.  Does not sound too important, but that was the basis of Buddypress in the beginning.

The big improvement, because I have been away from this plugin so long, is that you can pretty much choose any WordPress template to work with Buddypress.  Does not sound too important, but it makes it possible to design your social site anyway you wish if you are designer.  The end result is you can find that killer template, pay a small amount or get it for free, plug this and that new WordPress plugin in and you have a real social site.

I have worked on a bunch of custom social sites, so I know as well as anybody what it takes to build out a real social site.  Obviously you are going to have to sacrifice some level of customization to make Buddypress work for your concept, but if you are not that concerned about custom functions, this is pretty much going to do the job.

So, want your own Facebook or social app, you can configure Buddypress and WordPress and get something special. If you have a WordPress site already and want to figure this all out, let me know.

Dan

dan@startuppop.com

WordPress Gets Bigger & Better & Sometimes Too Big

After upgrading about 25 of my client and personal sites to the recent WordPress 4.2 version(s), I can tell you that things are working better than they ever have for WordPress.

Though I have worked on every angle of WordPress from being a user, developing templates, creating and programming plugins to fixing WordPress bugs and installations, I can say now more than ever that WordPress is a great way to go if you don’t need a custom development project.

Saying all that, you would think I am a total WordPress lover.  In fact, the biggest issues I have had to work on recently related to WordPress have more to do with either 1 of 2 user created issues.

Too Many Plugins

The first common problem for users is the user added so many plugins that WordPress is now either broken or has an error in the admin screens or you can’t open the admin.  You can’t blame users for loading up these amazing plugins.  There are about 15 I highly recommend.  But just like your iPhone/Android Phone if you load up too many apps, eventually your cell phone will crash and burn.  I was hired to consult on a WordPress implementation where there were at least 20 plugins.  Once you do an upgrade the likelihood of a having a problem plugin increases exponentially, since all your plugin makes have to have a version that is tested against the new version of WordPress.  So having your website on auto-upgrade WordPress versions can lead to one day opening up your URL and seeing a broken site.

The Dreaded WordPress, Server or Language Upgrades

What happens when you upgrade your version of WordPress is the potential for corrupt files, permission on file issues, database table upgrades and other small quirks.  This the price you pay for being a user of WordPress.  Remember, it is free.  They are doing upgrades like every 30 days sometimes, so the introduction of bugs is very common.  I don’t know a user of WordPress who has not had a small issue.  It is all worth it though, for the value you are getting.  Also just wanted to mention that a hosting company upgrade of some sort has caused me headaches over the years as well.  It is possible that last night the hosting company went from PHP 5.5 to PHP 5.6. Not sure why, but there is a possible incompatibility with WordPress now, especially if you have custom plugin or template code.

What’s Next For WordPress

A couple years ago I read that WordPress was at 8 million downloads per version and 8% of the web.  Now it has to be in the 25 to 50 million range and a good 25% of websites or greater.  You can look this up.  It is big.  It is getting bigger.  Just happens I developed some expertise with WordPress.  It is here to stay and it is important.  The next stages for WordPress look to me like a very similar path of Microsoft.  Once you get to a level where the majority of users are using your system, you have power and the ability to make an impact with a small move.  For instance, the paid side of WordPress coming soon.  Everything that is free in life will eventually have a price.  If you are looking for a WordPress consultant because your site is either locked up, showing a can not open, can not install or other issue feel free to contact me and ask me questions.

Dan Gudema

Open Source aka “WordPress” Vs. a Customized Website.

So You Think You Need A Website

The first place you look, if you are just starting out with your website today and you are doing it yourself, is often an Open Source application like a WordPress, Joomla or Drupal or a “hosted” Site Generator, one of which I hear often about is Wix.  Open source is a program you can download and load onto your hosting space that is freely distributed.   Open Source code can be loaded already for you by your hosting company like a Godaddy.  Or alternatively you can use a hybrid solution like WordPress.com (You get WordPress, but WordPress manages it for you).  Either way, you are using a freely available system that you spend time learning and working on.  Trust me the advocates for each of the top three will give me 10 reasons why theirs is better than the rest, but essentially each one is better at some doing certain things and others has some negative features (like the editor on WordPress is for the birds).

Why You Are Interested

Why would you be spending time reviewing and looking at these applications?  Well, if you want to save some cash outlay, doing it yourself, creating a website with WordPress is like building your own Heath Kit (I am dating myself because I actually remember Heath Kits as a kid) or creating your own PC.  Not sure how many reading this plugged boards in and made their own PC like I did several times in the late 80s and 90s.  Basically sites like WordPress are easy to set up if you read the docs and watch all the YouTube videos and are pretty much free, at least to get started.  What I want to discuss in this blog post is the concept that what you are getting or working with is conceptually free.  But is it all really free?  There are hidden costs and some direct costs.  Also, Open Source has just been loaned to you temporarily under conditions that you must adhere to.  So, theoretically with Open Source you don’t own any code unless you write your own plugin, and if you release that plugin under the rules, you may not own that plugin.   So next time you tell people you own a website, and you are using Open Source, you may want to not use the word’s Own but really I have a website.

Free Is Not Really Free

So if you have set up your own WordPress site, let’s just say that the average time it takes me to set up one, like the one I am writing a blog article right now, takes me at least 2 hours to set up, at least 3 hours if there is a design template involved, but let’s add 40 hours it took me to really learn WordPress, and that’s being kind.  So, let’s think about that.  45 hours goes into learning, configuring and setting this stuff up.  And the learning never stops.  Let’s say that I was a $100 an hour guy, and I am.  So really what I did is spent $4,500 on my first website.  We have to manage our time, because our time is not free.  If you go out and ask a WordPress shop to set up a WordPress site for you, with a nice template from ThemeForest.net, they will quote you anywhere from $1,500 to $3,500 or higher.  That’s because there are going to be graphics involved and fonts and decisions and knowledge of HTML.  Anyway, it is still cheaper than $4500 to pay someone else who has the experience.

What Is A Custom Website And How Does That Compare?

Now let’s compare a WordPress, Joomla or Drupal site with a fully customized site.  When I say customized, I mean a full web software application (like another WordPress) that you own and deploy.  Why would you do this?  Well, if you have a customized back-end for your business it is a smart move to build exactly what you need and leave the Open Source behind.   With your own site, you and your programmer(s) know how it works, why it works and what is different about your system.  But whether or not you need a custom site depends on what you want to do.  For instance if you are a Painter, Pool Guy or Lawyer who wants to blog, and I know a few, you don’t need to own an application or customized solution, you are just needing brochure ware.  That is perfect for WordPress.  If you are creating a simple site for your friends to leave comments that may be great in Drupal or Joomla (but for those apps I do recommend a programmer most of the time).  But let’s say you wanted to create an online business, a social network, a unique market place (like eBay) or something completely different and unique, then Open Source and other apps may seems like the a good way to go, but in the end, they can present a problem long term.

If you want to create an application that can one day be acquired by a big company then having Open Source can be a burden.  You may need to own your own IP (Intellectual Property) or code.  You need to own the code in order to have ownership of your application.  So, if you are not a software developer and you want to create a serious and unique system online (those are the kinds of things that separate your app from the pack), you sometimes need to build a customized site.

How Can Custom Software Be Comparable In Price To Open Source?

Well, because software has become easier to develop and because of outsourcing to third parties, some of which are overseas,  you can build solutions at comparable costs.  You just need to put a value on your time and energy and a value to what you are building and not come in with the theory that Open Source is free.  Trust me, each of those apps like WordPress have had 1,000 developers and possibly $100 million worth of code involved.  What you will find if you use WordPress or Drupal or Joomla is the price of making code changes, adding plugins, rewriting and changing the core can be comparable to building applications from scratch.  I have my recommended team of customized application developers you can contact me about.  But what I am trying to say is the price in the end may actually be cheaper to customize, if you really compare apples to oranges, especially if you need to be unique and different in this world.  Trust me I have pieced together both WordPress and Joomla plugins and add-ons trying to get these systems to do what I need them to do.  But in the end, you can end up with a Frankenstein Monster and quite frankly after that, most entrepreneurs realize they need to start from scratch.

Working With WordPress And Other Cool Stuff

The more you work with WordPress, the more you start noticing the simplicity of the application makes it possibly for some really interesting innovations to occur in the plugin, widget and theme areas. The creativity of developers is never ending. Here are a few things that I have noticed recently.

Flash Fonts

For those of you out there not aware of these, take a look at my site at http://www.takeitnational.com. I purchased this theme from Theme Forest, with Flash Fonts, which for some reason has nicer themes than most places where you can buy a quick theme. You will notice the red fonts on the home page are not your normal css or text fonts. They are each individual Flash Fonts. This third party application actually converts each letter one by one. Why is this cool? Basically it allows my site to have nicely curned fonts that are very appealing compared with some of the text and css that currently have limits. Also, the real key to Flash Fonts is the <h1> and <h2> tagging are not messed up for SEO (Search Engine Optimization). This means that, in the past, when Flash was used, it would hose up your SEO text on the page, since Flash was not so SEO friendly. It also meant in the past with Flash that the website would slow down. But this does not seem to be much of an issue with flash fonts. Where to get them. I am using Sifr (Scalable Inman Flash Replacement), which is an easier to implement version of this stuff. Best answer is just find a theme with them built in already and you will get them…

Amazing Ajax Graphs And Charts

Another thing that somebody pointed out to me recently is this amazing array of ajax graphs. See this article. Basically with just simple ajax and html you can pop dynamic charts onto your wordpress page. Years ago I was addicted to EasyCharts, one of the first open source chart, javascript, chart produc the market. Now it is a cornucopia of charting and graphing to go around.

When A Post Is Not A Post

Asked to give a few people advice recently about their WooThemes themes they purchased I looked carefully how the Woothemes get implemented and this seems to be a pattern. What they basically do is ask you create a post category. Let’s say we call that “Features”. Then they have this admin section in the back that allows you to select the “Features” category to show up in a particular part of the home page. It could be a calendar-like section or a middle section, sidebar left or right or testimonials. Notice that I do not use the word “Widget” in discussing this method. Because what they typically do is use posts as content in places on the home page or throughout the site. On the area where it is the full blog, the site knows to ignore “Features”, because that is how this works. Woothemes and other theme makers use posts as static content, so that is why the blog ignores it. Some use categories to do this, others use tagging. For the events area, the site uses additional fields which show up under posts, down below on the page. This way the posts are tracked as “events” (You have to go into their special admin and set events as the event category). These are part of many clever ways that WordPress is used to solve content issues.

Next time, an article on new words, that WordPress has sealed in the english language…

Load Balancing WordPress In Multiple Data Centers

When you work for an enterprise level company, things need to be accomplished at an enterprise level. So, that is why we have taken a variety of wordpress implementations, from basic to complex plugins and begun load balancing WordPress. To make things more complicated, the servers involved are not going to be in the same location.

Load Balancing, Why Do It?

  • Redundancy
    If one of your servers crashes, hangs ups or experiences a hiccup, you have another hot one ready to serve pages.
  • Server Speed
    If you are overloading one server, obviously a second server will resolve some of the speed issues if you are having IO issues. This is only if you are TechCrunch or Huffington Post.
  • HTML Loading Issues
    If you are far away from the server, yes it could take a long time to view a page. Ever wonder how long it takes to reach your website from Buenos Aires. If you wanted to know, look at a service like Gomez or Keynote. Not sure of any free services out there to tell you this, and if you find one definitely let me know the URL!

WordPress On Multiple Servers

I am sure Automattic has been doing this for the larger clients at a fee, and that is where some of their revenue is coming from, because this is where the pain kicks in, while implementing WordPress. If you have two servers that need to split the WordPress traffic load, this will work fine, as long as you can call them both the same name, with separate IP addresses. This is where the loadbalancer does its job. Not an expert at loadbalancing, but I have heard of an F4. Basically, it splits the load and sends web traffic either round robin or on some algorithm to each site. It can be tweaked if one box is acting up or doing something wrong. If there is extremely high volume of traffic, you could go to many boxes, but then you may want to look at cloud computing.

Load Balancing Across Multiple Locations

Now this is where the bigger issues come into play. For instance, if you were to creating multiple load balanced servers in different data center, including different international locations, you will have to deal with the issue of syncing of files and of syncing of either DB latency issues or distributed DBs.

The MySQL Database Issues

Sudden MySQL and pretty much every DB becomes an issue when you are running a site in mutiple locations. You can do it, and we are going to be running WordPress in a multi server environment soon, so we can experience the latency first hand. By latency, we are referring to a site in one city, let’s say Houston, and the DB in Los Angeles. That would mean every DB query would have to cross the country and there would be some delay in the query result arriving. This would also mean that there is a chance the site will be worse off than before the new remote servers go online, and what would be the point of that.

Solutions For The WordPress MySQL DB Issue

First solution to consider is Caching of content. Looking at wp-cache 2, and Super Cache, it is possible to have the individual sites create their own cache locally after one DB hit, or the first one after the cache times out locally. This would only make sense if you have a website with little dynamic content. This is good for web pages, but for rapidly changing blog comments or forums, it does not work, because it would mean it never will update proper. However, experimenting with this is a good thing, and will help.

The second solution is to come up with a way for the MySQL DBs to be sync’d on a regular basis, preferably offline. Possibly one way would be every hour or 5 minutes a script would kick off and check for any changes. The changes would be sync’d to the other DBs in the distributed network and you would be able to keep all the sites local MySQL and speedy. Good luck on this one. Maybe a plugin to do this, is the answer.

WordPress For The Enterprise – Article 1

As many WordPress users know, WordPress has become an application with critical mass. That’s not to say it is perfect or has all the application features you may need. That’s where plugins come in.

So let’s say you use WordPress for your personal blog. Fine. You know how to set it up; you know how to find a free template; you know how to load a plugin and configure a plugin. As you know there are over 4,000 plugins to choose from. Let’s say you are even at a higher level, with years of programming experience, or system experience and have an IT job…

So, you recommend to your employer, hey let’s switch over our sites to WordPress! Sounds good, right? Well, first off, yes, it is a good decision. There are a dozen other rational decisions out there, some of which are better for enterprise-level solutions. However, the reasons why companies implement enterprise solutions are different from a single site you run with some limited pages and posting needs. There is scalability, security, user approvals, multi-lingual (localization), an ability to manage upgrades, an ability to implement features. The list goes on and on.

So why did I recommend to my employer that we implement WordPress across our diversified 5-8 corporate sites and essentially go against all the negatives. Most people when they hear WordPress, only think blog. There is one big reason. Not exactly what WordPress is today, but what is it going to be tomorrow, and how much support and critical mass it appears to be getting. More specifically, to new users or WordPress, it can do a lot more than Post Blog Articles. It can do everything from hosting pages, categorize those pages, to rapidly implement designs, and this is not covering the 4,000+ plugins out there.

Last time I checked, but over 2.8 million people were downloading every new stable version of WordPress. The number and type of plugins, as I will prove, in this series of articles, saved my butt many times over the past few months. And as each version of WordPress comes out, it gets closer and closer to ultimately what I exactly need.

What is interesting is we were able to either write or fill in the gaps where WordPress did not. We created our internal plugins on the open source base product by Automattic, and found the pieces that ultimately filled in the puzzle.

Let’s get to the nitty gritty of the positives. Along with this WordPress conversion all our home grown and purchased CMS’s were slowly removed. That means less code management, and less developer time and energy focused on fixing our code. That is the beauty of open source. Instead of fixing basic problems with an old Cold Fusion CMS we had, we now have the developer working on plugins that add new functionality we need to be fully enterprise.

The standardization of the backend UI. Now all our sites have the same backend and everybody knows what to expect. I have not had to give a WordPress UI class yet. This standardization of how the plugins fit and how the themes just pop in, has made it universal for the standards of the design work to be completed, and has set expectations for outside designers of what we require to implement their design. In many cases the designer has been separated from the coding effort and can work independently on their own wordpress version and when they are ready to implement, the design pops right in.

Then there is the manpower issue. Other than design work, there really has not been a need to hire an additional developer we were looking to hire back when we were supporting multiple CMS’s. We are running a lot of these sites with a part-time plugin developer, a content manager and SAs moving around the code.

There fundamentals of WordPress Enterprise are in place. It will cut your dev costs. It will standardize parts of your applications that make it actually possible to get an upgrade. It will make your world more predictable managing websites. It allows you to access thousands of free open source code to solve programming issues that developers would have to hired for.

If anything, you would think this will reduce programming. In fact we still need lots of programming, but for specialized, strategic dev purposes. What I mean is we used to spend a lot of time on the login, the membership system and other basic functions that WordPress manages for us. Now these are less of a concern and integration and plugins are really where it is at.

In my next article, I will discuss the specific system issues, the plugins we use, the plugins we are developing or have developed, theme management, code management and how we got through the more mundane implementaton issues.

Click Here to go to Article 2, Issues and Plugins
Click Here to go to Article 3, Problems During Implementation

WordPress For The Enterprise

This blog entry is the first in a series of articles about taking WordPress and making it work for the enterprise. I figure, because I am in the middle of it, I might as well share some of the advantages and pitfalls of using wordpress for your enterprise solution, or as many will call it, getting the WordPress to act as a CMS (Content Management System) for the enterprise. This series of blog articles will get into the ins and outs of implementing wordpress for a corporation, and what plugins to use, and what issues you will have to overcome. So, sign up for this blog, come back for a visit, or go to my twitter account at http://www.twitter.com/dgudema to read what I am going through…