Month: December 2013

  • Trying out Nginx

    One could say that I’m out of the trial period for Ghost, due to having written more personal blog posts than on previous platforms.

    So I moved my blog out of the AWS EC2 infrastructure and relocated to a data center in San Francisco. I must have created/terminated at least six instances on EC2 to get to a working implementation of Ghost that I liked.

    My first stint with Nginx has been positive so far, but limited to just forcing the “www” in my domain. I’m eager to learn more.

    Check out the Ghost documentation about using debug mode and exporting your content. Remember to grab your theme and images also. Other than that it is easy.

    At the time of this writing the site is still using a free theme, but I made some changes:

    • Re-enabled HTML optimizations
    • Changed over to minified versions of the CSS and Javascript files
    • Worked on the Javascript animation a bit, to address issues with older mobile devices. I’m still not happy, but the experience is greatly improved
    • A few back-end changes to improve server RAM utilization
    • Changed the network config to what I use on my other production systems

    Should you use Ghost? If your needs can be met with a simple non-traditional layout then give it a try. Stick with your current CMS if you still needs include categories or other structured information.

    If you haven’t signed up for Amazon’s EC2 service, they may give you a free year of micro-instance service. See how I got my start with Ghost for more info.

  • Malware for the Holidays

    Nothing quite like setting up your child’s first computer.

    I opted for Windows 8.1 primarily because of how my child responds to it. Microsoft knows what it is doing by leaving us old folks behind.

    We were tag-teaming the addons and software programs, and our inexperience with free mods for games and learning software exposed us to the world of bundled malware/spyware.

    Being accustomed to commercial programs and non-windows systems has shielded us from the brutal assault on the average computer user; it is nothing like what it was a few years ago. I’ve been controlling my websites, but lost touch with the end-result until today.

    Today I learned that both free and commercial programs designed for adware/malware removal are challenged with keeping up with the creative ways developers are hiding their software. In the end I engaged a Security Professional from Symantec and gave the team remote access to our computer. They initially took the same steps as myself, but I could tell that they enlisted an upper-level engineer that cleaned out the multiple programs and registry entries that made up one piece of spyware.

    Regardless, my child’s computer is clean. Makes me want to go back to the ancient times when I participated in Computer User Group meetings and shared software.

  • Boost your discussion forum performance

    A simple blog, like this one, isn’t going to experience significant performance gains from a CDN. Sure, the images are replicated on a few geographically advantageous locations but it doesn’t have that many images to begin with. I’m also taking advantage of CDN-supported html optimization and compression, which makes me feel better but the few bytes it saves isn’t going to wildly impress either.

    Circumstances change quickly for more complex sites. The layout of a typical online forum, especially for sites with a lot of content, can result in slow-loading sites. Even with good user adoption page-per-visit statistics don’t improve for the majority of users due to site performance.

    These suggestions are applied on my sites:

    • CDN – Initially limit to images, javascript, and css to a CDN. Online Forums are highly-interactive sites and some CDN services may impact proper operation. Reverse-Proxy CDNs are easiest to start with, but many applications include configuration options that can take advantage of the manual (but effective) services.
    • Libraries – JQuery, YUI, and Fontawesome are examples of common resources that can served from either your server or from a CDN that alreay hosts those resources. If you are already using a reverse-proxy CDN, there may be benefit in hosting these resources yourself and letting them propogate on your CDN. If you aren’t using a CDN, or a service that isn’t as fast, utilizing externally-hosted libraries may improve performance. Try it both ways.
    • Advertising Code – Responsive site designs isn’t helping in this area, but pay special attention to how you are serving ad code. Large blocks of javascript-based innvocation code may not be noticeable to most web users, but they may slow down the user experience. Single-line innvocation code solutions are preferred, but check them to ensure that they aren’t linking to external script code that is slower. One way to verify is to add the code and then check it using Google’s Pagespeed checker.
    • Hosts – All aspects of the host are important, but disk I/O is critical for online forums. Shared Hosts that run customers on high-performance disk arrays. Dedicated Hosts that offer options using SASS, SATA3, or SSD drives. I run my largest forum on a server with eight-core CPU and 32G of RAM, but it’s most significant benefit is SSD drives.
    • Pagespeed – Google’s pagespeed technology has come a long way and is obtainable both as a service and as a downloadable mod that can be run on your server. Some CDN providers integrate modpagespeed in their own infrastructures as well. If your server doesn’t have fast drives, or limited CPU threads, modpagespeed may overwhelm your server if installed with default settings. If you aren’t sure, consider trying the pagespeed service first.
    • OptCode Cache – Sometimes called PHP Accelerators. I’m still partial to xCache but there are other options. Many hosts provide their preferred option with their service, or will provide suggestions if your running your own server. Taking advantage of this option will reduce the processing overhead on your server. Most forum packages have particular settings that require enablement in order to fully utilize this benefit.
    • Switch from GD to ImageMagick – Most online forums allow it’s users to upload pictures as either attachments or to build picture galleries. ImageMagick can be utilized by most forum software packages and allows for better utilization of your server’s resources. As digital images continue to represent large pictures uploaded over faster connections, ImageMagick has become more of a necessity than a luxury. Later I’ll share my process for installing ImageMagick from source and compiling with PECL.
    • Limit Transitions – Javascript and/or Ajax features that create interactive user experiences are nice, but limit them to pull-down menus and other navigation necessities. CSS is better, but still it is best to limit transitions altogether in order to generate pages quicker. Computing devices have improved, but many mobile devices still stuggle with sites in this area. This blog currently uses a jQuery transition that is very nice, but shows the age of older computers.
    • Limit External Attachments – Inserted images on forum posts that are hosted elsewhere. It saves your disk storage requirements, but can slow your site down. An uploaded image would take up your server storage, but could be served from your CDN and optimized from your server settings. If your forum is new, disabling the means to externally-link images may be a worthwhile consideration if your file upload features are robust.
    • Minify HTML – Most web server configurations support GZIP compression, but the debate on limiting excessive code comments or spacing represents diverse opinions on their benefits versus the additional time and/or server utilization this topic may create. Personally, I think comments shouldn’t show to the user if they aren’t needed; and all unecessary spacing should be removed. One way to accomplish this is to go through your templates and remove these yourself. I’ve had success with Google’s ModPagespeed module. Alternatives have started to show, if you don’t like Google’s option.
    • Javascript Optimization – Minifying Javascript isn’t as challenging as it once was. The precarious thing happens when we are able to see our sites work without javascript, and realize how much overhead we are creating. Many external libraries are usually in minified form now, and common applications are starting to combine their necessary scripts. Pay special attention to add-ons or modifications that you choose to add your application, this is where most of the slow-down occurs in forums.
    • Security – Hosting your site on an shared service isn’t going to afford you the same level of control that you would have managing your own server. However, many sites running on dedicated servers (or cloud instances) are hacked as well for the same lack of attention given to security. A proper strategy will lead to lower server utilization and allow resources to provide a better user experience.
    • Linux – There are many flavors out there. At the time of this writing CentOS and Ubuntu Server appear to be the common distributions; but ultimately it comes down to what you prefer to learn. Your users will appreciate it.
    • Server RAM – Some forum applications are a bit intensive on this when they become large or have several add-ons. I tend to use a large amount, but improving forum performance can be as simple as ensuring that your site isn’t doing disk activity that could be minimized by adding more RAM. OptCode Caching will also affect this.

    Addressing the issues above can usually be accomplished cost-effectively.

    References:

  • Choosing Forum Software

    I’ve operated discussion forums as a hobby for many years.

    My first was a discussion group for a turn-based enviroment where players owned spaceships, planets, and fleets; called Tradewars. I didn’t own or operate the necessary software, just moderated a loosely-knit group of worldwide participants. Back then dial-up bulletin board systems syncronized posts nightly, so a post could take up to two days before it was viewed by everyone.

    At the same time, users were communicating in similar ways on the original internet, but it was almost real-time. There were no web browsers, but it wasn’t that difficult for those that took time to learn how.

    While there are several services available to create, develop, and grow a community today; the more-common method has been to obtain preferred software and self-manage the installation and maintenance.

    If you’ve done any research, you’ll find that there is a significant amount of historical baggage to sift through. This is an objective viewpoint.

    I’ve previously operated on three platforms; vBulletin, Invision Power Board, and Xenforo. Currently running forum sites on Xenforo, Invision Power Board, and Vanilla. Older Communities have run on phpBB, XMB, and forked-phpBB. Below are my opinions:

    vBulletin

    http://www.vbulletin.com
    The most prolific forum software package has been going through many challenges; too many for this post. The owning company, Internet Brands (IB), still runs it’s own sites on the version 3 series (commonly described as vb3.x); as well as many other sites. vb4 was originally shown as a visual concept, but the organization had undergone significant change by the time vb4 was actually released. IB has also released vb5 along with several version updates.

    vBulletin’s strenghs:

    • vb4 has it’s issues, but is built upon a solid platform.
    • addon and theme options have diminished, but there are still several good options available.
    • Users tend to better understand how to use vBulletin 3/4.
    • As long as you avoid being critical, you will likely receive reasonable support.

    vBulletin’s challenges:

    • Software bugs – vb4 still has many issues, but it is considered far more stable than vb5.
    • Diminishing Community – There aren’t as many knowledgeable participating resources today.
    • Increased cost of ownership – A vb license isn’t expensive, but meeting your needs may be more difficult.
    • Site Performance – either vb4 or vb5 will require some degree of optimization to perform well for your users.

    Invision Power Board

    http://www.invisionpower.com
    Invision Power Board (IPB) represents a solid community platform that supports complex feature sets. It started several years ago amid some drama of it’s own, but that has since subsided. There are still some sites running on legacy IPB versions, but most today operate with modern v3.x variants. IPB provides updates regularly and informs on forthcoming features and development activity. The software is offerred as a hosted/cloud service, or a downloadable license.

    IPB’s strengths:

    • Many feel that IPB represents the most solid and stable platform available.
    • Search Engine Optimization – IPSEO is now an integrated feature.
    • IPB is feature-rich in it’s standard form before modification or addons.
    • IPB has a helpful community, but a strong helpdesk team. Pre-Sales support also includes Professional Services options.
    • The Community Suite approach provides commonly desired applications (blog, photo gallery, online store, & etc) that is fully integrated.

    IPB’s Challenges:

    • Site Performance – The forward-thinking approach has it’s tradeoff in the form of slower site performance. This can be overcome with creative optimization strategies to bring site speed to a reasonable level. At the time of this writing, version 4 has not yet been released. This aspect may change.
    • Design Layout – You either love it or hate it. There are several excellent themes available.
    • Competitive Features – Some communities will benefit from IPB’s automated spam control, but still wonder why other features are missing or not implemented.
    • Mobile Support – basic package supports a mobile-skin that automatically displays on most mobile devices. Changing to a responsive strategy can be done with an inexpensive addon.

    Xenforo

    http://www.xenforo.com
    For those of us who were comfortable with the original Jelsoft-owned vBulletin, Xenforo has been the option. Started by former Jelsoft employees, which now includes additional enthusiasts on it’s staff. The software is available as only a downloadable license, and additional packages are currently limited to an online store (Resource Manager) and advanced search option (Sphinx).

    Xenforo’s strengths:

    • Speed – out of the box and with little modification yields respectable site speed.
    • Ease of setup and use – XF doesn’t have the features that IPB does, but setup can be so quick that one may wonder if everything was done.
    • Search Engine Optimization – SEO features are strong, even though there is little to setup for it.
    • Easy to Improve – Regardless if it’s performance or visuals, the developers of XF homed in on what the challenges were and delivered.
    • Responsive Design – Able to maintain your existing look/feel without unique mobile skins or external apps.

    Xenforo’s challenges:

    • Design Layout – Like IPB, it’s another Love it or Hate it circumstance. Some have commented that it’s modern approach is too much for established communities.
    • Responsive Layout – The responsive layout implementation on Xenforo is Excellent but having a truly responsive site presents several challenges. Established communities that migrate to XF should disable responsive features initially and enable them later.
    • Addon equivalents – XF enjoys the fastest-growing community of addon developers, but there a migrating community may have to give up on a feature or adopt an alternative.
    • Maturity – XF is supported by experienced developers, but the company hasn’t been in business very long.

    Some additional software packages that I’ve tested, or just started with:

    Vanilla

    http://vanillaforums.org
    I’m currently running a dormant forum with the open-source version of Vanilla and am finding it very enjoyable to work with. Vanilla’s primary goal is to grow their cloud service business, but they have a decent group of open-source enthusiasts. Vanilla’s attraction is it’s simplicity and rich feature set. Choose this option if you wish to run a community that doesn’t need a lot of flash, or you wish to integrate into a CMS.

    Simple Machines

    http://www.simplemachines.org/
    For a while, it seemed that SMF wasn’t going to survive. I did several successful tests, but with slow development and little advanced support I moved on. SMF still impresses me today, but the current verion is still too simplistic. Go with this option if you don’t care about integrations into anything and feel that a traditional forum-layout style is all that will be needed.

    phpBB

    http://www.phpbb.com/
    I haven’t run a phpBB forum in a while, but did test v3 a few years ago. I wasn’t turned off, but didn’t feel that there were enough features. Themes and addons are plentiful, but had concerns that the community wasn’t going in the proper direction. Circumstances appear to have improved, but would prefer to see a new major release.

    myBB

    http://www.mybb.com
    I did some testing with myBB and found it to be enjoyable to work with. If one wanted a community that looked like vb3 but wasn’t, this would be an option. My test site was speedy and didn’t take long to modify. myBB is easy for anyone to download and setup, but one may need to be more self-sufficient than the average forum operator. myBB released it’s 1.6x platform when I started testing and is still at that base as of this writing.

    There are other forum software/service options. I hope you find my experiences worthwhile.