Articles
This section presents a list of software engineering articles that I've read and found to be worthwhile, especially in terms of best practices and standards support.
HTML5
- Markup as a Craft
- Forward Thinking Form Validation
- Have a Field Day with HTML5 Forms
- Working Off the Grid with HTML5 Offline
- Application Cache is a Douchebag
- Validating a Custom DTD
- Introduction to RDFa
Cascading Style Sheets
- Scalable and Modular Architecture for CSS
- Responsive Web Design
- Multi-Device Layout Patterns
- An Introduction To Object-Oriented CSS (OOCSS)
- Decoupling HTML from CSS
- Stop the Cascade
- Flexible Layouts: Challenge for the Future
- Fluid Images
- Create Columns Easily with the CSS3 Multi-Column Layout Module
- Respond to Different Devices With CSS3 Media Queries
- Essential Considerations for Crafting Quality Media Queries
- Techniques for Gracefully Degrading Media Queries
- Using CSS3: Older Browsers And Common Considerations
- Frameworks for Designers
- 12 Lessons for Those Afraid of CSS and Standards
- 70 Expert Ideas for Better CSS Coding
- 53 CSS Techniques You Couldn't Live Without
- Top Ten CSS Tricks
- The CSS Box Model
- All About Floats
- Faux Absolute Positioning
- Multi-Column Layouts Climb Out of the Box
- Everything You Know About CSS is Wrong
- CSS Crib Sheet
- Architecting CSS
- Modular CSS
- Improving Code Readability With CSS Styleguides
- Playing Nice with the Other CSS Kids
- IE CSS Bugs That'll Get You Every Time
- CSS Not([hacks])
- Picking a Rendering Mode
- Invasion of the Body Switchers
- In defense of CSS hacks—introducing "safe CSS hacks"
- Integrated Web Design: Strategies for Long-Term CSS Hack Management
- Fancy Form Design Using CSS
- Relatively Absolute
- The Definitive Guide to Using Negative Margins
- CSS Swag: Multi-Column Lists
- Do You Want To Do That With CSS? Multiple Column Lists
- Zebra Tables
- Colored Boxes: One Method of Building Full CSS Layouts
- Elastic Design
- Faux Columns
- The Box Model Problem
- Internet Explorer and the Expanding Box Problem>
- Containing Floats
- Taming Advanced CSS Selectors
- Styling using the lang attribute
- Showing Hyperlink Cues with CSS
- Attach icons to anything with CSS
- Styling Elements with Glyphs, Sprites and Psuedo-Elements
- Multiple Backgrounds and Borders with CSS 2.1
- How to Size Text in CSS
- Five Simple Steps to Typesetting on the web: Printing the web
- CSS Design: Going to Print
- Print to Preview
- WestCiv's Complete CSS Printing Guide
- Diagnostic Styling
- !important CSS Declarations: How and When to Use Them
- CSS Quick Tip: CSS Arrows and Shapes Without Markup
- A Pixel Identity Crisis
JavaScript
- It's time to start using JavaScript strict mode
- Creating Accessible JavaScript
- Accessible JavaScript: Beyond the Mouse
- The Importance of Maintainable JavaScript
- JavaScript Best Practices (Christian Heilmann))
- JavaScript Best Practices (Matt Kruse)
- Pragmatic Progressive Enhancement: Why You Should Bother With It
- Test-Driven Progressive Enhancement
- JavaScript Namespaces
- Essential JavaScript Namespacing Patterns
- The Elements of JavaScript Style: Part One, Part Two
- Essential JavaScript Design Patterns For Beginners, Volume 1
- Patterns For Large-Scale JavaScript Application Architecture
- Efficient JavaScript
- Behavioral Separation
- The Seven Rules of Unobtrusive JavaScript
- Getting Out of Binding Situations in JavaScript
- A JavaScript Module Pattern
- Providing script configuration in-line and programatically
- Event Delegation versus Event Handling
- Event-Driven Web Application Design
- Top 10 custom JavaScript functions of all time
- Ten JavaScript Tools Everyone Should Have
- Seven JavaScript Techniques You Should Be Using Today
- Six Key JavaScript Techniques
- Script Smarter: Quality JavaScript from Scratch
- From DHTML to DOM Scripting
- On-Demand JavaScript
- Get started with object-oriented JavaScript code
- Objectifying JavaScript
- A JavaScript Module Pattern
- Currying and Partial Functions in JavaScript
- Tackling JavaScript Strict Warnings
- Advanced Debugging with JavaScript
- Improving Link Display for Print
- The Art of Throwing JavaScript Errors
- Fixing the JavaScript typeof operator
- Who's Got Style?
- JavaScript Triggers
- User-Proofing Ajax
- When does JavaScript trigger reflows and rendering?
- Flash Embedding Cage Match
- Setting CSS3 Properties using JavaScript
- Five things to do to a script before handing it over to the next developer
- How, When, And Why Script Loaders Are Appropriate
Usability
- Usability 101: Introduction to Usability
- Ten Usability Heuristics
- The Golden Rules of User Interface Design
- Top Ten Web Design Mistakes
- Top Ten Application Design Mistakes
- What is Information Architecture?
- Screen Resolution and Page Layout
- Switchy McLayout: An Adaptive Layout Technique
- Return on Investment for Usability
- Corporate Usability Maturity: Stages 1-4, Stages 5-8
- Archiving Usability Reports
- Progressive Disclosure
- Middle-Aged Users' Declining Web Performance
- Command Links
- Avoid Within-Page Links
- Breadcrumb Navigation Increasingly Useful
- Forms vs. Applicatons
- Sensible Forms: A Form Usability Checklist
- Label Placement on Forms
- Primary & Secondary Actions in Web Forms
- Inline Validation in Web Forms
- Visio or HTML for Wireframes
- Should Links Open in New Windows?
- On Spawned Windows
- Beware of Opening Links in a New Window
- Open New Windows for PDF and other Non-Web Documents
- Checkboxes vs. Radio Buttons
- Mega Drop-Down Navigation Menus Work Well
- 'Not Found' Is Not An Option: Error Handling and User Experience
- How Little Do Users Read?
- F-Shaped Pattern For Reading Web Content
- Blah-Blah Text: Keep, Cut, or Kill?
- Eye Gaze Patterns while Searching vs. Browsing a Website
- The Best of Eyetrack III: What We Saw When We Looked Through Their Eyes
- Guidelines for Visualizing Links
- Show Numbers as Numerals When Writing for Online Readers
- Error Message Guidelines
- Why You Only Need to Test With 5 Users
- Quantitative Studies: How Many Users to Test?
- Card Sorting
- Feature Richness and User Engagement
Accessibility
- Web Accessibility for Section 508 (tutorial)
- Side By Side Comparison of WCAG vs. Section 508
- Beyond the Guidelines: Advanced Accessibility Techniques
- Understanding Disabilities when Designing a Website
- Bring on the Tables
- AJAX Accessibility Overview
- Making Ajax Work with Screen Readers
- Now You See Me
- Building Accessible Widgets for the Web
- Communicating Error Messages Accessibly
- A More Accessible Map
- Accessibility Hat Trick: Getting Abbreviations Right
- Facts and Opinions About PDF Accessibility
- Designing software architectures to facilitate accessible Web applications
- Big, Stark & Chunky
- 10 Accessibility Blunders of the Big Players
- Making Compact Forms More Accessible
General Web Design
- An Introduction to Content Security Policy
- Picking a Mobile Support Strategy For Your Website
- Progressive Enhancement
- Yahoo! Graded Browser Support
- A User-Centered Approach to Web Design For Mobile Devices
- Best Practices for Speeding Up Your Web Site
- Seven Guidelines for Designing High-Performance Mobile User Experiences
- Building a Metadata-Based Website
- A visual vocabulary for describing information architecture and interaction design
- Sitemaps and Site Indexes: What They Are and Why You Should Have Them
- Site Diagrams: Mapping an Information Space
- Make your site mobile friendly
- Pocket-Sized Design: Taking Your Website to the Small Screen
- Cool URIs don't change
- Introduction to URL Rewriting
- Predictive Fetch
- More Meaningful Typography
Web Standards
- What Every Web Site Owner Should Know About Standards: A Web Standards Primer
- Web Standards Switch or how to improve your Web site easily
- Making your website valid: a step by step guide
- My Web site is standard! And yours?


