Natalie Downe from Clearleft specialises in creating high quality client-side code on agency deadlines. In this talk she shares her development process, from planning through to delivery of a full CSS system optimised for maintenance by a client. The talk includes CSS rules of thumb developed over seven years in the field, as well as tips for taming the beast that is Internet Explorer.
How do you scale CSS for millions of visitors or thousands of pages? The slides from Nicole's presentation at Web Directions North in Denver will show you how to use Object Oriented CSS to write fast, maintainable, standards-based front end code. Adds much needed predictability to CSS so that even beginners can participate in writing beautiful, standards-compliant, fast websites.
Slides from a presentation I gave at Front-End Design Conference and ForgeConf in 2014. My first Design Pattern Craftsmanship talk in 2012 was presented at Etsy's Code as Craft series and I talked about MailChimp's original UI Pattern Library. Since then, we've redesigned and rebuilt our pattern library, so V2 of the talk covers the history, challenges, and benefits of our exploration of front-end patterns.
Your website has out-of-control CSS bloat. You know your performance is being impacted, but how do you move from organic CSS with no particular architecture to something lighter, more logical, and easier to maintain? In this session, Nicole Sullivan and Stoyan Stefanov will show you how they improved the CSS at Facebook and Yahoo! Search. After this session you will know how to:
1. Use lint tools to automate and evaluate the efficiency of your CSS
2. Avoid the top 5 causes of CSS bloat, and
3. Speed up your site by making the UI code an order of magnitude smaller.
- HTML, CSS, and JavaScript are becoming the new standard for building applications and interactive experiences on the web.
- Best practices include using semantic HTML, clean CSS with a focus on maintainability, and JavaScript performance optimizations.
- Key techniques discussed are image sprites, progressive enhancement, and jQuery selector chaining to reduce DOM lookups.
This document contains a Java practical file belonging to Rachit Gupta, an MCA student. It consists of 16 programs of varying complexity written in Java, along with the output of each program. The programs cover topics such as calculating the square root of a number, finding the perimeter of a rectangle, calculating percentage of marks, and generating an electric bill based on units consumed. The file is a submission of Rachit Gupta's Java practical assignments for his 4th semester MCA course at the University of Jammu.
El documento presenta las líneas generales y acciones focalizadas del Programa Nacional de Lectura y Escritura para el ciclo escolar 2013-2014. El objetivo es contribuir a que los estudiantes se formen como usuarios plenos de la cultura escrita a través del acceso a materiales de calidad en bibliotecas escolares. Se describen cinco líneas estratégicas, metas y acciones prioritarias como la atención a escuelas con mayor rezago social y de tiempo completo.
This document discusses child labour around the world. It estimates that 215 million children between ages 5-17 are currently involved in child labour. Many work in agriculture, fishing, manufacturing, mining, and domestic service due to poverty and lack of access to education. Child labour is defined as work that is unacceptable because children should be in school or the work is unsuitable for those under 18. The document also discusses key international regulations that prohibit child labour such as ILO Convention 138 on minimum working age and Convention 182 on worst forms of child labour.
El documento describe la arquitectura del Imperio Bizantino. Tras la división del Imperio Romano en 395, la parte oriental se convirtió en el Imperio Bizantino, fusionando características romanas y griegas. La arquitectura bizantina se caracteriza por cúpulas sobre pechinas, columnas con cimacio, y una relación equilibrada entre masa y vanos. El ejemplo más destacado es Santa Sofía de Constantinopla, con una gran cúpula central sobre cuatro pilares y luz procedente de numerosos van
The document lists a schedule of games between various veteran soccer teams from different cities in Brazil. It provides the date, location, home team and away team for each match-up from January 2012 to December 2012. The Veteranos Chapeco team is listed as playing many other veteran teams throughout South Brazil over the course of the year.
El Rottweiler se remonta a la época del Imperio Romano y originalmente se usó para el cuidado del ganado. Actualmente se conoce por sus cualidades como perro guardián y se usa comúnmente en ejércitos y policías. El Rottweiler tiene un cuerpo musculoso, negro con manchas rojizas, y requiere socialización adecuada desde cachorro para evitar problemas de comportamiento. Un buen dueño debe proveerle ejercicio diario, alimento balanceado y entrenamiento consistente.
Este documento describe un curso de educación a distancia sobre el desarrollo y salud integral de adolescentes dirigido a profesionales de la salud. El curso consta de 4 módulos y se extiende por un año, abordando temas como el crecimiento, la evaluación clínica, los problemas de salud y las estrategias de promoción en adolescentes. Se basa en la metodología de aprendizaje a distancia a través de internet con tutoría personalizada y trabajo en equipo. El objetivo es fortalecer las competencias de los prof
Este documento discute os efeitos dos pesticidas, alimentos geneticamente modificados e fast food na prevenção do câncer. Aponta que esses fatores contribuem para o aumento de casos de câncer devido aos seus efeitos tóxicos e carcinogênicos na saúde humana, conforme evidenciado por pesquisas científicas. Defende a necessidade de educar a população sobre alimentação saudável para prevenção do câncer.
O documento analisa a qualidade sanitária de 93 amostras de embutidos coletadas em Porto Alegre. Todas as amostras estavam livres de Salmonella sp., mas 14 amostras de linguiça fresca continham contagens de coliformes fecais acima do limite legal na época. A maioria dessas amostras estava armazenada acima da temperatura recomendada no momento da coleta.
El documento describe la decoración de la bóveda de la Capilla Sixtina por Miguel Ángel, incluyendo escenas como la Creación de Adán, el Pecado Original y el Diluvio. Miguel Ángel trabajó en la bóveda durante 4 años, cubriendo 560 metros cuadrados con figuras llenas de vida y fuerza muscular pintadas de forma original. Más tarde, Miguel Ángel decoró la pared del altar con su obra maestra El Juicio Final.
The document discusses new strategies for using press releases to directly reach buyers in a Web 2.0 world. It outlines the new rules for press releases, which involve writing them for buyers rather than just media, including keywords, and linking to website content. An example is given of how WebEx optimized press releases to include relevant keywords and phrases to reach people searching online. The document recommends publishing releases frequently about any company news and distributing them through a wire service to reach online news sites and RSS feeds.
El documento describe varias características de la arquitectura popular de la provincia de Palencia, como la vivienda rupestre, bodegas, palomares, chozos y otros. Explica que las viviendas rupestres se excavaban en laderas y tenían cocina, zaguán y otras dependencias. Las bodegas se usaban para almacenar vino y se excavaban en laderas o terrenos horizontales. Los palomares eran construcciones para palomas que a veces tenían elementos decorativos. Finalmente, señala que la arquitectura popular us
El documento resume la evolución de la escultura romana desde sus orígenes influenciados por la escultura griega y etrusca, hasta su apogeo durante los imperios de Augusto, Trajano y Adriano. La escultura romana tuvo diferentes funciones como honrar a las autoridades y reflejar su estatus social, y sus temas incluyeron retratos, relieves y sarcófagos. Los estilos evolucionaron desde un realismo inicial hasta formas más idealizadas e incluso colosales bajo el imperio.
1. O documento discute diferentes tipos de fundações e suas aplicações em diferentes tipos de solo.
2. São descritos vários tipos de fundações como sapatas, estacas cravadas, estacas tubulares e estacas injetadas, e quando cada um é mais apropriado dependendo das condições geológicas.
3. O documento fornece exemplos detalhados de como escolher o tipo correto de fundação para diferentes perfis geológicos comuns, como solos residuais, fluviais, lacustres e outros.
Flickr is an online photo sharing and management platform that allows users to share personal photos with friends and family overseas or in America. As one of the earliest Web 2.0 applications, Flickr offers free hosting and viewing of tagged photos, which can also be printed, and allows users to join groups and be used as a blogging photo repository. Flickr is owned by Yahoo.
Las frases célebres son expresiones breves pero significativas que han trascendido en el tiempo y que forman parte de la cultura popular. Algunas de las frases más conocidas son "Conócete a ti mismo" de Sócrates, "Ser o no ser" de Shakespeare y "Lo imposible solo lleva un poco más de tiempo" de Lewis Carroll. Estas frases suelen encapsular grandes ideas de manera concisa y memorable.
This document discusses the importance of friendship and true friends. It provides short quotes and sayings about how friends leave footprints in our hearts, how to handle people using heart over head, how losing faith loses all, and how beautiful old people are works of art. The document encourages sharing with friends to show you care during National Friendship Week and completing a circle of friends by sending it to others.
From Idea to Exit, the story of our startupNatalie Downe
Natalie launched the first version of Lanyrd.com with a co-founder and her husband Simon, while on honeymoon in Casablanca. As the site took off, they realized their side project was destined to become something much bigger.
This talk will tell the story of Lanyrd from a two-week proof of concept to a fully-fledged startup, the lessons learned along the way about building and launching a product, running a company, raising investment and the entrepreneurship journey. This is the talk she wished she heard before getting started!
Natalie Downe co-founded Lanyrd, a YCombinator backed startup (W11) that helps companies and individuals get more out of conferences and professional events. She is an experienced product designer, product manager and front-end web engineer. Lanyrd was acquired by Eventbrite in August 2013 and she is now the Director of Frontend Engineering at Eventbrite.
Natalie launched the first version of Lanyrd.com with a co-founder and her husband Simon, while on honeymoon in Casablanca. As the site took off, they realised their side project was destined to become something much bigger.
This talk will tell the story of Lanyrd from a two-week proof of concept to a fully-fledged startup, the lessons learned along the way about building and launching a product, running a company, raising investment and the entrepreneurship journey. This is the talk she wished she heard before getting started! In September 2013, just a week before the SmashingConf 2013, Lanyrd was acquired by Eventbrite.
This document provides an overview of the company Lanyrd.com and its journey as an startup. It discusses how Lanyrd started as an accidental project on Twitter, launched as a private beta, and grew its community. It covers Lanyrd applying to and being accepted by Y Combinator, its demo day presentation, and raising $1.4 million in investment. The document offers tips and lessons learned around launching products, building communities, dealing with bugs, fundraising, and the challenges of running a startup.
El documento describe la arquitectura del Imperio Bizantino. Tras la división del Imperio Romano en 395, la parte oriental se convirtió en el Imperio Bizantino, fusionando características romanas y griegas. La arquitectura bizantina se caracteriza por cúpulas sobre pechinas, columnas con cimacio, y una relación equilibrada entre masa y vanos. El ejemplo más destacado es Santa Sofía de Constantinopla, con una gran cúpula central sobre cuatro pilares y luz procedente de numerosos van
The document lists a schedule of games between various veteran soccer teams from different cities in Brazil. It provides the date, location, home team and away team for each match-up from January 2012 to December 2012. The Veteranos Chapeco team is listed as playing many other veteran teams throughout South Brazil over the course of the year.
El Rottweiler se remonta a la época del Imperio Romano y originalmente se usó para el cuidado del ganado. Actualmente se conoce por sus cualidades como perro guardián y se usa comúnmente en ejércitos y policías. El Rottweiler tiene un cuerpo musculoso, negro con manchas rojizas, y requiere socialización adecuada desde cachorro para evitar problemas de comportamiento. Un buen dueño debe proveerle ejercicio diario, alimento balanceado y entrenamiento consistente.
Este documento describe un curso de educación a distancia sobre el desarrollo y salud integral de adolescentes dirigido a profesionales de la salud. El curso consta de 4 módulos y se extiende por un año, abordando temas como el crecimiento, la evaluación clínica, los problemas de salud y las estrategias de promoción en adolescentes. Se basa en la metodología de aprendizaje a distancia a través de internet con tutoría personalizada y trabajo en equipo. El objetivo es fortalecer las competencias de los prof
Este documento discute os efeitos dos pesticidas, alimentos geneticamente modificados e fast food na prevenção do câncer. Aponta que esses fatores contribuem para o aumento de casos de câncer devido aos seus efeitos tóxicos e carcinogênicos na saúde humana, conforme evidenciado por pesquisas científicas. Defende a necessidade de educar a população sobre alimentação saudável para prevenção do câncer.
O documento analisa a qualidade sanitária de 93 amostras de embutidos coletadas em Porto Alegre. Todas as amostras estavam livres de Salmonella sp., mas 14 amostras de linguiça fresca continham contagens de coliformes fecais acima do limite legal na época. A maioria dessas amostras estava armazenada acima da temperatura recomendada no momento da coleta.
El documento describe la decoración de la bóveda de la Capilla Sixtina por Miguel Ángel, incluyendo escenas como la Creación de Adán, el Pecado Original y el Diluvio. Miguel Ángel trabajó en la bóveda durante 4 años, cubriendo 560 metros cuadrados con figuras llenas de vida y fuerza muscular pintadas de forma original. Más tarde, Miguel Ángel decoró la pared del altar con su obra maestra El Juicio Final.
The document discusses new strategies for using press releases to directly reach buyers in a Web 2.0 world. It outlines the new rules for press releases, which involve writing them for buyers rather than just media, including keywords, and linking to website content. An example is given of how WebEx optimized press releases to include relevant keywords and phrases to reach people searching online. The document recommends publishing releases frequently about any company news and distributing them through a wire service to reach online news sites and RSS feeds.
El documento describe varias características de la arquitectura popular de la provincia de Palencia, como la vivienda rupestre, bodegas, palomares, chozos y otros. Explica que las viviendas rupestres se excavaban en laderas y tenían cocina, zaguán y otras dependencias. Las bodegas se usaban para almacenar vino y se excavaban en laderas o terrenos horizontales. Los palomares eran construcciones para palomas que a veces tenían elementos decorativos. Finalmente, señala que la arquitectura popular us
El documento resume la evolución de la escultura romana desde sus orígenes influenciados por la escultura griega y etrusca, hasta su apogeo durante los imperios de Augusto, Trajano y Adriano. La escultura romana tuvo diferentes funciones como honrar a las autoridades y reflejar su estatus social, y sus temas incluyeron retratos, relieves y sarcófagos. Los estilos evolucionaron desde un realismo inicial hasta formas más idealizadas e incluso colosales bajo el imperio.
1. O documento discute diferentes tipos de fundações e suas aplicações em diferentes tipos de solo.
2. São descritos vários tipos de fundações como sapatas, estacas cravadas, estacas tubulares e estacas injetadas, e quando cada um é mais apropriado dependendo das condições geológicas.
3. O documento fornece exemplos detalhados de como escolher o tipo correto de fundação para diferentes perfis geológicos comuns, como solos residuais, fluviais, lacustres e outros.
Flickr is an online photo sharing and management platform that allows users to share personal photos with friends and family overseas or in America. As one of the earliest Web 2.0 applications, Flickr offers free hosting and viewing of tagged photos, which can also be printed, and allows users to join groups and be used as a blogging photo repository. Flickr is owned by Yahoo.
Las frases célebres son expresiones breves pero significativas que han trascendido en el tiempo y que forman parte de la cultura popular. Algunas de las frases más conocidas son "Conócete a ti mismo" de Sócrates, "Ser o no ser" de Shakespeare y "Lo imposible solo lleva un poco más de tiempo" de Lewis Carroll. Estas frases suelen encapsular grandes ideas de manera concisa y memorable.
This document discusses the importance of friendship and true friends. It provides short quotes and sayings about how friends leave footprints in our hearts, how to handle people using heart over head, how losing faith loses all, and how beautiful old people are works of art. The document encourages sharing with friends to show you care during National Friendship Week and completing a circle of friends by sending it to others.
From Idea to Exit, the story of our startupNatalie Downe
Natalie launched the first version of Lanyrd.com with a co-founder and her husband Simon, while on honeymoon in Casablanca. As the site took off, they realized their side project was destined to become something much bigger.
This talk will tell the story of Lanyrd from a two-week proof of concept to a fully-fledged startup, the lessons learned along the way about building and launching a product, running a company, raising investment and the entrepreneurship journey. This is the talk she wished she heard before getting started!
Natalie Downe co-founded Lanyrd, a YCombinator backed startup (W11) that helps companies and individuals get more out of conferences and professional events. She is an experienced product designer, product manager and front-end web engineer. Lanyrd was acquired by Eventbrite in August 2013 and she is now the Director of Frontend Engineering at Eventbrite.
Natalie launched the first version of Lanyrd.com with a co-founder and her husband Simon, while on honeymoon in Casablanca. As the site took off, they realised their side project was destined to become something much bigger.
This talk will tell the story of Lanyrd from a two-week proof of concept to a fully-fledged startup, the lessons learned along the way about building and launching a product, running a company, raising investment and the entrepreneurship journey. This is the talk she wished she heard before getting started! In September 2013, just a week before the SmashingConf 2013, Lanyrd was acquired by Eventbrite.
This document provides an overview of the company Lanyrd.com and its journey as an startup. It discusses how Lanyrd started as an accidental project on Twitter, launched as a private beta, and grew its community. It covers Lanyrd applying to and being accepted by Y Combinator, its demo day presentation, and raising $1.4 million in investment. The document offers tips and lessons learned around launching products, building communities, dealing with bugs, fundraising, and the challenges of running a startup.
Stick to the basics when first starting out, focus on writing modular code and getting core functionality working before adding more features. Launch your initial creation even if it's not perfect, and use feedback to iteratively improve it over time through playing and experimenting while keeping the process enjoyable.
The document describes the page flows for a recipe website called omnom.com for both logged in and logged out users. For logged in users, they can browse recipes, add recipes, view their profile, search for recipes, view recipe pages, start cooking in the now cooking app, and edit their profile. For logged out users, they can browse recipes, search for recipes, view recipe pages, login or sign up in overlays, and login or sign up normally. The website allows users to build a cookbook by adding favorite recipes and find recipes by searching over 3,000 recipes from 300 people.
http://natbat.net/2008/Sep/28/css-systems/ - A CSS System is a reusable set of content-oriented markup patterns and associated CSS created to express a site's individual design. It is the end result of a process that emphasizes up-front planning, loose coupling between CSS and markup, pre-empting browser bugs and overall robustness. It also incorporates a shared vocabulary for developers to communicate the intent of the code. This talk elaborates on this concept, and also describes a number of tricks I use to pre-empt maintainability issues.
Originally presented at BarCamp London 5 in Richmond on the 28th of September 2008.
APM People Interest Network Conference 2025
-Autonomy, Teams and Tension: Projects under stress
-Tim Lyons
-The neurological levels of
team-working: Harmony and tensions
With a background in projects spanning more than 40 years, Tim Lyons specialised in the delivery of large, complex, multi-disciplinary programmes for clients including Crossrail, Network Rail, ExxonMobil, Siemens and in patent development. His first career was in broadcasting, where he designed and built commercial radio station studios in Manchester, Cardiff and Bristol, also working as a presenter and programme producer. Tim now writes and presents extensively on matters relating to the human and neurological aspects of projects, including communication, ethics and coaching. He holds a Master’s degree in NLP, is an NLP Master Practitioner and International Coach. He is the Deputy Lead for APM’s People Interest Network.
Session | The Neurological Levels of Team-working: Harmony and Tensions
Understanding how teams really work at conscious and unconscious levels is critical to a harmonious workplace. This session uncovers what those levels are, how to use them to detect and avoid tensions and how to smooth the management of change by checking you have considered all of them.
Useful environment methods in Odoo 18 - Odoo SlidesCeline George
In this slide we’ll discuss on the useful environment methods in Odoo 18. In Odoo 18, environment methods play a crucial role in simplifying model interactions and enhancing data processing within the ORM framework.
Research & Research Methods: Basic Concepts and Types.pptxDr. Sarita Anand
This ppt has been made for the students pursuing PG in social science and humanities like M.Ed., M.A. (Education), Ph.D. Scholars. It will be also beneficial for the teachers and other faculty members interested in research and teaching research concepts.
Finals of Kaun TALHA : a Travel, Architecture, Lifestyle, Heritage and Activism quiz, organized by Conquiztadors, the Quiz society of Sri Venkateswara College under their annual quizzing fest El Dorado 2025.
How to Manage Putaway Rule in Odoo 17 InventoryCeline George
Inventory management is a critical aspect of any business involved in manufacturing or selling products.
Odoo 17 offers a robust inventory management system that can handle complex operations and optimize warehouse efficiency.
How to Modify Existing Web Pages in Odoo 18Celine George
In this slide, we’ll discuss on how to modify existing web pages in Odoo 18. Web pages in Odoo 18 can also gather user data through user-friendly forms, encourage interaction through engaging features.
QuickBooks Desktop to QuickBooks Online How to Make the MoveTechSoup
If you use QuickBooks Desktop and are stressing about moving to QuickBooks Online, in this webinar, get your questions answered and learn tips and tricks to make the process easier for you.
Key Questions:
* When is the best time to make the shift to QuickBooks Online?
* Will my current version of QuickBooks Desktop stop working?
* I have a really old version of QuickBooks. What should I do?
* I run my payroll in QuickBooks Desktop now. How is that affected?
*Does it bring over all my historical data? Are there things that don't come over?
* What are the main differences between QuickBooks Desktop and QuickBooks Online?
* And more
APM event hosted by the South Wales and West of England Network (SWWE Network)
Speaker: Aalok Sonawala
The SWWE Regional Network were very pleased to welcome Aalok Sonawala, Head of PMO, National Programmes, Rider Levett Bucknall on 26 February, to BAWA for our first face to face event of 2025. Aalok is a member of APM’s Thames Valley Regional Network and also speaks to members of APM’s PMO Interest Network, which aims to facilitate collaboration and learning, offer unbiased advice and guidance.
Tonight, Aalok planned to discuss the importance of a PMO within project-based organisations, the different types of PMO and their key elements, PMO governance and centres of excellence.
PMO’s within an organisation can be centralised, hub and spoke with a central PMO with satellite PMOs globally, or embedded within projects. The appropriate structure will be determined by the specific business needs of the organisation. The PMO sits above PM delivery and the supply chain delivery teams.
For further information about the event please click here.
Blind Spots in AI and Formulation Science Knowledge Pyramid (Updated Perspect...Ajaz Hussain
This presentation delves into the systemic blind spots within pharmaceutical science and regulatory systems, emphasizing the significance of "inactive ingredients" and their influence on therapeutic equivalence. These blind spots, indicative of normalized systemic failures, go beyond mere chance occurrences and are ingrained deeply enough to compromise decision-making processes and erode trust.
Historical instances like the 1938 FD&C Act and the Generic Drug Scandals underscore how crisis-triggered reforms often fail to address the fundamental issues, perpetuating inefficiencies and hazards.
The narrative advocates a shift from reactive crisis management to proactive, adaptable systems prioritizing continuous enhancement. Key hurdles involve challenging outdated assumptions regarding bioavailability, inadequately funded research ventures, and the impact of vague language in regulatory frameworks.
The rise of large language models (LLMs) presents promising solutions, albeit with accompanying risks necessitating thorough validation and seamless integration.
Tackling these blind spots demands a holistic approach, embracing adaptive learning and a steadfast commitment to self-improvement. By nurturing curiosity, refining regulatory terminology, and judiciously harnessing new technologies, the pharmaceutical sector can progress towards better public health service delivery and ensure the safety, efficacy, and real-world impact of drug products.
#3: Hello!
I’m a front end engineer, and I work for Clearleft!
We do information architecture, user experience design, and usability testing
and as part of all of this, we often provide our clients with the HTML and CSS that implements our designs, and that’s what I focus on.
At Clearleft, we strive to produce ...
#4: ... high quality client-side code,
which for us means ...
#5: ... beautiful and valid markup,
we delight in finding the perfect element for every context
we are perfectionists ...
http://www.flickr.com/photos/21984953@N00/38992864/
#6: ... we use meaningful markup and class names,
and avoid polluting our code with too many divs or spans
this keeps things lean, mean and fast loading ...
http://www.flickr.com/photos/24839392@N00/2396027766/
#7: ... Unlike this apple here, we ensure that our sites are “bulletproof”
This means that the design holds together despite varying content, for example user generated content or anything that is being spat out from a content management system
Our sites also work when the browser is resized or the user changes their font size ...
http://www.flickr.com/photos/nebarnix/337062435/
#8: ... we embrace the trifle of the web,
Now I don’t actually like trifle very much, but it does make a nice analogy for client-side web development
we separate our content and behaviour from presentation,
this means our sites are still accessible even when CSS or JavaScript is disabled ...
(for a detailed and beautiful description of the ‘trifle of the web’, please see page 6 of Cal Henderson’s “Building Scaleable websites”)
btw yes I know this is not a photo of a proper trifle.
http://www.flickr.com/photos/83096974@N00/466881574/
#9: ... we then have to hand over our markup and CSS
to external developers to integrate with their back-end code
and for the client to maintain in the long term.
and we have to do all of this ...
#10: ... on agency deadlines,
this normally works out at about 2 or 3 weeks to build the client-side code for a brand new site ...
#11: ... Every presentation needs some boxes and arrows. But don’t be mislead by the diagram, I’m not just a cog in a machine.
I get to spend all day making things! ...
#12: ... I take designs from our very talented design team and turn them into front-end codeTo give you an example of the range of designs I’ve been implementing recently, here are a few screenshots of ones that are not currently under NDA ...
#13: ... RateMyArea was the first site I helped with at Clearleft, nearly a year and a half ago now ...
#14: ... UX London is a conference we're running in June. This is the first site we've implemented using ideas and a doctype from HTML 5 ...
#15: ... as a web design agency, naturally the hardest site to build was our own. This took at least a year of arguments, many many designs and about five iterations of the front-end code! ...
#16: ... Tourdust was the first site we built using an agile methodology with an external server-side development team. This made maintainability and implementation flexibility even more important than usual ...
#17: ... and this is what I should have been working on when I was writing this talk!
As a lover of cute pictures of tigers, it’s great to have some content I can get my TEETH in to! ...
Ho Ho!
#18: So what do I need to get started? Well, obviously I need the design...
#19: ... Our designers mostly work in Fireworks, so generally I get handed a Fireworks file with the different pages as layer groups. But the design alone isn't enough
#20: ... I also need to have some conversations, both with the designer and any server side developers, before I can start planning how I’m going to build the site. ...
#21: ... we’ll talk about liquid, elastic and fixed a bit later on.
What’s the minimum content scenario? By that, I mean what happens when things aren’t there - for example, a news story that normally has an image but sometimes has to display neatly without one, or a listing page that sometimes has no items
Will there be themed sections? For example, do news pages have a different header or colour scheme than product listings
How should we deal with text wrapping e.g. in the navigation? This is especially important for tabs and horizontal navigation. Text wrapping around images is another common query.
Depending on the nature of the design and the budget, we might opt to use progressive enrichment for some design elements. This means that standards compliant browsers are rewarded with little bits of visual flair which shouldn't be missed by unfortunate ludites stuck with IE ...
#22: ... conversations I'll need to have with the developer include if a CMS will be used to manage content. In my experience projects with a CMS involve giving up full control over the resulting markup.
If internationalisation is a requirement, it’s best to avoid using images with text in them as they make translation much harder. Languages such as German can have translations that are much longer than the original English, as such things are more likely to wrap.
Languages such as Arabic are particularly trick to support, as they require both the text and the design to flow from right to left instead of from left to right. The browser support for this can be a little shaky, so supporting these languages will add quite a bit of time to the estimate.
How the themes are to be managed is something else to think about, will I be controlling this with a class on the body or does the CSS need to be generated
All these conversations lead into the doctype decision. I'm not going to enter this minefield of a debate right now (other than to say that given the choice I prefer HTML 4 strict), feel free to grab me about this later ...
#23: ... as I mentioned earlier, this is a decision that has to be made right at the start.
Not everyone browses the web at the default font size, or with a standard sized browser window. Why not make your site look like it was designed with them in mind?
In CSS it’s possible to define dimensions in terms of a percentage of the overall browser window, or alternatively as a multiple of the size of the font. Either of these techniques can be used to create what’s known as a flexible layout.
I feel that flexible layouts are a way of breathing life in to a static design, and adapting it to the flexible nature of the web
Regardless of the decision you make here, it’s important to resize your browser window and increase and decrease your font size during development to see how this affects the page...
#24: ... in a liquid design, the layout adjusts based on the browser width. This is achieved by specifying dimensions in percentages ...
#26: ... an elastic layout changes as the font size is increased or decreased. This can be done by setting dimensions using ems, a measurement which is tied to the font size.
The key advantage of elastic is that the number of words on a line stays roughly the same, allowing for the optimum readability length of 75-100 characters per line to remain
... I'd you a video for fixed, but you would’t be able to tell it from a screenshot! ...
#28: Be afraid of setting heights on anything, especially when it contains text. Text is liable to spill out or overlap other elements on the page if the font size is increased or more text is added.
Vertigo is healthy on the web ...
#29: ... If you want to know more about implementing flexible layouts, I can recommend this book which came out just a couple of months ago ...
#30: Just as you wouldn't consider making a house without a proper plan, I like to spend some quality time with pen and paper before writing a single line of code ...
http://www.flickr.com/photos/23762528@N04/3000454012/
#31: By the end of the planning stage I want to feel comfortable with how I am going to tackle the build
#32: ... If I come across something in the design that doesn't have an obvious best solution, I like to create a separate HTML prototype.
This is my way of proving that something is possible to build in a robust manner.
Quite often I will roll these prototypes in to the final build.
Sometimes if I tell Paul, our designer that something is not possible he'll prototype it himself to prove otherwise ...
#33: ... now, looking at the site as a whole, we need to identify the
page structure,
as well as common components....
#34: ... for example, identify areas, such as the ...
#38: ... individual content components such as the teaser on this page
we'll talk about common components in more detail later, as they are key to creating reusable code ...
#39: ... A lot of modern web design is based around a grid.
it ensures elements are aligned with each other, and gives the site a nice consistent visual feel
this needs ...
http://www.subtraction.com/2004/12/31/grid-computi
#40: ... this needs diagrams ...
http://flickr.com/photos/adactio/1799116343/
#41: ... lots of diagrams,
it basically boils down to proportions, analyse the site as a whole,
look at content areas and see how they interact with each other and align to the basic grid
...
#42: ... the grid will normally have some dependancy on the base font size, ask your pet designer if you are not sure.
you will need to make some initial calculations before you come up with the precise proportions
I’m pretty hopeless at maths so for me this also involves yet more diagrams
Don’t be too exact though, IE isn’t very good at counting, and will fall victim to rounding errors
...
#43: ... If you figure out your heading levels from the start this will help decisions later on.
This seems like a subtle point, but properly designed heading levels are an excellent start for coming up with a sensible overall structure for your site ...
#44: ... to avoid making more work for yourself, it’s best to identify the typographical hierarchy for the overall site as early as possible ...
#45: Next I'm going to share with you some of my favourite tools of the trade ...
http://www.flickr.com/photos/7881731@N06/2639919440/
#46: ... some sort of version control is invaluable, especially when working with a team.
We use Subversion, with the long awaited and beautiful Mac application Versions.
Most of our designs are now done in Fireworks, so I have a copy for slicing up images and otherwise interpreting the design.
TextMate is my editor of choice, and I also use ColourSchemerStudio and CSSEdit ...
#47: ... I use ColorSchemer Studio to pick colours off the design - this means I can store colours from the design for future reference, especially useful for theming ...
#48: ... CSSEdit is a development tool for the mac, which I absolutely love. It only edits CSS, but it does it so well that I don’t mind having an extra tool.
Grouping is by far my favourite feature.
you can see here on the left hand side it has displayed my nested groups which I use as a navigation aid to traverse the CSS on the right
There are Windows alternatives available; anything with code folding is worth a look ...
http://macrabbit.com/cssedit
#49: ... Firefox is my main development browser, mainly because of the extensions. Firebug is absolutely invaluable - if you ever have to touch front-end code and you don’t have this installed, look it up.
The HTML Validator extension is incredibly hard to track down, since they don’t update the version on the Firefox addons site. It adds a green “tick” at the bottom right of the browser, and is a constant illustration of whether my code is valid.
Operator is how I test my microformats.
YSlow is an extension for an extension! It adds a new pane to Firebug highlighting potential performance problems in the front end code.
#50: ... topographic view in the Web developer toolbar is useful for exposing the bare bones of your site. Let’s turn it on ...
<ACTIVATE>
#51: ... here for example you can immediately see that the container on the lower half of the page is not clearing around its two internal floated elements ...
#52: We follow our own version of Yahoo!’s graded browser support guidelines, which define which browsers should be tested for the full experience, which browsers should at least make the content accessible and which can be safely ignored. You’ll be glad to hear that we don’t code for Netscape 4 any more!
I use VMWare Fusion to run different versions of Windows on my Mac, which lets me safely run more than one version of IE at a time.
As a general rule, I test constantly throughout development in Firefox, Opera, Safari and IE 6 and 7. I double check other browsers such as Camino and Safari on Windows towards teh end of the development cycle.
#53: ... I’ve been working with CSS for a long time, and I’ve attempted to distil some of that knowledge in to some heuristics, or rules of thumb. Ten would be a nicer number since we all have ten fingers, but I have eight - so maybe these should be ...
http://www.flickr.com/photos/95141439@N00/357358126/
#56: ... if you only take away one rule, make sure it’s this one. It’s key to developing the correct mindset.
If you think about pages first, you’ll find yourself duplicating large amounts of CSS code. Every time you need to create a new page you’ll have to start mostly from scratch.
Instead, think about the reusable components that make up the design. Create a core set of components that can mixed together to create hundreds of different page combinations ...
#57: ... look for opportunities to classify similar content elements together ...
#58: ... which leads us nicely to rule 3: prefer CSS class selectors to IDs.
Rules assigned to a class (or type of thing) are reusable. By definition, ID blocks can only apply to a single element on a page.
Classes are the only way to build reusable components.
#59: ... another advantage of classes is that you can apply more than one class to an element. Just as permutations of components can create many different types of page, permutations of classes that have been designed to be composable can create many different types of component
for example, one class could define the layout properties of an element while another class applies its theme and colour scheme. This allows for more possible combinations without needing to add more code ...
#60: ... you don’t need to get carried away and classes to everything though ...
#61: ... so here we have a news item, and the h2 has a class of news-heading.
Say we wanted to set a colour on the heading. Weasel isn't actually a colour in the spec, but Simon insists it should be...
#62: ... A more efficient way of achieving the same effect is to take advantage of the context of this h2 ...
#63: If your selectors are too long, you are tightly coupling your CSS to your markup
You can't move things around, because the selector binds the rules to an exact point in the markup hierarchy.
This reduces its reusability.
Shorter selectors are also easier to over-ride.
#64: If you’re keeping your selectors short, it's more important to understand the cascade, in particular the way CSS rules over-ride earlier rules with the same specificity.
Following a sensible convention also makes it easier to find things and understand how the code works...
#65: ... if you’re doing a flexible layout it’s a lot easier to deal with changing designs if the internal dimensions are set in percentages. Changing the outer container’s width will cause everything inside it to re-adjust...
#66: ... here's a planning artifact that illustrates internal widths set in percentages.
It's an elastic site, so the overall width is set in ems.
Also, I've added a max-width of 100% to make sure that you never end up with a horizontal scrollbar (or crawlbar) even if the user makes their text huge. This is a handy trick for making elastic designs more robust. ...
#69: ... margins or background.
I don't. necessarily.
Longhand can often be preferable, particularly with background.
firstly it makes debugging in firebug easier, you can see where overrides are effective.
you will also have similar issues as the ‘one ruleblock per line’ when it comes to source control. you can tell that a line has changed but its not imediately obvious which part of that line.
but mainly and this is more noticable with backgrounds ...
#70: ... that by using shorthand its easy to override declarations without meaning to.
For Example if you are using all the sections of the background like we are here, then its easy to see what this is doing,
but if on an element you have already specified it as ...
#71: ... having a delightful lime green background, and you then you want to have a variation of that inherit the lime styles but also have a transparent background image ...
#72: ... rofl.gif
if you specify it using just the background declaration, then this overwrites the lovely lime green colour
one solution of course is to specify the colour here too, but then ‘lime’ is in two places, you are not taking advantage of inheritance within declarations,
and what if you suddenly want to change to pink, now you have to change it in two places, this is not optimal
also always bear in mind that people editing your code are likely to be copy and pasting from the rest of the file,
so you have to set a good example with this throughout your code.
so a better solution would be ...
#73: ... use the longhand version, and override with subsequent longhand versions ...
#74: So these are my rules of thumb. I'll be making the list of rules available later on natbat.net.
#75: a.k.a. dealing with the inevitable decent in to browser bug hell
http://www.flickr.com/photos/jurvetson/17945646/
#77: I’m giving away the answer to a good interview question here.
Could it be a hasLayout bug?
#78: As Noel Edmonds will apparently tell you in his best selling self help guide, a Positive Mental Attitude is essential in dealing with IE.
#79: ... the alternative is to sell your soul to unspeakable demons from alternative dimensions. They don’t like IE very much either. ...
http://images.google.com/imgres?imgurl=http://www.thecimmerian.com/wp-content/uploads//2009/02/cthulhu-6.jpg&imgrefurl=http://www.thecimmerian.com/%3Fcat%3D30&usg=__1_3xzSSQ0vRKSiae37BhSy2KKeE=&h=405&w=540&sz=45&hl=en&start=1&um=1&tbnid=vBgWGVpq9eIEiM:&tbnh=99&tbnw=132&prev=/images%3Fq%3Dcthulhu%26um%3D1%26hl%3Den%26client%3Dsafari%26rls%3Den-us%26sa%3DN
#80: ... don’t worry, they’re not as scary as they first seem! In case you’re wondering, that’s me dressed as a pumpkin.
code reviews should be an essential part of your development process. If you can explain your CSS to someone else and have them understand it,
there’s a pretty good chance what you have done is robust and maintainable. ...