Graduate Degrees in Human Factors
The following North American programs offer graduate training in human-computer interaction or software ergonomics.
BENTLEY COLLEGE
Waltham, Massachusetts
Design and Usability Center
Master of Science in Human Factors in Information Design
CALIFORNIA STATE UNIVERSITY, LONG BEACH
Long Beach, California
Psychology Department
Master of Arts Research: Applied Experimental/Human Factors Track
CALIFORNIA STATE UNIVERSITY, NORTHRIDGE
Northridge, California
Department of Psychology
Human Factors Graduate Program
CARLETON UNIVERSITY
Ottawa, Ontario
Department of Psychology
Graduate and Undergraduate Training in HCI
CARNEGIE MELLON UNIVERSITY
Pittsburgh, Pennsylvania
Human Computer Interaction Institute
Masters and PhD in Human-Computer Interaction
CATHOLIC UNIVERSITY OF AMERICA
Washington, D.C.
Department of Psychology
Applied-Experimental Psychology
CLEMSON UNIVERSITY
Clemson, South Carolina
Psychology Department
Applied Psychology Human Factors
DEPAUL UNIVERSITY
Chicago Illinois
Degrees in Human Computer Interaction
EMBRY-RIDDLE AERONAUTICAL UNIVERSITY
Daytona Beach, Florida
Department of Human Factors and Systems
MS in Human Factors and Systems
FAULKNER UNIVERSITY
Mongomery, Alabama
Department of Computer Sciences
Associate’s and Bachelor’s of Science in Informatics
FLORIDA INTERNATIONAL UNIVERSITY
Miami, Florida
Industrial and Systems Engineering
Human Factors and Ergonomics Concentration
GEORGE MASON UNIVERSITY
Fairfax, Virginia
Department of Psychology
Human Factors and Applied Cognitive Program (HFAC)
GEORGIA INSTITUTE OF TECHNOLOGY
Atlanta, Georgia
Master of Science degree program in Human-Computer Interaction
PhD in Human-Centered Computing
INDIANA UNIVERSITY
Bloomington, Indiana
School of Informatics
Masters and PhD in Human-Computer Interaction Design
IOWA STATE UNIVERSITY
Ames, Iowa
Human Computer Interaction Graduate Program
Masters and PhD in Human Computer Interaction
KANSAS STATE UNIVERSITY
Manhattan, Kansas
Department of Psychology
Cognitive and Human Factors Psychology
MISSISSIPPI STATE UNIVERSITY
Mississippi State, MS
Department of Psychology
Applied Cognitive Science
NEW MEXICO STATE UNIVERSITY
Las Cruces, New Mexico
Department of Psychology
Engineering Psychology
NORTH CAROLINA STATE UNIVERSITY
Raleigh, North Carolina
Department of Psychology
Ergonomics
NORTHEASTERN UNIVERSITY
Boston, Massachusetts
Department of Mechanical, Industrial and Manufacturing Engineering
Industrial Engineering with courses in Human Factors
NORTHEASTERN UNIVERSITY
Boston, Massachusetts
Department of Mechanical, Industrial and Manufacturing Engineering
Computer Systems Engineering with courses in Human-Machine Systems
NORTHWESTERN UNIVERSITY
Evanston, Ilinois
School of Communication / School of Engineering and Applied Science
Technology and Social Behavior
OHIO STATE UNIVERSITY
Columbus, Ohio
Department of Industrial and Systems Engineering
Human Factors Engineering
OHIO STATE UNIVERSITY
Columbus, Ohio
Psychology Department
Cognitive/Experimental Psychology
OLD DOMINION UNIVERSITY
Norfolk, Virginia
Department of Psychology
Human Factors/Industrial/ Assessment
PENNSYLVANIA STATE UNIVERSITY
University Park, Pennsylvania
Department of Industrial and Manufacturing Engineering
Human Factors/Ergonomics Option
PURDUE UNIVERSITY
West Lafayette, Indiana
School of Industrial Engineering
Human Factors Engineering
RENSSELAER POLYTECHNIC INSTITUTE
Troy, New York
Department of Language, Literature, and Communication
M.S. in Human-Computer Interaction (HCI)
RENSSELAER POLYTECHNIC INSTITUTE
Troy, New York
Department of Psychology, Philosophy, and Cognitive Sciences
Human Factors and Engineering
RICE UNIVERSITY
Houston, Texas
Interdisciplinary Graduate Program in Human-Computer Interaction
SAN JOSE STATE UNIVERSITY
San Jose, California
College of Graduate Studies
Human Factors/Ergonomics
STATE UNIVERSITY OF NEW YORK AT BUFFALO
Buffalo, New York
Department of Industrial Engineering
Human Factors Engineering
STATE UNIVERSITY OF NEW YORK AT OSWEGO
Oswego, New York
Masters of Arts in Human Computer Interaction
TEXAS TECH UNIVERSITY
Lubbock, Texas
Department of Psychology
Human Factors and Applied Cognitive Psychology
TUFTS UNIVERSITY
Medford, Massachusetts
Department of Mechanical Engineering
AND Department of Psychology
UNIVERSITY OF CALGARY
Calgary, Alberta
Perception, Aging and Cognitive Ergonomics (PACE)
UNIVERSITY OF CALIFORNIA BERKELEY
Berkeley, California
School of Information, Human Computer Interaction program
UNIVERSITY OF CENTRAL FLORIDA
Orlando, Florida
Department of Psychology
Human Factors Psychology
UNIVERSITY OF CENTRAL FLORIDA
Orlando, Florida
Industrial Engineering & Management Systems Department
Master of Science in Human Engineering & Ergonomics Track
UNIVERSITY OF CINCINNATI
Cincinnati, Ohio
Department of Psychology
Human Factors
UNIVERSITY OF DAYTON
Dayton, Ohio
Department of Psychology
M.A. Program in Experimental-Human Factors Psychology
UNIVERSITY OF IDAHO
Moscow, Idaho
Department of Psychology
Psychology with Human Factors Emphasis
UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN
Champaign, Illinois
Department of Psychology and Department of Mechanical and Industrial Engineering
Engineering-Psychology
UNIVERSITY OF IOWA
Iowa City, Iowa
Department of Industrial Engineering
Human Factors/Ergonomics
UNIVERSITY OF LOUISVILLE
Louisville, Kentucky
Department of Industrial Engineering
Industrial Engineering with emphasis in Human Factors Engineering
UNIVERSITY OF MARYLAND
College Park, Maryland
Human-Computer Interaction Lab
Undergraduate and PhD in HCI
UNIVERSITY OF MASSACHUSETTS AT AMHERST
Amherst, Massachusetts
Departments of Mechanical and Industrial Engineering
Human Factors and Ergonomics
UNIVERSITY OF MICHIGAN
Ann Arbor, Michigan
The School of Information
Masters degree in Human Computer Interaction
UNIVERSITY OF MINNESOTA
Minneapolis, Minnesota
Graduate Studies
Interdisciplinary Graduate Minor Program in Human Factors/Ergonomics
UNIVERSITY OF MISSOURI – ROLLA
Rolla, Missouri
Information Science and Technology Department
Human-Computer Interaction Programs
UNIVERSITY OF OKLAHOMA
Norman, Oklahoma
School of Industrial Engineering
Ergonomics/Human Factors Engineering
UNIVERSITY OF SOUTH DAKOTA
Vermillion, South Dakota
Department of Psychology
Human Factors Program
UNIVERSITY OF TORONTO
Toronto, Ontario
Department of Mechanical and Industrial Engineering
Human Factors Engineering
UNIVERSITY OF VIRGINIA
Charlottesville, Virginia
Department of Systems Engineering
Cognitive Systems Engineering
UNIVERSITY OF WATERLOO
Waterloo, Ontario
Department of Systems Design Engineering
Human Systems Engineering
UNIVERSITY OF WISCONSIN-MADISON
Madison, Wisconsin
Department of Industrial Engineering
Human Factors Graduate Program
VIRGINIA POLYTECHNIC INSTITUTE AND STATE UNIVERSITY
Blacksburg, Virginia
Department of Industrial and Systems Engineering
Human Factors Engineering and Ergonomics
WICHITA STATE UNIVERSITY
Wichita, Kansas
Department of Psychology
Human Factors Psychology
WRIGHT STATE UNIVERSITY
Dayton, Ohio
Department of Biomedical, Industrial & Human Factors Engineering
Human Factors Engineering
WRIGHT STATE UNIVERSITY
Dayton, Ohio
Department of Psychology
Human Factors and Industrial/Organizational Psychology
Source : Humanfactors
Filed under Design
Steps for WebSite Development
Understanding design
- No-one looks at the screen
- Scanning – Why web users scan and what designers can do to help
- Content
- How people use web pages
- People are impatient
- Other factors affecting the web browsing experience
- The Brain’s strengths
Principles of web design
- Simplicity in web design
- Trusting the user
- Don’t Decorate, Communicate!
- Golden Rule of web design
- Conventions in web design
- Branding for web sites
- The Sphere of Design
Design Process
- Attention Map
- Design like no-one’s watching
- The Design Spectrum
- Don’t Decorate, Communicate!
- Golden Rule of web design
- Pursuit of the Original
- Simplicity in web design
- Think Then Do
- Work smart, not clever
Opinion
- Stuff we love
- Learn to type!
- Pursuit of the Original
- Why code by hand
- Why most web sites suck
- The future web 2.0 social experience
- Web Sites and Buildings
- Harvey Nichols site critique: 2001
- Harvey Nichols site critique: 2004
Business
- Setting up in Web Design
- Outsourcing: How to use freelance talent effectively
- Pricing and selling web design
Goal-oriented Design
- About goals
- Your goals
- Your site’s goals
- Users’ goals
- Win-win solutions
- Personas
- The Site Persona & Dialogue Process
- Splitting the experience
Graphic Design for the Web
Graphic design basics
Page layout
Visual techniques
- 3D Effects in graphic design for the web
- Logo design
- Text-based logos
- Favourite logos
- Current style in Web Design
- Web 2.0 Design Style Guide
Case studies
Site Architecture
- Information Architecture models
- Information Architecture 101
- Navigation models for web sites
- Case study: Business Improvement Network
- Case study: Bytecon
Usability
- Behaviour of web sites and applications
- Trusting the user
- Clear hyperlinks
- Effective text: Benefits of text over graphics
- Logical order of page components
- Using mouseovers in web design
- Designing navigation for web pages
- Readabilty
- Case study: Kemik online art portfolio
Copywriting
- Writing for the Web
- Copywriting case study: Bytecon
- Case study: Business Improvement Network
- Case study: Foruse
Production
- How HTML, CSS and JavaScript work together in making web pages
- How to make a web site
- Why code by hand
HTML
CSS
JavaScript/DHTML
- JavaScript 101: Hello World!
- Datasheet-style form using HTML, CSS and JavaScript
- Tabular list-style form using HTML, CSS and JavaScript
Source – Web Design from scratch
Filed under Web-Linked
O’Railly publishes book on Facebook API
The Facebook Application Platform
Facebook bet that opening its Application Platform would spur growth and build buzz, giving it an edge in the white-hot social network popularity contest. Four months and nearly 5000 applications later, it looks like that bet is paying off.
The report:
- Sizes up the Facebook opportunity–who’s making money, and how?
- Lays out best practices of marketing with Facebook Applications, aka Social Media Optimization (SMO)
- Identifies the top 200 Facebook applications and plots their growth rates
- Goes beyond Facebook, and scopes out the emerging widget economy
Content:

by Tim O’Reilly and the O’Reilly Radar Team, with Niall Kennedy & Dave McClure
October 2007, Download Excerpt
$149.00, PDF + 2 updates
Source: O’reilly.com
Filed under Web-Linked
Create Your 1st Facebook API
From Members perspective:
- They use them to dress up their profile pages with everything from maps showing what countries they’ve visited to outfits from a retail site to favorite YouTube videos.
- They send virtual cocktails and gifts to each other, share reviews of favorite books and movies, and play poker together among numerous other things.
From Developers perspective:
- Many of the developers of these applications are entrepreneurs looking to start new businesses while others are expanding existing ones.
- The applications, which are inexpensive to create, have the potential to become a large source of revenue and customers for those companies that can successfully mine Facebook’s 30-million-strong community.
- Companies are using a host of business models. Some, for instance, are selling advertising around the applications, while others promote their own products and services on Web pages shown to users of their applications.
- New entrepreneurs entering the arena are bringing with them applications that are more sophisticated and can engage users more often and for longer periods of time.
These two sites serve completely different purposes:
developers.facebook.com is for news, documentation, resources and tools. It’s the official home of all Facebook development reference material, and you don’t need a Facebook account to access this site.
facebook.com/developers could be considered a “control panel” for developers. It looks a lot like a page for a Facebook group – there’s a “latest news” panel, a discussion board and a list of members – and it’s where you manage the applications that you are creating. You need a Facebook account to access this site, and you need to access this site to create Facebook applications.
http://apps.facebook.com/wikimono/page?page_gid=9 – Knowledge base API created by one of the developers.
Facebook applications don’t live on Facebook’s server. Instead, they live on their developers’ servers and are called by Facebook whenever a user enters them.
Procedure of creating an application:
To get started, following is required:
A Facebook account
- A server running PHP 5 that can be accessed from the outside world via URLs
- Facebook’s client library code, which you can download from the Facebook Developers Resources page.
Initial three steps are:
- Enter the name of your application into the “Application Name” field. This will be the display name of your application.
- Read the terms and conditions and check the checkbox to indicate that you have read and agree to the terms and conditions.
- Click the “Optional Fields” link.
Optional Fields:
Support Email – This will be automatically filled in with the email address that you use to log into Facebook. This is also an email address that will be made available to your users for support calls.
Callback URL – the code for your Facebook app doesn’t live on Facebook’s server; it lives on your server. Fill this field with the URL for the directory in which your app will reside.Your server name – XYZ.com
Name of the directory created on server – facebook
Application name – Test-app
example of Callback URL – http://xyz.com/facebook/Test-app.
Canvas Page URL – Within Facebook’s navigation system, your app will be accessible from some subdirectory of apps.facebook.com/XXX. You need to provide a unique name for that directory.
Only letters, dashes and underscore is allowed for the directory name. No numbers allowed.
For example: http://apps.facebook.com/XXX
Use FBML Vs. Use iframe -
These are the Pros
1. For FBML pages, Facebook sometimes does not call your server and displays an error message blaming it on you. For IFRAME, if the outside Facebook page gets called, your IFRAME page will always be called. (Common issue – server timed out error)
2. Within an Iframe, developer can use any JavaScript, CSS, AJAX, and Flash you like. You can even make the Flash auto-play.
3. If you have existing code, it will be easier to go with IFRAME (although it may not match Facebook’s look & feel)
These are the cons
1. You can’t use any FBML tags. To display a thumbnail of a friend becomes much more complex (you have to get the name and image file yourself, instead of just passing in the uid in a tag). In short, development using FBML is far simpler than Iframe.
2. If your IFRAME page is longer than the browser, it will display the scrollbar in the frame. However, FBML pages place the scrollbar on the overall page, which is more intuitive for users.
3. There are many more bugs with IFRAME because less developers are using it.
4. Facebook gives you a choice for canvas pages: either FBML or IFRAME. But the profile page can only be FBML.
New window will open
5. One advantage of FBML could be that the page would load faster, the browser doesn’t need to download all the duplicate css and javascript to do collapse and auto-complete.
Application type – Website or Desktop app
IP Addresses of Servers Making Requests – Requests from IP addresses other than the ones listed in this field will be rejected.
Can your application be added on Facebook? – Application can be added to a user’s Facebook account.
Terms of Service URL – This is an URL on your server where the “Terms of Service” page for your app lives.
Developers/ Co-developers name – Logged in developers name is displayed by default. Friends can be added as co-developers.
Icon – Displayed in the left menu of Facebook if the application has been added in the user’s profile.
On click ‘Yes’, in response to ‘Can your app be added on facebook?’ two new areas appear on the screen.
Installation Options:
Post-add URL – This is the URL that the user is redirected to after installing your application. Enter your full Canvas Page URL. For example, http://apps.facebook.com/Test-app.
Application Description: You can put a brief description of your app here for the benefit of users who are considering adding it.
Post-Remove URL: This is the URL that the user is redirected to after removing your application
Default FBML: This is the default content of the application if it hasn’t been set by your app
Default Profile Box Column: This specifies which column of the page your app should live in when first added by the user.
Developer Mode: This specifies whether only developers of the application are allowed to add this app.
Integration Points:
Side Nav URL: This is the URL for the app if a link to it is to appear in the side navigation.
Privacy URL: This lets you specify a link for a privacy configuration page for your application.
Help URL: This lets you specify a link for a help page for your application
Private Installation: Checking this box disables News Feed and Mini-Feed installation stories for your application.
After you click the Submit button on the New Application page, My Applications page will be displayed as shown below:
Downloads: Once the application is created, developer should download platform client library.
Platform Components:
FBML V1.0 (Facebook markup language): Evolved subset of HTML with modified elements for FB API. Valid HTML elements are also predefined by FBK.
FBML tags
- User/Groups
- Profile Specific
- Embedded media
- Tools
- Visibility on profile
- Deprecated tags
- Misc
- Forums
- Message/ Wall attachment
- Notifications and alerts
- Status messages
- Editor display
- Page navigation
- Dialog
- Wall
- Dynamic FBML attributes
- Visibility
- Mock AJAX
- Forms
- Require Login
- FBJS
- FBJS DOM object
More info @ http://wiki.developers.facebook.com/index.php/FBML
FQL (Facebook Query Language): FQL is a way to query the same Facebook data you can access through the other API functions, but with a SQL-style interface.
More info @ http://developers.facebook.com/documentation.php?doc=fql
Facebook API structure/ Integration points for API:
- Product Directory – Application name and description
- About – Application details page
- Left Nav – Applications can have their icon and name added to the left hand Facebook navigation. This will link to that application’s homepage.
- Facebook Canvas Pages – Facebook Canvas pages are presented within the Facebook frame and can either be FBML or an external html site presented within an iframe. Home – An application’s homepage is accessed from the Facebook Left Nav.User Dashboard – This is where users manage their own content within an application or see information about another user’s content within that application.Settings – User settings for a particular application.
- Profile – Members Facebook profile Profile Box – Shows most recently updated information.Profile Action Links – Quick links to added applications.
- Privacy Settings – Member will be able to set who can see your application’s profile box from Facebook’s privacy page. Any other privacy settings you wish to incorporate should be built into your application’s privacy/settings page.
- News Feed – Applications can access News Feed and post stories to it.
- Alerts – Applications can send notifications to a user through email. The user of the application who triggers this action must approve of the email, and users can opt out of receiving the email for any application that has ever sent them emails.
- Message Attachments – Members can send a message with an attachment for any one of their added applications.
- Requests – Applications can create requests that show up at the top right of a user’s homepage. These requests are usually initiated by a user’s friend and often require the user to take some form of action.
- Notifications – Facebook will only let you send 10 notifications at once and only 20 a day for each user. Notifications can only be sent to friends of the user.
http://wiki.developers.facebook.com/index.php/Notifications.sendDevelopers have discovered a way around for this limitation
http://www.facebook.com/topic.php?uid=2205007948&topic=12404
Points of API integration to Members profile:
Just before adding any application, the following options are displayed,
Allow this application to…
- Know who I am and access my information (Mandatory to add any application)
- Put a box in my profile
- Place a link in my left-hand navigation
- Publish stories in my News Feed and Mini-Feed
- Place a link below the profile picture on any profile
Measurement criteria for Facebook applications:
Facebook Application Directory limitations:
Registration can take anywhere from a few hours to a few days
- The search engine doesn’t work, or seems to be refreshed only every few days (e.g., your newest application might not be fetched by the search engine even though it is already in the directory)
- The “Recently popular” applications, which is the default tab any user sees first, are chosen following a popularity algorithm that is not fully published yet.
- ‘Daily active users’ is actually the no. of unique visitors from the previous day.
- Check the Top 100 apps on Appsaholic
Filed under Web-Linked
GUI Widgets
In computer programming, a widget (or control) is an interface element that a computer user interacts with, such as a window or a text box. Widgets are often packaged together in widget toolkits. Programmers use widgets to build graphical user interfaces (GUIs).
Various widgets
- Selection
- Window
- Modal window
- Dialog box
- Palette window, also known as “Utility window”
Filed under Design
Apple Human Interface Guidelines
Index of Apple Human Interface Guidelines

Human Interface Design Principles
- Metaphors
- Reflect the User’s Mental Model
- Explicit and Implied Actions
- Direct Manipulation
- User Control
- Feedback and Communication
- Consistency
- WYSIWYG (What You See Is What You Get)
- Forgiveness
- Perceived Stability
- Aesthetic Integrity
- Modelessness
- Managing Complexity in Your Software
Keep Your Users in Mind
- Build on the Existing Interface
- Don’t Assign New Behaviors to Existing Objects
- Create a New Interface Element Cautiously
Source:






