Making a Website: 1999 vs Now
I’m beginning to question whether a one-man (or one woman) team can stay in the game. Like most other skillsets in the information technology field, complexity grows, and specialisation becomes increasingly important.
It reaches the point where you are juggling so many balls in the air, that you live with this jittery tension – “Which ball am I about to drop?” or “Which ball have I not even picked up?”
1999: Making a Website
<table>tag (for layout).
2013: Making a Website
Do the following (in no particular order):
1. HTML & CSS
- Favicon – Need one (see favicon cheat sheet).
- Apple touch icons – Maybe.
- Browser Compatibility – Still care about old versions of IE?
- Rendering Speed – Check your paint speed is 60fps (re: animations, parallax scrolling, etc).
- CSS – Use a preprocessor (SASS/LESS)? How to write your CSS? Is it maintainable? Do you understand CSS performance? How to possibly keep up with new features, and which browsers implement them?
- CSS Transformations and Animations – When is it appropriate to use? Best practice. How to create intuitive interfaces with minimal cognitive strain.
- Server performance – fast host? Low latency? Memory implications. GZIP configured properly. Apache or NGINX? Install any more modules to help performance?
- Database – MySQL performance and overhead.
- Caching – Is the CMS cached? What sort of caching solution? Is it implemented correctly?
- Rendering – Issues with paint speed, scrolling?
- Monitoring – Pagespeed, YSlow, Pingdom, Network waterfalls.
- Basic AJAX skills
- Other 3rd party libraries and frameworks: Bootstrap, Foundation, etc.
- Source Control – Git?
- Create a Facebook Page, and somehow find the time to engage with it, update it with witty posts and updates, and get people to LIKE it.
- Create a twitter account. Follow people. Engage with them. Don’t just post your latest content.
- Google+ Publisher Page: Google wants us to create one, but it’s just another thing to look after.
- Extra: An instagram account. A Pinterest profile. For the real masochists: Your own YouTube channel.
- Social Media Buttons. I’m constantly struggling with this. I know I need the buttons, but the standard implementations are bloated and slow my page. Do I create some custom buttons? Do I mess around with some other widget or plugin? Do I keep the styling the same as the official buttons or go for something new?
- Email newsletter – Signup form on site. It is placed well? Are people signing up? Do I use Aweber or Mailchimp or …? How often do I send out emails? Do I need do design a custom layout? Can I automate it? Are people engaging? What’s the reach and click rate? Is email responsive? (tricky as only inline CSS is available).
5. Design and Layout
- Fonts – Forget Arial and verdana. Need to be using custom fonts – but careful now, don’t want to slow page load down too much. Use Google Fonts, or splash out for TypeKit?
- Typography – Clean readable layouts are important – I find myself endlessly tweaking.
- SVG – Can use for repeating backgrounds, or for icons.
- Icon Fonts – Best method for using icons on your site (should I load them as separate font, or inline them as base64 in my CSS?).
- Images – Know your lossless from lossy. PNG, JPG, or GIF. Use Progressive JPEGs for photos. Optimize before publishing.
- Search Feature – Do I need to put a search bar on my site? What do I use?
- Design trends – Who can keep up with this? This is an entire specialised skillset in itself. Those of us with developer backgrounds tend to be poor designers.
- Graphics – Logo design and other custom graphics: which tools? Photoshop, Fireworks, etc.
6. Mobile Strategy
- Responsive site or separate mobile version?
- Performance – A real issue over 3G networks.
- Design and navigation – is it working? How do I know if mobile users are enjoying the site? How to deal with images, retina displays.
- Testing – How many devices do I test on?
- Screen Reader styles?
- ARIA codes – how thoroughly do I want to implement these?
I’ve come to hate the word, and wonder whether it is even relevant anymore in an age where Google alone seeks to become the answer to all knowledge.
- Technical SEO – Canonical header, avoiding duplicate pages, do some pages need to be noindexed,
- Publisher Markup – Should I include it? Should I use rel=”author” and link to content to a Google+ Page?
- Links – I’ve created something I like, how do I get other people to notice it, and possibly link to it?
- 404 and HTTP Headers – Have a custom 404 page. Make sure you’re serving the correct headers.
- Link Analytics: MajesticSEO, ahrefs, Moz Analytics, Google Webmaster tools.
- Use nice friendly URLs that aren’t too long.
- Editor – What should I use? Coda 2, Espresso, Dreamweaver, Sublime Text?
- Deployment – FTP? Source control like GIT?
- Backups – Am I keeping my local backed up properly. Do I have a failsafe production backup system in place?
- Security – Strong passwords, server secured and patched, tight code (especially on forms). Strategies for dealing with spam.
- Web analytics – Powerful but increasingly complex and takes time to draw conclusions. Options: Google Analytics, Mint, Mixpanel, Clicky
- 404s – Keep an eye on linkrot, and costly 404s.
- Uptime and Response time monitoring: Alertra, Pingdom.
Making websites used to be fairly simple. Not so much anymore – especially if you are a team of one.
Updated for 2014