I set out to do a quick and dirty typography overhaul to make things
more consistent and a bit cleaner, but I kept running into things I
didn't like, so this lead me down something of a rabbit hole of design
tweaks to the OSM site.
Goals here are to have better content hierarchy, better vertical
rhythm, more consistent UI, cleaner markup with less tables, all while
keeping the basics pretty much intact. There are a lot of things I
didn't touch even though they need to be updated (lots of tables where
stuff shouldn't be tables, mostly).
Basic overview of changes:
I added a new persistent header that helps segment pages. It's now
a lot easier to know what you're looking at. The header has a page
title, a description, plus a submenu of actions.
There is now a pattern of 20px/10px margins and padding for more
rhythm and breathing room throughout the site.
I know there are other problems here or things I've missed - would
love another set of eyes to look over this! I am still getting comfortable
working on the site - it's my first time ever digging into a ruby or rails
so I'm not familiar with the templating language yet.
Only allowing one second can fail sometimes, because if the actual
time is close to rolling over to the next second then the message
time will be rounded down but Time.now may roll over to the next
second before we get to the assertion.
In site/_resize.html.erb and site/_search.html.erb, a
params[:action] conditional is used to include code that
should only run on the index action -- but it should be run
on the export action too. Cleanest fix is to eliminate that
action entirely.
Rather than requesting a new key every time the zoom or layer
changes, serve up all the entries initially with appropriate
annotations to allow the client to decide which ones to show.