SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Widgets
                        &
                       Wookies
Scott Wilson
Apache Wookie (incubating)
http://incubator.apache.org/wookie
scottbw@apache.org
@scottbw
                                     This work is licensed under a Attribution-
                                     NonCommercial-ShareAlike 2.0 licence
Topics
• W3C Widgets - what are they?
• Wookie - what is it?
• Open development - what did we
  do?
Widgets
  HTML
                config.xml
JavaScript

   CSS              Icon.png

     mywidget.wgt
W3C Widgets: for Web,
       Mobile, or Desktop?



Apple Dashboard   OpenSocial       Nokia Widgets
Windows Sidebar   Google Gadgets   iPhone Apps
Google Desktop    Google Wave      Android Apps
Konfabulator        Gadgets        Samsung Bada
Opera Widgets     WidgetBox
                  SpringWidgets
How about, “yes”?
Basic Widget Authoring
           Process
• Make a webapp (HTML5, JS, CSS,
  jquery etc)
• Make a basic config.xml with name,
  author
• Give it an icon (icon.png)
• Zip it up
• Change extension from .zip to .wgt
Device APIs: Adding Extra
  Capabilities to Widget
         JavaScript
                   •   Address Book
• W3C Widget API   •   Calendar
                   •   Files
• WAC              •   Media capture
                       (camera)
                   •   Messaging
• W3 DAP
                   •   System
                   •   Policy
• W3 Geo
                   •   Media Gallery
                   •   Tasks
  JavaScript       •   Comms Log
Extensibility
You can connect all kinds of functionality to widgets by
  injecting a JS API for it at runtime - and not just device
  APIs either

<feature name=“http://bondi.omtp.org/api/camera.capture”
  required=“true”/>
<feature name=“http://opensocial.org/osapi.person”
  required=“true”/>
<feature name=“http://wave.google.com”
  required=“true”/>
<feature name=“http://jquerymobile.com”
  required=“true”/>

                                                config.xml
    JavaScript
Other                                   config.xml
clever stuff
I18n/l10n
  distribute multi-local apps as a single widget!
Updates
  automatic updates! Not patented by Apple!
Signing
  Author-trust and store-trust
Widget JS Object
  Preferences, metadata…
WARP
  Configure access policies for remote services
Mobile Web:
           Widgets vs Sites
• Largely same access to device APIs though
  widgets may have simpler permissions config
  depending on the WRT
• All files distributed and installed in the package,
  supporting offline access
• Package versioning and updates
• Metadata and icons for app store distribution
W3C Widget Implementations
Mobile                  Desktop
Obigo WRT for Android   Opera 11
Opera WAC for Android   Widgeon
Blackberry Widgets
                        Website
Samsung Bada
                        MyWiWall
Aplix WRT
                        Apache Wookie (incubating)
Borqs WRT               JBaron WidgetPortal

                        Other
                        Promethean
                        SMART (using Wookie)
A Java server application in
              the Apache Incubator.
              Includes a W3C Widget
              parser library.

              http://incubator.apache.org/wookie

* “Wookie” is not a clever acronym. so if you spell it WOOKIE you’re shouting!
Wookie is…
• A standalone widget runtime
  designed for supporting web
  applications
• Enables any web application to
  become a widget container
Integrating Wookie
• Connector Framework
  – Java, PHP, Python, C#, Flex…
• Plugins
  – Elgg, Wordpress, Jetspeed, Drupal,
    Moodle, Liferay…
• Backend:
  – JPA, JCR
Apache Wookie
         Components
• W3C Widget Parser (library)
• Widget Server (servlet)
• Feature Extensions
  – WAC camera capture, Wave Gadget,
    JQMobile…
• Connector Framework
• Shindig OpenSocial integration
Wookie and Open
  Innovation
• How we went from a funded
  academic project to an ASF
  incubator
• How commoditization is enabling
  R&D
• Why a very, very small dept with
  limited funding chose to invest it in
  this…
the proposition
• Implementation of emerging standard
• Can be extracted from larger project
  context as a discrete project
• A good fit with ASF - home to other W3C
  ref implementations
• Already some interest from outside the
  project
Questions I was asked by
         my boss

• “What is our commitment and
  exposure?”
• “How can you work on this when
  there isn’t a cost code for it?”
• “What if we get another project
  that needs you to work on it?”
The Business Case
• With some help from Ross @ OSSWatch…
• Identified a “survival budget” for core
  staff to manage the transition to ASF and
  maintain basic contributions for 2 years
• Identified a range of potential sources of
  value and funding
  – New projects
  – Consultancy
  – Internal ITS adoption/support
The Proposal
http://wiki.apache.org/incubator/Wo
  okieProposal

Thank you Ross !
The Process
• Incubator vote
• IP due diligence
    – Rewriting some code
    – Lots of emails
•   CLA
•   ICLA
•   Transfer of codebase
•   Induction
So what happened?
• Income generated from this work far, far exceeded the
  survival budget.
• Total income generated for next 4 years: ~£700k from
  two FP7 projects
• Plus very substantial value added by the community
• Only actually core funded from Dec 09-Sep10 @ 0.2FTE
  (around £12k)
• Wookie reused by at least six other EU consortia projects
• Wookie has already effectively paid for 20% of me and 100%
  of two developers for the next three years
500


         450
                  Community Added Value
         400      IEC
                  EU

         350


         300

  Value
          250
£ (000's)

         200


         150


         100


          50


           0
                2007           2008       2009          2010   2011   2012
                                                 Year
Added Value
• Work contributed to Wookie by the incubator
  community
• Bug fixes
• New features
• Build and install process
• Connection framework
• New plugins
• New persistence layer
• Connectors in PHP, C#, Python, Ruby …
• Documentation, screencasts etc
R&D building on Wookie
Telco mashups research
New Partnerships
•   T-Systems MMS
•   SAP
•   Gesfor SA
•   Huawei
•   University of Trento
•   Chemnitz University
•   University of Madrid
•   University of Vallodolid
•   TIE Kinetix
•   SMART
•   Promethean
•   Icodeon
•   Opera
New R&D
• OMELETTE:
  – Telecom service mashups with widgets
  – Portable device-agnostic multi-widget
    workspaces
• ITEC:
  – Interactions between widgets on interactive
    whiteboards, tablets and mobiles
• Apache Rave
New practices
• Rather than just build stuff in projects, ask…
   – Would this be a viable piece of OSS outside this
     project?
   – Who is not in our consortium but would contribute?
   – Are there existing communities we can tap into?
   – How can we manage this?


If its not viable, find out why its not viable and that
    is a valid research outcome; don’t invest
    resources building it just because “it’s a
    deliverable”
So what have we got out of
           it?
• Better software than we could have
  created alone
• More interesting research
  opportunities
• Research impact
• Partnerships
• Money
Thanks
http://incubator.apache.org/wookie

http://scottbw.wordpress.com

@scottbw



                          This work is licensed under a Attribution-
                          NonCommercial-ShareAlike 2.0 licence

Mais conteúdo relacionado

Mais procurados

Rise of Mobile and Web Runtimes - for Standards-Next
Rise of Mobile and Web Runtimes - for Standards-NextRise of Mobile and Web Runtimes - for Standards-Next
Rise of Mobile and Web Runtimes - for Standards-NextDaniel Appelquist
 
The future of the CMS
The future of the CMSThe future of the CMS
The future of the CMSInVision App
 
Guide to open source
Guide to open source Guide to open source
Guide to open source Javier Perez
 
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"Daniel Bryant
 
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applicationsJavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applicationsDaniel Bryant
 
Reusable Whiteboard Wicket Component for Apache Openmeetings
Reusable Whiteboard Wicket Component for Apache OpenmeetingsReusable Whiteboard Wicket Component for Apache Openmeetings
Reusable Whiteboard Wicket Component for Apache OpenmeetingsAndun Sameera
 
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Ryan Baxter
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtTechWell
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?Reto Meier
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der PraxisYvette Teiken
 
BS 8878: Systematic Approaches to Documenting Web Accessibility Policies and ...
BS 8878: Systematic Approaches to Documenting Web Accessibility Policies and ...BS 8878: Systematic Approaches to Documenting Web Accessibility Policies and ...
BS 8878: Systematic Approaches to Documenting Web Accessibility Policies and ...lisbk
 
IT and community
IT and communityIT and community
IT and communityXioNoX
 
Website Accessibility: The Internet is for Everyone
Website Accessibility: The Internet is for EveryoneWebsite Accessibility: The Internet is for Everyone
Website Accessibility: The Internet is for EveryoneCarie Fisher, MS, CPWA
 
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"Daniel Bryant
 
Getting started with social media
Getting started with social mediaGetting started with social media
Getting started with social mediaNovell
 

Mais procurados (17)

Rise of Mobile and Web Runtimes - for Standards-Next
Rise of Mobile and Web Runtimes - for Standards-NextRise of Mobile and Web Runtimes - for Standards-Next
Rise of Mobile and Web Runtimes - for Standards-Next
 
The future of the CMS
The future of the CMSThe future of the CMS
The future of the CMS
 
Guide to open source
Guide to open source Guide to open source
Guide to open source
 
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
 
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applicationsJavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
 
Reusable Whiteboard Wicket Component for Apache Openmeetings
Reusable Whiteboard Wicket Component for Apache OpenmeetingsReusable Whiteboard Wicket Component for Apache Openmeetings
Reusable Whiteboard Wicket Component for Apache Openmeetings
 
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der Praxis
 
LouiseGruenbergFFWD2015
LouiseGruenbergFFWD2015LouiseGruenbergFFWD2015
LouiseGruenbergFFWD2015
 
BS 8878: Systematic Approaches to Documenting Web Accessibility Policies and ...
BS 8878: Systematic Approaches to Documenting Web Accessibility Policies and ...BS 8878: Systematic Approaches to Documenting Web Accessibility Policies and ...
BS 8878: Systematic Approaches to Documenting Web Accessibility Policies and ...
 
IT and community
IT and communityIT and community
IT and community
 
Web2.0 Basics
Web2.0 BasicsWeb2.0 Basics
Web2.0 Basics
 
Website Accessibility: The Internet is for Everyone
Website Accessibility: The Internet is for EveryoneWebsite Accessibility: The Internet is for Everyone
Website Accessibility: The Internet is for Everyone
 
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"
 
Getting started with social media
Getting started with social mediaGetting started with social media
Getting started with social media
 

Destaque

Fietsen in Zeeland
Fietsen in ZeelandFietsen in Zeeland
Fietsen in Zeelandtienenaar
 
Generating Electricity Advantages
Generating Electricity AdvantagesGenerating Electricity Advantages
Generating Electricity Advantagesgriggans
 
Business Hunt'n
Business Hunt'nBusiness Hunt'n
Business Hunt'nCarol Case
 
Destruction of forest in Bosnia
Destruction of forest in BosniaDestruction of forest in Bosnia
Destruction of forest in BosniaJason Grant
 
Lubavuspõhine õpidisain
Lubavuspõhine õpidisainLubavuspõhine õpidisain
Lubavuspõhine õpidisainKai Pata
 
Creating Great Slides - Before
Creating Great Slides - BeforeCreating Great Slides - Before
Creating Great Slides - BeforeMike Qaissaunee
 
Turning The Channel On - Online Marketing for SMB
Turning The Channel On - Online Marketing for SMBTurning The Channel On - Online Marketing for SMB
Turning The Channel On - Online Marketing for SMBLinda Groendyke
 
Õpidisaini põhimõtted
Õpidisaini põhimõttedÕpidisaini põhimõtted
Õpidisaini põhimõttedKai Pata
 
Thurrock Cabinet Paper
Thurrock Cabinet PaperThurrock Cabinet Paper
Thurrock Cabinet Paper07733thurrock
 
Exploring New Technologies
Exploring New TechnologiesExploring New Technologies
Exploring New Technologiesbibliotecaria
 
NHAG presentation september 2012
NHAG presentation september 2012NHAG presentation september 2012
NHAG presentation september 2012bibliotecaria
 
Swipp plus overview for marketers
Swipp plus overview for marketersSwipp plus overview for marketers
Swipp plus overview for marketersChristopher Carfi
 
future weapns
future weapnsfuture weapns
future weapnsHybr1dOMG
 
The New Gathering Place - Social Media for Arts Businessess
The New Gathering Place -  Social Media for Arts BusinessessThe New Gathering Place -  Social Media for Arts Businessess
The New Gathering Place - Social Media for Arts BusinessessLinda Groendyke
 
Integrating figshare into our RDM workflow: University of Salford
Integrating figshare into our RDM workflow: University of SalfordIntegrating figshare into our RDM workflow: University of Salford
Integrating figshare into our RDM workflow: University of SalfordDavid Clay
 

Destaque (20)

Libraries, blogs and Wikis
Libraries, blogs and WikisLibraries, blogs and Wikis
Libraries, blogs and Wikis
 
Fietsen in Zeeland
Fietsen in ZeelandFietsen in Zeeland
Fietsen in Zeeland
 
Generating Electricity Advantages
Generating Electricity AdvantagesGenerating Electricity Advantages
Generating Electricity Advantages
 
Business Hunt'n
Business Hunt'nBusiness Hunt'n
Business Hunt'n
 
Destruction of forest in Bosnia
Destruction of forest in BosniaDestruction of forest in Bosnia
Destruction of forest in Bosnia
 
KUMAMOTO
KUMAMOTOKUMAMOTO
KUMAMOTO
 
Lubavuspõhine õpidisain
Lubavuspõhine õpidisainLubavuspõhine õpidisain
Lubavuspõhine õpidisain
 
e Learning and Web 2.0
e Learning and Web 2.0e Learning and Web 2.0
e Learning and Web 2.0
 
Creating Great Slides - Before
Creating Great Slides - BeforeCreating Great Slides - Before
Creating Great Slides - Before
 
Turning The Channel On - Online Marketing for SMB
Turning The Channel On - Online Marketing for SMBTurning The Channel On - Online Marketing for SMB
Turning The Channel On - Online Marketing for SMB
 
Õpidisaini põhimõtted
Õpidisaini põhimõttedÕpidisaini põhimõtted
Õpidisaini põhimõtted
 
Thurrock Cabinet Paper
Thurrock Cabinet PaperThurrock Cabinet Paper
Thurrock Cabinet Paper
 
Exploring New Technologies
Exploring New TechnologiesExploring New Technologies
Exploring New Technologies
 
NHAG presentation september 2012
NHAG presentation september 2012NHAG presentation september 2012
NHAG presentation september 2012
 
UCResearchstudents
UCResearchstudentsUCResearchstudents
UCResearchstudents
 
Swipp plus overview for marketers
Swipp plus overview for marketersSwipp plus overview for marketers
Swipp plus overview for marketers
 
future weapns
future weapnsfuture weapns
future weapns
 
The New Gathering Place - Social Media for Arts Businessess
The New Gathering Place -  Social Media for Arts BusinessessThe New Gathering Place -  Social Media for Arts Businessess
The New Gathering Place - Social Media for Arts Businessess
 
EMCS Workshop-Cambodia
EMCS Workshop-CambodiaEMCS Workshop-Cambodia
EMCS Workshop-Cambodia
 
Integrating figshare into our RDM workflow: University of Salford
Integrating figshare into our RDM workflow: University of SalfordIntegrating figshare into our RDM workflow: University of Salford
Integrating figshare into our RDM workflow: University of Salford
 

Semelhante a Open Source Junction: Apache Wookie and W3C Widgets

User-tailored Inter-Widget Communication Extending the Shared Data Interface ...
User-tailored Inter-Widget Communication Extending the Shared Data Interface ...User-tailored Inter-Widget Communication Extending the Shared Data Interface ...
User-tailored Inter-Widget Communication Extending the Shared Data Interface ...Hendrik Drachsler
 
Android
AndroidAndroid
Androidscottw
 
MAST Portal: drivers and recommendations
MAST Portal: drivers and recommendations  MAST Portal: drivers and recommendations
MAST Portal: drivers and recommendations Alberto Conti
 
Dissemination beyond academic circles
Dissemination beyond academic circlesDissemination beyond academic circles
Dissemination beyond academic circlesscottw
 
SXSW 2010 Future15 : Rise of Mobile, APIs and Web Runtimes
SXSW 2010 Future15 : Rise of Mobile, APIs and Web RuntimesSXSW 2010 Future15 : Rise of Mobile, APIs and Web Runtimes
SXSW 2010 Future15 : Rise of Mobile, APIs and Web RuntimesDaniel Appelquist
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Perficient, Inc.
 
Rave in Context @ ApacheCon 2011
Rave in Context @ ApacheCon 2011Rave in Context @ ApacheCon 2011
Rave in Context @ ApacheCon 2011Sander van der Waal
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Nuxeo
 
Modern Web Framework : Play framework
Modern Web Framework : Play frameworkModern Web Framework : Play framework
Modern Web Framework : Play frameworkSuman Adak
 
13 providing an ide for creating, simulating and assessing accessible applica...
13 providing an ide for creating, simulating and assessing accessible applica...13 providing an ide for creating, simulating and assessing accessible applica...
13 providing an ide for creating, simulating and assessing accessible applica...AEGIS-ACCESSIBLE Projects
 
GateIn - The Solution for Managing and Building Enterprise Web Apps
GateIn - The Solution for Managing and Building Enterprise Web AppsGateIn - The Solution for Managing and Building Enterprise Web Apps
GateIn - The Solution for Managing and Building Enterprise Web AppsWesley Hales
 
Terence Barr - what's new in m&e - 24mai2011
Terence Barr - what's new in m&e - 24mai2011Terence Barr - what's new in m&e - 24mai2011
Terence Barr - what's new in m&e - 24mai2011Agora Group
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)AI4BD GmbH
 
HTML5, the Evolution of Smart Media
HTML5, the Evolution of Smart MediaHTML5, the Evolution of Smart Media
HTML5, the Evolution of Smart MediaSeungyun Lee
 
JAX 2014 - The PaaS to a better IT architecture.
JAX 2014 - The PaaS to a better IT architecture.JAX 2014 - The PaaS to a better IT architecture.
JAX 2014 - The PaaS to a better IT architecture.Sebastian Faulhaber
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
TransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MSTransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MSLana Kalashnyk
 

Semelhante a Open Source Junction: Apache Wookie and W3C Widgets (20)

User-tailored Inter-Widget Communication Extending the Shared Data Interface ...
User-tailored Inter-Widget Communication Extending the Shared Data Interface ...User-tailored Inter-Widget Communication Extending the Shared Data Interface ...
User-tailored Inter-Widget Communication Extending the Shared Data Interface ...
 
Android
AndroidAndroid
Android
 
MAST Portal: drivers and recommendations
MAST Portal: drivers and recommendations  MAST Portal: drivers and recommendations
MAST Portal: drivers and recommendations
 
Dissemination beyond academic circles
Dissemination beyond academic circlesDissemination beyond academic circles
Dissemination beyond academic circles
 
SXSW 2010 Future15 : Rise of Mobile, APIs and Web Runtimes
SXSW 2010 Future15 : Rise of Mobile, APIs and Web RuntimesSXSW 2010 Future15 : Rise of Mobile, APIs and Web Runtimes
SXSW 2010 Future15 : Rise of Mobile, APIs and Web Runtimes
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
 
Rave in Context @ ApacheCon 2011
Rave in Context @ ApacheCon 2011Rave in Context @ ApacheCon 2011
Rave in Context @ ApacheCon 2011
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
Modern Web Framework : Play framework
Modern Web Framework : Play frameworkModern Web Framework : Play framework
Modern Web Framework : Play framework
 
2015 5-7-slide
2015 5-7-slide2015 5-7-slide
2015 5-7-slide
 
13 providing an ide for creating, simulating and assessing accessible applica...
13 providing an ide for creating, simulating and assessing accessible applica...13 providing an ide for creating, simulating and assessing accessible applica...
13 providing an ide for creating, simulating and assessing accessible applica...
 
GateIn - The Solution for Managing and Building Enterprise Web Apps
GateIn - The Solution for Managing and Building Enterprise Web AppsGateIn - The Solution for Managing and Building Enterprise Web Apps
GateIn - The Solution for Managing and Building Enterprise Web Apps
 
Terence Barr - what's new in m&e - 24mai2011
Terence Barr - what's new in m&e - 24mai2011Terence Barr - what's new in m&e - 24mai2011
Terence Barr - what's new in m&e - 24mai2011
 
caseywest
caseywestcaseywest
caseywest
 
caseywest
caseywestcaseywest
caseywest
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
 
HTML5, the Evolution of Smart Media
HTML5, the Evolution of Smart MediaHTML5, the Evolution of Smart Media
HTML5, the Evolution of Smart Media
 
JAX 2014 - The PaaS to a better IT architecture.
JAX 2014 - The PaaS to a better IT architecture.JAX 2014 - The PaaS to a better IT architecture.
JAX 2014 - The PaaS to a better IT architecture.
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
TransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MSTransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MS
 

Mais de scottw

Open Forges and App Stores
Open Forges and App StoresOpen Forges and App Stores
Open Forges and App Storesscottw
 
Delivering Web To Mobile
Delivering Web To MobileDelivering Web To Mobile
Delivering Web To Mobilescottw
 
Build Widgets
Build WidgetsBuild Widgets
Build Widgetsscottw
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetupscottw
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetupscottw
 
CRM & HE
CRM & HECRM & HE
CRM & HEscottw
 
Presence
PresencePresence
Presencescottw
 
FeedForward at RSP
FeedForward at RSPFeedForward at RSP
FeedForward at RSPscottw
 
Boxcri
BoxcriBoxcri
Boxcriscottw
 
Widgets And Wookies
Widgets And WookiesWidgets And Wookies
Widgets And Wookiesscottw
 
Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie projectscottw
 
Argosi
ArgosiArgosi
Argosiscottw
 
Presence @ Winterschool 2008
Presence @ Winterschool 2008Presence @ Winterschool 2008
Presence @ Winterschool 2008scottw
 
OpenID @ Winterschool 2008
OpenID @ Winterschool 2008OpenID @ Winterschool 2008
OpenID @ Winterschool 2008scottw
 
FeedForward, Metadata & Digital Repositories SIG, Feb 2008
FeedForward, Metadata & Digital Repositories SIG, Feb 2008FeedForward, Metadata & Digital Repositories SIG, Feb 2008
FeedForward, Metadata & Digital Repositories SIG, Feb 2008scottw
 
XCRI Update, Jan 2008
XCRI Update, Jan 2008XCRI Update, Jan 2008
XCRI Update, Jan 2008scottw
 
XCRI at IWMW 2007
XCRI at IWMW 2007XCRI at IWMW 2007
XCRI at IWMW 2007scottw
 
Informatology: using web 2.0 in face-to-face sessions
Informatology: using web 2.0 in face-to-face sessionsInformatology: using web 2.0 in face-to-face sessions
Informatology: using web 2.0 in face-to-face sessionsscottw
 
AOC Personalisation
AOC PersonalisationAOC Personalisation
AOC Personalisationscottw
 

Mais de scottw (20)

Open Forges and App Stores
Open Forges and App StoresOpen Forges and App Stores
Open Forges and App Stores
 
Delivering Web To Mobile
Delivering Web To MobileDelivering Web To Mobile
Delivering Web To Mobile
 
Build Widgets
Build WidgetsBuild Widgets
Build Widgets
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetup
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetup
 
CRM & HE
CRM & HECRM & HE
CRM & HE
 
Presence
PresencePresence
Presence
 
FeedForward at RSP
FeedForward at RSPFeedForward at RSP
FeedForward at RSP
 
Boxcri
BoxcriBoxcri
Boxcri
 
Widgets And Wookies
Widgets And WookiesWidgets And Wookies
Widgets And Wookies
 
Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie project
 
Argosi
ArgosiArgosi
Argosi
 
Presence @ Winterschool 2008
Presence @ Winterschool 2008Presence @ Winterschool 2008
Presence @ Winterschool 2008
 
OpenID @ Winterschool 2008
OpenID @ Winterschool 2008OpenID @ Winterschool 2008
OpenID @ Winterschool 2008
 
FeedForward, Metadata & Digital Repositories SIG, Feb 2008
FeedForward, Metadata & Digital Repositories SIG, Feb 2008FeedForward, Metadata & Digital Repositories SIG, Feb 2008
FeedForward, Metadata & Digital Repositories SIG, Feb 2008
 
XCRI Update, Jan 2008
XCRI Update, Jan 2008XCRI Update, Jan 2008
XCRI Update, Jan 2008
 
Mimas
MimasMimas
Mimas
 
XCRI at IWMW 2007
XCRI at IWMW 2007XCRI at IWMW 2007
XCRI at IWMW 2007
 
Informatology: using web 2.0 in face-to-face sessions
Informatology: using web 2.0 in face-to-face sessionsInformatology: using web 2.0 in face-to-face sessions
Informatology: using web 2.0 in face-to-face sessions
 
AOC Personalisation
AOC PersonalisationAOC Personalisation
AOC Personalisation
 

Open Source Junction: Apache Wookie and W3C Widgets

  • 1. Widgets & Wookies Scott Wilson Apache Wookie (incubating) http://incubator.apache.org/wookie scottbw@apache.org @scottbw This work is licensed under a Attribution- NonCommercial-ShareAlike 2.0 licence
  • 2. Topics • W3C Widgets - what are they? • Wookie - what is it? • Open development - what did we do?
  • 3. Widgets HTML config.xml JavaScript CSS Icon.png mywidget.wgt
  • 4. W3C Widgets: for Web, Mobile, or Desktop? Apple Dashboard OpenSocial Nokia Widgets Windows Sidebar Google Gadgets iPhone Apps Google Desktop Google Wave Android Apps Konfabulator Gadgets Samsung Bada Opera Widgets WidgetBox SpringWidgets
  • 6. Basic Widget Authoring Process • Make a webapp (HTML5, JS, CSS, jquery etc) • Make a basic config.xml with name, author • Give it an icon (icon.png) • Zip it up • Change extension from .zip to .wgt
  • 7. Device APIs: Adding Extra Capabilities to Widget JavaScript • Address Book • W3C Widget API • Calendar • Files • WAC • Media capture (camera) • Messaging • W3 DAP • System • Policy • W3 Geo • Media Gallery • Tasks JavaScript • Comms Log
  • 8. Extensibility You can connect all kinds of functionality to widgets by injecting a JS API for it at runtime - and not just device APIs either <feature name=“http://bondi.omtp.org/api/camera.capture” required=“true”/> <feature name=“http://opensocial.org/osapi.person” required=“true”/> <feature name=“http://wave.google.com” required=“true”/> <feature name=“http://jquerymobile.com” required=“true”/> config.xml JavaScript
  • 9. Other config.xml clever stuff I18n/l10n distribute multi-local apps as a single widget! Updates automatic updates! Not patented by Apple! Signing Author-trust and store-trust Widget JS Object Preferences, metadata… WARP Configure access policies for remote services
  • 10.
  • 11. Mobile Web: Widgets vs Sites • Largely same access to device APIs though widgets may have simpler permissions config depending on the WRT • All files distributed and installed in the package, supporting offline access • Package versioning and updates • Metadata and icons for app store distribution
  • 12. W3C Widget Implementations Mobile Desktop Obigo WRT for Android Opera 11 Opera WAC for Android Widgeon Blackberry Widgets Website Samsung Bada MyWiWall Aplix WRT Apache Wookie (incubating) Borqs WRT JBaron WidgetPortal Other Promethean SMART (using Wookie)
  • 13. A Java server application in the Apache Incubator. Includes a W3C Widget parser library. http://incubator.apache.org/wookie * “Wookie” is not a clever acronym. so if you spell it WOOKIE you’re shouting!
  • 14.
  • 15. Wookie is… • A standalone widget runtime designed for supporting web applications • Enables any web application to become a widget container
  • 16. Integrating Wookie • Connector Framework – Java, PHP, Python, C#, Flex… • Plugins – Elgg, Wordpress, Jetspeed, Drupal, Moodle, Liferay… • Backend: – JPA, JCR
  • 17. Apache Wookie Components • W3C Widget Parser (library) • Widget Server (servlet) • Feature Extensions – WAC camera capture, Wave Gadget, JQMobile… • Connector Framework • Shindig OpenSocial integration
  • 18. Wookie and Open Innovation
  • 19. • How we went from a funded academic project to an ASF incubator • How commoditization is enabling R&D • Why a very, very small dept with limited funding chose to invest it in this…
  • 20.
  • 21. the proposition • Implementation of emerging standard • Can be extracted from larger project context as a discrete project • A good fit with ASF - home to other W3C ref implementations • Already some interest from outside the project
  • 22. Questions I was asked by my boss • “What is our commitment and exposure?” • “How can you work on this when there isn’t a cost code for it?” • “What if we get another project that needs you to work on it?”
  • 23. The Business Case • With some help from Ross @ OSSWatch… • Identified a “survival budget” for core staff to manage the transition to ASF and maintain basic contributions for 2 years • Identified a range of potential sources of value and funding – New projects – Consultancy – Internal ITS adoption/support
  • 24. The Proposal http://wiki.apache.org/incubator/Wo okieProposal Thank you Ross !
  • 25. The Process • Incubator vote • IP due diligence – Rewriting some code – Lots of emails • CLA • ICLA • Transfer of codebase • Induction
  • 26. So what happened? • Income generated from this work far, far exceeded the survival budget. • Total income generated for next 4 years: ~£700k from two FP7 projects • Plus very substantial value added by the community • Only actually core funded from Dec 09-Sep10 @ 0.2FTE (around £12k) • Wookie reused by at least six other EU consortia projects • Wookie has already effectively paid for 20% of me and 100% of two developers for the next three years
  • 27. 500 450 Community Added Value 400 IEC EU 350 300 Value 250 £ (000's) 200 150 100 50 0 2007 2008 2009 2010 2011 2012 Year
  • 28. Added Value • Work contributed to Wookie by the incubator community • Bug fixes • New features • Build and install process • Connection framework • New plugins • New persistence layer • Connectors in PHP, C#, Python, Ruby … • Documentation, screencasts etc
  • 29.
  • 30.
  • 31.
  • 32. R&D building on Wookie
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 40. New Partnerships • T-Systems MMS • SAP • Gesfor SA • Huawei • University of Trento • Chemnitz University • University of Madrid • University of Vallodolid • TIE Kinetix • SMART • Promethean • Icodeon • Opera
  • 41. New R&D • OMELETTE: – Telecom service mashups with widgets – Portable device-agnostic multi-widget workspaces • ITEC: – Interactions between widgets on interactive whiteboards, tablets and mobiles • Apache Rave
  • 42. New practices • Rather than just build stuff in projects, ask… – Would this be a viable piece of OSS outside this project? – Who is not in our consortium but would contribute? – Are there existing communities we can tap into? – How can we manage this? If its not viable, find out why its not viable and that is a valid research outcome; don’t invest resources building it just because “it’s a deliverable”
  • 43.
  • 44.
  • 45. So what have we got out of it? • Better software than we could have created alone • More interesting research opportunities • Research impact • Partnerships • Money
  • 46. Thanks http://incubator.apache.org/wookie http://scottbw.wordpress.com @scottbw This work is licensed under a Attribution- NonCommercial-ShareAlike 2.0 licence