Sunday, May 18, 2014

Strategies For Staying Educated About Interactive Media, Front-end Development, and Web Design

A lot of professions require keeping up to date with standards and trends, but for interactive media, it is almost a weekly commitment and should be a part of the job.  With interactive media, there are trends that appear every year and it is usually a good idea to follow them.  It is almost expected that people accept these trends and throw away the old ones; if you don't, you'll quickly be called outdated.  I've been there.  Within development, there are frameworks are pop up every now and then.  If you want to stay in the business, you must learn these new frameworks.  Every couple of years, the semantics of code is changed and you must learn the new tags.  Browsers are always being updated, operating systems change, platforms are introduced.  So how do you stay up to date?  Let's explore how.

Front-end Development

I've already made a post about this, but following the key players is probably one of the best ideas.  All of the big developers are on twitter and some of them have blogs.  It's important to keep up to date with these guys because some of them are the ones making changes to the markup.  Some are developing the  platforms where your future code will rest.  Others create new libraries, like jQuery for example.  However, the best thing is that you can have a one on one interaction with these internet celebrities.  More than not they will answer your questions.  Additionally, you get access to their thought process, their random ramblings, their weird lunch thoughts.  Today is a weird world; we pretty much have access to everybody's journal through twitter and blogs.  Use it and hopefully you'll get a peak into an artist's process.  Attend conferences.  Here you will have a chance to see the most up to date technologies and trends.  Attend field-specific conferences too, like front-end development conferences.

Web Design

Staying up to date with web design is pretty much on the same level as front-end development.  In order to be the best web designer, you must know how the web works.  If you don't know how stuff is made interactive, then you definitely have a disadvantage compared to other more well-rounded designers.  To stay up to date requires observing others.  Dribbble, for instance, is a great way to see what other web designers are doing.  You can take a peak into their process because a lot of the shots are works in progress.  Dribbble is also a great way to see what is trending; the most popular page is full of trendy designs, fonts, colors, and methods.  It is worth taking a lot at some agencies as well.  These are the guys making the products for the startups.  They should be making the most up to date stuff. And it usually looks good.  Attend conferences.  These conferences will be showcasing the most up to date technologies and trends.  There are conferences all over the United States, but a must is SXSW.  Attend the web design specific conferences as well; they'll have workshops and lectures.

Overall

Create.  It's that simple.  One of the best ways to keep learning is to keep working.  Keep working on your own skills, but also explore some new methods.  Experiment.  Who knows, you might stumble upon the next trendy element in design.

What To Look For When Hiring A Developer

A recent experience made me think about this post, but this was also a topic of debate on the Web Development subreddit on Reddit this week.  I was working with the client to improve their SEO, social media, and user experience.  The client told me that they had a redesign of their site in February, so I was really shocked when I first encountered their site.  I was looking through it and I noticed that their web developer had placed a link to their site, which had rates for their work.  I was surprised to find that this guy was charging $75/hr plus $1000 to start working on the site and the end product for my client was so terrible.

If you're hiring a web developer, you need to find somebody you can trust to give you a great product.  This means that they have a great body of work, but they also have people skills. Let's go over what you should be looking for within each area.

When Looking To Hire A Developer For Your Site

Portfolio: Look For Frequent Updates

A frequently updated portfolio gives the audience a good idea of what your current work is like.  However, it is really great for showing clients that you are active within the field.  It shows that the developer is serious about the craft, is working to improve, and has plentiful clients or ideas.

Best Projects

From the point of view of the developer, you want to make sure you are showing your best works.  Basically, don't cloud the portfolio with every single project you have ever worked on.  Show the best work and really try to sell it.

This might be hard to judge from the client's point of view, but make sure you really like what you're seeing.  If the developer happens to show a ton of projects, make sure you really are obsessed with the latest ones.

Side Projects

Look for some side projects.  If a developer is spending the time to work on side projects not related to client work, then that developer really loves what he or she is doing.  A developer should feel the need to work on these type of projects as well; it shows creativity and a drive to complete that idea.

People Skills

If they can't communicate well, drop them.  You might run into several problems during and after development, and if you haven't talk with them about your issues, you're going to have a bad time.

Responsive

Mobile-first web development is key.  If you their portfolio or work doesn't work for mobile, then theres a chance yours won't be coded for mobile either.  An increasing amount of people are using mobile phones to access the web.  You will lose valuable customers if your site fails to have great user experience on mobile.

Google Them


See what comes up.  See if you can find any social media mentions.  Explore Twitter and see if anybody has reviewed them, mentioned them, followed them.  See if they are active within the community, blog, etc.

When Hiring

People/Interview Skills

This is kind of a given, but having an employee with great interview skills shows that they care about the position, would fit in with your company, and if need be, could communicate well with clients.

Skills Test

This might be the most important one.  With development, proving they have the skills in a controlled environment shows they are capable of working in that position.

Attention To Detail

Attention to detail is always great, but really important with development.  This is where you need to look at their code.  Look for clean, semantic code.  Make sure the code is readable. 

Conclusion

In the end, this is an exchange of trust.  They are going to be in charge of creating an online presence for your client or company.  If you can't trust them as a person or find their portfolio to be lacking in something, then you might want to look elsewhere.  There are plenty of great developers out there who are willing to work for you.  If price is your issue, remember: you usually get what you pay for.



My favorite resource? Dribbble, of course.


Studying other artists is perhaps one of the biggest ways to grow as a designer.  Having work critiqued by other artists is also extremely valuable, but we aren't all blessed with a workplace full of designers willing to critique our work.  It's also fun just presenting work and getting more eyes on it.

There is where Dribbble (with 3 b's) comes into play.

Dribbble suggests this question: what are you working on?  Dribbble is a community of web designers, graphic designers, and various other designers that create small snapshots (shots) of their work in progress or at completion. Members can then comment or like the shots.  If you haven't figured it out yet, Dribbble has this basketball theme around it.

Anyway, it's a great way for designers to showcase their work.  Designers can provide critiques, which can help improve the work because a lot of content is a work in progress.  It's also a great way to get some inspiration, which is why I use it.  The world's leading designers are on Dribbble and it's amazing what people can accomplish.  It really helps you keep up to date because the most popular section is always flooded with the trending design elements.

Oh yeah, Dribbble is sort of private.  It requires an invite to become a member, but you can still browse the site without a membership.  Members just have the opportunity to contribute content, which is really fun.

The Main Page


The main page is where all of the recent shots of the people you follow appear.  Following people is pretty easy and it doesn't require an approval.  There is also a social media-like section which shows your recent activity, such as comments on your work.  Finally, there is a suggestions tab which suggests works that you might like based on the stuff you have favorited.

The Shot


Once you're looking at a shot, you can like or comment the work.  If you have a similar shot or the shot inspired you to create something based on that work, then you can rebound the shot by linking up to the original work.  You can also see how many views the shot has.  There is also a handy color palette tool that shows the colors the work primarily used, which I've used a few times to try to find a color palette for a project.  If you're a paying member, you can actually link the original file to the shot so that users can get the big picture.

Jobs


One of the awesome things about Dribbble is that it has created a section similar to LinkedIn or Indeed in that companys can post job openings. You can search by location, but I don't think there is an option to search by job position.  However, pretty much all of the jobs are design-related.  If the company is actively on Dribbble, then they can become a team, which is where multiple members post to.  If a team is advertising a job, then a little icon is placed beside the job opening.  This is usually a nice place to work at because Dribbble is a great resource.

Conclusion


Dribbble is a lot like Adobe's Behance, but to me,  Dribbble is more creative and professional.  For one, it requires an invite to become a member.  I also just love the entire theme of the site; the basketball thing is pretty funny.  I am always impressed with the content as well.  I don't think I have ever seen anything horribly designed on the site, which is impressive.  It's a great resource for getting inspiration.  Dribbble really is one of my best kept secrets, but I really think every designer should be a part of it.

Thursday, May 8, 2014

How to push a project to Github

In a previous post, I mentioned that every developer should be using Github.  Github is a cloud-hosting service that creates backups of repositories, or projects.  These projects can be viewed, shared, or edited by other members of Github.  Github creates a wonderful experience because it creates a worry-free backup of your work and other people can contribute towards your work, which can create bigger and better projects.  

In order to use Github, you have to be a little bit familiar with a command-line interface, such as terminal for Mac.  It's been a few months since I've pushed a project to Github, so I thought I would go over the steps to both help you and myself.

Before I begin with the initial Github push, there are three basic steps when pushing a project.  First, edit content.  This means editing a piece of code, adding images, added documents, whatever.  Second, you commit the changes, which means you kind of create a save state.  Three, you push the save state to Github.


Step One - Create Your Repository



This is actually an easy step and it doesn't require the command-line interface.  Visit Github and perform the necessary on-screen steps. Be sure to name your repository and remember the name, because we will have to refer to it in step three.   It doesn't matter what you select for the README; we are going to wipe out the settings in a second!

Also, make sure you have a folder on your desktop for your project.  The beauty of Github is that you can work offline and then push your content online.


Step Two - Install Git



Git is required in order to push projects to Github.  If you don't have it installed already, you can actually install it from Terminal.  Follow the steps provided at the Git website.


Step Three - Initialize Git



Now that you have Git installed, you can get started!

In Terminal, cd to your local project folder on your computer.

Type the following in the Terminal:

git init

This creates a git repository in your project folder on your computer.

Then add files to the Git index:

git add .

Commit the added files:

git commit -m 'Whatever you wish to say'

Commiting is like a save state for your project.  You can add messages to help you remember where you are at within your project's progress.  This is added in between the single quotation marks.

Create a connection with Github

git remote add origin https://github.com/username/your-project.git

Make sure to change the your-project to your project's url address. You can get the url from the repository you created through Github.

Push Project to Github

git push -u origin master

This sends your commits in the master branch of Github. Basicaly, this is sending your save state to Github.

Final Thoughts


That's all!  Using Terminal for the first commit and push is required. Once you have done this, you can download a Github client that will make it easier to commit and push; it doesn't require Terminal. I prefer Github for Mac. However, you can always commit and push to Github through Terminal like we just did. This time, this is all you have to do for the next commit and push:

git add .

git commit -m "type your commit message here"

git push origin master



Thursday, May 1, 2014

UX Best Practices



UI/UX design is a new and upcoming field in the digital media world, but its concepts have been around since the creation of interactive media.  Great UI/UX, or user interface and experience, is a balance of both high convertion rates and ease of use.  These two are great together because it means more business for your company and there is a lack of frustration with the software that can immediately leave a bad taste in a customer's mouth.  Thankfully, there is a lot of research out there for what makes great UI/UX. For your next web design project, try some of these suggestions out and see how they work out for your client's business.

1. Know Your User

This is a no brainer.  You need to design for the user and not yourself.  Context plays a big part in the design.  What is the site about?  What is the purpose?  What is the end goal?  Design these things with both the user and client in mind.

Also, while you may know how to use a website because you designed it, your users might not have the same intuition to click something.  Make things more intuitive.

2.  Surprise The User

While I just said to keep things intuitive, surprise the user occasionally.  This will provide a better user experience and it will stay in the user's mind.

3.  Solve Problems

One of the many reasons you have been hired as a ui/ux designer is to solve problems.  A website or product can be a great tool for solving problems.  Solve these problems through design, but keep things intuitive and don't over-complicate.  Everything on your website is there to help the user.

4. Keep a Consistent Navigation



One of the easiest ways to confuse a user is to switch up the navigation.  You may think that your navigation gets boring if it remains the same across all pages, but really it is quite comforting to know where the navigation is, know where the links are within the menu, and where they are at within the site.

5. Rethink What You Just Designed

There are multiple ways of designing something within every aspect of your design.  There are thousands of fonts, colors, shapes, layouts, progressions, forms, etc. etc. etc.

For example, instead of a three column layout, try out a one column layout.  A one column layout will keep your layout more focused.  It leads to a better narrative and better attentiveness.



For more of these examples, there is a great blog called goodui.org.  I recommend reading every one of their posts.

Thursday, April 24, 2014

The Problems With Modern Web Design

Just recently, I made myself research the top web designers of our age.  Having an art history past, I am used to having artists to look up to or gain influence from.  I hadn't really thought about it until the other day when I asked a visiting graphic designer who he gets the most influence from.  And then it hit me,  there's gotta be some web designers that are making most of the content or, atleast, analyzing it.  And then I came across Trent Walton.

I just finished reading Trent Walton's post on "Device-Agnostic" web design and I couldn't agree more with everything he said.  We are in a point in time where designing for the web isn't as easy as it once was.  2.4 billion people are using the web and a lot of them are from developing countries.  This means the web is being accessed by an infinite amount of screen sizes, operating systems, devices, software versions, and connection speeds.  Thus, designing for the web has definitely become a challenge, but the thing to do is focus on the harshest conditions first, and then go from there.  Walton addresses four topics:

Hostile Browsers

Hostile browsers are a real problem.  People are using all sorts of browsers to view the web.  This includes browsers that are a few updates old to browsers that aren't even supported anymore, like the recently discountinued internet explorer 6 (thank god).  Other situations can occur such as javascript timing out or a mobile phone temporarily losing service.  Walton explains that we need to design using the progressive enhancement method.

According to wikipedia,


Progressive enhancement is a strategy for web design that emphasizes accessibility, semantic HTML markup, and external stylesheet and scripting technologies. Progressive enhancement uses web technologies in a layered fashion that allows everyone to access the basic content and functionality of a web page, using any browser or Internet connection, while also providing an enhanced version of the page to those with more advanced browser software or greater bandwidth.
This makes a lot of sense to me, but I am unsure how to provide different experiences based on who interacts with my content.  But I guess advanced browser software can be considered up to date modern browsers and everything beneath that mobile quality.  If that is the case, then designing for mobile first is definitely the smartest thing to do.  I am currently designing a mobile application using the Bootstrap framework.  Bootstrap is advertised as a mobile-first framework and I think there are a lot more of these frameworks popping up. Anyway, while the framework is advertised as a mobile framework, it provides an equal experience on a desktop.  Bootstrap is pretty popular as well, which means more people are designing in this modern way.

Tiny Screens

According to The Verge, mobile and tablet sales are far exceeding desktop sales.  Again, this means that mobile should be the first consideration when designing for the web.  On top of this, the experience needs to stay the same between all screen sizes.  Pages should not act wonky on mobile, fonts should look the same, and interactivity shouldn't be affected.  Furthermore, mobile-sensitive topics like data plans should be considered.  Having large images and HD video can really eat up a data plan.

Another problem is that sometimes the mobile website doesn't have all of the features that the desktop version has.  This is really annoying if you have to visit the desktop version of the site to do something.  This brings up the question: if it doesn't fit or work for mobile, why does it fit for desktop?

Slow Load Times

Nothing kills an experience like slow load times; we don't have time for it.  As designers, we are accustomed to building websites on fast servers around the office or at school.  But in reality, most of the web doesn't have the same quality of internet speed as we do. Since 2010, the average page size has doubled.  This is becoming a big problem, especially if we are in the mindset of designing for mobile first.

The problem lies within us, the web designers.

We need to be aware that everything we add to a page is adding more weight in file size.  We need to question ourselves: is what I just added valuable to the website?  Overall, just be more aware of files sizes.  You can fix this by minifying your code, using low quality jpgs over pngs, and when applicable, using code in the place of images.

Touch Inputs

We need to design with a fat-finger approach.  On desktop, links are often really small and only the size of the text that links. For mobile, buttons need to be a big size so that fingers can accurately press them. Design should be consistent across everything, so this needs to be something to think about.

Conclusion

In 2014, simply coding a site with a responsive framework doesn't cut it anymore.  Mobile pages need to work just as well as the desktop version.  Having a responsive site doesn't eliminate every problem: images still need to be compressed, hd videos shouldn't be on mobile pages, and specific phone orientations shouldn't be required.  In the end, it might be easier to design your website as if you are designing for mobile.  It really should be the first thing you consider when designing for the web in 2014.



Wednesday, April 23, 2014

Twitter Gets A Familiar New Look



If you haven't noticed yet, your Twitter profile page has received a makeover.

About a month ago, Twitter announced plans to roll out a new profile page that would make profile pages represent their owner's personality even more.  If you think about it,  the old Twitter profile page was pretty bland and generic.  However, their new page is eye-catching, but it does resemble something.  Twitter perhaps received some inspiration from Facebook because the two profile pages look pretty similar now.  They both have a profile picture nested in the top left corner along with a large cover photo that stretches across the entire top of the screen.  Below all of this rests content.

The new profile page

For Twitter, this now includes best tweets, pinned tweets, and filtered tweets.  Let's check them out!

Best Tweets


Notice the size difference.  The one on the bottom is part of the new best tweet feature
If you take a look at your new profile page, you might notice that certain tweets are larger than others.    This is because they have been labeled as a best tweet.  According to Twitter, the tweets with a lot of engagement will appear larger on your profile page, which makes it easier to find the most important or interesting content.

Pinned Tweets
They sit at the top of your profile page
Have a tweet you are super proud of?  Or perhaps a celebrity interaction?  You can now pin tweets at the top of your profile page so that others can quickly see them.  Ideally, you will want to pin a typical tweet so that new followers will know what you are all about.

Filtered Tweets

Twitter understands the importance of photos and videos.  They are visually stimulating and our eyes automatically fall on pictures over text.  If you want to just look at tweets that have pictures or video, you can now filter tweets on your timeline.  Other options include view all tweets and view tweets with replies.

All of this is a lot to take in.  If you don't want to switch right away, Twitter is not pushing the switch just yet.  You can demo these new features, but they won't stick until you tell Twitter that you are ready.  With that said, all of these new features improve an already amazing web experience.  I think I'm finished talking, so if you haven't tried out the new Twitter, visit your profile page and try it out!