Thursday, February 27, 2014

Twitter: Who to Follow?

Twitter is inescapable.  With 200 million active users, Twitter is one of the most successful start-up companies of all time.  Twitter also just recently joined the NY Stock Exchange.  With that many heads talking, Twitter can provide a great wealth of knowledge and resources for any subject. With that said, Twitter should be a part of every web developers toolkit and should be treated as a resource.

Informative websites and founding developers can both be found on Twitter, but for this week, we will target some important people to follow so that you can get up to date information straight from the people developing the future.  In a sense, you’ll get to see history be written in the development community.  Ok, let’s not get too geeky here.

Developer Twitter Accounts:


John Resig - @jeresig
John is the founder of jQuery, which is by far the most popular Javascript library.  John currently lives in Brooklyn, NY and is working at the Khan Academy.  Previously, he worked for Mozilla.


Eric A. Meyer - @meyerweb
Eric Meyer is best known for his writings on web standards and cascading style sheets (CSS).  He is an active writer and has published several books.  He is also extremely active on Twitter with over 23,000 tweets.


Jeffrey Way - @jeffrey_way
Jeffrey Way is an extremely active voice within the developing community.  He frequently writes at Nettuts+, where he breaks down concepts into easy to digest tutorials. He is the founder of Laracasts.


Paul Irish - @paul_irish
Paul was previously on the jQuery team for a few years, but has switched to the Google Chrome Developer relations team.  He created the HTML5 boilerplate and also created the familiar Modernizr tool.


That’s it for now, but keep it mind there are hundreds of developers actively tweeting!  On top of developers, there are also website gathering resources on Twitter such as Nettuts+. 

What is an API? A Brief Overview


If you’re new to the world of front end development, you might have heard the term “API”. API stands for “Application Programming Interface” and is something that we use all the time without knowing about it.  APIs allow for the communication between two different applications.  For example, a project can author an API that allows for other projects to pull features or data from their interface.  The original project doesn’t have to share any of their code for the features or data.

Here’s a definition from Wikipedia:
“An Application Programming Interface (API) is a particular set of rules and specifications that a software program can follow to access and make use of the services and resources provided by another particular software program that implements that API. It serves as an interface between different software programs and facilitates their interaction, similar to the way the user interface facilitates interaction between humans and computers.”
Mentioned previously, APIs are everywhere.  Let’s take a news article for example.  At the bottom of the page, articles usually have a social media bar that has links to facebook, twitter, reddit, etc. so that you can share the article on your own social media page.  All of these features are powered by APIs.  Even the comment system, which is sometimes powered by facebook comments, uses the facebook API to pull your profile name, picture, location, etc.


The LATimes uses the facebook commenting system for their news articles


What can you do with them?

If you’re a blogger or journalist, having those sharable social media buttons would be a nice touch for your content.  However, we’re not all journalists.

I think most people have a Twitter account nowadays.  Twitter has built a widget that uses their API to create a timeline for one individual.  You can then link this timeline on your webpages.  I’ve used this for several projects and it is a great way to show off tweets without having to actually go to Twitter.  Again, Twitter is using an API to share their features with another application without having to share their code for Twitter.

To access this widget, just go to your settings menu, then go to Widgets, and Create A New Widget.  

I decided to create a timeline for my master’s program:



This is just one example of what can API can do.  I’ve also recently worked with Vimeo’s Player Embedding API to show all of my account’s videos on a web page without having to go to the actual Vimeo website.

For your next project, explore how you might possibly display something with an API rather than the normal way.


Monday, February 24, 2014

Developer Toolkit: Web-safe Font Generator


Fonts are incredible tools for designers.  A font is just like every other visual tool out there in that it has the capacity to: spark an emotion, carry a message, or be so well emerged with its surroundings that its aesthetics are easily overlooked.  There are literally thousands of fonts for a designer to choose from, but it is believed there is only one true font to fit a specific need within a project.  Picking that font can be a huge task, especially if you’re lost in the sea of downloaded fonts, but implementing that font on the web should be hassle free.

If you’re a developer, I’m sure you have already discovered that a custom font coded via the @font-face tag doesn’t always work across every browser.  The problem is that each browser supports different fonts.  For example, Internet Explorer and Mozilla Firefox do not support SVG fonts.  And mobile support is a different story.

To combat this problem, it is as simple as referencing every font file type for the font you want to use.  However, getting every file type is not so easy.

Have no fear; Font Squirrel’s Webfont Generator is here!


Font Squirrel’s tool takes away the painful task of finding every file type for a font by converting one file type into four.  To use the tool, the user must own the font they want to use and make sure that it is legal for the font to be used on a personal level.  Sites like Font Squirrel or dafont provide fonts to download and they usually provide the license and rights information.  Once you have cleared your font for use, you may upload the font and Font Squirrel will convert the font to four formats: .eot (Embedded OpenType), .svg (Scalable Vector Graphic), .ttf (TrueType), and .woff (Web Open Font Format).

The process is very nifty, but don’t go writing code just yet.  Font Squirrel also provides the lengthy bit of code to use in order to get the fonts to show up on the web.




Font Squirrel’s Webfont Generator provides an incredible service at no cost.  That’s right: it’s free. So go ahead and give it a try. This tool really excels when you have several fonts that you want to use across your project; it saves a lot of time.  I recently used the tool for one of my projects and it couldn't have been easier.

Friday, February 21, 2014

Resource Roundup - Keep Your Skills Up To Date With These Five Resources


Coding is similar to every other profession in that one needs to keep up to date with their knowledge and skill sets so that they don't fall behind.  This is possibly true for coding more so than any other profession because the technology changes so rapidly.  If you fall behind, you might fall out of your job.

Luckily, the coding community is an active bunch of bloggers, writers, and networkers.

In this week’s blog post, I’ll share some of my favorite resources that I have been following since my venture into front end development.

For Beginners:

If you have never coded a single line of text in your life, then CodeCademy is a great stepping-stone towards front end development.  It has detailed, interactive tutorials on multiple languages including HTML, CSS, PHP, JavaScript, jQuery, Python, and Ruby.

For Everybody:

Hey, designer! is a great resource for both developers and designers.  A small portion of my blog is dedicated to web design, so why not share a resource that has both subjects underneath one website?  Hey, designer! is basically a resource gathering board; all of the links lead to external sites.  Posts range from educational blurbs about design to in depth JavaScript library tutorials. The best part of the site is the trending section, which shows which articles have been clicked on the most for the day, week, or month.

If you’re looking for a once a week update that comes as one newsletter, these resources are great.  Once a week, an email will be sent in a newsletter format with the latest news surrounding each subject.  Each newsletter features a featured section, code and tools, watch, read, and a job openings section (ding ding!).  I recommend signing up for both.

Here’s an example issue for HTML5:

Like art, checking out other people’s work is a part of being an artist.  It keeps you on your toes, culturally up to date, and it might spark some inspiration.  Codepen.io is a great resource if you want to see what other people are doing.  Projects are hosted on Codepen with all of their code available for the world to see.  Most creations are on the brink of falling apart, but these people are trying to push the boundaries of coding.  However, when something works well and you want to use it on your site, you are able to by just copying and pasting the code.  Everything is shared.  After all, everything is stolen from somewhere nowadays.  You just have to steal correctly.


I saved the best for last.  Yes, I meant to capitalize the; this resource is the resource to end all resources. I’m not sure who this person is, but they have combined every front end development resource out there into one, easy to navigate document.  Everything is split up into categories, so it’s easy to digest.  It might take you a year to go through it all, but it is definitely worth playing with.  And look, it’s hosted on GitHub.  This could be a project that a lot people have worked on.

Thursday, February 20, 2014

Tool Review: Sublime Text 2- make the switch to a better text editor



For developers, the debate over which text editor to use is along the lines of every other product comparison feud; each product has its positives and negatives for people.  However, there seems to be a text editor that is standing out more than others: Sublime Text 2.  Sublime Text is marketed as a code, markup, and prose editor.  It’s fast, available on all platforms, and has a few tricks up its sleeves.

One of the first things that sticks out about Sublime Text is the overall look.  The colorful text really contrasts the black background.  You really feel like you’re in one of those movies that has some guy coding on a black screen with green text all night.

On the right, another scrollable frame exists that shows your entire project zoomed out.  Sublime Text calls this the Minimap.  This is really useful for when you are working in a large project and need to quickly scroll through the text.

Most code editors can be visually altered, so looks aren’t everything.  So what else makes Sublime Text special?

Navigating documents and Sublime Text is very fast.  One of their features, Goto Anything, allows users to open a document with P and then they can begin typing the name of the document. Once the document is open, they can type @ to quickly jump to symbols, lines, or words.

Sublime Text 2 in action


You can also be at several places in the document at once. Multiple Selections allows users to type on multiple lines at once.  Instead of making ten changes across the document, you can change all of those lines at once.  This is especially useful for when you need to rename variables or make batch edits.

You can also quickly change the syntax of documents.  If you're working in a CSS documents and it hasn't automatically changed the syntax to CSS, you can do so.  This syntax has special color coded tags that allows for easier editing and navigation within documents.

Another appeal is that it is the same across all platforms.  Currently, Sublime Text 2 is $70, but your purchase extends your license across all platforms.


With that said, Sublime Text 2 is highly customizable.  This is probably the most important feature and why Sublime Text is so popular.  There is a huge library of plugins, which allow for further customization.  In a future blog post, I will discuss some further enhancements you can make to get the most out of this text editor.

GitHub: the open source backbone for your projects


If you are unfamiliar with GitHub, it is a code sharing community where programmers can network to tackle projects together.  In the beginning, it was mostly intended for code use, but now people are going beyond that and hosting non-code documents and files so that multiple people can work on one project. 

Users can host their projects on the site by “pushing” their content through Git, which is the source code management (CSM) software behind GitHub.  Linus Torvalds, who was the lead developer behind the Linux operating system, created Git in 2005.

Git operates by hosting projects in directories, or in GitHub’s case, repositories.  These repositories are then hosted on GitHub where anybody with an account can “fork” the project.  Forking a project creates a copy of the existing project and places it underneath your profile.  From here, you can continue to view the project, but the most important feature is the ability to edit the code.

My GitHub profile.


For developers, this is big.  GitHub is excellent for new open source projects.  With several developers forking and editing a project, a project can become so much more than what one person could complete.

For new users, GitHub can be kind of overwhelming.  It involves using Terminal, or whichever command-line software your operating system uses.  Because of this, many people don’t use GitHub.  To help, here are two tutorials to get started:


My two cents:

As an aspiring front-end developer, I’ve questioned whether or not it is worth using GitHub.  I recently used it for a project in which I was in South America without internet access for most of the day. 

Using GitHub actually promoted good coding practices.  GitHub provided a backup of my site in case I happened to lose or damage my laptop, which was a very strong possibility in one of the biggest cities during the rain season.

It is also promoted working offline.  I could code during the day without Internet access and push what I had completed when I arrived at the hotel.

It allowed for easy collaboration.  I worked closely with a professor during this time.  When we ran into a problem, we would fork each other’s work and push our ideas back at each other.  It was a smooth and painless process.

Finally, I had a complete project to show off on GitHub.  To me, having the final product on GitHub was like a trophy.  It documented all of my hard work; it showed every update I completed.

In the end, if you learn how to use GitHub, you’ll be strongly rewarded.  On top of learning some great coding practices and being a part of a popular, active community, you’ll have the opportunity to be a part of the next big project.  You might just fork and edit the code for the next Facebook.