RSS

Reading: June 2010

Comments Off | This entry was posted on Jul 07 2010

Reading: April 2010

0 Comments | This entry was posted on May 02 2010

How to be a front-end engineer

8 Comments | This entry was posted on Apr 28 2010

“As far as the customer is concerned, the interface is the product.” - Jef Raskin

For the last few days I’ve been researching on “front-end engineering”. As Mark Meeker says, it has other names like “front end development” or “UI engineering” or “web development” or “web production”. Whatever we call it, it is out there and it has got great attention for the last few years. To get some interest, lets see a slide show “Introduction of front-end engineering” by Mark Meeker.

If you search at job sites, you will get many positions out there. But if you do Google for “Front-end engineer” you won’t get much resources compared to other rules in the web development industry. It’s so sad. So here, I will describe (mainly link to other resources out there) what I’ve got from research. I’ve divided the process into few steps. I know, many won’t agree with me. But it’s just what I understood and may help many people like me (web designer) who is searching for a way to make a great future.

1. Designer phase
2. Markup or CSS/XHTMLizetion phase
3. JavaScript phase
4. Professional Front-end Engineering phase

 1. Designer Phase

You are a graphics or web designer. You can design eye catching layouts. Know web 2.0 trend very well. You follow the latest web trends. Typography, layout structure, grid based design, simplicity, contrast, color you know each of them very well. You are pixel perfect ninja with your design skills. At the end of the day, you have to develop the layout from those design or the design team can provide you that. It may be a Photoshop or Illustrator composition or may be any other graphics software. You must know how to handle raw files of the graphics software very very well. I saw at some front-end engineer job description that “you must be able to fix single pixel destruction from a given design.”

Here you will deal with and better you make yourself master of them:

* Design concepts
* Grid System
* Typography
* Color Concept
* Contrast
* Screen Resolution
* Illustration
* Sketching
* Web 2.0 design trends
* Adobe Photoshop
* Adobe Illustrator
* Adobe Fireworks
and any other graphics software you prefer.

Updated link:

50 Totally Free Lessons in Graphic Design Theory

 2. Markup or CSS/XHTMLizetion phase

Before this phase, you are just a graphics designer. Because web designers must have markup skills. So, this phase is very much important to be a front-end engineer. You have to dedicate you life at this phase. It may be your composition/design which will be sliced and turned into markup. Or other designer or design team will provide you the layout for markup. It could be Photoshop, Illustrator, Fireworks and any other graphics file format. This must be a raw file format with capability of editing. And you will just make it alive with XHTML and CSS.

In this phase you will be a XHTML/CSS hand coding ninja. Your code will be valid, standard compliant.  You play with accessibility and usability every now and then. Search Engine Optimization (SEO) is on your fingertips. You are the clever divider of content and presentation. You make it’s shape fixed or liquid. Cross-browser compatibility is your only countable enemy. But at the end of the day YOU always win. You the man who can give soul to the web page - it’s you who will make it best or worst!

You will be a master of:

* HTML / XHTML / HTML5
* CSS / CSS3
* Progressive Enhancement
* Search Engine Optimization (SEO)
* Accessibility
* Usability
* CSS Frameworks
* Cross-Browser compatibility
* Debugging and fixing codes (with Firebug, IE Developer Tools, YSlow etc…)

3. JavaScript phase

Before this phase, we are in almost static position. We can change images on hover by CSS, but they are up to very limited stage. In this phase, we will be functional and dynamic by the world’s most used programming language, JavaScript. You will be able to manipulate in any way by Document Object Model (DOM). You know too much in depth of a HTML/XHTML document structure. You could be able to bring determinism in a static HTML/XHTML document by using DHTML. If you search at the job site for front-end engineer, each any every job requirement mentions “You must know JavaScript more than you own hand.” So, you eat, sleep, play, joke, dream, talk with JavaScript in this phase. The better you know JavaScript the better it is for you to be a Professional front-end engineer. You also know various JavaScript frameworks. Most of the works are done by the framework now a days. So you must know more than 2 frameworks to work with.

You will be a master of:

* Document Object Model (DOM)
* JavaScript
* DHTML
* JavaScript libraries (incliding jQuery, YUI Library, MooTools, Dojo, Prototype, script.aculo.us and many more)

4. Professional Front-end Engineering phase

Now we’ve come to the serious phase. At this phase, you will be responsible for managing the web site like Yahoo!, Google along with a team of talented people. You will be a master of your profession in all directions. You make decisions depending on experience with the help of cutting edge technologies. Actually you will introduce new way of solving problems.

Nicholas C. Zakas is currently the principal front end engineer for the Yahoo! homepage and is a contributor to the Yahoo! User Interface (YUI) library, having written the Cookie Utility, Profiler, and YUI Test. Author of many books on JavaScript. He described What makes a good front end engineer?   He also described the process “Interviewing the front-end engineer” and how to “Surviving an interview with me.”  Definitely you will get an idea of what is professional front-end engineering work by reading his blog.

Another Yahoo! guy, Nate Koechley have released a video about “Professional Frontend Engineering”. May be one of the best ways to understand what is professional front-end engineering and how it works. You will get the full transcript of that video here.

* AJAX
* HTTP Request
* Site Security
* JSON
* Web Service
* XML / XSLT
* Team Management

Other Qualities you must have:

Communication: You have to be a great communicator if you want to be a  professional front-end engineer. As Nicholas C. Zakas mentioned at his What makes a good front end engineer? article, you have to communicate effectively with product managers, User interface designer, Engineering management and end users.

Self Learner: Front-end engineering is the most self learning role in the computer science industry. Almost every guy in this profession are self learned. We haven’t been taught  our skills at college or seminars. And as is stated before, there is not much resource in the web too on the topic. It is very hard to find a professional front-end engineer to help you out.

Problem Solving: There are many ways to solve a problem. You must be a master of solving a problem in as much ways as possible.

Quick Learner: Nicholas C. Zakas says “A good front end engineer needs to be able to pick things up quickly. The technologies powering the Web aren’t standing still, people. I’d go so far as to say things are changing on almost a daily basis and it’s up to you to keep up with these changes. There are always new techniques and paradigms to consider and digest as part of your discipline; you cannot just rest on what you know today. The Web of tomorrow will be drastically different from the Web of today and it’s your job to understand what that difference means to your web application.”

Get real life requirements and responsibility for front-end engineering

The best way to get  a job requirement is in the job sites. Search for “front-end engineering”, you will get lots of jobs with requirements. Which could guide you a long way. There you will get what kind of responsibilities you have to maintain. So you could prepare yourself.

* Smashingmagazine
* Simply Hired
* Yahoo! Jobs
* Indeed
* 37signals Job Board
* Krop
… and thousands more job sites.

Slide Shows:

Introduction to Front End Engineering

Front end engineering, YUI Gallery, and your future

Note: Special  thanks to Shahriar Hyder for helping me on this article.

Reading: March 2010

0 Comments | This entry was posted on Apr 06 2010

Reading: July 2008

Comments Off | This entry was posted on Aug 04 2008

Reading: June 2008

Comments Off | This entry was posted on Jul 01 2008

Reading: May 2008

Comments Off | This entry was posted on Jun 04 2008

aesthetic principles of design

Comments Off | This entry was posted on Dec 23 2007

I came across this great article. And I want to share it with you. I got it from http://euphrates.wpunj.edu/courses/arts350/aesthetics.html

What makes for good design? Here are a list of aesthetic principles to consider when creating or evaluating design:

1.) Heirarchy -setting priorities.
What’s the most important thing, visually, in this layout? Is it the most important, most attractive or most convincing part of the message? What’s next? What’s last?

2.) Emphasis and focus -the visual expression of heirarchy.
Once you know what’s most important, use visual emphasis to focus attention through size, position, value, and color.

3.) Contrast -big/little, crowded/open, orange/blue.
Contrast is the tool of emphasis, which helps you set that heirarchy, focus attention and create drama.

4.) Tension -throwing things off a little.
You create tension by manipulating relative position. Place things a little too close together, or set up a little too much contrast in their visual weights. Tension helps make the design aesthetic.

5.) Balance -creating a gravitational axis.
Balance doesn’t have to be symmetry. By opposing dense detail with open space, or heavy elements with lighter ones, balance can be asymmetric and, again, athletic.

6.) Rhythm -variety and pattern.
Variety relieves the eye, and pattern helps the mind make sense of it. In multipage works, rhythm creates pacing across the whole.

7.) Flow -leading the eye across the surface.
This should happen in a desired sequence.

8.) Depth -leading the eye beyond the surface, or making things jump out from the surface.
Depth is the most inherently contradictory illusion of 2D design, and therfore, one of the most compelling.

9.) Scale -the illusion of size.
The size of elements relative to one another is important, of course, but the size of things in relation to the format and the size of the format itself are also worth considering.

10.) Movement -the illusion of physical interaction among elements.
Usually figurative -with elements angled or poised like bodies in motion -movement can also be created with such optical effects as linear repetition, visual vortexes and the like. Used deliberately, suggested movement can have a marked emotional and physical impact on a viewer.

11.) Unity -that which holds the piece together.
Color can unify a design, as can a grid, visuals that represent related subjects or a consistant style of imagery. In an age of over-stimulation and cacophony, unity is often underrated.

Notable Points #1

Comments Off | This entry was posted on Dec 03 2007

I read several articles every day. And so do others. We just read and forget big articles. But we remember the key points of the article or at least try to memorize them. But now a day, time is important for real work. So there is no room to read every article line by line. For them (myself also) I will note out the points of the article and jot them here, in this title. So it will be easier for future reference. At the bottom of the points, I have added the list of the articles from where the points are taken. Anyone interested to know more, just click and go to the read article. Cheer up…

  • Gather as much evidence as possible while work freelance. It’s wise to gather them project wise.
  • Be-friend, don’t use. You should actively seek to find a genuine, personal connection and, if you still can’t find one, then either be transparent about your motives or move on. Nobody likes to be used.
  • Push Yourself and Get Good. You need to be pretty good. I like to think that there is an 80/20 rule lot more effort (and/or talent).
  • Be Likeable, Excited and Enthusiastic.
  • Be Referable! A large number of jobs for most freelancers come from referred clients. Do a good job for one person and they tell others for you.
  • Reliability is one of the most prized characteristics for a freelancer. Focus on the characteristics that make people want to work with you, and be reliable, very reliable.
  • Design the portfolio you think your clients want to see
  • Focus on Clients and Be Flexible
  • If you want to make things to please yourself, go be an artist.
  • Get a High Profile
  • The “stick to what works” mentality can sometimes work, and other times make you a dinosaur.
  • The function of design is to make the product more usable and improve the usability of the product’s function.
  • The simpler and better the design can be, the more enjoyable and easier it makes our lives.
  • Even though the cookie-cutter designs work for a while, the truly good designs are the original and fresh concepts that change the way we look at things.

Where I’ve got them?
A lesson to all freelancers (part 1)
How to optimize your networking energy
The Secret to Getting a Lot of Web Design Work
Is good design just a formula?

What is Web Design?

Comments Off | This entry was posted on Nov 21 2007

Jeffrey Zeldman publishes A List Apart and The Daily Report, runs Happy Cog Studios, wrote Designing With Web Standards 2nd Ed., and cofounded An Event Apart with Eric Meyer. Wikipedia and Happy Cog have bios.

Recently he published an article on “Understanding Web Design”. He tried to show the various use of web design with different medium. At a point he defined what the web design is?

“Web design is the creation of digital environments that facilitate and encourage human activity; reflect or adapt to individual voices and content; and change gracefully over time while always retaining their identity.”

Read the whole article at A List Apart