Fix For 100% Hard Disk Usage at Logos in Titanfall PC Game

I just purchased the video game Titanfall for PC through EA’s Origin software.  After the 50GB download and lengthy game installation, I fired up the game to play, and was met with the game effectively freezing at the EA logo.

It would advance slowly.  About 1 frame every 15 seconds.  After some investigation, I saw in the Windows Task Manager and Resource Monitor that Titanfall was writing to my hard drive at 100% capacity.

Now I don’t have the fastest hard drives in the world, but I have two decent drives in a striped RAID configuration, so this should not be happening.

 

It took about 2 hours of Googling before I found someone with the same problem.  And fortunately, someone had a fix that worked for me.

 

It’s a bug with origin’s recent update to the overlay. Right click the game, properties, and disable origin in-game.

 

So if you’re having this problem, Google no more.

 

Open Origin.  Browse to “My Games,” right-click on Titanfall, click “Game Properties,” check “Disable Origin in Game for this game,” and finally click “Apply.”

Game Properties     Disable Origin Overlay

 

Worked like a champ for me.

SSH Tunnels – Part 3: Network Side

This post is the last in a series of three posts regarding SSH tunneling.  This post will discuss the required configurations and information to connect to an SSH server from outside your network (over the Internet).

 

SSH Tunnel Series

  • Part 1: Client Side:  Discusses connecting to an existing SSH server and using it to encrypt Internet traffic on untrusted networks.
  • Part 2: Server Side:  Discusses creating and configuring an SSH server.
  • Part 3: Network Side:  Discusses configuring your network to allow SSH connections from other networks, and tips and tools to make connections easier.

 


 

Step 1: Find Your IP Addresses

Before we get carried away, there are two important pieces of information we need to determine.  Those are the local and external IP addresses for your SSH server.  Your external IP address will be the server address used in part 1 of this series.  Your local IP address will be used below to configure your network.  If you do not know how to find your external and local IP addresses, you can read one of my other blog posts which explains how to do so on Windows, OS X, and Linux.  Write down both IP addresses for reference.

Step 2: Forward Port 22 to Your Server

Nearly all home routers include a built-in firewall.  If you don’t know what a router is, it is one of those boxes used to provide your Internet connection.  Depending on your exact setup, you might have one single box, usually provided by your Internet service provider, which combines a bunch of functions into one, or a collection of devices of which one is your router.  If you have more than one device, the router is probably the one with antennas on it and/or the one with a bunch of ports on the back (usually 4 or more).

A firewall is simply a program running on your router that prevents some of the evil people on the Internet from accessing your computer in ways you don’t want.  Firewalls provide security.  Unfortunately, in the process of providing security, they will also block your SSH tunnel if you attempt to use it outside of your home network.  In order to prevent this from happening, we must forward the SSH port of 22 to your SSH server.

 

The exact procedure for this varies widely from router to router.  Fortunately, there is a website dedicated to providing instructions on how to forward ports on nearly every router out there.  That website is http://portforward.com.  If you do not know how to forward ports using your router, find the manufacturer and model number of your router (usually located on a sticker on the bottom of the router), and then click that link to portforward.com.  Once there, click the link for the manufacturer of your router (mine is DLink for example), then choose the model of your router from the next list.  And finally, scroll down the list of programs and find the entry for SSH.  You should then be given a detailed list of steps for forwarding port 22 to your computer.

 

 

 

That’s it!  You should be able to refer to part 1 of this series for instructions on how to establish an SSH tunnel and use it.  This concludes the series on SSH tunneling.  I hope it helped.  If you have any questions or suggestions, let me know in the comments.  I also love to hear success stories and interesting use cases!

How-To Find IP Address on Windows, OS X, and Linux

There comes a time in every geek’s life when they need to know their IP address.  If you are one of those people, read on for instructions on how to find yours.

 

Introduction to IP Addresses

Every computer connected to a network is assigned a unique identifier.  That identifier is known as an internet protocol address, or IP address for short.  I like to think of IP addresses as phone numbers for computers.

Without diving too deeply into the realm of networking, there are two IP addresses that the average user may need to know at some point.  The first is their external IP address, which is the IP address that users from other networks or the Internet utilize to find your local network.  And the other is your local IP address which is how devices on your local network communicate to each other.

 

If you are away from your network and want to “contact” your network, or computer connected to it, you will need to know its external IP address.  If you want to “contact” a device on the same network as you, you will need to know its local IP address.  Below, I explain how to find out both, beginning with the easiest, your external IP address.

 

Find Your External IP Address

This one is easy.  On any device on your network, open up a web browser and visit http://whatismyip.com.  It will tell you in big bold font what your external IP address is.

<img class=" wp-image-761" src="http://jtmorris.net/wp-content/uploads/cache/2013/09/whatismyip/3201550455 viagra 200.png” alt=”Example Screenshot of http://whatismyip.com” width=”614″ height=”218″ />

An example screenshot of http://whatismyip.com

 

 

Find Your Local IP Address

Go to the computer whose local IP address you wish to know.  Determine what operating system it is running, and scroll down to the appropriate section below for instructions on how to find the IP address.

Windows

There are a few ways to find your local IP address on Microsoft Windows, but only one method is consistent across all the recent versions of Windows.  Because of the discrepancies between versions, I will detail this method, even though it not necessarily the easiest one.

You need to run the “ipconfig” command from a command prompt.  To do that, hit the key combination of “Ctrl + r” on your keyboard.  This should open up a window titled “Run.”  In this run dialog window, in the text field, type “cmd” and then hit Enter.  A black command prompt window should open.  In that command prompt, type “ipconfig” and hit Enter again.  Buried in the output from that command is the local IP address of your computer.

To find it, look in each section of the output from that command for a line that says “IPv4 Address.”  Once you have found it, your local IP address should be the series of period-separated numbers next to it.  For example, at the moment, mine is “192.168.0.107.”

Windows 8 - IPConfig Results

Results of “ipconfig” command run on my Windows 8 desktop.

Mac OS X

For Mac OS X, the easiest method that is consistent across recent versions is to look under “Network” in “System Preferences.”  To do this, click the apple pull down menu, and choose “System Preferences… ”  Now find the Network entry and click it.  A window should appear detailing a bunch of information; you want the IP address.  For example, mine is 10.0.2.15 in the screenshot below.

Mac OS X IP Address

Max OS X network settings window

Linux

In Linux operating systems, the method consistent across the most distributions is to run the 
ifconfig | grep ‘inet addr’  command with root privileges on the command line.  Depending on your setup, your computer may boot into a command line, or it may boot into a user interface such as KDE or Unity.  If you start into a user interface, you will want to open a terminal window (you will need to Google how to do this as the precise methods vary across distributions and user interfaces).  Once at a command line, run “ifconfig” with elevated privileges.  For many distributions, this is as simple as typing
sudo ifconfig | grep ‘inet addr’ , and typing in your password.  For others, you will need to switch to the root user with the “su” command, and then run the 
ifconfig | grep ‘inet addr’  command.

Once “ifconfig” is run, you must read through each line of the output to find your local IP address.  You are looking for the line that begins like this: “inet addr: 192.168.”  On many computers, that will probably be the first line.  Once the line is located, your local IP address is the period separated group of numbers next to “inet addr.”  For example, in the screenshot below, mine is 192.168.0.175.

ifconfig grep inet addr output

Results of the “ifconfig | grep ‘inet addr’” command run on my Linux server.

 

 

 

And that’s it!  You now have your local IP address.

SSH Tunnels – Part 2: Server Side

This post is the second in a series of three posts regarding SSH tunneling.  In this post I will demonstrate how to setup a basic SSH server that is configured to allow SSH tunneling.

 

SSH Tunnel Series

  • Part 1: Client Side:  Discusses connecting to an existing SSH server and using it to encrypt Internet traffic on untrusted networks.
  • Part 2: Server Side:  Discusses creating and configuring an SSH server.
  • Part 3: Network Side:  Discusses configuring your network to allow SSH connections from other networks, and tips and tools to make connections easier.

 


 

Installing & Configuring SSH Server

There are multiple pieces of software that will suffice as an SSH tunneling server.  The software I use below in my examples is free and easy to setup.  As this is an introductory tutorial on SSH tunneling, it does not touch upon advance configurations and use cases.  If you need that stronger security or additional options, you may need to seek out other programs.

Linux

Similar to the situation in part 1 of this series, it is easier to setup an SSH server in Linux than it is in Windows.

However, the number of Linux distributions in existence is mind-boggling, and many of those distributions have their own methods to install tools and manage software.  If you have a specific distribution you would like help with, let me know in the comments.  For now, I will discuss installing the necessary software on Ubuntu Linux in a manner that will work on several other popular distributions.

The easiest to use SSH server for Debian based distributions is OpenSSH.  Once this package is installed, you should be able to start using your SSH tunnel.  However, for security, there are a few settings that I recommend changing.  To begin, open a terminal window, and execute the following steps from within the terminal window.

  1. Execute the following command:
    sudo aptget install opensshserver

    • You will likely be prompted for a password. This is your password that you use to login.
    • After typing in the password, you may receive a notification about what will be installed on your computer.  Type ‘y’ and press Enter to continue.

      Ubuntu 64-bit, Install openssh-server

      sudo apt-get install openssh-server

  2. Once installation is finished, execute this command:
    sudo nano /etc/ssh/sshd_config

    • nano is a terminal based text editor.  There are numerous other editors that can be used. I recommend nano here because it is installed by default in Ubuntu.
  3. In the text editor window that appeared, find the line that says “PermitRootLogin yes” and replace “yes” with “no”
    • This prevents the root user from connecting to your computer via SSH which is a huge security risk.  When using Ubuntu, you don’t use the root user, so it shouldn’t impact your experience.  But, it will provide a measure of security.

    Ubuntu 64-bit, edit sshd_config

    Change “PermitRootLogin yes” to “PermitRootLogin no”

  4. Now press “Ctrl+O”  followed by Enter to save your changes, and then “Ctrl+X” to close the editor.
  5. Now execute this command to restart the SSH server:
    sudo service ssh restart

And that’s it.  You should now have a functioning SSH server running on your computer that will allow logging in with your user remotely.  Now, you can create an SSH tunnel on another device as described in part 1 of this series.  The username and password for the connection will be your username and password used to login to Linux, and your port number will be 22.

 

Windows

  1.  Download freeSSHd from the following website: http://www.freesshd.com/?ctt=download
  2. Install freeSSHd
    • When asked to generate private keys, click “Yes.”
    • When asked whether you would like to run this program as a service, choose “Yes.”
    • If you are running Windows Vista and higher, you may be asked to allow administrator rights to the installer.  Allow them.
  3. Click “Finish” to close the setup window.
  4. Run the newly installed freeSSHd program (double-click on icon on the desktop, or find it in your programs list).
  5. After a short time, a new icon for this program will appear in your system tray, double-click it to open the settings.
  6. Open the “Tunneling” tab and check “Allow remote port forwarding.”
  7. Open the “Users” tab and click the “Add…” button.

    freeSSHd, add user

    Add a user to freeSSHd

  8. In the “Authorization” dropdown, choose “Password stored as SHA1 hash.”
  9. In “Login” field, type the username you wish to use for SSH tunneling.
  10. In the “Password” and “Password (again)” fields, type the password you wish to use for SSH tunneling.
  11. Check the “Tunneling” checkbox, then click “OK.”
  12. Depending on your system and setup, it may not be necessary, but I recommend restarting your computer.

And that’s it.  You should now have a functioning SSH server running on your computer that will allow logging in with the user you specified in steps 10 through 13.  Now, you can create an SSH tunnel on another device as described in part 1 of this series.  The port number for this SSH server will be port 22.

 

Mac OS X

Mac OS X is the easiest to setup of these three titans of the operating system world.  All the software required is already installed, it simply needs to be enabled.  Here’s how to enable it.

  1. Click the Apple logo in the top left of the menu bar.
  2. Click “System Preferences…”

    Mac OS X Menu Bar, System Preferences...

    Open “System Preferences”

  3. Click “Sharing”
  4. Check the box next to “Remote Login”

    Mac OS X, Sharing Settings

    Check the “Remote Login” option preis viagra 100.

  5. Close the “Sharing” window.

 

And that’s it.  You should now have a functioning SSH server running on your computer that will allow logging in with your user remotely.  Now, you can create an SSH tunnel on another device as described in part 1 of this series.  The username and password for the connection will be your username and password used to login to your Mac, and your port number will be 22.

 


 

Make sure you check out the other parts of this series of posts.  This only covers part of the whole procedure.  If you have any issues setting up the SSH server, or suggestions on how I can improve this how-to guide, let me know in the comments below!  I’d also love to hear about any success stories or examples of how you utilize this ability.

SSH Tunnels – Part 1: Client Side

This post is the first in an upcoming series of three posts regarding SSH tunneling rezeptfrei viagra bestellen.  In this post I will demonstrate how to connect a computer to an existing SSH server that is properly configured and accessible over an Internet connection.  If you do not have an SSH server to connect to and/or your SSH server is not accessible over an Internet connection, check out the other parts of this series.

 

SSH Tunnel Series

  • Part 1: Client Side:  Discusses connecting to an existing SSH server and using it to encrypt Internet traffic on untrusted networks.
  • Part 2: Server Side:  Discusses creating and configuring an SSH server.
  • Part 3: Network Side:  Discusses configuring your network to allow SSH connections from other networks, and tips and tools to make connections easier.

 

Example Configuration Used

This how-to requires some previously configured software.  As this configuration will vary from person to person, this can’t be a perfectly personalized guide for your situation.  Instead, I will use some example data as a placeholder for your configuration.  Whenever you see this information in the following how-to, you will need to replace it with the information relevant to your setup.  If you are unsure what this means, feel free to leave some questions in the comments and I will gladly assist you.

Example Server & Network Configuration

SSH Server Address: ssh.jtmorris.net

SSH Server Port: 22

SSH Username: tacos

SSH Password: tacosareawesome

 

Establishing SSH Connection

The first part in using an SSH tunnel is establishing the connection to your SSH server.  The methods for doing so vary from operating system to operating system.  I will detail how to make this connection on a typical Linux distribution, on the most recent versions of Mac OS X, and recent versions of Windows.

Linux Client

For many computer related tasks, Linux can be much more complex than its Windows and Mac OS X cousins.  Fortunately, in this regard, that is not true.  Linux is supremely easy to setup provided you know the proper terminal command.

  1. Open a terminal window.
  2. Type the following command:
    ssh D 5222 tacos@ssh.jtmorris.net N p 22
  3. Follow on screen prompts.
    • If a message appears regarding the authenticity of the host and whether you want to remember the host, accept it.  This should be a one time message.
    • You will need to enter a password.  If you are unfamiliar with terminal sessions, please note that it is very common that when prompted for a password, the screen will remain blank while you type.  This is a security feature, it prevents people from being able to peer over your shoulder and see your password.  Unfortunately, it makes it look as if the terminal is not responding to your typing.  This is not the case, it recognizes your typing, it just doesn’t display it.  Type the password normally, for this example, it is “tacosareawesome,” and hit enter.
  4. The connection should then be established.  If it was successful, the terminal won’t really react.  You’ll see a blinking cursor on a blank line.  This is good.  Now minimize the terminal.  DO NOT CLOSE IT!  Only minimize.  Upon closing the terminal, your SSH connection will be broken, and you will have to reestablish it before continuing.

 

Mac OS X Client

The Mac OS X procedure is very similar to the Linux one.  In fact, outside of the method for accessing the terminal, it should be identical.  As of this writing, you can find the terminal by opening you launchpad and typing “terminal.”  If you are unable to find it, let me know in the comments and I will gladly help you out.

Once you have a terminal window open, follow the same procedure as the Linux client.

  1. Type the following command:
    ssh D 5222 tacos@ssh.jtmorris.net N p 22
  2. Follow on screen prompts.
    • If a message appears regarding the authenticity of the host and whether you want to remember the host, accept it.  This should be a one time message.
    • You will need to enter a password.  If you are unfamiliar with terminal sessions, please note that it is very common that when prompted for a password, the screen will remain blank while you type.  This is a security feature, it prevents people from being able to peer over your shoulder and see your password.  Unfortunately, it makes it look as if the terminal is not responding to your typing.  This is not the case, it recognizes your typing, it just doesn’t display it.  Type the password normally, in this case, it is “tacosareawesome,” and hit enter.
  3. The connection should then be established.  If it was successful, the terminal won’t really react.  You’ll see a blinking cursor on a blank line.  This is good.  Now minimize the terminal.  DO NOT CLOSE IT!  Only minimize.  Upon closing the terminal, your SSH connection will be broken, and you will have to reestablish it before continuing.

 

Windows Client

Unfortunately, Windows is the most difficult to use of the three operating systems when connecting to an SSH server.  Windows does not have a built in SSH client to handle the connection like Linux and OS X do.  This means you will need to download an SSH client for Windows.  There are a handful of programs out there that can do the job.  Probably the most popular, and the one that I use, is called PuTTY.  It is a great little tool and has been around for a long time.  You can download it at http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.  There are a lot of choices in the list of download options, you want the Windows x86 version of the PuTTY client.  Download the PuTTY file and save it.

PuTTY is a standalone executable file.  This means that it does not install on your computer, it simply runs when you double-click on the file.  Therefore, you will want to move that file somewhere that you can find it, and won’t delete it.  Once you have PuTTY downloaded, open it and follow the instructions below.

  1. In the category list on the left, scroll down and find the Tunnels category that is located in the SSH section of the Connection category.  Click on that Tunnels section to bring up its options page.puttyss
  2. In the Source port field, type 5222.
  3. In the radio button field under Destination, choose Dynamic.
  4. Click the Add button.
  5. Scroll back up the category list and find the Session category.puttyss2
  6. Under the Host Name (or IP address) section, type in the address of your server, in the case of this example, it is “ssh.jtmorris.net”
  7. Under the port, change it to whatever port you are using, in this case, the default of 22 is accurate.
  8. In the Saved Sessions input field, type a name for this connection (e.g. “SSH Tunnel”), then click Save.
  9. Now, double click on the “SSH Tunnel entry in the list below Saved Sessions.
  10. A black terminal window should appear.
    • If this is your first time connecting to the SSH server, you may receive a message regarding the authenticity of the host and whether you want to remember the host.  Click OK.  This should be a one time message.
  11. You will then be prompted to enter a username, “tacos” in this case.
  12. Then a password.  “tacosareawesome” in this case.
    • If you are unfamiliar with terminal sessions, please note that it is very common that when prompted for a password, the screen will remain blank while you type.  This is a security feature, it prevents people from being able to peer over your shoulder and see your password.  Unfortunately, it makes it look as if the terminal is not responding to your typing.  This is not the case, it recognizes your typing, it just doesn’t display it.  Type the password normally, and hit enter.
  13. A connection should be established to your SSH server.  If it was successful, you will likely get some form of a prompt.  If it wasn’t successful, some sort of error message should appear.
  14. Now minimize the PuTTY terminal.  DO NOT CLOSE IT!  Only minimize.  Upon closing the terminal, your SSH connection will be broken, and you will have to reestablish it before continuing.

 

 

Configuring Applications to Use SSH Tunnel

The previous section created what is called a dynamic SSH tunnel between port 5222 on your local computer, and your SSH server.  However, the creation of the tunnel does not automatically send your Internet traffic through the tunnel.  Instead, you must direct your programs to use the tunnel.  This is accomplished by configuring  your programs to connect to a SOCKS proxy on port 5222 of your local computer.  Any program that can be configured to use a SOCKS proxy should work with this SSH tunnel.  Most popular web browsers can be configured to connect to this SOCKS proxy.  The instant messaging client Pidgin can connect through a SOCKS proxy.  The Mozilla Thunderbird email client can connect through a SOCKS proxy, and much more.  Below, I will demonstrate configuring the Mozilla Firefox web browser on Windows 8.  Most programs should be very similar.  If you have a specific program you would like me to help you with, let me know in the comments below.

Mozilla Firefox Web Browser

  1. Open Firefox, click the menu dropdown at the top left, and then click Options.
  2. Find the Advanced settings tab, and then the Network sub-tab.ffsocksss1
  3. Now click the “Settings…” button under connection.
  4. Click the Manual proxy configuration radio button.
  5. In the SOCKS Host input field type “localhost”, and in the “Port” field, type 5222.ffsocksss2
  6. Click OK, on the Connection Settings dialog window, and OK in the Options window.
  7. And that should be it.  Firefox is now configured to send all web traffic through the SSH tunnel.

 

Tips & Tricks

One thing that most computer geeks have in common is laziness.  For us, repeating all of these steps every time we want to enable an SSH tunnel is a horrifying thought.  As such, I have included a tip or two that will remove some of the tediousness and repetition.

Firefox Add-On:

There are several add-ons for Firefox that will enable rapidly enabling and disabling the SOCKS proxy in Firefox.  This is very useful if you only use SSH tunneling some of the time.  My favorite add-on is called Elite Proxy Switcher.  It places a status message in the lower status bar that will cycle the SOCKS proxy connection on and off when clicked.  This keeps you from having to go into the options menu every time you want to turn the tunneling on and off.

ffaddonss1

WebFaction: The Last Hosting Provider You’ll Ever Need

webfaction_com

It’s taken several years, but I’ve finally found it.  WebFaction is the perfect web hosting service for me.

Yes, there are lots of web hosting companies.  A simple web hosting package is extraordinarily cheap and easy to come by these days.  

But most of those services lack the features needed by power users such as myself.  

For us, meaningful hosting almost requires running our own server; whether it is a dedicated server, VPS, or self-hosted server in the garage.  But that’s excessive.  Running your own server to host a tiny website is like burning down a mall because you’re cold.  

What we geeks need is a happy medium between the watered down shared hosting packages and the pyromaniac option of running our own server.

In that middle ground, the options are far fewer, and expensive.  Fortunately, there is one stand out company, WebFaction.

WebFaction markets their product as “hosting for developers.”  To describe their services simply, they offer a shared web hosting service that boasts many of the benefits of a VPS or dedicated server.  Their product is perfect for developers and knowledgeable tech geeks looking to host small to medium sized websites on a budget.

 

My Previous Hosting Experiences

I have tried several of the dime-a-dozen shared hosting services.  I have also tried a VPS, a dedicated server, and my own self-hosted server.

During that leaping around I learned a lot about what services and technologies I was looking for, and the price I was willing to pay.  In that time, the best solution I found was a shared hosting package offered by 1&1 web hosting.  The exact package I had has been discontinued, but it was one standard middle-range package.   It costed $9/month and included one domain name.

Their service was great, and I highly recommend them if you only need straightforward web hosting.

But, the restrictions of a run-of-the-mill shared hosting package was strangling my geeky side.

I needed to do database operations that require elevated privileges.  I wanted to run shell scripts and scheduled tasks (cronjobs).  And I was experimenting with Python driven websites which 1&1 does not support.

After years of pushing at the boundaries of what the shared package offered, I began researching alternatives.  I didn’t want to increase my costs much, if any, but I was looking for a more flexible service.

 

I shopped around a lot, but WebFaction had the best looking product and fantastic reviews to go along with it.

Their package only costs me around 50 cents more a month, but it does not include a domain name, and has slightly lower storage space.  So, on the surface, it is a tad more expensive for a slightly lesser package.

But under the surface, it’s a radically different story.  They offer shell access, python hosting, databases with greater permissions, and much more.  The extra capabilities more than make up for the small price difference.

 

 

Taking the Plunge with WebFaction

The additional features for a reasonable cost were to enticing to pass up.

On March 17, 2013 I signed up for their service.  I transferred all my 1&1 registered domains to NameCheap, and pointed them at the appropriate WebFaction nameservers.  I changed over all email addresses on my domains to WebFaction, and over a couple weeks migrated my websites and services to WebFaction.

The process was about as painless as transferring domains, emails, and websites could be.  Which is to say it was a terrible experience, but not in any way aggravated by WebFaction.

WebFaction uses a different setup process for websites and services than 1&1 and the other hosts I have tried.  Their “dashboard” is a bit different.  But, they have great documentation and it wasn’t difficult to figure out.  Replicating what I had with 1&1 was fairly easy and was all doable via the control panel, phpMyAdmin and FTP.

 

Once everything was transferred over and running smoothly I began experimenting with the shell access.

I wrote a shell script that would backup my websites and databases daily to a compressed file that I can download to any other computer with FTP.

I also setup a private MySQL instance so that I could have all permissions on my databases when needed.  This allowed me to fix a pain-in-the-ass timezone issue I had been having with a WordPress plugin and MySQL.

This ability to write a backup script and the private MySQL instance alone made the changeover worthwhile.  The other services and tools they offer sweeten the deal even more.

 

Verdict

There’s not much to say other than thank you WebFaction!  You have a wonderful service, and offer the perfect solution for me.

If you are shopping for a web hosting service offering something between “shared” packages and full blown servers, look no further.  Do yourself a favor and signup with WebFaction.  They offer the best of both worlds for a bargain.  You’ll be hooked.

Let me know if you have any great experiences with WebFaction or questions about their service in the comments!

 

Offering full shell access to fast servers with all your favorite tools pre-installed and maintained for you.

 

 

This post is shamelessly loaded down with affiliate links.  Despite this, I assure you that all opinions stated in this post are my own and are valid; I fully endorse all mentioned services regardless of any benefits I may or may not receive.  If you do not wish to support the secret lair I am saving up for, you can visit their websites directly.  If you choose to do so, I will not harbor any ill-will when my lair is completed and I move on to world domination.  I will just cry in my pillow for a few nights and be done with it.

Annoying Trends in Modern Web Design

This is an exciting time for web developers and web users.  In recent years, technology and techniques have evolved that allow for fantastic designs.  Much of this evolution is manifested as looks and layouts with fancy buzzword names.  “Responsive,” “minimalist,” “flat,” “metro.”  As with many trends, there are excellent showcases of the designs and annoying misuses of them.  I want to draw attention to some of these misuses below.

 

Wasted Space in Minimalist Designs

Minimalism is the practice of reducing fluff and streamlining websites.  When done correctly, this is very pleasing to the eye and makes finding what you want easy.  But when taken to far, your page becomes pointless.  Removing all the useful information and content in favor of empty space is annoying.  You are forcing the user to go to another page in order to find anything out when you have prime real estate to spare.

Minimalist trend: Too much whitespace; not enough content.

Minimalism should be about making content front and center instead of banners, logos, and other fluff.  It is about showing the user only what is necessary, in order to make their experience more pleasant.  Don’t remove the content to minimize; remove the fluff!

 

Huge Photos or Logos Instead of Content

Huge photos taking center stage is “in.”  It’s what all the cool kids are doing, and it’s what you want to do.  When done correctly, these huge photos are great.  The problem with huge photos is that they take away space for that valuable content mentioned above.  Every once in a while, a site embracing this trend will throw up a photo on the main page… and that’s practically it.  Sure, there may be some navigation up top, or fineprint in the footer, or a slight spattering of hard to read text.  But the primary purpose of the page is to showcase a big-ass photo.

Huge photo trend: Photo replaces content.

And that’s not the point.  Photos are to break up text.  It’s a splash of color and appeal to keep the visitors attention.  In the vast majority of cases, a picture should only be supporting material.  It’s not the main product, its the window dressing.  Go ahead.  Use photos.  Use big photos.  But don’t substitute the content of the site with a big photo, supplement the content.

 

Limited Contrast Colors

To be fair, this is not a new problem.  It has been around since the dawn of the website era.  In the past however, this problem was largely relegated to smaller websites.  Now however, with the advent of flat design and the more subdued look of modern websites, this problem is more mainstream.  Sites with grey text on white backgrounds are a dime a dozen now.

Flat/Subdued Trend: Low contrast, grey text on a white background

Content should pop out at the user, even with a subtle, subdued design.  If the background is light colored, it should be very light colored and the text very dark.  If the background is dark, it should be very dark and the color very light or plain white.  Having to strain the eyes to read a website is a turn-off to visitors.  Contrast, contrast, contrast!

 

Unprompted Modals

With the advent of pop-up blockers in every major web browser, unwanted pop-up windows have all but disappeared.  However the use of modal windows has grown significantly, and they are heading down the road that killed off pop-ups.  Some people might know of modals as lightboxes, and they look something like this:

Modal trend: Unprompted modal restricts access to content.

These rebooted pop-up windows are very useful when done sparingly and in appropriate places.  An example of an excellent modal is to show enlarged photos when a thumbnail is clicked.  In that use case, they prevent separate page loads, and keep the user where they were.

But they are frequently abused, as in the case of the website screenshot above.  That website displays this modal on their home page without provocation.  This means every time someone visits their home page, they are assaulted by this message, whether they’ve seen it before or not.  Modals should NOT automatically fire on a page load.  Especially with an ad or a site registration form.  You are keeping your customers from the good stuff on your page.  Use modals sparingly and in a support role, when prompted, only.

 

Intro Videos or Animations

Ugh… These… I hate these!  I was so excited that we had been moving away from gaudy Flash videos and animations every time a website is loaded.  But now, with HTML 5, CSS 3, and JavaScript, this horrible trend is making a comeback.  I have honestly never understood the idea.  Maybe, and that is a big maybe, your intro is interesting enough for a first time visitor to sit through.  But what if someone wants to revisit your site for information later?  What if the person isn’t looking for the content your video provides, but what the page that eventually shows up after the video does?  Now they have to sit through that thing, or manually skip it if you are nice enough to provide a “skip intro” button.

This trend upsets me to no end.  If I want to find your address or phone number, don’t make me sit through a damn intro video to do it.  I have always avoided Flash like the plague because it is was abused by this intro fluff, and 95% of the legitimate uses for Flash could be replicated with some creative JavaScript and CSS.  Please let these die!  If you want a video, make a video and post it somewhere on your website or on YouTube gibt es viagra rezeptfrei.  Loading gaudy, unnecessary videos and animations is not what websites are for!

 

Loading

With very few exceptions, loading should be considered evil.  Waiting for content to load is unacceptable.  There are only a handful of seconds before a web surfer determines whether to stick around or not.  You want to impress upon them as much good information as you can in that time.  A loading message is not good information.  You should not have long loading, flashy content in most situations.  If you’re doing something that requires loading simply because you can or to showcase a skill or catchy talent, don’t do it.  Content is king, don’t overdo the presentation and sacrifice the content (a theme seems to be arising here).

 

One Page When Multiple Will Do

Look, someone has got to say it.  Sometimes content deserves to be broken up into multiple pages.  Yes, having everything on a single page and then scrolling through it, or using navigation to jump around can be cool, and keeps users from having to load pages.  It seems like a logical extension of the don’t reload the page paradigm that AJAX forms and data retrieval allow.  But please don’t put random, unrelated items on a single page.  It’s confusing, makes utilizing search engines a pain, interferes with social sharing, and deviates from what is expected for no good reason.  Each page of your website should have a single, well-defined, clear purpose.  When that purpose is fulfilled, make a new page.

 

 

These annoyances that I have listed can be done tastefully and effectively, but doing so requires careful planning and execution by a skilled developer and designer.  If you are a developer and/or designer yourself, remember content is what the visitor is looking for.  Your job is to present that content in an easily navigated, efficient, and logical form.  Please don’t abuse modern tools and design!