SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

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
 

What's hot (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
 

Viewers also liked

Viewers also liked (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
 

Similar to 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
 

Similar to 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
 

More from Romans Malinovskis

More from 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
 

Recently uploaded

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

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