SlideShare une entreprise Scribd logo
1  sur  79
74% Less fugly
    The Making of Epicenter
by Romans Malinovskis, Agile Technologies
About me
‣ Started   computers at age of 10, in 1991
‣ Developing    commercial software since 1995
‣ In Web    applications since 1998
‣ Started Web    Developer team in 2003
‣ Incorporated    in Ireland in 2007
 My role in Agile:
‣ Architect   SaaS application and Web interfaces.
About Agile
‣ We   develop web software for businesses
 ✓ Online financial, accounting system, SaaS
 ✓ Client Self-service portals
 ✓ Integration with backend software
‣ We   do not sell Web Design
 ✓ but we know a lot about it
 ✓ stunning design is a must for web software
Fugly vs not fugly




How big is the difference?
loads fast
graphics's nice
content is good
colours
navigation
google friendly
works in all browsers
..not only on PC
50
25           75



 0           100

     Fugly
50
   25           75



    0           100

        Fugly




TODO: fix next year
Name
‣ Use   a name with a meaning:
‣ epicenter

  ✓ ground shaking
  ✓ volcano
  ✓ so many people that ground shakes.
  ✓ accumulate stuff and then erupts in the instant,
    reshapes the ground
he just sent me this.. he likes volcano.
Designer’s response
‣ “epicenter”   definition
 ✓ The point of the earth's surface directly above the
    focus of an earthquake.
Customer is always
            wrong...
‣ Do   you tell your dentist how to do his work?
‣ Why   would you tell designer how to do his work?
 ✓ stops creativity and innovation
 ✓ subjective opinion of few individuals
 ✓ no research or study
 ✓ often based on competition
 ✓ the missing link
Sorting out fonts
‣ Lowercase font is better in our case, because it simply
 looks better.
And the winner is
‣ Custom   font “Thonburi”
Customising our font
‣ we   need equal letter spaces and to fix shape
Creating symbolism:
‣ Scale
      font down so that second “e” would be in centre
 and with highest contrast
Explanation
Variations
More associations
Add black
Creating a Style
‣ Expand   the idea behind a logo
 ✓ Different contexts and backgrounds
 ✓ Different situations
 ✓ Smaller logo
 ✓ Event pass design
 ✓ Business cards
Picking background
Environment testing
Business Cards
Icon
Event pass
Finally - on the web
Newsletters
‣ Our   task is to collect people e-mails for newsletter
‣ However    also try to get feedback from them
‣ Save   email


‣ and   through jQuery transition



                               ‣ askfor
                                extra
                                details
Browser Compatibility
‣ Standard   compliant
 ✓ Firefox
 ✓ Webkit (Safari, Chrome)
‣ Compliant   but looking uglier
 ✓ Opera
‣ Compliant   to it’s own standards
 ✓ IE6, IE7
Testing
‣ Button   clicks during transition
‣ SQL   injection
‣ Stress-testing
Back-end
Now to the main site
‣ Nailing   down requirements
  ✓ dependencies, entities, constraints
  ✓ use scenarios
‣ Merging   with our concepts
  ✓ Colours
  ✓ Circular shape
  ✓ Feel
First Concept
Attention to detail
Client interaction
‣ Do   not show previews to client
 ✓ gets client involved too early
 ✓ pointing out known flaws
 ✓ change of direction
Problem
‣ Where   should we put context?
Solution
‣ two   styles - combined
And the bottom part
Dynamics
       ‣ Multi-page   navigation




       ‣ Dynamic   / AJAX
Where to put speakers?




‣ Not   enough space...
Finalised design
Full-text pages
Backend (meanwhile)
Backend (meanwhile)
Backend
‣ Structures   for sessions, speakers, days, time schedule
‣ Dynamic     generation of all pages
‣ Photo   management
‣ Plaintext   editing for some texts
‣ Rich-text   editing for other content
Backend
Coding
‣ Writing   in PHP5
‣ Using Agile Toolkit   3
‣ Integrating   with templates
‣ Implementing    non-javascript verison
‣ Working   on closed domain
Coding
Resulting PHP code
‣ Admin

 ✓ Approx. 250 lines of code (excluding libraries)
‣ Front-end

 ✓ Approx 400 lines of code
 ✓ Ticket form: 50 lines
 ✓ Widgets for map and panorama view
 ✓ 600 lines of JavaScript
Google friendliness
‣ Basic   SEO principles
  ✓ If you don’t promote your website, it won’t be ranked
  ✓ Make way for Search engines
  ✓ Direct links to AJAXified articles
AJAX + Google
‣ <a   id=”link” href=”/otherpage.html”>..</a>
‣ $(‘#link’).click(function(ev){   ev.preventDefault(); .. });
  ✓ Links works properly on browsers without JS
  ✓ Links work fancy with JS browsers
  ✓ Google ignores JS
  ✓ Direct links
AJAX vs Regular

       regular link




          ajax
Speakers tweet
‣ Show    their 3 last tweet
‣ Refresh   every few minutes
‣ Update    dynamically
‣ Test   for non-JS browsers
  ✓ (tweets disabled)
‣ Direct   links and AJAX
‣ Highlight   links and tags
Hand-drawn icons
Something Nifty
‣ We   have to add something unique and cool
 ✓ Try1: Make icons go on circular trajectory and fade in
 ✓ Try2: Make logo bounce when clicked
 ✓ Try3: Shake logo when move mouse over
 ✓ Accidentally made all screen shake. Liked it.
 ✓ Bonus - 4th shake is more violent and makes icons fall
 ✓ Dropped icons can be found in “about” box. Later
   removed
Text flow
‣ Revisetext entered by client. Fix spaces between
 paragraphs. Make everything consistent
‣ Position   images
‣ Add   panorama image
‣ Add   Google maps
‣ Add   Booking form
Booking form
‣ Javascript   form - but message for no-JS browser
‣ Calculate    prices, totals and discounts dynamically
‣ Offer   gifts for 3-day pass
‣ Allow     to add multiple visitors for same compnay
‣ Ability   to remove visitors. Later disabled.
‣ Integrate    with Pay-Pal
‣ Save   data into database
Optimisation
‣ All   browsers with at least 3% market share
‣ Check    in older browsers, IE5, Firefox 1, Opera 6
  ✓ Looked good in those until we did IE6 optimisation
‣ Disabled   stylesheets
‣ Disabled   images
‣ Disabled   JavaScripts
No images - still
   readable
Eircom.ie with no
     images
no js, no img, no css
Stress-testing
‣ Main   page: 90 requests / sec, no caches or optimisation
‣ Over   100 req/sec on other pages
‣ Eircom   main page: 1000 requests / sec (cached)
‣ Eircom   article page: 10 req / sec
‣ Wordpress: 20     req / sec
‣ Twitter: 3   req / sec
Hosting
‣ Amazon AWS, E2, Europe

‣ Located   in Dublin
‣ 25ms   latency from Eircom DSL
‣ www.eircom.net    latency from Eircom DSL - 30ms
‣ hosting365: 25ms      latency
Hosting
‣ Gentoo     Linux, 32-bit, (Xen)
‣ Dual    2.33 Mhz CPU
‣ Apache     2.2, PHP 5.2
‣ nginx

‣ MySQL      5.0
‣ Security   enhancements
Total work


‣ 25-30   man-days (Total)
‣3   people in team
Our opportunity
‣ Try   new and experimental things
‣ Collect   data through google analytics
‣ Portfolio

‣ Test   framework features
The Result
      50
25           75



 0           100

 Fugly-o-meter
73% less fugly
‣ Time   for questions...


‣ Romans    Malinovskis

Contenu connexe

Tendances

Webinar: On-Page SEO Tips and Tricks
Webinar: On-Page SEO Tips and TricksWebinar: On-Page SEO Tips and Tricks
Webinar: On-Page SEO Tips and TricksWP Engine
 
[DevDay2018] Ignite your app development with native script and firebase - By...
[DevDay2018] Ignite your app development with native script and firebase - By...[DevDay2018] Ignite your app development with native script and firebase - By...
[DevDay2018] Ignite your app development with native script and firebase - By...DevDay.org
 
ASP.NET MVC From The Ground Up
ASP.NET MVC From The Ground UpASP.NET MVC From The Ground Up
ASP.NET MVC From The Ground UpKevin Griffin
 
Amazon.com's Web Services Opportunity
Amazon.com's Web Services OpportunityAmazon.com's Web Services Opportunity
Amazon.com's Web Services OpportunityTim O'Reilly
 
Introduction to Xamarin.Forms
Introduction to Xamarin.FormsIntroduction to Xamarin.Forms
Introduction to Xamarin.FormsBrad Pillow
 
Teaching Cloud to the Programmers of Tomorrow
Teaching Cloud to the Programmers of TomorrowTeaching Cloud to the Programmers of Tomorrow
Teaching Cloud to the Programmers of TomorrowMike Crabb
 

Tendances (7)

Webinar: On-Page SEO Tips and Tricks
Webinar: On-Page SEO Tips and TricksWebinar: On-Page SEO Tips and Tricks
Webinar: On-Page SEO Tips and Tricks
 
[DevDay2018] Ignite your app development with native script and firebase - By...
[DevDay2018] Ignite your app development with native script and firebase - By...[DevDay2018] Ignite your app development with native script and firebase - By...
[DevDay2018] Ignite your app development with native script and firebase - By...
 
Working local
Working localWorking local
Working local
 
ASP.NET MVC From The Ground Up
ASP.NET MVC From The Ground UpASP.NET MVC From The Ground Up
ASP.NET MVC From The Ground Up
 
Amazon.com's Web Services Opportunity
Amazon.com's Web Services OpportunityAmazon.com's Web Services Opportunity
Amazon.com's Web Services Opportunity
 
Introduction to Xamarin.Forms
Introduction to Xamarin.FormsIntroduction to Xamarin.Forms
Introduction to Xamarin.Forms
 
Teaching Cloud to the Programmers of Tomorrow
Teaching Cloud to the Programmers of TomorrowTeaching Cloud to the Programmers of Tomorrow
Teaching Cloud to the Programmers of Tomorrow
 

En vedette

En vedette (20)

Proyecto de uso privado
Proyecto de uso privadoProyecto de uso privado
Proyecto de uso privado
 
USALOS:
USALOS:USALOS:
USALOS:
 
Tallervideo5
Tallervideo5Tallervideo5
Tallervideo5
 
Elementos de un paisaje
Elementos de un paisajeElementos de un paisaje
Elementos de un paisaje
 
Seminario 3
Seminario 3Seminario 3
Seminario 3
 
Pendientes
PendientesPendientes
Pendientes
 
las tic taller 1
las tic taller 1 las tic taller 1
las tic taller 1
 
Taller hábitat sustentable
Taller hábitat sustentableTaller hábitat sustentable
Taller hábitat sustentable
 
Iphonographie diapo
Iphonographie diapoIphonographie diapo
Iphonographie diapo
 
Biotecnología
BiotecnologíaBiotecnología
Biotecnología
 
Folleto cataliza
Folleto catalizaFolleto cataliza
Folleto cataliza
 
Biotecnología
BiotecnologíaBiotecnología
Biotecnología
 
Tarea interactiva 2
Tarea interactiva 2Tarea interactiva 2
Tarea interactiva 2
 
Ficha 1
Ficha 1Ficha 1
Ficha 1
 
Trabajo semana 2 inteligencias
Trabajo semana 2   inteligenciasTrabajo semana 2   inteligencias
Trabajo semana 2 inteligencias
 
Dinesh 1
Dinesh 1Dinesh 1
Dinesh 1
 
Pasos para disenar_proyectos
Pasos para disenar_proyectosPasos para disenar_proyectos
Pasos para disenar_proyectos
 
estudio de mercadeo sobre un producto.
estudio de mercadeo sobre un producto.estudio de mercadeo sobre un producto.
estudio de mercadeo sobre un producto.
 
Guia de inicio del curso
Guia de inicio del cursoGuia de inicio del curso
Guia de inicio del curso
 
Mspa cronograma reuniones 2014
Mspa cronograma reuniones 2014Mspa cronograma reuniones 2014
Mspa cronograma reuniones 2014
 

Similaire à 73 Less Fugly Epicenter

Angels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveAngels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveChris Mills
 
More efficient, usable web
More efficient, usable webMore efficient, usable web
More efficient, usable webChris Mills
 
(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyone(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyoneChris Mills
 
Lunch & Learn BigQuery & Firebase from other Google Cloud customers
Lunch & Learn BigQuery & Firebase from other Google Cloud customersLunch & Learn BigQuery & Firebase from other Google Cloud customers
Lunch & Learn BigQuery & Firebase from other Google Cloud customersDaniel Zivkovic
 
The ABC of Coded Style Guides
The ABC of Coded Style GuidesThe ABC of Coded Style Guides
The ABC of Coded Style GuidesHenning Muszynski
 
Scaling woo commerce-v2-pagely
Scaling woo commerce-v2-pagelyScaling woo commerce-v2-pagely
Scaling woo commerce-v2-pagelyJoshua Eichorn
 
Migration Best Practices - SEOkomm 2018
Migration Best Practices - SEOkomm 2018Migration Best Practices - SEOkomm 2018
Migration Best Practices - SEOkomm 2018Bastian Grimm
 
Henning Muszynski - The ABC of Coded Style Guides
Henning Muszynski - The ABC of Coded Style GuidesHenning Muszynski - The ABC of Coded Style Guides
Henning Muszynski - The ABC of Coded Style GuidesOdessaJS Conf
 
SEO for Large/Enterprise Websites - Data & Tech Side
SEO for Large/Enterprise Websites - Data & Tech SideSEO for Large/Enterprise Websites - Data & Tech Side
SEO for Large/Enterprise Websites - Data & Tech SideDominic Woodman
 
CSS3: the new style council
CSS3: the new style councilCSS3: the new style council
CSS3: the new style councilChris Mills
 
Jazz up your JavaScript: Unobtrusive scripting with JavaScript libraries
Jazz up your JavaScript: Unobtrusive scripting with JavaScript librariesJazz up your JavaScript: Unobtrusive scripting with JavaScript libraries
Jazz up your JavaScript: Unobtrusive scripting with JavaScript librariesSimon Willison
 
iOS Indie Developer Toolkit - CocoaHeads 3city
iOS Indie Developer Toolkit - CocoaHeads 3cityiOS Indie Developer Toolkit - CocoaHeads 3city
iOS Indie Developer Toolkit - CocoaHeads 3cityMichał Zygar
 
Mastering Migration - How to Manage a Move From Another CMS to WordPress with...
Mastering Migration - How to Manage a Move From Another CMS to WordPress with...Mastering Migration - How to Manage a Move From Another CMS to WordPress with...
Mastering Migration - How to Manage a Move From Another CMS to WordPress with...WP Engine
 
How to Speed Up Your Joomla! Site
How to Speed Up Your Joomla! SiteHow to Speed Up Your Joomla! Site
How to Speed Up Your Joomla! SiteDaniel Kanchev
 

Similaire à 73 Less Fugly Epicenter (20)

Angels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveAngels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusive
 
More efficient, usable web
More efficient, usable webMore efficient, usable web
More efficient, usable web
 
Assessing Your Own Site Configuration
Assessing Your Own Site ConfigurationAssessing Your Own Site Configuration
Assessing Your Own Site Configuration
 
(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyone(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyone
 
Lunch & Learn BigQuery & Firebase from other Google Cloud customers
Lunch & Learn BigQuery & Firebase from other Google Cloud customersLunch & Learn BigQuery & Firebase from other Google Cloud customers
Lunch & Learn BigQuery & Firebase from other Google Cloud customers
 
The ABC of Coded Style Guides
The ABC of Coded Style GuidesThe ABC of Coded Style Guides
The ABC of Coded Style Guides
 
RWD
RWDRWD
RWD
 
Real solutions, no tricks
Real solutions, no tricksReal solutions, no tricks
Real solutions, no tricks
 
Scaling woo commerce-v2-pagely
Scaling woo commerce-v2-pagelyScaling woo commerce-v2-pagely
Scaling woo commerce-v2-pagely
 
Migration Best Practices - SEOkomm 2018
Migration Best Practices - SEOkomm 2018Migration Best Practices - SEOkomm 2018
Migration Best Practices - SEOkomm 2018
 
Henning Muszynski - The ABC of Coded Style Guides
Henning Muszynski - The ABC of Coded Style GuidesHenning Muszynski - The ABC of Coded Style Guides
Henning Muszynski - The ABC of Coded Style Guides
 
SEO for Large/Enterprise Websites - Data & Tech Side
SEO for Large/Enterprise Websites - Data & Tech SideSEO for Large/Enterprise Websites - Data & Tech Side
SEO for Large/Enterprise Websites - Data & Tech Side
 
Symfony for non-techies
Symfony for non-techiesSymfony for non-techies
Symfony for non-techies
 
CSS3: the new style council
CSS3: the new style councilCSS3: the new style council
CSS3: the new style council
 
Jazz up your JavaScript: Unobtrusive scripting with JavaScript libraries
Jazz up your JavaScript: Unobtrusive scripting with JavaScript librariesJazz up your JavaScript: Unobtrusive scripting with JavaScript libraries
Jazz up your JavaScript: Unobtrusive scripting with JavaScript libraries
 
iOS Indie Developer Toolkit - CocoaHeads 3city
iOS Indie Developer Toolkit - CocoaHeads 3cityiOS Indie Developer Toolkit - CocoaHeads 3city
iOS Indie Developer Toolkit - CocoaHeads 3city
 
A Period of Transition
A Period of TransitionA Period of Transition
A Period of Transition
 
SEARCH Y - Bastian Grimm - Migrations Best Practices
SEARCH Y - Bastian Grimm -  Migrations Best PracticesSEARCH Y - Bastian Grimm -  Migrations Best Practices
SEARCH Y - Bastian Grimm - Migrations Best Practices
 
Mastering Migration - How to Manage a Move From Another CMS to WordPress with...
Mastering Migration - How to Manage a Move From Another CMS to WordPress with...Mastering Migration - How to Manage a Move From Another CMS to WordPress with...
Mastering Migration - How to Manage a Move From Another CMS to WordPress with...
 
How to Speed Up Your Joomla! Site
How to Speed Up Your Joomla! SiteHow to Speed Up Your Joomla! Site
How to Speed Up Your Joomla! Site
 

Plus de Romans Malinovskis

Plus de Romans Malinovskis (8)

Lightning talk teaching php to kids with atk
Lightning talk teaching php to kids with atkLightning talk teaching php to kids with atk
Lightning talk teaching php to kids with atk
 
Agile data presentation 3 - cambridge
Agile data   presentation 3 - cambridgeAgile data   presentation 3 - cambridge
Agile data presentation 3 - cambridge
 
Agile Data concept introduction
Agile Data   concept introductionAgile Data   concept introduction
Agile Data concept introduction
 
Agile toolkit present 2012
Agile toolkit present 2012Agile toolkit present 2012
Agile toolkit present 2012
 
Agile toolkit present 2012
Agile toolkit present 2012Agile toolkit present 2012
Agile toolkit present 2012
 
Agile Toolkit Technical Presentation
Agile Toolkit Technical PresentationAgile Toolkit Technical Presentation
Agile Toolkit Technical Presentation
 
Agile Tour presentation
Agile Tour presentationAgile Tour presentation
Agile Tour presentation
 
Saa s lifecycle
Saa s lifecycleSaa s lifecycle
Saa s lifecycle
 

Dernier

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Dernier (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

73 Less Fugly Epicenter

  • 1. 74% Less fugly The Making of Epicenter by Romans Malinovskis, Agile Technologies
  • 2. About me ‣ Started computers at age of 10, in 1991 ‣ Developing commercial software since 1995 ‣ In Web applications since 1998 ‣ Started Web Developer team in 2003 ‣ Incorporated in Ireland in 2007 My role in Agile: ‣ Architect SaaS application and Web interfaces.
  • 3. About Agile ‣ We develop web software for businesses ✓ Online financial, accounting system, SaaS ✓ Client Self-service portals ✓ Integration with backend software ‣ We do not sell Web Design ✓ but we know a lot about it ✓ stunning design is a must for web software
  • 4. Fugly vs not fugly How big is the difference?
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. loads fast graphics's nice content is good colours navigation google friendly works in all browsers ..not only on PC
  • 14. 50 25 75 0 100 Fugly
  • 15.
  • 16. 50 25 75 0 100 Fugly TODO: fix next year
  • 17. Name ‣ Use a name with a meaning: ‣ epicenter ✓ ground shaking ✓ volcano ✓ so many people that ground shakes. ✓ accumulate stuff and then erupts in the instant, reshapes the ground
  • 18. he just sent me this.. he likes volcano.
  • 19. Designer’s response ‣ “epicenter” definition ✓ The point of the earth's surface directly above the focus of an earthquake.
  • 20. Customer is always wrong... ‣ Do you tell your dentist how to do his work? ‣ Why would you tell designer how to do his work? ✓ stops creativity and innovation ✓ subjective opinion of few individuals ✓ no research or study ✓ often based on competition ✓ the missing link
  • 21. Sorting out fonts ‣ Lowercase font is better in our case, because it simply looks better.
  • 22. And the winner is ‣ Custom font “Thonburi”
  • 23. Customising our font ‣ we need equal letter spaces and to fix shape
  • 24. Creating symbolism: ‣ Scale font down so that second “e” would be in centre and with highest contrast
  • 28.
  • 30.
  • 31. Creating a Style ‣ Expand the idea behind a logo ✓ Different contexts and backgrounds ✓ Different situations ✓ Smaller logo ✓ Event pass design ✓ Business cards
  • 35. Icon
  • 37. Finally - on the web
  • 38. Newsletters ‣ Our task is to collect people e-mails for newsletter ‣ However also try to get feedback from them
  • 39. ‣ Save email ‣ and through jQuery transition ‣ askfor extra details
  • 40. Browser Compatibility ‣ Standard compliant ✓ Firefox ✓ Webkit (Safari, Chrome) ‣ Compliant but looking uglier ✓ Opera ‣ Compliant to it’s own standards ✓ IE6, IE7
  • 41. Testing ‣ Button clicks during transition ‣ SQL injection ‣ Stress-testing
  • 43. Now to the main site ‣ Nailing down requirements ✓ dependencies, entities, constraints ✓ use scenarios ‣ Merging with our concepts ✓ Colours ✓ Circular shape ✓ Feel
  • 46. Client interaction ‣ Do not show previews to client ✓ gets client involved too early ✓ pointing out known flaws ✓ change of direction
  • 47. Problem ‣ Where should we put context?
  • 48. Solution ‣ two styles - combined
  • 50. Dynamics ‣ Multi-page navigation ‣ Dynamic / AJAX
  • 51. Where to put speakers? ‣ Not enough space...
  • 56. Backend ‣ Structures for sessions, speakers, days, time schedule ‣ Dynamic generation of all pages ‣ Photo management ‣ Plaintext editing for some texts ‣ Rich-text editing for other content
  • 58. Coding ‣ Writing in PHP5 ‣ Using Agile Toolkit 3 ‣ Integrating with templates ‣ Implementing non-javascript verison ‣ Working on closed domain
  • 60. Resulting PHP code ‣ Admin ✓ Approx. 250 lines of code (excluding libraries) ‣ Front-end ✓ Approx 400 lines of code ✓ Ticket form: 50 lines ✓ Widgets for map and panorama view ✓ 600 lines of JavaScript
  • 61. Google friendliness ‣ Basic SEO principles ✓ If you don’t promote your website, it won’t be ranked ✓ Make way for Search engines ✓ Direct links to AJAXified articles
  • 62. AJAX + Google ‣ <a id=”link” href=”/otherpage.html”>..</a> ‣ $(‘#link’).click(function(ev){ ev.preventDefault(); .. }); ✓ Links works properly on browsers without JS ✓ Links work fancy with JS browsers ✓ Google ignores JS ✓ Direct links
  • 63. AJAX vs Regular regular link ajax
  • 64. Speakers tweet ‣ Show their 3 last tweet ‣ Refresh every few minutes ‣ Update dynamically ‣ Test for non-JS browsers ✓ (tweets disabled) ‣ Direct links and AJAX ‣ Highlight links and tags
  • 66. Something Nifty ‣ We have to add something unique and cool ✓ Try1: Make icons go on circular trajectory and fade in ✓ Try2: Make logo bounce when clicked ✓ Try3: Shake logo when move mouse over ✓ Accidentally made all screen shake. Liked it. ✓ Bonus - 4th shake is more violent and makes icons fall ✓ Dropped icons can be found in “about” box. Later removed
  • 67. Text flow ‣ Revisetext entered by client. Fix spaces between paragraphs. Make everything consistent ‣ Position images ‣ Add panorama image ‣ Add Google maps ‣ Add Booking form
  • 68. Booking form ‣ Javascript form - but message for no-JS browser ‣ Calculate prices, totals and discounts dynamically ‣ Offer gifts for 3-day pass ‣ Allow to add multiple visitors for same compnay ‣ Ability to remove visitors. Later disabled. ‣ Integrate with Pay-Pal ‣ Save data into database
  • 69. Optimisation ‣ All browsers with at least 3% market share ‣ Check in older browsers, IE5, Firefox 1, Opera 6 ✓ Looked good in those until we did IE6 optimisation ‣ Disabled stylesheets ‣ Disabled images ‣ Disabled JavaScripts
  • 70. No images - still readable
  • 72. no js, no img, no css
  • 73. Stress-testing ‣ Main page: 90 requests / sec, no caches or optimisation ‣ Over 100 req/sec on other pages ‣ Eircom main page: 1000 requests / sec (cached) ‣ Eircom article page: 10 req / sec ‣ Wordpress: 20 req / sec ‣ Twitter: 3 req / sec
  • 74. Hosting ‣ Amazon AWS, E2, Europe ‣ Located in Dublin ‣ 25ms latency from Eircom DSL ‣ www.eircom.net latency from Eircom DSL - 30ms ‣ hosting365: 25ms latency
  • 75. Hosting ‣ Gentoo Linux, 32-bit, (Xen) ‣ Dual 2.33 Mhz CPU ‣ Apache 2.2, PHP 5.2 ‣ nginx ‣ MySQL 5.0 ‣ Security enhancements
  • 76. Total work ‣ 25-30 man-days (Total) ‣3 people in team
  • 77. Our opportunity ‣ Try new and experimental things ‣ Collect data through google analytics ‣ Portfolio ‣ Test framework features
  • 78. The Result 50 25 75 0 100 Fugly-o-meter
  • 79. 73% less fugly ‣ Time for questions... ‣ Romans Malinovskis