SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
Marcos Caceres
marcosscaceres@gmail.com
XBL 2.0 (15‐20mins)   Widgets ... 
 What does it do..
 What does it do        Our definition of widget
 How it works...        Spec overview
                        Issues we want to 
                        discuss
                        Please stop me to 
                        discuss stuff! 
XML Binding Language
What is XBL2?
XBL Elements 
Binding attachment and detachment 
Shadow Content
 h d
Implementations  and inheritance
  p
Event handlers 
DOM Interfaces
Redundant semantic free mark‐up (div 
elements, for example)
elements  for example)
Hard to add new interfaces/methods to 
elements
 l
Hard to capture events, particularly modified 
           p            p          y
key events
Hard to move content in a document, 
especially from one medium to another
Log on Widget (minimal markup)

<form action=quot;#examplequot; method=quot;postquot; id=quot;loginWidgetquot;> 
<fieldset> 
    <legend>Log on</legend> 
    <label for=quot;usernameFieldquot;>Username:</label> 
    <input name=quot;usernamequot; type=quot;textquot;/> 
    <label for=quot;passwordFieldquot;>Password:</label> 
    <input type=quot;passwordquot; name=quot;passwordquot;/> 
    <input name=quot;submitquot; type=quot;submitquot;/> 
       p                   yp
</fieldset> 
</form>
No enough structure
    Actual Markup needed for design:
<form action=quot;#examplequot; method=quot;postquot; id=quot;loginWidgetquot;>
<fieldset> <legend>Log in</legend> 
<div id=quot;loginBoxFieldsquot;> 
     <div class= fieldGroup > 
     <div class=quot;fieldGroupquot;> 
            <label for=quot;usernameFieldquot; >Username:</label> 
            <input name=quot;usernamequot; type=quot;textquot; id=quot;usernameFieldquot; value=quot;quot;/> 
     </div> 
     <div class=quot;fieldGroupquot;> 
            <label for=quot;passwordFieldquot;>Password:</label> 
            <label for= passwordField >Password:</label> 
            <input type=quot;passwordquot; id=quot;passwordFieldquot; name=quot;passwordquot; value=quot;quot;/> 
     </div> 
</div> 
<div class=quot;actionsContainerquot;> 
     <div class=quot;inputButtonsquot;> 
     <div class= inputButtons > 
            <input name=quot;submitquot; type=quot;submit“ class=quot;submitButtonquot; value=quot;Submitquot; /> 
     </div> 
</div> 
</fieldset> 
</form> 
Designers need 2x the markup to achieve a 
design
Markup needs to be polluted with 
semantically neutral div elements
           ll        ld l
XBL can fix this... And make the whole thing 
                                           g
better to use. 
DOM‐Based binding language
Used to override (or enhance) standard 
behaviour and presentation of DOM elements
Lets you: 
     y
 Add/move/replace/restyle content
 Add DOM interfaces to elements
 Add new styles
 Add event listeners
 Preload media
No implementations yet
HTML documents
 Add accessibility, enhance behaviour and 
 Add        ibilit   h      b h i   d 
 aesthetics
Multimedia 
M l i di  
 Add functionality 
 Bring elements to life
Binding            Global Attributes
  Implementation
    p e e tat o     xbl:pseudo
                     b pseudo
  Template           ▪ For CSS pseudo selectors
  ▪ Content         xbl:attr
  ▪ div              ▪ For forwarding attributes
  ▪ Inherited
  Resources
  ▪ Prefetch
  ▪ Style
  Handlers
  ▪ Handler
Script
Same as HTML script   <script>
Declare global          var c = 0; 
functions               function magic(a,b ){
Scoped to the XBL            return a + b   c; 
                             return a + b * c; 
document              }
                      </script?>
Allows you to define a binding:
 How it behaves  
 H  it b h
 If it extends other bindings (inheritance model will 
 be discussed later)
 What content it adds when bound to another 
 element
 What resources it uses
Allows you to add new             <binding element=“h1”>
DOM interfaces                      <implementation>
  Define new functionality for      ({
  an object                             this.makeRed() =function(){
  Define event handlers                    }, 
                                           } 
  Define properties and fields            this.onclick(e) = function{
                                           this.makeRed();
                                        }
                                    })
                                    </implementation>
                                      /implementation
                                  </binding>
                                  ...
                                  <h1>
Template                         <binding id=“reshuffle”>
  Contains a template of the 
                 p               <template>
  content to be inserted into     <content includes=“b”/>
  a document                     <content includes=“a”/>
Content                          </template>
  Inserts the “selected”         </binding>
  content of a bound             ....
  element
   l      t
                                 <div id=“homepage”>
  You can only use a selected 
  element once.                  <h1 id=“a”>Welcome!</h1>
The resulting DOM tree           <h2 id=“b”>Marcos’ 
                                   h  id “b” M      ’ 
is called shadow content             page</h1>
                                 </div>
DIV                                   <binding extends=“reshuffle”>
  Used as a general container             <template>
  mechanism (like HTML div)               <div state=“idle”>
  Has a “state” attribute                      <inherited>
Inherited                                      <h1>
  Used to insert the content of an             no one’s homepage
  extended binding into another                </h1>
  binding.                                     </inherited>
                                          <div>
                                                p
                                          </template>
                                      <resources> 
                                          <style> 
                                          div[state=idle]{
                                               color: yellow; 
                                          }
                                          </style>
                                      </ resources>
                                      </binding>
Resources                       <binding>
  Structural container          <resources>
                                  esou ces
Style                              <style>
  Styles applied to a binding
    y     pp                g      button:active{ 
  Author sheet styles can          border: solid red;
  also be applied to a             background: url(fancy.png);
  binding
  bi di                            }
Prefetch                           </style>
  Primes the cache                 <prefetch src=“fancy.png”/>
                                        f h       “f       ”/
                                </resources>
                                </binding>
Allows you to group event           The bound document is:
handlers
Trap DOM events and re‐route 
   p                                <hotspot message=quot;Hello Worldquot;> 
                                          p          g
them to functions defined in the    <instruction> 
<implementation>                    Activate this text. 
Fine‐grained control over           </instruction>
keyboard and mouse events           </hotspot> 
                                    The binding is:
                                           g
                                    <binding> 
                                    <handlers> 
                                    <handler event=quot;clickquot;>
                                    alert(
                                    event.currentTarget.getAttribute(
                                    event currentTarget getAttribute(
                                    'message' )); 
                                    </handler> 
                                    </handlers> 
                                    </binding>
id               key
event            key‐location
                 key location
phase            text
trusted          prev‐value
                 prev value
propagate        new‐value
default action
default‐action   attr name
                 attr‐name
button           attr‐change 
click‐count
click count
modifiers
Document attachment                             Binding Detachment
 Processing Instruction                          Element.removeBinding(URI)
 ▪ <?xbl href=quot;foo.xmlquot;?>
 New DOM interface
 ▪   document.loadBindingDocument('foo.xml');


Element Attachment
 CSS
 ▪ ‐xbl‐binding: url(quot;foo.xmlquot;)
              g     (         )
 Binding element
 ▪ <binding element=quot;#xquot;>
          g
Explicit inheritance 
Implicit inheritance
client‐side web applications
Widget: client‐side Web applications for 
 displaying and/or updating remote data, 
 displaying and/or updating remote data  
 packaged in a way to allow a single download 
 and installation on a client machine or device.
    d       ll          l        h        d
Widgets 1.0 addresses:
 Packaging (Zip)
 ▪ Digital signature, Internationalization (?)
 Bootstrapping
 Configuration and Metadata 
 APIs
 API
 Automatic updates
 Rendering, UI, accessibility 
 Security
Packaging format
 Format: Zip (64bit?),Compression (Deflate)
 Format: Zip (64bit?) Compression (Deflate)
 Is it effectively specified? (eg. For longevity?) 
Digital Signatures
 XML Dig Sig: x.509 Certificates, tap into PKI, 
 As quality assurance 
Internationalization
 Leave it to the authors?
 Make it folder based? 
 What about Unicode folder names? 
Automatically instantiating a widget
Model(s):
Model(s)
 Declarative 
 ▪ <widget start=“/clock.svg”...>
 Automatic (Fallback)
 ▪ Find one of index.[html|htm|xhtml|xht|xml|svg]
Filename: config.xml
Elements: Id, version, description, author (url, 
Elements  Id  version  description  author (url  
email), title, start, icon, license, access 
(network and plugins)
         k d l
Have we captured what developers want?
             p                     p
Flexible processing model
 We want robust error handling
Parsing rules
 Robust error handling (not overly strict, )
 R b          h dli  (          l   i  )
ECMAScript
Following Dashboard s APIs 
Following Dashboard’s APIs 
XMLHTTPRequest
Cross‐widget messaging
        d
 HTML‐5‐like model, also Yahoo!’s model
      5           ,
How does Widget object relate to Window? 
Not yet specified
Should be able to handle offline
Should exploit existing HTTP caching
Versioning
 Number based (1.2.3.4)
                ( 3 4)
 String based (“1.0RC2 – Build 12345”)
 Comparison
Update URI
HTML, SVG, XML, CSS
How do we handle transparency? Rounded corners 
and other irregular shapes? etc. 
Undefined (our elephant)
What s allowed? 
What’s allowed? 
 Eg. should we allow application execution?
 No origin? Do we allow cross‐site requests?

Weitere ähnliche Inhalte

Was ist angesagt?

Render Caching for Drupal 8
Render Caching for Drupal 8Render Caching for Drupal 8
Render Caching for Drupal 8John Doyle
 
Single page webapps & javascript-testing
Single page webapps & javascript-testingSingle page webapps & javascript-testing
Single page webapps & javascript-testingsmontanari
 
Система рендеринга в Magento
Система рендеринга в MagentoСистема рендеринга в Magento
Система рендеринга в MagentoMagecom Ukraine
 
Using of TDD practices for Magento
Using of TDD practices for MagentoUsing of TDD practices for Magento
Using of TDD practices for MagentoIvan Chepurnyi
 
Drupal Development (Part 2)
Drupal Development (Part 2)Drupal Development (Part 2)
Drupal Development (Part 2)Jeff Eaton
 
td_mxc_rubyrails_shin
td_mxc_rubyrails_shintd_mxc_rubyrails_shin
td_mxc_rubyrails_shintutorialsruby
 
Doctrine 2
Doctrine 2Doctrine 2
Doctrine 2zfconfua
 
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsJava Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsIMC Institute
 
Optimizing Magento by Preloading Data
Optimizing Magento by Preloading DataOptimizing Magento by Preloading Data
Optimizing Magento by Preloading DataIvan Chepurnyi
 
20190118_NetadashiMeetup#8_React2019
20190118_NetadashiMeetup#8_React201920190118_NetadashiMeetup#8_React2019
20190118_NetadashiMeetup#8_React2019Makoto Mori
 

Was ist angesagt? (18)

Html5 For Jjugccc2009fall
Html5 For Jjugccc2009fallHtml5 For Jjugccc2009fall
Html5 For Jjugccc2009fall
 
Drupal 8 Services
Drupal 8 ServicesDrupal 8 Services
Drupal 8 Services
 
Render Caching for Drupal 8
Render Caching for Drupal 8Render Caching for Drupal 8
Render Caching for Drupal 8
 
Single page webapps & javascript-testing
Single page webapps & javascript-testingSingle page webapps & javascript-testing
Single page webapps & javascript-testing
 
RicoLiveGrid
RicoLiveGridRicoLiveGrid
RicoLiveGrid
 
Alfredo-PUMEX
Alfredo-PUMEXAlfredo-PUMEX
Alfredo-PUMEX
 
Система рендеринга в Magento
Система рендеринга в MagentoСистема рендеринга в Magento
Система рендеринга в Magento
 
Using of TDD practices for Magento
Using of TDD practices for MagentoUsing of TDD practices for Magento
Using of TDD practices for Magento
 
Drupal Development (Part 2)
Drupal Development (Part 2)Drupal Development (Part 2)
Drupal Development (Part 2)
 
Django at the Disco
Django at the DiscoDjango at the Disco
Django at the Disco
 
td_mxc_rubyrails_shin
td_mxc_rubyrails_shintd_mxc_rubyrails_shin
td_mxc_rubyrails_shin
 
Django at the Disco
Django at the DiscoDjango at the Disco
Django at the Disco
 
Doctrine 2
Doctrine 2Doctrine 2
Doctrine 2
 
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsJava Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom Tags
 
Jsf
JsfJsf
Jsf
 
Optimizing Magento by Preloading Data
Optimizing Magento by Preloading DataOptimizing Magento by Preloading Data
Optimizing Magento by Preloading Data
 
Html5
Html5Html5
Html5
 
20190118_NetadashiMeetup#8_React2019
20190118_NetadashiMeetup#8_React201920190118_NetadashiMeetup#8_React2019
20190118_NetadashiMeetup#8_React2019
 

Ähnlich wie W3C XBL 2.0 and Widgets 1.0

Web applications with Catalyst
Web applications with CatalystWeb applications with Catalyst
Web applications with Catalystsvilen.ivanov
 
TurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsTurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsAlessandro Molina
 
PHPConf-TW 2012 # Twig
PHPConf-TW 2012 # TwigPHPConf-TW 2012 # Twig
PHPConf-TW 2012 # TwigWake Liu
 
Introduction to Vue.js
Introduction to Vue.jsIntroduction to Vue.js
Introduction to Vue.jsMeir Rotstein
 
jQuery (BostonPHP)
jQuery (BostonPHP)jQuery (BostonPHP)
jQuery (BostonPHP)jeresig
 
Choosing a Javascript Framework
Choosing a Javascript FrameworkChoosing a Javascript Framework
Choosing a Javascript FrameworkAll Things Open
 
jQuery (MeshU)
jQuery (MeshU)jQuery (MeshU)
jQuery (MeshU)jeresig
 
Grok Drupal (7) Theming
Grok Drupal (7) ThemingGrok Drupal (7) Theming
Grok Drupal (7) ThemingPINGV
 
Functional FIPS: Learning PHP for Drupal Theming
Functional FIPS: Learning PHP for Drupal ThemingFunctional FIPS: Learning PHP for Drupal Theming
Functional FIPS: Learning PHP for Drupal ThemingEmma Jane Hogbin Westby
 
D7 theming what's new - London
D7 theming what's new - LondonD7 theming what's new - London
D7 theming what's new - LondonMarek Sotak
 
Drupal Javascript for developers
Drupal Javascript for developersDrupal Javascript for developers
Drupal Javascript for developersDream Production AG
 
Introduction to web components
Introduction to web componentsIntroduction to web components
Introduction to web componentsMarc Bächinger
 
Everything is Awesome - Cutting the Corners off the Web
Everything is Awesome - Cutting the Corners off the WebEverything is Awesome - Cutting the Corners off the Web
Everything is Awesome - Cutting the Corners off the WebJames Rakich
 
Building iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoBuilding iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoRob Bontekoe
 
Creating lightweight JS Apps w/ Web Components and lit-html
Creating lightweight JS Apps w/ Web Components and lit-htmlCreating lightweight JS Apps w/ Web Components and lit-html
Creating lightweight JS Apps w/ Web Components and lit-htmlIlia Idakiev
 

Ähnlich wie W3C XBL 2.0 and Widgets 1.0 (20)

Web applications with Catalyst
Web applications with CatalystWeb applications with Catalyst
Web applications with Catalyst
 
TurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsTurboGears2 Pluggable Applications
TurboGears2 Pluggable Applications
 
Polymer 1.0
Polymer 1.0Polymer 1.0
Polymer 1.0
 
Polymer
PolymerPolymer
Polymer
 
PHPConf-TW 2012 # Twig
PHPConf-TW 2012 # TwigPHPConf-TW 2012 # Twig
PHPConf-TW 2012 # Twig
 
Introduction to Vue.js
Introduction to Vue.jsIntroduction to Vue.js
Introduction to Vue.js
 
jQuery (BostonPHP)
jQuery (BostonPHP)jQuery (BostonPHP)
jQuery (BostonPHP)
 
Choosing a Javascript Framework
Choosing a Javascript FrameworkChoosing a Javascript Framework
Choosing a Javascript Framework
 
jQuery (MeshU)
jQuery (MeshU)jQuery (MeshU)
jQuery (MeshU)
 
Introduction to angular js
Introduction to angular jsIntroduction to angular js
Introduction to angular js
 
Grok Drupal (7) Theming
Grok Drupal (7) ThemingGrok Drupal (7) Theming
Grok Drupal (7) Theming
 
Functional FIPS: Learning PHP for Drupal Theming
Functional FIPS: Learning PHP for Drupal ThemingFunctional FIPS: Learning PHP for Drupal Theming
Functional FIPS: Learning PHP for Drupal Theming
 
D7 theming what's new - London
D7 theming what's new - LondonD7 theming what's new - London
D7 theming what's new - London
 
Drupal Javascript for developers
Drupal Javascript for developersDrupal Javascript for developers
Drupal Javascript for developers
 
Introduction to web components
Introduction to web componentsIntroduction to web components
Introduction to web components
 
HTML5 - Pedro Rosa
HTML5 - Pedro RosaHTML5 - Pedro Rosa
HTML5 - Pedro Rosa
 
Everything is Awesome - Cutting the Corners off the Web
Everything is Awesome - Cutting the Corners off the WebEverything is Awesome - Cutting the Corners off the Web
Everything is Awesome - Cutting the Corners off the Web
 
Building iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoBuilding iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" Domino
 
Angular Data Binding
Angular Data BindingAngular Data Binding
Angular Data Binding
 
Creating lightweight JS Apps w/ Web Components and lit-html
Creating lightweight JS Apps w/ Web Components and lit-htmlCreating lightweight JS Apps w/ Web Components and lit-html
Creating lightweight JS Apps w/ Web Components and lit-html
 

Kürzlich hochgeladen

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Kürzlich hochgeladen (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

W3C XBL 2.0 and Widgets 1.0