stock image by: Neednewname

stock image by: Neednewname

Ahhh, another year has come past and we look back onto how life has changed, what things we’ve learned and how we can improve upon our lives next year. So here, I present you the top 10 things I’ve learned through my freelance work and various jobs.

Snippets Library

Whilst working on WordPress 24/7 at an ad/marketing agency, I realized that I kept using the same snippets of code over and over. It occurred to me that I could save a TON of times by creating “routines” and “standards” in my projects so that I can perfect certain techniques over using custom solutions.

The best thing is, you can use a snippets library for just about everything, from PHP to SQL, from HTML to Javascript and it helps a lot. If you wish, you can create the next step by creating your own framework.

You can go ahead and check out my own (somewhat…outdated) snippets library just so you can see how it can be organized. For an example of a “framework”, you’re welcome to check out my kickstarter theme, Tseczka. It features a custom LESS framework, microformatted loops, and basic WordPress functions.

The best way to organize your snippets is with:

  • Github – start a new repo with your snippets
  • Snippets.Me application, available for different platforms
  • Dropbox – organize your snippets the same way you would with github but via dropbox :)

Good luck!

MVC Framework (Laravel)

Yep, i’m a huge PHP buff but I’ve been putting off MVC for a while. After working with C# and some .net stuff on a custom framework (not .net MVC), I realized the great benefits and finally saw programming in a different manner. With my new job, I was free to build my own (or use whatever) framework I wanted, do things my own way, and decided to run with Laravel which held much potential and had great tutorials available and while Symfony was a close runner up for me, Laravel did the job for me.

The advantage of MVC is the long-term development it allows. You start with a slick structure that other devs work on and you’re free to focus on the specifics of your application. The structure often includes classes that allow communication with the database, profiling and other stuff.

Here are some great PHP frameworks that you can easily start with:

CSS Frameworks & Tools

CSS frameworks are the new kid on the block with Foundation and Bootstrap leading the way. What’s great about them is that you can jump into UI design with ready tools and be able to homogeneously skin your apps. I went into the details of making your app have less of the “default” look while using Bootstrap in order to take full advantage of the tool. CSS frameworks are great otherwise and I’ve learned to use them without overwhelming my front-end UI with defaults.

So what’s Bootstrap built with? LESS. How about Foundation? SASS. What are those? Great new “languages”, I’d say, that allow us to compile and work with CSS in a more organized fashion to create better code. What’s great about these is that they allow greater flexibility including:

  • splitting up CSS code into separate files and compiling them into a single, minimized file
  • using variables to store css properties and reuse them such as colors and font sizes
  • use functions to calculate properties
  • include classes into other declarations. What this means is that you can have a .inline class that creates inline elements and simply applying the class to whatever other declarations you have. The compiled results will include the declarations of .inline

The results have sped up my development and made me more careful with my work.

Running a Blog

Yep, that’s right, I started this blog with regular postings. Blogs are really great because they allow you to examine your own work and expose it outwardly to be criticized. They also allow you several other things:

  • get freelance work via conversions
  • learn your stuff better
  • take notes and refer to them later
  • build a following and an easy rep. When you need help from people, they will take you more seriously.

So what are the important things that I’ve learned about running a blog?

  • SEO is important as hell. I used to think “Hell, I’ll just run off referrals”. Now, most of my traffic comes from google searches.
  • Half-done shoddy articles are death. People will mark you with it. Take your time, write something worthwhile.
  • Guest Posting is an interesting business. A business of throwing links on your site to places you may not want to link to, and a business of many bad (but also many good) writers. I closed my guest posting down ever since I got numerous complaints about the decline of quality of my site.
  • design is more important than you think. My current early 2000s design puts many people off.

Can’t wait to do a thorough redesign for next year.

Microformatting Your HTML

Microformatting is the art of tagging your html with certain classes that get identified by google, bing, other search engines, and other sites. Having built a scraper tool akin to facebook’s (ie. get title, right description, text, and right image of the page, as well as right blog content), I recognized the importance of these. Currently google parses the hCard, hReview, hProduct, and even hCalendar, and hRecipe microformats. Bing is starting to do the same. This means that when you see a google search that has product ratings, popularity, and so on, they’re pulled right from the microformats. Also, when you use services like pocket, and readability, they will pull the right post content rather than a random other section.

Microformatting is really great with facebook, google+, linkedin, and other services that allow sharing because they will get the right image, title, and description too. What’s even better is if you use facebook’s opengraph, you can specify EXACTLY what you want fb to show when you paste in a link.

Look into it! Since I’ve started doing this, I developed a wordpress snippets library full of microformatted loops and headers.

Also, using rel-author and other “rel-*” tags, you can easily have your picture and author data attributed to your writing no matter what site you write/guest write on!

Dove Into KnockoutJS

So KnockoutJS is one of the new kids on the block along with Backbone that brings structure and organization to the world of Javascript. I really LOVE knockoutjs, and you can check out my sample to-do app I developed with it. I’ve used KOjs to create dynamic commenting systems, voting systems, form validation, scraper visualization (similar to how facebook pulls info about a shared site), organization tools, to-do applications, and much more.

KnockoutJS is really awesome and it introduced me into the deep and dark world of javascript that has MUCH to offer that most people don’t recognize. It helped me see Javascript more than as an “effects” language but as a real programming language capable of a lot of great things.

Why should you learn it? The best part of KOjs is that it helps you organize data on your site better. It’s easier to manipulate comment systems, and “modular” data where you have specific “object instances” such as emails in an email list, comments in a thread, tasks in a to-do list, and so on.

Here are some KO resources:

  • Trello – best example of what all you can do with KO
  • KnockMeOut – a blog about diving VERY deep into knockout. Thing of this as the rabbit hole.
  • KnockoutJS – the site itself :)
  • Pick The Right MV* Framework – Knockout has a ton of competitors, many of which may be better for you. So check it out! :)

Branding&Design Work Is Hard

While development is what I do full time, design was something I was always interested in. I started doing some freelance design and branding. I redid my own personal brand to be more “slick” and give myself an edge which helped me not only distinguish myself from others but have my site/logo be memorable. When people visit my site, it’s not just “another blog”. People remember being here, people see my logo and know who they’re dealing with.

I’ve also learned it’s a bitch to learn design. It takes a lot and is no easy work. So give it up for your fellow designers for the great job they do.  I mean shit, it’s really damn hard. I did a few projects and they were, let’s say, difficult.

However, here are some inspirations and bloggers that kept me going:

Typography Is King

Typography has become one of the most important aspects of design. And can make or break your design/site/blog. Without good typography, your site will be a mess. Luckily, as I’ve learned, there are a lot of tools that can help you out:

Typography is all about the vertical rhythm and correct sizing of your fonts. Humans are used to seeing patterns and rhythms so having clean typography definitely helps. However, typography is crucial just look at the use of services like pocket and readability which cut down on the crap you see on blogs to give you a clean result that’s easy to read.

Next Year

I definitely cannot wait for next year to learn new things and write about them!