SlideShare a Scribd company logo
1 of 30
Download to read offline
Royston Tay
  Co-founder
  royston@zopim.com
23 April 2010   1     Confidential
      Business dude, engineer, co-founder Zopim
               Electrical engineering background (NUS)
               Only started serious coding in 2005
                ◦ QA engineer at FaceTime Communications
                ◦ Makeshift developer at Zopim
               Keen focus on RIA technologies especially
                after co-founding e27.sg
               Currently in Product Management role in
                Zopim



23 April 2010      2                Confidential
For..
        • Web-based                            • Influence
           Solutions         • Small-          Sales Online
                              medium
                             Businesses
                  Zopim
                                                     To..
                provides..




23 April 2010      3            Confidential
Simple, affordable, powerful

                The best Live Chat for
                sales conversion
                Tailor-made for SMBs
                Emphasis on
                » Simple, great user
                  experience
                » Accessibility
                » Powerful features



23 April 2010        4                 Confidential
      Websites with shopping carts
                ◦ Surf-station.com
                   Being logged onto Zopim is now a basic requirement of both our store
                    locations. Zopim has absolutely changed the way we do day to day
                    customer service
                ◦ MiracleNoodle.com
                   Zopim has reduced phone calls substantially and has increased sales on
                    our website by 16%. We can't imagine our website without it

               Real Estate
                ◦ Buddyblake.com
                   In the past 2 months we've sold 2 homes directly as a result of Zopim. This
                    is the best investment I've made in some time.

               Offline Services
                ◦ Spahaven.com
                   Having an automated lead engagement tool like Zopim gives our
                    company the ability to execute like the big boys, for a fraction of the
                    cost



23 April 2010         5                           Confidential
23 April 2010   6   Confidential
      Our history with RIA frameworks
               Why we adopted Flex in 2008
               Our major gripes with Flex
               How we coped with Flex
               Recent release of Flex 4 / Flash 10
               Which RIA framework is the fairest of them all?
                ◦ Flex, Silverlight, JavaFx, AJAX?




23 April 2010       7                    Confidential
23 April 2010   8   Confidential
2004: Flex 1 released
                                                                 Flex
                       2006: Flex 2 released
                              Feb 2008: Flex 3 released
                                        Open sourced




                                                                 Zopim


           June 2007: Challenge to come
           up with a prototype




23 April 2010          9                          Confidential
Awesome Live Chat experience for business owners

                Not OS dependent
                Browser-based
                » No downloads required
                Provide the best possible desktop-like UI
                experience for our users
                Easily skinned
                No / Low learning curve

         Decision : ExtJs (JS framework built on YUI)

23 April 2010      10                     Confidential
   ExtJs Problems
                             ◦ Minimal animation
                               support
                             ◦ Cross-browser
                               compatibility (read IE6!!)
                             ◦ Longer development
                               cycle




23 April 2010   11   Confidential
Flex beckons..
          Large Market Share
          WYSIWYG Editor
          MXML – XML based declarative language for
           display components
          Inline actionscript for business logic
          Flash socket
          Better animation / visualization / multimedia
           support


23 April 2010   12            Confidential
2004: Flex 1 released
                                                                  Flex
                       2006: Flex 2 released
                               Feb 2008: Flex 3 released
                                         Open sourced



                                 Sep 2008: Zopim
                                 releases Flex
                                 Dashboard
                                                                  Zopim
                           Jan 2008: Zopim
                           founded
           Aug 2007: Prototype
           in ExtJs




23 April 2010         13                           Confidential
2004: Flex 1 released
                                                                        Flex
                       2006: Flex 2 released
                                Feb 2008: Flex 3 released
                                          Open sourced



                                 Sep 2008: Zopim
                                 releases Flex
                                 Dashboard
                                                                        Zopim
                           Jan 2008: Zopim
                           founded           Jan 2009: Our first baby
           Aug 2007: Prototype               – JXML created
           in ExtJs                          (Declarative Javascript
                                             framework similar to
                                             Flex’s MXML)


23 April 2010         14                            Confidential
Modular, faster widget development
                                           Jxml
                                           files
                                                   Ruby-based JXML
                                                      Compiler



                                                           Compiled
                                                           Javascript




23 April 2010   15          Confidential
Mid 2009: First signs of
                                                      problems. Optimization
                2004: Flex 1 released                 issues.
                                                                                 Flex
                       2006: Flex 2 released
                                Feb 2008: Flex 3 released
                                          Open sourced



                                 Sep 2008: Zopim
                                 releases Flex
                                 Dashboard
                                                                                 Zopim
                           Jan 2008: Zopim
                           founded           Jan 2009: Our first baby
           Aug 2007: Prototype               – JXML created
           in ExtJs                          (Declarative Javascript
                                             framework similar to
                                             Flex’s MXML)


23 April 2010         16                            Confidential
      > 50% for heavy-traffic sites
                ◦ Constant visual updates on visitor list
               Spikes when dynamically adding / removing
                UI components




23 April 2010       17                   Confidential
      Reduce Measurement / Layout calculations
                ◦ Use absolute layouts where possible (vs fluid layouts)
                ◦ Avoid nested VBox, HBox
                ◦ Use stripped-down Group, VGroup, HGroup in Flex 4
               Reduce data-bindings for frequently
                changing data
               For lists containing large data sets –
                useVirtualLayout = true




23 April 2010       18                  Confidential
      Reuse dynamic UI components
                ◦ Reduces unnecessary object creation




               Use
                mouseEnabled = false
                mouseChildren = false
                liberally!


23 April 2010         19                Confidential
      No way to explicitly delete an object
               Garbage collector
               Objects with lingering references leads to
                memory leak                        Creates and
                                                                              references
                                                                          A                 B

               De-reference & remove event                                    Adds Event
                                                                                Listener
                listeners diligently
                addEventListener (type, listener, useCapture, priority,                     C
                useWeakReference)

               Be careful – Hard to find leaks


23 April 2010          20                               Confidential
      Compiled SWF > 1.5MB
               Solution was relatively straightforward
                ◦ Use Runtime Shared Libraries (RSLs)
                ◦ Compiled SWF < 50% of original




23 April 2010       21                 Confidential
Mid 2009: First signs of
                                                      problems. Optimization
                2004: Flex 1 released                 issues.
                                                                                          Flex
                       2006: Flex 2 released
                                Feb 2008: Flex 3 released                Mar 2010: Flex 4 released
                                          Open sourced



                                 Sep 2008: Zopim
                                 releases Flex
                                 Dashboard
                                                                                          Zopim
                           Jan 2008: Zopim
                           founded           Jan 2009: Our first baby
           Aug 2007: Prototype               – JXML created
           in ExtJs                          (Declarative Javascript
                                             framework similar to
                                             Flex’s MXML)


23 April 2010         22                            Confidential
      Better designer / developer workflow
                ◦ Adobe Catalyst and FlashBuilder
               Data-centric development
                ◦ Define data model + Bind data to Flex components
               Developer Productivity / Testing Tools
                ◦ Better Refactoring, Profiling, Documentation, Unit
                  Testing
               Better mobile compatibility
                ◦ Adobe Packager: AS3 to iPhone app
                ◦ Adobe Slider: Mobile Flex Framework



23 April 2010       23                 Confidential
Important Considerations

                SEO
                Level of adoption / X-browser issues
                Breaking of normal browser experience
                Compatible with 3rd party JS / swf
                Speed / File size
                Level of multimedia integration
                Need to manipulate DOM / HTML
                Ease of hiring developers

23 April 2010     24            Confidential
23 April 2010   25   Confidential
      Frontend Developer
                ◦   Experienced in Javascript / JS frameworks
                ◦   Dabbled with Flex 3 / 4
                ◦   Passion and creativity is a must
                ◦   Keen interest in UI design
               Backend Developer
                ◦ Knowledge & understanding of OOP (Python preferably)
                ◦ Experienced in MySQL, DB design and administration
                ◦ Familiar with web technologies such as Web server, DNS,
                  TCP, etc..
                ◦ Creative and persistent problem solver



23 April 2010         26                   Confidential
23 April 2010   27   Confidential
Plugin-based
          Open Laszlo
          JavaFx
          Silverlight


         AJAX Frameworks
          Google Web Toolkit
          YUI
          JQuery UI
          ExtJs




23 April 2010   28              Confidential
      The Battle for the RIA Throne: Flex vs. Silverlight
               Flex vs AJAX
               Optimizing Flex Applications
               What's new in Flash Builder 4




23 April 2010      29                 Confidential
      Flare Data Visualization
               FlexLib – Open source flex components
               Tour de Flex – AIR app with demos & code
                samples




23 April 2010      30             Confidential

More Related Content

Similar to RIAction 2010 - Love hate relationship of Zopim and Flex

Lotusphere 2011: INV105 Messaging and Collaboration Strategy
Lotusphere 2011: INV105 Messaging and Collaboration StrategyLotusphere 2011: INV105 Messaging and Collaboration Strategy
Lotusphere 2011: INV105 Messaging and Collaboration StrategyEd Brill
 
Iam Lug 2009 Integration And Coexistence Session
Iam Lug 2009   Integration And Coexistence SessionIam Lug 2009   Integration And Coexistence Session
Iam Lug 2009 Integration And Coexistence SessionJohn Head
 
Interface Management System: Concepts and Implementation
Interface Management System: Concepts and ImplementationInterface Management System: Concepts and Implementation
Interface Management System: Concepts and ImplementationTarmo Ploom
 
Eclipse RT projects Gemini web and Virgo par Steve Powell
Eclipse RT projects Gemini web and Virgo par Steve PowellEclipse RT projects Gemini web and Virgo par Steve Powell
Eclipse RT projects Gemini web and Virgo par Steve PowellEclipseDayParis
 
GoOpen 2010: Rein Amund Schultz
GoOpen 2010: Rein Amund SchultzGoOpen 2010: Rein Amund Schultz
GoOpen 2010: Rein Amund SchultzFriprogsenteret
 
“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...
“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...
“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...John Head
 
CodeMorphic at MinneWebCon 2010
CodeMorphic at MinneWebCon 2010CodeMorphic at MinneWebCon 2010
CodeMorphic at MinneWebCon 2010CodeMorphic, Inc.
 
Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy ...
Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy ...Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy ...
Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy ...Skills Matter
 
Flash Applications For Mobile
Flash Applications For MobileFlash Applications For Mobile
Flash Applications For MobileSerge Jespers
 
OpenID Foundation Retail Advisory Committee Webinar
OpenID Foundation Retail Advisory Committee WebinarOpenID Foundation Retail Advisory Committee Webinar
OpenID Foundation Retail Advisory Committee WebinarMatterport
 
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration StrategyIBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration StrategyEd Brill
 
Xebia adobe flash mobile applications
Xebia adobe flash mobile applicationsXebia adobe flash mobile applications
Xebia adobe flash mobile applicationsMichael Chaize
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009julien.ponge
 
Lotusphere 2012 - What's next in Lotus Notes & Domino
Lotusphere 2012 - What's next in Lotus Notes & DominoLotusphere 2012 - What's next in Lotus Notes & Domino
Lotusphere 2012 - What's next in Lotus Notes & DominoIBM Danmark
 
Keynote: OSGi Past, Present and Future - Alex Blewitt
Keynote: OSGi Past, Present and Future - Alex BlewittKeynote: OSGi Past, Present and Future - Alex Blewitt
Keynote: OSGi Past, Present and Future - Alex Blewittmfrancis
 
Mobile Development. A primer.
Mobile Development. A primer.Mobile Development. A primer.
Mobile Development. A primer.Giuseppe Sollazzo
 

Similar to RIAction 2010 - Love hate relationship of Zopim and Flex (20)

Lotusphere 2011: INV105 Messaging and Collaboration Strategy
Lotusphere 2011: INV105 Messaging and Collaboration StrategyLotusphere 2011: INV105 Messaging and Collaboration Strategy
Lotusphere 2011: INV105 Messaging and Collaboration Strategy
 
Iam Lug 2009 Integration And Coexistence Session
Iam Lug 2009   Integration And Coexistence SessionIam Lug 2009   Integration And Coexistence Session
Iam Lug 2009 Integration And Coexistence Session
 
Interface Management System: Concepts and Implementation
Interface Management System: Concepts and ImplementationInterface Management System: Concepts and Implementation
Interface Management System: Concepts and Implementation
 
Eclipse RT projects Gemini web and Virgo par Steve Powell
Eclipse RT projects Gemini web and Virgo par Steve PowellEclipse RT projects Gemini web and Virgo par Steve Powell
Eclipse RT projects Gemini web and Virgo par Steve Powell
 
GoOpen 2010: Rein Amund Schultz
GoOpen 2010: Rein Amund SchultzGoOpen 2010: Rein Amund Schultz
GoOpen 2010: Rein Amund Schultz
 
Esper - CEP Engine
Esper - CEP EngineEsper - CEP Engine
Esper - CEP Engine
 
“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...
“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...
“Kum Bah Yah” meets “Lets Kick Butt” : The Integration of IBM Lotus Notes and...
 
CodeMorphic at MinneWebCon 2010
CodeMorphic at MinneWebCon 2010CodeMorphic at MinneWebCon 2010
CodeMorphic at MinneWebCon 2010
 
Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy ...
Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy ...Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy ...
Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy ...
 
Flash Applications For Mobile
Flash Applications For MobileFlash Applications For Mobile
Flash Applications For Mobile
 
OpenID Foundation Retail Advisory Committee Webinar
OpenID Foundation Retail Advisory Committee WebinarOpenID Foundation Retail Advisory Committee Webinar
OpenID Foundation Retail Advisory Committee Webinar
 
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration StrategyIBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
 
Oper
OperOper
Oper
 
Xebia adobe flash mobile applications
Xebia adobe flash mobile applicationsXebia adobe flash mobile applications
Xebia adobe flash mobile applications
 
Itechlaw Asia Commercial Copyleft (19 02 2009)
Itechlaw Asia   Commercial Copyleft (19 02 2009)Itechlaw Asia   Commercial Copyleft (19 02 2009)
Itechlaw Asia Commercial Copyleft (19 02 2009)
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009
 
Lotusphere 2012 - What's new in Lotus Notes & Domino
Lotusphere 2012 - What's new in Lotus Notes & DominoLotusphere 2012 - What's new in Lotus Notes & Domino
Lotusphere 2012 - What's new in Lotus Notes & Domino
 
Lotusphere 2012 - What's next in Lotus Notes & Domino
Lotusphere 2012 - What's next in Lotus Notes & DominoLotusphere 2012 - What's next in Lotus Notes & Domino
Lotusphere 2012 - What's next in Lotus Notes & Domino
 
Keynote: OSGi Past, Present and Future - Alex Blewitt
Keynote: OSGi Past, Present and Future - Alex BlewittKeynote: OSGi Past, Present and Future - Alex Blewitt
Keynote: OSGi Past, Present and Future - Alex Blewitt
 
Mobile Development. A primer.
Mobile Development. A primer.Mobile Development. A primer.
Mobile Development. A primer.
 

Recently uploaded

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

RIAction 2010 - Love hate relationship of Zopim and Flex

  • 1. Royston Tay Co-founder royston@zopim.com 23 April 2010 1 Confidential
  • 2. Business dude, engineer, co-founder Zopim  Electrical engineering background (NUS)  Only started serious coding in 2005 ◦ QA engineer at FaceTime Communications ◦ Makeshift developer at Zopim  Keen focus on RIA technologies especially after co-founding e27.sg  Currently in Product Management role in Zopim 23 April 2010 2 Confidential
  • 3. For.. • Web-based • Influence Solutions • Small- Sales Online medium Businesses Zopim To.. provides.. 23 April 2010 3 Confidential
  • 4. Simple, affordable, powerful The best Live Chat for sales conversion Tailor-made for SMBs Emphasis on » Simple, great user experience » Accessibility » Powerful features 23 April 2010 4 Confidential
  • 5. Websites with shopping carts ◦ Surf-station.com  Being logged onto Zopim is now a basic requirement of both our store locations. Zopim has absolutely changed the way we do day to day customer service ◦ MiracleNoodle.com  Zopim has reduced phone calls substantially and has increased sales on our website by 16%. We can't imagine our website without it  Real Estate ◦ Buddyblake.com  In the past 2 months we've sold 2 homes directly as a result of Zopim. This is the best investment I've made in some time.  Offline Services ◦ Spahaven.com  Having an automated lead engagement tool like Zopim gives our company the ability to execute like the big boys, for a fraction of the cost 23 April 2010 5 Confidential
  • 6. 23 April 2010 6 Confidential
  • 7. Our history with RIA frameworks  Why we adopted Flex in 2008  Our major gripes with Flex  How we coped with Flex  Recent release of Flex 4 / Flash 10  Which RIA framework is the fairest of them all? ◦ Flex, Silverlight, JavaFx, AJAX? 23 April 2010 7 Confidential
  • 8. 23 April 2010 8 Confidential
  • 9. 2004: Flex 1 released Flex 2006: Flex 2 released Feb 2008: Flex 3 released Open sourced Zopim June 2007: Challenge to come up with a prototype 23 April 2010 9 Confidential
  • 10. Awesome Live Chat experience for business owners Not OS dependent Browser-based » No downloads required Provide the best possible desktop-like UI experience for our users Easily skinned No / Low learning curve Decision : ExtJs (JS framework built on YUI) 23 April 2010 10 Confidential
  • 11. ExtJs Problems ◦ Minimal animation support ◦ Cross-browser compatibility (read IE6!!) ◦ Longer development cycle 23 April 2010 11 Confidential
  • 12. Flex beckons..  Large Market Share  WYSIWYG Editor  MXML – XML based declarative language for display components  Inline actionscript for business logic  Flash socket  Better animation / visualization / multimedia support 23 April 2010 12 Confidential
  • 13. 2004: Flex 1 released Flex 2006: Flex 2 released Feb 2008: Flex 3 released Open sourced Sep 2008: Zopim releases Flex Dashboard Zopim Jan 2008: Zopim founded Aug 2007: Prototype in ExtJs 23 April 2010 13 Confidential
  • 14. 2004: Flex 1 released Flex 2006: Flex 2 released Feb 2008: Flex 3 released Open sourced Sep 2008: Zopim releases Flex Dashboard Zopim Jan 2008: Zopim founded Jan 2009: Our first baby Aug 2007: Prototype – JXML created in ExtJs (Declarative Javascript framework similar to Flex’s MXML) 23 April 2010 14 Confidential
  • 15. Modular, faster widget development Jxml files Ruby-based JXML Compiler Compiled Javascript 23 April 2010 15 Confidential
  • 16. Mid 2009: First signs of problems. Optimization 2004: Flex 1 released issues. Flex 2006: Flex 2 released Feb 2008: Flex 3 released Open sourced Sep 2008: Zopim releases Flex Dashboard Zopim Jan 2008: Zopim founded Jan 2009: Our first baby Aug 2007: Prototype – JXML created in ExtJs (Declarative Javascript framework similar to Flex’s MXML) 23 April 2010 16 Confidential
  • 17. > 50% for heavy-traffic sites ◦ Constant visual updates on visitor list  Spikes when dynamically adding / removing UI components 23 April 2010 17 Confidential
  • 18. Reduce Measurement / Layout calculations ◦ Use absolute layouts where possible (vs fluid layouts) ◦ Avoid nested VBox, HBox ◦ Use stripped-down Group, VGroup, HGroup in Flex 4  Reduce data-bindings for frequently changing data  For lists containing large data sets – useVirtualLayout = true 23 April 2010 18 Confidential
  • 19. Reuse dynamic UI components ◦ Reduces unnecessary object creation  Use mouseEnabled = false mouseChildren = false liberally! 23 April 2010 19 Confidential
  • 20. No way to explicitly delete an object  Garbage collector  Objects with lingering references leads to memory leak Creates and references A B  De-reference & remove event Adds Event Listener listeners diligently addEventListener (type, listener, useCapture, priority, C useWeakReference)  Be careful – Hard to find leaks 23 April 2010 20 Confidential
  • 21. Compiled SWF > 1.5MB  Solution was relatively straightforward ◦ Use Runtime Shared Libraries (RSLs) ◦ Compiled SWF < 50% of original 23 April 2010 21 Confidential
  • 22. Mid 2009: First signs of problems. Optimization 2004: Flex 1 released issues. Flex 2006: Flex 2 released Feb 2008: Flex 3 released Mar 2010: Flex 4 released Open sourced Sep 2008: Zopim releases Flex Dashboard Zopim Jan 2008: Zopim founded Jan 2009: Our first baby Aug 2007: Prototype – JXML created in ExtJs (Declarative Javascript framework similar to Flex’s MXML) 23 April 2010 22 Confidential
  • 23. Better designer / developer workflow ◦ Adobe Catalyst and FlashBuilder  Data-centric development ◦ Define data model + Bind data to Flex components  Developer Productivity / Testing Tools ◦ Better Refactoring, Profiling, Documentation, Unit Testing  Better mobile compatibility ◦ Adobe Packager: AS3 to iPhone app ◦ Adobe Slider: Mobile Flex Framework 23 April 2010 23 Confidential
  • 24. Important Considerations SEO Level of adoption / X-browser issues Breaking of normal browser experience Compatible with 3rd party JS / swf Speed / File size Level of multimedia integration Need to manipulate DOM / HTML Ease of hiring developers 23 April 2010 24 Confidential
  • 25. 23 April 2010 25 Confidential
  • 26. Frontend Developer ◦ Experienced in Javascript / JS frameworks ◦ Dabbled with Flex 3 / 4 ◦ Passion and creativity is a must ◦ Keen interest in UI design  Backend Developer ◦ Knowledge & understanding of OOP (Python preferably) ◦ Experienced in MySQL, DB design and administration ◦ Familiar with web technologies such as Web server, DNS, TCP, etc.. ◦ Creative and persistent problem solver 23 April 2010 26 Confidential
  • 27. 23 April 2010 27 Confidential
  • 28. Plugin-based  Open Laszlo  JavaFx  Silverlight AJAX Frameworks  Google Web Toolkit  YUI  JQuery UI  ExtJs 23 April 2010 28 Confidential
  • 29. The Battle for the RIA Throne: Flex vs. Silverlight  Flex vs AJAX  Optimizing Flex Applications  What's new in Flash Builder 4 23 April 2010 29 Confidential
  • 30. Flare Data Visualization  FlexLib – Open source flex components  Tour de Flex – AIR app with demos & code samples 23 April 2010 30 Confidential