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?
73 Less Fugly   Epicenter
73 Less Fugly   Epicenter
73 Less Fugly   Epicenter
73 Less Fugly   Epicenter
73 Less Fugly   Epicenter
73 Less Fugly   Epicenter
73 Less Fugly   Epicenter
73 Less Fugly   Epicenter
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
73 Less Fugly   Epicenter
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
73 Less Fugly   Epicenter
Add black
73 Less Fugly   Epicenter
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

More Related Content

PDF
Getting started with dev tools (atl)
PPTX
Web design basics_01
KEY
Tim Scollick - Flex, Seo And You
PDF
Building JavaScript Apps for Force.com with EmberJS
PDF
The Often Useful Somewhat Annoying World of WordPress Multisite
PPTX
Inside Wijmo 5, a Large-scale JavaScript Product
PPTX
Blazor in Microsoft Teams
PDF
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
Getting started with dev tools (atl)
Web design basics_01
Tim Scollick - Flex, Seo And You
Building JavaScript Apps for Force.com with EmberJS
The Often Useful Somewhat Annoying World of WordPress Multisite
Inside Wijmo 5, a Large-scale JavaScript Product
Blazor in Microsoft Teams
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM

What's hot (7)

PPTX
Webinar: On-Page SEO Tips and Tricks
PPTX
[DevDay2018] Ignite your app development with native script and firebase - By...
PPTX
PPTX
ASP.NET MVC From The Ground Up
PPT
Amazon.com's Web Services Opportunity
PDF
Introduction to Xamarin.Forms
PDF
Teaching Cloud to the Programmers of Tomorrow
Webinar: On-Page SEO Tips and Tricks
[DevDay2018] Ignite your app development with native script and firebase - By...
ASP.NET MVC From The Ground Up
Amazon.com's Web Services Opportunity
Introduction to Xamarin.Forms
Teaching Cloud to the Programmers of Tomorrow
Ad

Viewers also liked (20)

PPTX
Proyecto de uso privado
PPTX
USALOS:
PDF
Tallervideo5
PDF
Elementos de un paisaje
PPTX
Seminario 3
RTF
Pendientes
PPTX
las tic taller 1
PPTX
Taller hábitat sustentable
PPTX
Iphonographie diapo
PPT
Biotecnología
PDF
Folleto cataliza
DOCX
Biotecnología
PPTX
Tarea interactiva 2
PDF
Ficha 1
DOC
Trabajo semana 2 inteligencias
PPT
Dinesh 1
DOC
Pasos para disenar_proyectos
PPTX
estudio de mercadeo sobre un producto.
PPTX
Guia de inicio del curso
PDF
Mspa cronograma reuniones 2014
Proyecto de uso privado
USALOS:
Tallervideo5
Elementos de un paisaje
Seminario 3
Pendientes
las tic taller 1
Taller hábitat sustentable
Iphonographie diapo
Biotecnología
Folleto cataliza
Biotecnología
Tarea interactiva 2
Ficha 1
Trabajo semana 2 inteligencias
Dinesh 1
Pasos para disenar_proyectos
estudio de mercadeo sobre un producto.
Guia de inicio del curso
Mspa cronograma reuniones 2014
Ad

Similar to 73 Less Fugly Epicenter (20)

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

More from Romans Malinovskis (8)

PDF
Lightning talk teaching php to kids with atk
PPTX
Agile data presentation 3 - cambridge
PDF
Agile Data concept introduction
KEY
Agile toolkit present 2012
KEY
Agile toolkit present 2012
PDF
Agile Toolkit Technical Presentation
PDF
Agile Tour presentation
PPT
Saa s lifecycle
Lightning talk teaching php to kids with atk
Agile data presentation 3 - cambridge
Agile Data concept introduction
Agile toolkit present 2012
Agile toolkit present 2012
Agile Toolkit Technical Presentation
Agile Tour presentation
Saa s lifecycle

Recently uploaded (20)

PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
Configure Apache Mutual Authentication
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
DOCX
search engine optimization ppt fir known well about this
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
2018-HIPAA-Renewal-Training for executives
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PPTX
Build Your First AI Agent with UiPath.pptx
PDF
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPT
Geologic Time for studying geology for geologist
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Zenith AI: Advanced Artificial Intelligence
Microsoft Excel 365/2024 Beginner's training
NewMind AI Weekly Chronicles – August ’25 Week III
Configure Apache Mutual Authentication
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
OpenACC and Open Hackathons Monthly Highlights July 2025
search engine optimization ppt fir known well about this
Enhancing plagiarism detection using data pre-processing and machine learning...
A contest of sentiment analysis: k-nearest neighbor versus neural network
2018-HIPAA-Renewal-Training for executives
Module 1.ppt Iot fundamentals and Architecture
The influence of sentiment analysis in enhancing early warning system model f...
Improvisation in detection of pomegranate leaf disease using transfer learni...
Build Your First AI Agent with UiPath.pptx
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Convolutional neural network based encoder-decoder for efficient real-time ob...
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Geologic Time for studying geology for geologist
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx

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?
  • 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
  • 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
  • 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