Posts in "Development" category

4 Great Habits of Every Great Coder

A mentor once told me that to be great at something is to align one’s habitual behaviors with a desire for success. At first, I never really believed him because I was always of the opinion that “habitual” was boring, and boring was unsuccessful. However, as I matured in my career, I began to understand his advice to be bland but true. During college, I was always working. There was only about 2 or 3 months collectively that I did not have a job, and that was normally because I was finishing one job and waiting to start another. Holding a job while taking a full load of classes (and surviving in them) is no easy task. At first, I struggled immensely. It wasn’t until I perfected habits that let me balance work and school. Habits like doing homework as soon as I possibly could and waking up early to get a head start on work were what allowed me to stay afloat. So, translate that into the task of learning how to code. Learning to code is a daunting challenge when you are new to the scene. There are literally hundreds of different programming languages. My advice to you? Adopt and develop habits. For me, it was the easiest way to introduce myself to the world of coding.

  1. Keep it simple. By keeping it simple, I mean don’t smother yourself with many different languages at once. Personally, I found it easier to focus on one language, or a couple of very similar languages, to start out with. Many coding languages follow a very similar, general flow of logic, so if you focused on mastering one or two, when you spread your wings, it will be a little easier to fly into other languages.
  2. Explain your logic. This one takes me back to 9th grade geometry class, where we did a unit on proofs. At the time, it was miserable, but in hindsight, it was one of the most applicable lessons I learned in high school. If you can systematically explain how you get from input to output, you are in good shape to code. As you write a function of code to achieve a goal, I have learned that it helps to explain your logic through comments in the code. This habit has more bonuses than many realize. If your code does not behave how you want it to, you can go back and use the comments to help you decide where your code or your logic went wrong. Furthermore, if others are using your code for themselves, it allows them to understand how it works. Even the most experienced code masters welcome comments of explanation in code.
  3. Study and observe. I can’t begin to explain the benefits of making this a habitual thing. There are countless resources out there to familiarize yourself with code, whether it be books or online tools. I have always been told that the best way to get good at coding is to observe code. Study the code of your favorite website to familiarize yourself with how different parts of code work. Look for patterns and things that stand out. You will never be successful in coding unless you take the time to be able to read code, or at least follow the logic of a strand of code. There are books and websites that specialize in training you to be able to look at a strand of code and know exactly what is going on.
  4. Practice. Practice. There isn’t an expert in any field of life that will tell you that they didn’t have to practice what they specialize in. Practicing is, by far, the most effective habit in becoming a great coder. The best part is, it doesn’t have to be boring! Practicing can be fun. Experiment on your own code to see what you can do. The possibilities are endless. The feeling you get when you have come up with your own working code is extremely rewarding. Manipulating code to adhere to your desires and commands has an appeal to any coder! Just practice. The benefits are obvious, and the results are advantageous.

No Website? No Excuse.

The world we live in today is as dynamic and ever-changing as it has ever been. The sheer number of technological advancements and inventions that we have seen since the turn of the century is truly amazing. One of the main drivers of such growth is worldwide access to the internet. The number of people who have access and use the internet has increased from 738 million in 2000 to over 3.2 billion in 2015. That is a more than a seven-fold increase, which brings the percentage of the world population taking advantage of the internet up to 43%. However, even though the exposure to the internet is worldwide, studies show that just 46% of small businesses still don’t have a website. That is unacceptable! When approached about this issue, most small business owners gave several excuses. I have compiled the top 6 excuses and rebuttals to each. It is time to bust the myths about having a website.

Excuse 1: I don’t need one. If you think you don’t need one, you cannot be more wrong. Having a website is one of the best, most thorough ways of reaching the masses. Studies show that 84% of American adults use the internet, and 96% of Americans aged 18-49 use the internet. That is just about everyone.

Excuse 2: My target industry doesn’t have an online presence. If this is the case, you need a website now more than ever! One of the best ways to be successful is to be the first to blaze the trail. Look at multi-billion dollar companies like Amazon that revolutionized online shopping. If you can be one of the first of your industry to have a web presence, the results may be extremely profitable.

Excuse 3: Building a website is too expensive. I don’t have the money. The internet is a treasure trove of resources. That is what makes it so popular. One of those resources is DIY websites that come at an extremely low cost, maybe even free. It might help to also look at a website as a long-term business investment. This small investment now will more than pay for itself in time.

Excuse 4: I don’t need the publicity. I have enough customers. Really? You can’t be serious? Since when do people want to limit themselves and put a cap on the number of customers they have and the revenue generated from them? If you are a small business, this is the wrong mindset to have. Your focus should be on growth and advancement. 23-time Olympic medalist and American swimming legend Michael Phelps put it this way, “You can’t put a limit on anything. The more you dream, the farther you get.”

Excuse 5: I would rather use social media as my outlet. Well, you are on the right track. Social media is a key part of making sure your business has a presence on the web. However, a social media page does not do the job of marketing and advertising the capacity and capability of your business. A website allows you to go in to detail about the full scope of the products or services you offer. Instead of using social media only, try linking your website and your social media accounts. Turn your social media followers into customers. Give the customers who visit your website a more personal, lively view into the company via social media.

Excuse 6: I don’t have time to maintain a website. Let’s think about some of the other things you spend your time doing throughout the day. Do you have time to grab some coffee? Do you have time to read the newspaper or watch the news? Do you have time to surf the internet in search for that new piece of clothing you must have? In that same amount of time that you do these things, you can also manage a website. Just like the DIY website companies that you can find on the web, there are also many companies that offer website management as a service. If you don’t have the time to do it yourself, you may want to consider reaching out to some of these companies.

By now, the picture should be pretty clear. There is no excuse for your small business not to be on the web. Having a website is potentially one of the most profitable investments that you will ever make for your business. After all the hard work you put in to your company, you owe it to yourself to give you and the business the opportunity to put your best foot forward and “wow” your customers with your website.

Optimizing Photos for the Web

Optimizing the images on your website can be one of the most noticeable improvements in its speed you can make. If your page takes more than half a second to load, your number of users will decline as they leave your site before it ever finished loading.

Size Appropriately

Did you know many popular tools such as WordPress may not resize your images automatically? If you insert a 3000 pixel wide image in a container 1000 pixels wide, the browser will still download the large image. The browser will then scale that image down to fit into the allotted space. Resizing your image is an absolute must for best optimization.

Let’s take a look at an example JPEG that is 4608×3456 pixels and 4.71 megabytes. Consider a mobile user who is using 3G data (which has a top speed of around 750 kilobytes per second, but often less) This image would take them 6.3 seconds to download!

Just by resizing this image down to a good size for a blog post (500×375) can bring this image’s file size to 97.6 kilobytes, which would only take our same 3G user 130 milliseconds (about a tenth of a second) to download.

Change the Image’s Quality Settings

The most common format for photos, JPEG, is extremely flexible. It has the possibility to encode the same image many different ways. Your goal is to find the happy medium of acceptable image quality to file size.

How It’s Done – Adobe Photoshop

Photoshop isn’t free, but it is by far the most popular software out there for the job.

The easy way to optimize your images is to go to File -> Save for Web. A new dialog will pop up with many options you can choose from. The image file type (shown in blue in this image) is currently set to JPEG which is ideal for the photo we’re optimizing. Be sure this is selected. By default, another format such as GIF may be selected.

There are presets for quality options for your images you can choose here as well. Change the dropdown box next to “Preset” to select “JPEG High”, “JPEG Medium”, or “JPEG Low”. These will each sacrifice more quality for smaller file sizes.

Once you’re happy with the settings, hit the Save button.

Optimizing Photos with Photoshop

With our scaled photo, this brought the size from 97.6 kilobytes to 37 kilobytes!

 

How It’s Done – GIMP

There are plenty of free alternatives to Photoshop. One of those is GIMP, available from http://gimp.org/

With this tool, you have to set the options manually. Once your image is loaded and resized appropriately, go to File -> Export. From here choose a location and file name and click on Export.

Another window will pop up with the saving possibilities. To get similar results to Photoshop, change the Quality setting to 60. Under Advanced Options, uncheck the Progressive checkbox (unless you want that feature).

Finally, hit Export to save your changes to a file.

Optimizing photos with GIMP

With this scaled photo, this brought the size from 97.6 kilobytes to 29.7 kilobytes!!

Can You Tell the Difference?

There are two versions of the same photo below. One is saved at 97% quality, and is 97.6 kilobytes in size. The other is saved at 60% quality, and is 29.7 kilobytes.

Optimizing Images - 60% Quality

Optimizing Images - 97% Quality

They’re remarkably similar, and one is a third of the size. In this example, the quality difference is most noticeable on the white icicles at the bottom. The first photo has more JPEG artifacts around the edges, and it is indeed the lower quality of the two. They’re both still beautiful, and most people would be hard pressed to find anything wrong.

That’s It!

It can seem a little daunting when looking at optimizing your images for your website, but once you get the hang of it, you won’t spend more than 10 seconds on each image. And why wouldn’t you?

From the original full-size photo at 4.71 megabytes down to our scaled and optimized image at 29.7 kilobytes is over a 99.99% savings!

It’s DEFINITELY worth the 10 seconds of your life and saves your mobile users valuable loading time. So they spend more time engaging with your content, and less time looking at loading bars.

Website Down! How To Check

60 second tip: There are many, many reasons as to why your website wouldn’t be pulling up for you on a given day. One quick tool we use at Classic City is DownForEveryoneOrJustMe.com. This free service gives you quick access to see if your website is down across the world or if it just happens to be your computer acting weird today. Next time you can’t get to your site, check this site out first, and if it is let us know here and we can assist you!

Hosting Your Business Website

There are tons of hosting providers and each person has their personal preference as to who is the best out there. We have worked with all the “big name players” out there: GoDaddy, Host Monster, Host Gator, 1and1, Bluehost, DreamHost, Media Temple, SiteGround and many more. However, after testing all of these services, we have finally come to a conclusion that WPEngine is the best fit for our WordPress websites.

Managed Hosting

We were looking for a completely “managed WordPress environment” for our clients. What is a managed environment? Simply: all the technical aspects of hosting a website are 100% managed by your hosting provider. It’s like a concierge service for your website. They take care of your core WordPress updates, daily backups, server upgrades, scaling your website when necessary and giving you a staging environment that you can push to production with one click. All of this is done as a part of your managed environment. Let’s dive into each of these pieces.

Core WordPress Updates

One of the first things that happens after you get a new WordPress website is forgetting to do the core WordPress updates. All of them are free to download and install (as a matter of fact, they only take one click to accomplish), however it is very rarely done. With WPEngine they will auto-upgrade your website if they notice you haven’t done your core update after a certain number of days. This helps keep your website patched with all the newest security fixes. And before they do it, they will automatically back your website up in case of failure.
Daily Backups

WPEngine automatically backs your website every day and keeps those backups around indefinitely. You also have the ability to do a manual backup of your site in case you’re making some changes you think might harm your site. Before you do any upgrading, WPEngine pops up a box that reminds you that before you process any upgrade (plugin, theme or core WordPress) to do a manual back to be safe in case anything breaks.

Server Upgrades + Scaling

Unless you have an IT staff, you probably don’t want to have to manage server patching, system upgrades and uptime guarantee for the server your website is hosted on. WPEngine takes care of all of that for you. Now, instead of having to hire an IT staff to manage all of those items, it is all taken care of behind-the-scenes for you.

Staging Website

Personally, this is one of my favorite features that WPEngine has to offer. Let’s say you have some sweeping changes you want to make to your website, however you don’t want to alter your live website because you need to test those changes. Normally, your only options are to hire some IT people to migrate your website over to another server, do all the edits you want and then migrate it back to your production server in the middle of the night.

With WPEngine’s staging website, one click from your production server gets you a fully-functioning staging site on it’s own separate domain name (that is not indexable by search engines) and is password protected. You can make all of your content, style, theme, plugin (etc) changes there and once you’re happy with it, you can click a single button and WPEngine will move the whole back to your production server within a few short minutes. Production deployments went from a very lengthy process to the epitome of simple.


Dedicated WordPress hosting is very important to us. We want a team of people who know WordPress inside and out – not just do it part time. They only host WordPress websites and because of that, everyone on their team has to know WordPress. Their staff is knowledgeable on how plugins interact with one another, common errors in log files, nuances of adding an SSL certificate to a website that has never had one and many more. They are a perfect compliment to your IT/marketing team.

Web Essentials: A Landing Page that Doesn’t Suck

8 SECONDS.

That’s all you have to get someone’s attention on the landing page they hit when they come to your site. Upon first loading up your site, does your content scream to everyone what you do and why you are the best at it? If not, you may want to consider reconstructing your layout and verbiage.

What You Do

Over at Classic City Consulting, we offer a lot of services. How we display those services to our potential customers is a rather difficult task (and we often discuss if what we are doing fits well with what our customers want to see). We offer:

  • Website design
  • Social media management
  • Print materials (design and printing)
  • Pay-per-click advertisement
  • Corporate branding
  • Application development
  • Video production
  • Workshops for branding strategy

That’s a lot. If we were to throw all of that out there “above the fold” on our homepage, customers would have no idea where to actually start – and no idea what we specialize in.

In order to be concise, we first start off a short definition of who we are:

A Digital Draftsman who helps you figure out what you need to be doing to further your brand.

From there, we breakdown our core services as:

  • Web
  • Social
  • Print

With that order on the website, people first understand we are a full-service consulting business with a specialty in web, social and print. All of that is easy to convey to people within eight seconds of being on our website. Do we cover every minor detail of what we have to offer? No. However we cover the majority of it.

Why You’re the Best

The next item you need to cover thoroughly is why you stand out above the rest. Why should a potential customers entrust you with their hard-earned dollars and not your competitor next door?

When is the last time you made a purchase decision based on a celebrity telling you the product was amazing? Sure, it may have caught your attention, but did you really buy the new phone because Jamie Foxx said it was awesome? Or was it because you saw real people using the phone in their everyday lives the way you would be using it?

People like to see other real people tell their story. Yes, it’s great to have big-name brands on your homepage to give yourself some credibility, but nothing beats a real person who tells a real story about how your product/services helped them out. So yes, put your name brands on your site – they do catch people’s eyes, but drill down into the real people (especially if you are a small-to-medium local business) who you help 9 out of 10 times.