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.
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.
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
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
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:
- Dan Eden’s blog - His theme iterations are marvelous, and his blog posts are as well.
- Design Float - a site with a million tutorials and inspirations for web design
- CSS Tricks
- Branding Inspiration
- Six Revisions
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.
I definitely cannot wait for next year to learn new things and write about them!