This document summarizes W3C widgets and the Apache Wookie project. W3C widgets allow web applications to be packaged and distributed for use on various devices. The Apache Wookie project is an open source Java server application in the Apache Incubator that includes a W3C widget parser library. It enables web applications to be distributed and run as widgets. The document discusses Wookie's components and how moving it to the Apache Incubator led to more development contributions, partnerships, research opportunities, and funding.
Rise of Mobile and Web Runtimes - for Standards-NextDaniel Appelquist
Presentation slides for Standards.next event (http://standards-next.org) on June 12, 2010. These slides cover a number of topics related to Web standards on mobile, including widgets, device APIs, HTML5, and geolocation.
Most CMSs have 3 big problems. First, they focus on managing your website, not your content. Second, they monopolize the presentation layer, making it hard to create compelling, forward-thinking designs. Third, it's difficult to add new channels like mobile apps and microsites without duplicating your content.
In this session, we rethink the purpose of a CMS, the connection between a site's backend and frontend, and how we manage and consume content. We'll close with a case study of how TWiT.tv relaunched as a decoupled Drupal site with an exposed API allowing their fanbase to directly access content.
This session is for designers and developers alike. You’ll both learn a lot.
While everyone in the software industry knows what open source is and have benefited from some of the successful open source projects out there, for example, Java, Linux, JavaScript, and Docker, there is still lack of understanding beyond the fact that open source software is publicly available and free. This chat will provide a concise guide based on personal experience and available documentation to learn what open source is all about, why it is good for business, business models and recommendations to join the open source movement.
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"Daniel Bryant
My thoughts on applying software craftsmanship principles to the world on DevOps. Presented at the London Software Craftsmanship Community, July 18th 2014
Building Java applications for the IaaS cloud is easy, right? “Sure, no problem. Just lift and shift,” all the cloud vendors shout in unison. However, the reality of building and deploying cloud applications can often be different. This session introduces lessons learned from the trenches during several years of designing and implementing cloud-based Java applications, which we have codified into our Cloud Developer's “DHARMA” rules: Documented (just enough); Highly cohesive/loosely coupled (all the way down); Automated from code commit to cloud; Resource-aware; Monitored thoroughly; and Antifragile.
This session was presented at JavaOne 2014
From Monoliths to Services: Paying Your Technical DebtTechWell
Ever since distributed software became popular, developers have been choosing whether to use monolithic architectures or service-oriented architectures. With the advancement of cloud infrastructure and the widespread implementation of agile methodologies, the latter approach has been getting much easier. David Litvak describes how a monolithic application—due to its ever increasing technical debt—can become too big to support. He explores how to gradually reduce the size by extracting its components into smaller services, so ultimately the application is decoupled and highly distributed. David describes the current situation of cloud services and software as a service providers, offering a list of these providers for many different uses. He shares an example of an e-commerce site implementation, starting with a full-blown traditional rails monolith and then moving toward a static site with automated rebuilds with CircleCI, Contentful as a decoupled CMS, Auth0 for authentication, and Snipcart as an e-Commerce as a Service provider. Join David as he shares how to create an architecture from interconnected services.
HTML5 or Android for Mobile Development?Reto Meier
Android apps or the mobile web? It's often a hard choice when deciding where to invest your mobile development resources. While the mobile web continues to grow, apps and app stores are incredibly popular. We will present both perspectives and offer some suggestions for making the most of each platform.
.NET Usergroup Oldenburg 26. März 2015 - von Winfried Klinker und Andre Hühn
Microsoft Azure gehört zu den Cloud-Diensten, die Microsoft anbietet. Es umfasst neben dem Hosting von virtuellen Maschinen insbesondere eine große Sammlung an Diensten (wie SQL Azure, Mobile Services, Machine Learning).
Wir geben einen ersten Überblick über die Features von Azure insbesondere für Entwickler. Dabei werden wir sowohl auf die Platform as a Service (PaaS) Angebote wie auch auf die Infrastructe as a Service (IaaS) eingehen. Außerdem geben wir einen Einblick in moderne Cloud Architektur und zeigen Best Practices bei der Cloud Entwicklung auf. Dabei werden Beispiele aus der Praxis zeigen, wie man eine Fehlertolerante und robuste Cloud Lösung erstellen kann.
Über die Sprecher:
Winfried Klinker ist als Software Architekt bei der Firma Sitrion in Oldenburg tätig. Er beschäftigt sich größtenteils mit Cloud Architekturen mit Microsoft Azure vor allem in Bezug auf Backends für mobile Anwendungen.
Andre Hühn ist Team Lead für Entwicklung mobiler Apps bei der Firma Sitrion in Oldenburg und beeinflusst damit die Richtung der Architektur für das Sitrion ONE Produkt.
BS 8878: Systematic Approaches to Documenting Web Accessibility Policies and ...lisbk
Slides for a workshop session on "BS 8878: Systematic Approaches to Documenting Web Accessibility Policies and Practices" facilitated by Brian Kelly at the IWMW 2015 event held at Edge Hill University, Ormskirk on 27 July 2015.
See http://iwmw.org/iwmw2015/talks/systematic-approaches-to-documenting-web-accessibility-policies-and-practices/
Mozilla IT has been managed for a too long time by paid-staff only. We are now moving toward opening it to the community, be as open as possible.
This talk will be about how we're doing it, but it is also an opportunity to gather feedback and exchange with the OSS projects that have always been working that way.
Before the Web...
Then came the Web...
Then happened Web2.0...
How Web2.0 Got its Name
Web2.0: An Overview
Web2.0: Web as a Platform
Web2.0: Harnessing Collective Intelligence
Web2.0: Rich User Experience
Web2.0: Visual Design?
Web2.0: Design Patterns
Web2.0: What is proprietary? What is the biz model?
Web2.0: Beyond the web, beyond the community: Web3?
Web2.0: Implications for Media
Are we going into a Bubble?
Some creative Web2.0 applications?
Nimish Vohra, Regalix
Website accessibility matters! There are many reasons to make your site accessible - not only will incorporating accessibility into your daily lives help people with disabilities actually be able to use your site, but it can help attract a wider audience/larger customer base, make your site rank higher with search engines, and can improve your overall user experience on both desktop and mobile devices.
But how can you make your site accessible? Website accessibility is often an afterthought at the end a project when there is an accessibility audit or a user submits an issue, but what if we switched focus and started thinking about accessibility at the beginning of a project during the initial design and development stages?
In this talk I will present a quick overview of website accessibility (the what, who, and why), then review the underlying guidelines to making a site accessible, and present some general rules to keep in the back of your mind while designing and developing your next site. Finally, we will review some current D7/D8 modules that can help you make your site accessible.
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"Daniel Bryant
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk we introduce seven deadly sins that if left unchecked could easily ruin your next microservices project...
This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell. Topics covered include: Pride - selfishly ignoring the new requirements for testing; Envy - introducing inappropriate intimacy within services by creating a shared domain model; Wrath - failing to deal with the inevitable bad things that occur within a distributed system; Sloth - composing services in a lazy fashion, which ultimately leads to the creation of a “Distributed Monolith”; and Lust - embracing the latest and greatest technology without evaluating the operational impact incurred by these choices.
The war torn country of Bosnia and Herzegovina is a unique country in Europe with some of the most exceptional forest in the entire continent.
It has the largest rain forest in Europe and its wood was used for making of the world famous Stradivari violins.
All that is now being destroyed at an incredibly fast rate. Pictures tell the best story.
Rise of Mobile and Web Runtimes - for Standards-NextDaniel Appelquist
Presentation slides for Standards.next event (http://standards-next.org) on June 12, 2010. These slides cover a number of topics related to Web standards on mobile, including widgets, device APIs, HTML5, and geolocation.
Most CMSs have 3 big problems. First, they focus on managing your website, not your content. Second, they monopolize the presentation layer, making it hard to create compelling, forward-thinking designs. Third, it's difficult to add new channels like mobile apps and microsites without duplicating your content.
In this session, we rethink the purpose of a CMS, the connection between a site's backend and frontend, and how we manage and consume content. We'll close with a case study of how TWiT.tv relaunched as a decoupled Drupal site with an exposed API allowing their fanbase to directly access content.
This session is for designers and developers alike. You’ll both learn a lot.
While everyone in the software industry knows what open source is and have benefited from some of the successful open source projects out there, for example, Java, Linux, JavaScript, and Docker, there is still lack of understanding beyond the fact that open source software is publicly available and free. This chat will provide a concise guide based on personal experience and available documentation to learn what open source is all about, why it is good for business, business models and recommendations to join the open source movement.
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"Daniel Bryant
My thoughts on applying software craftsmanship principles to the world on DevOps. Presented at the London Software Craftsmanship Community, July 18th 2014
Building Java applications for the IaaS cloud is easy, right? “Sure, no problem. Just lift and shift,” all the cloud vendors shout in unison. However, the reality of building and deploying cloud applications can often be different. This session introduces lessons learned from the trenches during several years of designing and implementing cloud-based Java applications, which we have codified into our Cloud Developer's “DHARMA” rules: Documented (just enough); Highly cohesive/loosely coupled (all the way down); Automated from code commit to cloud; Resource-aware; Monitored thoroughly; and Antifragile.
This session was presented at JavaOne 2014
From Monoliths to Services: Paying Your Technical DebtTechWell
Ever since distributed software became popular, developers have been choosing whether to use monolithic architectures or service-oriented architectures. With the advancement of cloud infrastructure and the widespread implementation of agile methodologies, the latter approach has been getting much easier. David Litvak describes how a monolithic application—due to its ever increasing technical debt—can become too big to support. He explores how to gradually reduce the size by extracting its components into smaller services, so ultimately the application is decoupled and highly distributed. David describes the current situation of cloud services and software as a service providers, offering a list of these providers for many different uses. He shares an example of an e-commerce site implementation, starting with a full-blown traditional rails monolith and then moving toward a static site with automated rebuilds with CircleCI, Contentful as a decoupled CMS, Auth0 for authentication, and Snipcart as an e-Commerce as a Service provider. Join David as he shares how to create an architecture from interconnected services.
HTML5 or Android for Mobile Development?Reto Meier
Android apps or the mobile web? It's often a hard choice when deciding where to invest your mobile development resources. While the mobile web continues to grow, apps and app stores are incredibly popular. We will present both perspectives and offer some suggestions for making the most of each platform.
.NET Usergroup Oldenburg 26. März 2015 - von Winfried Klinker und Andre Hühn
Microsoft Azure gehört zu den Cloud-Diensten, die Microsoft anbietet. Es umfasst neben dem Hosting von virtuellen Maschinen insbesondere eine große Sammlung an Diensten (wie SQL Azure, Mobile Services, Machine Learning).
Wir geben einen ersten Überblick über die Features von Azure insbesondere für Entwickler. Dabei werden wir sowohl auf die Platform as a Service (PaaS) Angebote wie auch auf die Infrastructe as a Service (IaaS) eingehen. Außerdem geben wir einen Einblick in moderne Cloud Architektur und zeigen Best Practices bei der Cloud Entwicklung auf. Dabei werden Beispiele aus der Praxis zeigen, wie man eine Fehlertolerante und robuste Cloud Lösung erstellen kann.
Über die Sprecher:
Winfried Klinker ist als Software Architekt bei der Firma Sitrion in Oldenburg tätig. Er beschäftigt sich größtenteils mit Cloud Architekturen mit Microsoft Azure vor allem in Bezug auf Backends für mobile Anwendungen.
Andre Hühn ist Team Lead für Entwicklung mobiler Apps bei der Firma Sitrion in Oldenburg und beeinflusst damit die Richtung der Architektur für das Sitrion ONE Produkt.
BS 8878: Systematic Approaches to Documenting Web Accessibility Policies and ...lisbk
Slides for a workshop session on "BS 8878: Systematic Approaches to Documenting Web Accessibility Policies and Practices" facilitated by Brian Kelly at the IWMW 2015 event held at Edge Hill University, Ormskirk on 27 July 2015.
See http://iwmw.org/iwmw2015/talks/systematic-approaches-to-documenting-web-accessibility-policies-and-practices/
Mozilla IT has been managed for a too long time by paid-staff only. We are now moving toward opening it to the community, be as open as possible.
This talk will be about how we're doing it, but it is also an opportunity to gather feedback and exchange with the OSS projects that have always been working that way.
Before the Web...
Then came the Web...
Then happened Web2.0...
How Web2.0 Got its Name
Web2.0: An Overview
Web2.0: Web as a Platform
Web2.0: Harnessing Collective Intelligence
Web2.0: Rich User Experience
Web2.0: Visual Design?
Web2.0: Design Patterns
Web2.0: What is proprietary? What is the biz model?
Web2.0: Beyond the web, beyond the community: Web3?
Web2.0: Implications for Media
Are we going into a Bubble?
Some creative Web2.0 applications?
Nimish Vohra, Regalix
Website accessibility matters! There are many reasons to make your site accessible - not only will incorporating accessibility into your daily lives help people with disabilities actually be able to use your site, but it can help attract a wider audience/larger customer base, make your site rank higher with search engines, and can improve your overall user experience on both desktop and mobile devices.
But how can you make your site accessible? Website accessibility is often an afterthought at the end a project when there is an accessibility audit or a user submits an issue, but what if we switched focus and started thinking about accessibility at the beginning of a project during the initial design and development stages?
In this talk I will present a quick overview of website accessibility (the what, who, and why), then review the underlying guidelines to making a site accessible, and present some general rules to keep in the back of your mind while designing and developing your next site. Finally, we will review some current D7/D8 modules that can help you make your site accessible.
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"Daniel Bryant
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk we introduce seven deadly sins that if left unchecked could easily ruin your next microservices project...
This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell. Topics covered include: Pride - selfishly ignoring the new requirements for testing; Envy - introducing inappropriate intimacy within services by creating a shared domain model; Wrath - failing to deal with the inevitable bad things that occur within a distributed system; Sloth - composing services in a lazy fashion, which ultimately leads to the creation of a “Distributed Monolith”; and Lust - embracing the latest and greatest technology without evaluating the operational impact incurred by these choices.
The war torn country of Bosnia and Herzegovina is a unique country in Europe with some of the most exceptional forest in the entire continent.
It has the largest rain forest in Europe and its wood was used for making of the world famous Stradivari violins.
All that is now being destroyed at an incredibly fast rate. Pictures tell the best story.
This is the "before" part of a series post on creating great slides for teaching. An earlier post at "Web 2.0 Tools for Teaching" focused on finding the images for this presentation.
http://web20toolsforteaching.blogspot.com/2010/02/finding-photos-for-your-slides.html
A subsequent post will show how these slides have been edited to create for final slide deck - the "after" slides.
Turning The Channel On - Online Marketing for SMBLinda Groendyke
online marketing overview for small and medium businesses that covers local search, websites, email and social media tools such as facebook and LinkedIn
A set of slides to support our workshops held in Pailin and Kampong Cham in November 2007. The workshops worked with farmers, silo managers, provincial officers around the use of sms to support the development of a market information system for maize and soy bean (EMCS)
MAST Portal: drivers and recommendations Alberto Conti
The Multi-mission archive at Space Telescope has started the process of looking at portal technology to revamp its sites in light of the addition of new missions with new requirements for data presentation and delivery.
The goal is to consolidate several services and presentation layers into a "One Archive" model.
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Perficient, Inc.
During the 2015 IBM Digital Experience, Mark Polly, Perficient Director, Strategic Advisors for Portal, Social, Web Content, demonstrated how you can dart past your competition by getting your digital experience into market faster than ever before.
The Rave in Context project has built usable, extensible and accessible widget templates to build W3C widgets that can be deployed in Apache Rave or Wookie (both Incubating).
Recent advances in Web technologies across the IT environment, gets a big paradigm shift, and Web 2.0 has started changing with the advent of the Web service beyond just information technology as a platform of expression has led to the evolution. In particular, the HTML5 known as the next generation of mark-up languages, led to revolutionary changes of the environment and the new media era is expected to be the future core platform. This lecture will introduce the implications of Web technologies, history of HTML5 and its main features and the role of HTM5 as Smart Media.
This presentation gives an overview on how Platform as a Service technology can help you to become an IT manufacturer with highly integrated and greatly automated processes that drive your business forward.
This presentation was held at (W-) JAX 2014 by Jürgen Hoffmann (Red Hat) and Sebastian Faulhaber (Red Hat).
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
For a long time I have been reluctant to actively contribute to an open source project. I thought it would be rather complicated and demanding – and that I didn't have the knowledge or skills for it or at the very least that they (the project team) weren't waiting for me.
In December 2021, I decided to have a serious input into the Dapr.io project – and now finally to determine how it works and whether it is really that complicated. In this session I want to tell you about my experiences. How Fork, Clone, Branch, Push (and PR) is the rhythm of contributing to an open source project and how you do that (these are all Git actions against GitHub repositories). How to learn how such a project functions and how to connect to it; which tools are needed, which communication channels are used. I tell how the standards of the project – largely automatically enforced – help me to become a better software engineer, with an eye for readability and testability of the code.
How the review process is quite exciting once you have offered your contribution. And how the final "merge to master" of my contribution and then the actual release (Dapr 1.6 contains my first contribution) are nice milestones.
I hope to motivate participants in this session to also take the step yourself and contribute to an open source project in the form of issues or samples, documentation or code. It's valuable to the community and the specific project and I think it's definitely a valuable experience for the "contributer". I looked up to it and now that I've done it gives me confidence – and it tastes like more (I could still use some help with the work on Dapr.io, by the way).
Summary of the Delivering Web To Mobile report. See http://www.jisc.ac.uk/events/2012/05/webinarwebapplications.aspx for a recording of the talk along with the slides and http://blog.observatory.jisc.ac.uk/2012/05/09/final-release-of-techwatch-report-delivering-web-to-mobile/ for the original report.
Informatology: using web 2.0 in face-to-face sessionsscottw
This is a presentation I gave at the British Council for Informatology, looking at the use of technology within face-to-face teaching and training situations.
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
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
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
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