{"id":280948,"date":"2019-01-08T07:55:12","date_gmt":"2019-01-08T14:55:12","guid":{"rendered":"http:\/\/css-tricks.com\/?p=280948"},"modified":"2019-01-08T07:55:12","modified_gmt":"2019-01-08T14:55:12","slug":"the-10000-year-clock-design-principals","status":"publish","type":"post","link":"https:\/\/css-tricks.com\/the-10000-year-clock-design-principals\/","title":{"rendered":"The 10,000 Year Clock Design Principals"},"content":{"rendered":"

In the new year edition of the Clearleft newsletter<\/a>, Jeremy Keith linked to the design principals Danny Hillis thought about while considering a clock that would work for 10,000 years. <\/p>\n

Here’s part of that page, satisfyingly displayed as a <dl><\/code>:<\/p>\n

\n
\n
Longevity:<\/b><\/dt>\n
Go slow<\/dd>\n
Avoid sliding friction (gears)<\/dd>\n
Avoid ticking<\/dd>\n
Stay clean<\/dd>\n
Stay dry<\/dd>\n
Expect bad weather<\/dd>\n
Expect earthquakes<\/dd>\n
Expect non-malicious human interaction<\/dd>\n
Dont tempt thieves<\/dd>\n
Maintainability and transparency:<\/b><\/dt>\n
Use familiar materials<\/dd>\n
Allow inspection<\/dd>\n
Rehearse motions<\/dd>\n
Make it easy to build spare parts<\/dd>\n
Expect restarts<\/dd>\n
Include the manual<\/dd>\n
Scalability and Evolvabilty:<\/b><\/dt>\n
Make all parts similar size<\/dd>\n
Separate functions<\/dd>\n
Provide simple interfaces<\/dd>\n<\/dl>\n<\/blockquote>\n

How… good.<\/p>\n","protected":false},"excerpt":{"rendered":"

In the new year edition of the Clearleft newsletter, Jeremy Keith linked to the design principals Danny Hillis thought about while considering a clock that would work for 10,000 years. Here’s part of that page<\/p>\n","protected":false},"author":3,"featured_media":280951,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":[]},"categories":[17],"tags":[895,1564],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2019\/01\/longphoto-clockgear-001.jpg?fit=1200%2C600&ssl=1","jetpack-related-posts":[{"id":282767,"url":"https:\/\/css-tricks.com\/the-closest-thing-web-standards-have-to-a-golden-rule\/","url_meta":{"origin":280948,"position":0},"title":"\u201cthe closest thing web standards have to a golden rule”","date":"February 13, 2019","format":false,"excerpt":"The internet's own Mat Marquis plucks this choice quote from the HTML Design Principals spec: In case of conflict, consider users over authors over implementors over specifiers over theoretical purity. And then he applies the idea to putting images on websites in 2019.","rel":"","context":"In "Link"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2019\/02\/mat-marquis-chaotic.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":251869,"url":"https:\/\/css-tricks.com\/html-apis-design-good-one\/","url_meta":{"origin":280948,"position":1},"title":"HTML APIs: What They Are And How To Design A Good One","date":"February 25, 2017","format":false,"excerpt":"Lea Verou writes about the design of HTML APIs and how we might write better documentation for web designers. An HTML API is term for a JavaScript library that is configured and controlled through HTML rather than through JavaScript. For example might tell a library that this element is in\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":205952,"url":"https:\/\/css-tricks.com\/designing-for-performance\/","url_meta":{"origin":280948,"position":2},"title":"Designing for Performance","date":"August 5, 2015","format":false,"excerpt":"Lara Hogan has just published her excellent book Designing for Performance for free online. She takes a good look at what makes a website feel slow and how that experience affects design and business goals: Page speed is increasingly important for websites. If you're looking for a page load time\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":274060,"url":"https:\/\/css-tricks.com\/your-body-text-is-too-small\/","url_meta":{"origin":280948,"position":3},"title":"Your Body Text is Too Small","date":"July 20, 2018","format":false,"excerpt":"Several years ago, there was a big push by designers to increase the font-size of websites and I feel like we\u2019re living in another era of accessibility improvements where a fresh batch of designers are pushing for even larger text sizing today. Take this post by Christian Miller, for example,\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":5409,"url":"https:\/\/css-tricks.com\/designers-these-days\/","url_meta":{"origin":280948,"position":4},"title":"Designers These Days…","date":"January 29, 2010","format":false,"excerpt":"... have a good design sense and understand the fundamentals \/ design principals. ... know all the major design software including the entire Adobe Creative Suite. ... have some basic video editing skills. ... know HTML, CSS, and JavaScript. ... know enough about server-side languages (PHP, ASP, Ruby, Python, etc)\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":307242,"url":"https:\/\/css-tricks.com\/react-integration-testing-greater-coverage-fewer-tests\/","url_meta":{"origin":280948,"position":5},"title":"React Integration Testing: Greater Coverage, Fewer Tests","date":"May 1, 2020","format":false,"excerpt":"Integration tests are a natural fit for interactive websites, like ones you might build with React. They validate how a user interacts with your app without the overhead of end-to-end testing.\u00a0 This article follows an exercise that starts with a simple website, validates behavior with unit and integration tests, and\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/04\/end-to-end-testing.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/280948"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=280948"}],"version-history":[{"count":4,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/280948\/revisions"}],"predecessor-version":[{"id":281016,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/280948\/revisions\/281016"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media\/280951"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=280948"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/categories?post=280948"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=280948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}