Fowa Brice Lebelvennec

Click here to load reader

Embed Size (px)

Transcript of Fowa Brice Lebelvennec

  • The GWT bet ...

    Brice Le Blvennec

    Chief Visionary Officer

    ContactOffice.com

    FOWA 02-07

  • Hello

    Brice Le Blvennec, Internet Serial Entrepreneur. In 1991 founded Emakina (Alternext ALEMK) now

    belgium largest Interactive Agency (100+ staff),of which I am Chairman.

    From 1996 to 2004 I produced and hostedCyberCafe, a weekly show about Internet andtechnologies on belgian national broadcasttelevision and radio.

    1999 co-founded ContactOffice, Collaborative &Messenging Web Application, of which I am ChiefVisionary Officer

    In 2007 co-founded Tunz.com, a mobile paymentprovider of which I am Chief Visionary Officer.

    (more on brice.org)

  • 10 minutes only

    ContactOffice ?

    Collaborative & Messenging Web Application

    Features set

    State-of-the-art

    Reengineering the interface

    Selecting an AJAX of Flash framework

    Google Web Toolkit (GWT)

    Overcoming limitations

    Adding Drag & Drop to GWT

    Beta launch TODAY

  • ContactOffice ?

    Collaborative & Messaging Web Application

    Founded in 1999 by 4 Belgian serial internet entrepreneurs

  • How big ?

    1 million registrations

    350.000 active accounts (feb 07)

    250.000 paying accounts

    Global, 6 languages

    Profitable since 2003!

  • Functionalities

  • Functionalities

  • Collaboration & Messaging WebApp

    State-of-the-art

    Calendar (+ RSS)Contacts,To Do,Notes,Bookmarks (+ RSS),Synchro ...

    Groups Organiser

    Mail (+ RSS),

    IMAP4 & POP3(s),

    SMTP, Webmail,

    Antivirus & AntiSpam,

    SMS, Fax, Alerts & Chat

    State-of-the-art Messenging

    Web upload or WebDAV

    RSS & Vod/Podcasts,

    Public sharing

    Documents Repository

    Forum, Wiki,Bulletin Board,Phone Calls, ...

    Collaboration

  • Everything can be sharedwith users and groups!

    Sophisticated Access Right Model at user level

    Applications : Individual user, Families,Associations, Companies, Departments,All kind of teams, ...

  • ASP & Licence Models

    Hosted, Security, SLA

    Personalised, Private Label versions

    SSO : LDAP, CAS, RSA ClearTrust, ...

    API : XML-RPC

  • Technologies

    OO Architecture :

    Object Oriented Database

    Pure Java Backend (POJOs only)

    Build for scalability

    Clients abstraction layer: Web (HTML & CSS)

    Pocket Explorer + Symbian

    Wap (WML)

    Voice XML (prototype)

  • Some happy customers

  • HTML + JavaScript + FramesDesktop like, Web 2.0 style,Drag & Drop, Widgets, ...

    Reengineering the interface

    Objective: Interface upgrade to present standards

    Approach: Migrate 1999 interface to 2007 state-of-the-art GUI

    Weakness: Obsolete Client Architecture (thousands JSP files)

    Strength: The 1999 Server Architecture (POJOs + OODB)is still state-of-the-art

  • Selecting a framework / technology

    Many goo solutions

    Own framework ? Cost of supporting what others might doing well ?

    Ajax vs Flash ? OpenLazslo, Adobe Flex Flash plugin dependency ?

    Ultra lightweight client + server-side Java ? echo2, zk, ... Do they scale well ?

    Existing JS frameworks ? Dojo, Scriptaculous/Prototype, ... JavaScript language ?

    The JavaScript nightmare Fun but language is too flexible (global vars,...) Requires an extremely strict discipline (convention) for a team How to handle efficiently tens of Klocs ? Browsers quirks

    JavaScript

    ?

    ?

  • Google Web Toolkit (GWT) ?

    What is GWT GWT is a Google framework for building AJAX apps in the Java language Open Source Apache 2 Licence Java --> JavaScript translation

    'Industrial' software engineering Tools ! Tools! (IDE Eclipse & GWT hosted mode + svn integration perfect for teams) Standard Java refactoring, debugging, testing, source code manipulation Compile time vs Run time errors detection

    Advantages Performances:

    Aggressive caching, code optimization, compression Clean backend integration:

    Efficient Java RPC mechanism Portability:

    Generates platform-specific code Native JavaScript is still reachable:

    JSNI (JavaScript Native Interface) Developer Community:

    Large (Forums : 6900 users, 250 contributors) and active (+20K posts)

    But... Java knowledge required for UI designers CSS only is not realistic

    JavaScript

    GoogleWebtool

    Kit

    ?

  • CO enhancements to GWT

    MV(C) framework Strict model/view separation Necessary for even driven interfaces (AJAX is asynchronous) Side effect : ease collaboration between presentation

    and business logic developers

    Drag & DropHey Luc, I took a look at your demo - prety cool stuff!

    Rajeev Dayal (Google)

    Attractive look & feelContactOffice use GWT styling possibilities to the fullest

    Contextual menus

    Marquee selection

    Draggable splitters

    Data grid

    Enhanced dialogs, property pagesJavaScript

    GoogleWebtool

    Kit

    ContactOfficeEnhancements

  • Current Interface

    http://www.contactoffice.com

  • New GWT based Interface

    http://beta.contactoffice.com

    Indication of new +total number ofitems in lists

    Navigation repeatedon left

    Help and extrainformation

    Dashboard givingquick access tomain features

  • New GWT based Interface

    http://beta.contactoffice.com

    Email

    Click to sortor resort

    Folderorganization

  • New GWT based Interface

    http://beta.contactoffice.com

    Organizecontacts pertype

    List contacts

    Quick search

  • New GWT based Interface

    http://beta.contactoffice.com

    Documents

    Multiselectdocuments

    Click to sortor resort

    Folderorganization

  • New GWT based Interface

    http://beta.contactoffice.com

    Groupcalendar

    Details

    Filter

    Quicknavigate

    Export

  • New GWT based Interface

    http://beta.contactoffice.comClick to sortor resort

    Folderorganization

    Groupbookmarks

  • Beta Launch TODAY!

  • Try it now :http://beta.contactoffice.com

  • Questions?

  • Contact Us!

    [email protected]

    www.contactoffice.com

    blog.contactoffice.com