This document provides a summary of the state of web APIs in 2017. It begins with a brief history of web browsers and the "Browser Wars" of the 1990s. It then discusses the rise of mobile web usage, particularly in Asia and Africa, and the need for web APIs to support mobile web applications. The document proceeds to summarize several important modern web APIs, including APIs for device access, animations, games, sensors, battery status, ambient light, networking information, orientation, audio, MIDI, VR, service workers, push notifications, Bluetooth, and speech synthesis and recognition.
Advanced Mac Software Deployment and Configuration: Just Make It Work!Timothy Sutton
This presentation was given at the Mac Admin & Developer Conference UK in February 2017. Session description follows:
You’re dealing with terrible installer packages, applications that perform ad-hoc system setup tasks and assume every user is an admin. It seems so often they were never tested in multi-user or enterprise environments. Your colleagues wonder “How hard could this be? At home I just install it and it works,” and they roll their eyes as you bemoan the sad realities of deploying desktop software.
This session will explore techniques for identifying the causes of these issues, and how to approach the various problems systematically to develop solutions. In no particular order, we’ll visit Bash, Python, packaging, launchd, configuration profiles, defaults, and the Hopper Disassembler.
This document provides an overview of microservices and tools for developing microservices architectures. It discusses some of the benefits of moving from monolithic architectures to microservices, including improved scalability, fault isolation, and independent deployability. It then introduces Docker and Docker Compose as useful tools for building and testing microservices. A demo is shown of using Dockerfile to build an image and Docker Compose to define and run multiple services locally. The document concludes by discussing challenges of microservices and the need for tools like Kubernetes to manage complexity at scale.
An introduction to Bananajour, a bonjour-aware git server for sharing code and collaborating on a LAN.
http://github.com/toolmantim/bananajour
This was presented at the June 9 roro Sydney meetup.
http://faces.rubyoceania.org/groups/sydney/meetings/2009-06-09
One of the most insidious actions of malware is abusing the video and audio capabilities of an infected host to record an unknowing user. Macs of course, are not immune; malware such as OSX/Eleanor, OSX/Crisis, and others, all attempt to spy on OS X users.
And as was recently shown by the author, more advanced malware could piggyback into legitimate webcam sessions in order to covertly record the local user. As there are no visible indications of this malicious activity (as the LED light is already on), the malware can record both audio and video without fear of detection.
After examining various ‘webcam-aware’ OS X malware samples and describing the technical details of the piggyback attack, the talk will dive into OverSight.
OverSight is a free tool that implements various novel protection mechanisms in order to alert Mac users of any code that attempts to access the mic or webcam (even via the stealthy piggyback attack). We’ll dive into the design and technical details of tool, describing various components for the first time.
Following this, we’ll look at an interesting case study, where OverSight discovered that a popular mac application was continuing to record, even when the user turned it off. Yikes! Finally, the talk will conclude by discussing future trends of both webcam/mic aware macOS malware and defensive detection methodologies. With such insights, we’ll strive to keep macOS users protected and secure!
OSDC 2015: Pere Urbon | Scaling Logstash: A Collection of War StoriesNETWAYS
In this talk, we will cover several strategies for successfully scaling Logstash. Through the lens of several real-life war stories, you willl learn how to make Logstash sing alongside RabbitMQ, Redis, ZeroMQ, Kafka and much more. If you are ready to grow at scale and make your infrastructure more resilient, this talk is for you.
The document discusses the Web MIDI API, which allows web applications to communicate with MIDI devices connected to the user's computer. It provides an overview of the API and its capabilities, such as sending and receiving MIDI messages. It also discusses polyfills that add Web MIDI support to browsers that do not natively support the API, and links to resources like a Web MIDI library and specifications.
Advanced Mac Software Deployment and Configuration: Just Make It Work!Timothy Sutton
This presentation was given at the Mac Admin & Developer Conference UK in February 2017. Session description follows:
You’re dealing with terrible installer packages, applications that perform ad-hoc system setup tasks and assume every user is an admin. It seems so often they were never tested in multi-user or enterprise environments. Your colleagues wonder “How hard could this be? At home I just install it and it works,” and they roll their eyes as you bemoan the sad realities of deploying desktop software.
This session will explore techniques for identifying the causes of these issues, and how to approach the various problems systematically to develop solutions. In no particular order, we’ll visit Bash, Python, packaging, launchd, configuration profiles, defaults, and the Hopper Disassembler.
This document provides an overview of microservices and tools for developing microservices architectures. It discusses some of the benefits of moving from monolithic architectures to microservices, including improved scalability, fault isolation, and independent deployability. It then introduces Docker and Docker Compose as useful tools for building and testing microservices. A demo is shown of using Dockerfile to build an image and Docker Compose to define and run multiple services locally. The document concludes by discussing challenges of microservices and the need for tools like Kubernetes to manage complexity at scale.
An introduction to Bananajour, a bonjour-aware git server for sharing code and collaborating on a LAN.
http://github.com/toolmantim/bananajour
This was presented at the June 9 roro Sydney meetup.
http://faces.rubyoceania.org/groups/sydney/meetings/2009-06-09
One of the most insidious actions of malware is abusing the video and audio capabilities of an infected host to record an unknowing user. Macs of course, are not immune; malware such as OSX/Eleanor, OSX/Crisis, and others, all attempt to spy on OS X users.
And as was recently shown by the author, more advanced malware could piggyback into legitimate webcam sessions in order to covertly record the local user. As there are no visible indications of this malicious activity (as the LED light is already on), the malware can record both audio and video without fear of detection.
After examining various ‘webcam-aware’ OS X malware samples and describing the technical details of the piggyback attack, the talk will dive into OverSight.
OverSight is a free tool that implements various novel protection mechanisms in order to alert Mac users of any code that attempts to access the mic or webcam (even via the stealthy piggyback attack). We’ll dive into the design and technical details of tool, describing various components for the first time.
Following this, we’ll look at an interesting case study, where OverSight discovered that a popular mac application was continuing to record, even when the user turned it off. Yikes! Finally, the talk will conclude by discussing future trends of both webcam/mic aware macOS malware and defensive detection methodologies. With such insights, we’ll strive to keep macOS users protected and secure!
OSDC 2015: Pere Urbon | Scaling Logstash: A Collection of War StoriesNETWAYS
In this talk, we will cover several strategies for successfully scaling Logstash. Through the lens of several real-life war stories, you willl learn how to make Logstash sing alongside RabbitMQ, Redis, ZeroMQ, Kafka and much more. If you are ready to grow at scale and make your infrastructure more resilient, this talk is for you.
The document discusses the Web MIDI API, which allows web applications to communicate with MIDI devices connected to the user's computer. It provides an overview of the API and its capabilities, such as sending and receiving MIDI messages. It also discusses polyfills that add Web MIDI support to browsers that do not natively support the API, and links to resources like a Web MIDI library and specifications.
DevOps is a set of practices that automates the processes between software development and IT teams, in order that they can build, test, and release software faster and more reliably.
This document provides an overview of HTML5 and introduces several new HTML5 features including new tags, JavaScript APIs, and how to implement drag and drop files, local storage, and web sockets. It includes code examples and links to resources for implementing these new features. The document concludes with a discussion and links to code examples.
FGS 2011: Flash+ A Whole New Dimension for Gamesmochimedia
Lee Brimelow and Thibault Imbert discuss the future of Flash and announce the public availability of Adobe's new 3D API's (codenamed "Molehill") at Flash Gaming Summit 2011.
Firefox OS, the Open Web & WebAPIs - Geek Meet VästeråsRobert Nyman
Mozilla is a nonprofit dedicated to empowering users and shaping the future of the web. Firefox OS uses HTML5, CSS, and JavaScript to build apps that can access device APIs. It provides different security levels for web content and packaged apps. The document outlines several device APIs available to Firefox OS apps, including battery status, notifications, screen orientation, vibration, and web payments. It also discusses future planned APIs and Mozilla's goal of providing core apps like contacts and settings as open web apps.
The document discusses various options for taking web applications offline, including caching approaches, desktop virtual machines, and specific toolkits. It provides details on technologies like Firefox offline support, Google Gears, Dojo Offline Toolkit, Mozilla XUL Runner, Adobe AIR, and Zimbra Desktop. The presentation concludes with challenges for developers in building offline capabilities and a demonstration of Zimbra Desktop's offline features.
Tools that help speed up responsive web development include HTML5 boilerplates to avoid duplicating code, frameworks like Bootstrap and Foundation that provide grid systems and styles, and tools for testing designs across screen sizes like browser plugins and emulators for simulating mobile devices. Common responsive design testing tools include browser plugins that allow resizing the viewport, online services that emulate different devices, and emulators for iOS, Android and other mobile platforms provided by their respective developers. Frameworks aid development through grid systems and prototyping, while testing tools help ensure responsive designs work well on varied screen sizes.
This document discusses various techniques for responsive images in web design, including browser sniffing versus feature testing, image sizes for different screen resolutions and bandwidths, and different implementation methods like .htaccess files, the <picture> element, and JavaScript libraries. It covers topics like using the browser width to determine layouts, screen resolution detection, and bandwidth testing. Workarounds discussed include using background images, SVGs, icon fonts, and compressed JPEGs. The document advocates a mobile-first approach and using CSS media queries to adapt designs based on screen size.
This document discusses responsive image techniques for adaptive web design. It begins by explaining browser sniffing versus feature testing, and recommends using feature testing to determine browser width, screen resolution, and bandwidth instead of browser sniffing. It then covers techniques like using background-size to control image sizes, SVG for smaller file sizes, and font-based solutions. The document also discusses server-side techniques like .htaccess rewrite rules and client-side techniques like picture and HiSRC. It advocates for a mobile-first approach using CSS media queries and a single pixel GIF for responsive images.
Responsive vs Adaptive Web Design - What about Device Channels?Stefan Bauer
In this presentation I give a brief introduction into Responsive Web Design, Adaptive Web Design and SharePoint Device Channels.
What are the key facts and what needs to be considered to build a great user experience no matter what or where you like to view the content.
The document summarizes key aspects of building Firefox OS to address issues with the mobile web. Firefox OS is Mozilla's attempt to make the web a first-class citizen on phones and tablets by starting with the web stack rather than trying to add the web to an existing OS. It has launched in several countries and aims to be an affordable alternative to feature phones and closed platforms. The architecture is based on Linux, Gecko, and web technologies. It provides predictable HTML5 support and addresses performance, fragmentation, security and hardware access through its design and web APIs.
Silverlight 4 provides support for business applications by:
1. Supporting a plugin-based architecture through the Managed Extensibility Framework.
2. Enabling efficient development through features of WCF RIA Services.
3. Supporting best practices like test-driven development, MVVM, and design data.
It also introduces new functionality for out-of-browser applications, printing, webcam/microphone access, drag and drop, rich text, and improved performance. Silverlight 4 is clearly ready for building business applications.
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San FranciscoRobert Nyman
Mozilla is a nonprofit dedicated to putting users in control of their online experiences and shaping the future of the web for the public good. Firefox OS uses HTML5, CSS, JavaScript, and web APIs to build apps and customize the user interface. It provides both regular and privileged web APIs for functions like notifications, device storage, and web activities. The document outlines the capabilities and APIs available in Firefox OS and provides resources for developing apps and trying out the platform.
My Slides for my Talk about being Always On is a lie and how developers could add improvements to their web site to deliver a great experience even when the network is flaky!
Bringing the Open Web & APIs to mobile devices with Firefox OS - BrazilJSRobert Nyman
Firefox OS is an open source mobile operating system developed by Mozilla that uses HTML5 technologies and APIs to allow developers to build apps and customize the user interface. It aims to bring the open web to mobile by allowing apps to be built with web technologies like HTML, CSS, and JavaScript instead of native development. The document outlines the key technologies that Firefox OS uses like HTML5, manifest files, and various device APIs for features like vibration, screen orientation, geolocation, and more. It also describes the different types of apps and security levels as well as Mozilla's vision for future web standards and APIs.
Bringing the Open Web & APIs to mobile devices with Firefox OS - SpainJSRobert Nyman
Firefox OS uses open web technologies like HTML5, CSS and JavaScript to build apps that run on mobile devices. It provides access to device APIs for features like vibration, screen orientation, geolocation and more. Apps can be installed from the Firefox Marketplace and have different security levels depending on their capabilities and access to device features. The document provides examples of how to use APIs for battery status, screen orientation, vibration and other device functions from within Firefox OS apps.
Андрій Вандакуров
Team Lead та Senior Developer у ELEKS
Наскільки круто бути фронтенд розробником і які задачі вже можна вирішувати знаючи тільки JavaScript, HTML и CSS.
Тулзи, підходи і технічки; можливості сучасного фронтенда (клієнський та серверний код, роботи та візуалізація данних).
The document provides an overview of various web technologies including:
- Fundamental technologies that formed the foundation of the early web such as HTML, URIs, and HTTP.
- Real-time communication technologies like WebSockets and WebRTC that enable features like video chatting.
- Client-side storage options including LocalStorage, IndexedDB, and PouchDB.
- APIs that enable richer user experiences such as the Full Screen API, Page Visibility API, and Vibration API.
- Styling techniques like CSS shapes, blend modes, and 3D transforms.
- Web component specifications like Custom Elements and Shadow DOM.
- Options for building different types of applications including desktop apps, TV apps,
This document summarizes the Firefox OS, an open web platform for building mobile apps and customizing the user interface using HTML5, CSS, and JavaScript. It outlines key web APIs, the process for developing and publishing open web apps, and the different types of apps including regular web apps, installed web apps, and privileged web apps with additional capabilities. Security levels and permissions for APIs are also discussed.
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkSt. Petersburg College
Presented June 8, 2012 (Online) at the 'Access by Touch: Delivering Library Services Through Mobile Technologies' conference sponsored by Amigos Library Services.
Description: By the end of 2012, it is expected that more than 80% of the world’s population will have access to a smartphone. Your library users will assume that your library can be accessible from anywhere, at any time, and on any device. Now is the time to be ready! During this webinar, you will:
- learn what a mobile framework is.
- acquire best practices in mobile Web development.
- understand the various technologies (HTML, CSS, JavaScript) and how they work together to build mobile Web apps.
- recognize the differences between native and web apps.
- have an opportunity to continue to work with Chad after the webinar to demonstrate what you learned.
- gain access after the webinar to a free Web server so you can see your mobile Web app live.
This document discusses mediaman's implementation of a headless architecture using Typo3 as a content management system and Magento 2 as a shop system. Some key challenges included migrating existing content, connecting different existing systems, and ensuring one user interface. The solution involved using Typo3 and Magento 2 APIs to integrate the systems while keeping the content and shop separate. Lessons learned included that being an early adopter of new technologies like Magento 2 comes with difficulties as extensions and features may not be fully developed, and going headless requires rebuilding templates and processes that rely on extensions.
My Slides about creating web sites which could also be useable even if you are not online! From Web Storages to Service Workers.
Presented at Mobiletech Conference in Munich March 2017
DevOps is a set of practices that automates the processes between software development and IT teams, in order that they can build, test, and release software faster and more reliably.
This document provides an overview of HTML5 and introduces several new HTML5 features including new tags, JavaScript APIs, and how to implement drag and drop files, local storage, and web sockets. It includes code examples and links to resources for implementing these new features. The document concludes with a discussion and links to code examples.
FGS 2011: Flash+ A Whole New Dimension for Gamesmochimedia
Lee Brimelow and Thibault Imbert discuss the future of Flash and announce the public availability of Adobe's new 3D API's (codenamed "Molehill") at Flash Gaming Summit 2011.
Firefox OS, the Open Web & WebAPIs - Geek Meet VästeråsRobert Nyman
Mozilla is a nonprofit dedicated to empowering users and shaping the future of the web. Firefox OS uses HTML5, CSS, and JavaScript to build apps that can access device APIs. It provides different security levels for web content and packaged apps. The document outlines several device APIs available to Firefox OS apps, including battery status, notifications, screen orientation, vibration, and web payments. It also discusses future planned APIs and Mozilla's goal of providing core apps like contacts and settings as open web apps.
The document discusses various options for taking web applications offline, including caching approaches, desktop virtual machines, and specific toolkits. It provides details on technologies like Firefox offline support, Google Gears, Dojo Offline Toolkit, Mozilla XUL Runner, Adobe AIR, and Zimbra Desktop. The presentation concludes with challenges for developers in building offline capabilities and a demonstration of Zimbra Desktop's offline features.
Tools that help speed up responsive web development include HTML5 boilerplates to avoid duplicating code, frameworks like Bootstrap and Foundation that provide grid systems and styles, and tools for testing designs across screen sizes like browser plugins and emulators for simulating mobile devices. Common responsive design testing tools include browser plugins that allow resizing the viewport, online services that emulate different devices, and emulators for iOS, Android and other mobile platforms provided by their respective developers. Frameworks aid development through grid systems and prototyping, while testing tools help ensure responsive designs work well on varied screen sizes.
This document discusses various techniques for responsive images in web design, including browser sniffing versus feature testing, image sizes for different screen resolutions and bandwidths, and different implementation methods like .htaccess files, the <picture> element, and JavaScript libraries. It covers topics like using the browser width to determine layouts, screen resolution detection, and bandwidth testing. Workarounds discussed include using background images, SVGs, icon fonts, and compressed JPEGs. The document advocates a mobile-first approach and using CSS media queries to adapt designs based on screen size.
This document discusses responsive image techniques for adaptive web design. It begins by explaining browser sniffing versus feature testing, and recommends using feature testing to determine browser width, screen resolution, and bandwidth instead of browser sniffing. It then covers techniques like using background-size to control image sizes, SVG for smaller file sizes, and font-based solutions. The document also discusses server-side techniques like .htaccess rewrite rules and client-side techniques like picture and HiSRC. It advocates for a mobile-first approach using CSS media queries and a single pixel GIF for responsive images.
Responsive vs Adaptive Web Design - What about Device Channels?Stefan Bauer
In this presentation I give a brief introduction into Responsive Web Design, Adaptive Web Design and SharePoint Device Channels.
What are the key facts and what needs to be considered to build a great user experience no matter what or where you like to view the content.
The document summarizes key aspects of building Firefox OS to address issues with the mobile web. Firefox OS is Mozilla's attempt to make the web a first-class citizen on phones and tablets by starting with the web stack rather than trying to add the web to an existing OS. It has launched in several countries and aims to be an affordable alternative to feature phones and closed platforms. The architecture is based on Linux, Gecko, and web technologies. It provides predictable HTML5 support and addresses performance, fragmentation, security and hardware access through its design and web APIs.
Silverlight 4 provides support for business applications by:
1. Supporting a plugin-based architecture through the Managed Extensibility Framework.
2. Enabling efficient development through features of WCF RIA Services.
3. Supporting best practices like test-driven development, MVVM, and design data.
It also introduces new functionality for out-of-browser applications, printing, webcam/microphone access, drag and drop, rich text, and improved performance. Silverlight 4 is clearly ready for building business applications.
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San FranciscoRobert Nyman
Mozilla is a nonprofit dedicated to putting users in control of their online experiences and shaping the future of the web for the public good. Firefox OS uses HTML5, CSS, JavaScript, and web APIs to build apps and customize the user interface. It provides both regular and privileged web APIs for functions like notifications, device storage, and web activities. The document outlines the capabilities and APIs available in Firefox OS and provides resources for developing apps and trying out the platform.
My Slides for my Talk about being Always On is a lie and how developers could add improvements to their web site to deliver a great experience even when the network is flaky!
Bringing the Open Web & APIs to mobile devices with Firefox OS - BrazilJSRobert Nyman
Firefox OS is an open source mobile operating system developed by Mozilla that uses HTML5 technologies and APIs to allow developers to build apps and customize the user interface. It aims to bring the open web to mobile by allowing apps to be built with web technologies like HTML, CSS, and JavaScript instead of native development. The document outlines the key technologies that Firefox OS uses like HTML5, manifest files, and various device APIs for features like vibration, screen orientation, geolocation, and more. It also describes the different types of apps and security levels as well as Mozilla's vision for future web standards and APIs.
Bringing the Open Web & APIs to mobile devices with Firefox OS - SpainJSRobert Nyman
Firefox OS uses open web technologies like HTML5, CSS and JavaScript to build apps that run on mobile devices. It provides access to device APIs for features like vibration, screen orientation, geolocation and more. Apps can be installed from the Firefox Marketplace and have different security levels depending on their capabilities and access to device features. The document provides examples of how to use APIs for battery status, screen orientation, vibration and other device functions from within Firefox OS apps.
Андрій Вандакуров
Team Lead та Senior Developer у ELEKS
Наскільки круто бути фронтенд розробником і які задачі вже можна вирішувати знаючи тільки JavaScript, HTML и CSS.
Тулзи, підходи і технічки; можливості сучасного фронтенда (клієнський та серверний код, роботи та візуалізація данних).
The document provides an overview of various web technologies including:
- Fundamental technologies that formed the foundation of the early web such as HTML, URIs, and HTTP.
- Real-time communication technologies like WebSockets and WebRTC that enable features like video chatting.
- Client-side storage options including LocalStorage, IndexedDB, and PouchDB.
- APIs that enable richer user experiences such as the Full Screen API, Page Visibility API, and Vibration API.
- Styling techniques like CSS shapes, blend modes, and 3D transforms.
- Web component specifications like Custom Elements and Shadow DOM.
- Options for building different types of applications including desktop apps, TV apps,
This document summarizes the Firefox OS, an open web platform for building mobile apps and customizing the user interface using HTML5, CSS, and JavaScript. It outlines key web APIs, the process for developing and publishing open web apps, and the different types of apps including regular web apps, installed web apps, and privileged web apps with additional capabilities. Security levels and permissions for APIs are also discussed.
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkSt. Petersburg College
Presented June 8, 2012 (Online) at the 'Access by Touch: Delivering Library Services Through Mobile Technologies' conference sponsored by Amigos Library Services.
Description: By the end of 2012, it is expected that more than 80% of the world’s population will have access to a smartphone. Your library users will assume that your library can be accessible from anywhere, at any time, and on any device. Now is the time to be ready! During this webinar, you will:
- learn what a mobile framework is.
- acquire best practices in mobile Web development.
- understand the various technologies (HTML, CSS, JavaScript) and how they work together to build mobile Web apps.
- recognize the differences between native and web apps.
- have an opportunity to continue to work with Chad after the webinar to demonstrate what you learned.
- gain access after the webinar to a free Web server so you can see your mobile Web app live.
This document discusses mediaman's implementation of a headless architecture using Typo3 as a content management system and Magento 2 as a shop system. Some key challenges included migrating existing content, connecting different existing systems, and ensuring one user interface. The solution involved using Typo3 and Magento 2 APIs to integrate the systems while keeping the content and shop separate. Lessons learned included that being an early adopter of new technologies like Magento 2 comes with difficulties as extensions and features may not be fully developed, and going headless requires rebuilding templates and processes that rely on extensions.
My Slides about creating web sites which could also be useable even if you are not online! From Web Storages to Service Workers.
Presented at Mobiletech Conference in Munich March 2017
The document discusses Nightwatch.js, an open source end-to-end testing framework for browser-based apps and websites. It uses Selenium WebDriver to perform commands and assertions on DOM elements. Key features include a clean syntax, built-in test runner, support for CSS/XPath selectors, test grouping/filtering, and CI integration. The document provides information on installation, project structure, configuration, writing tests, using page objects, test execution, and ways to extend Nightwatch's functionality through custom commands/assertions.
This document provides an overview of WebVR and its history. It discusses early VR devices from the 1960s, popular VR headsets today like Oculus Rift and HTC Vive, and frameworks for building VR experiences on the web like A-Frame. It also summarizes the WebVR API and how it allows accessing VR sensors and rendering to head-mounted displays from web content. While WebVR shows promise, the document notes it is still an editors draft and has limitations in browser support and requiring expensive hardware.
This document provides an overview of WebVR and its history. It discusses early VR devices from the 1930s through the 1990s. Modern VR head-mounted displays like the Oculus Rift and HTC Vive are described. The WebVR API allows creating VR experiences within browsers by accessing sensors and rendering to VR displays. Frameworks like A-Frame simplify development with markup. While WebVR has potential, the specification is not finalized and high-end VR hardware can be expensive.
- HTML5 Canvas allows for drawing and animation capabilities for building games directly in browsers
- It has been standardized and is supported across browsers, enabling cross-platform games
- While desktop games work well with HTML5 Canvas, mobile games face challenges like lower memory limits, different screen sizes and resolutions, and performance issues
- Frameworks like Phaser, Impact and libraries like CocoonJS aim to address these challenges and allow building games using HTML5 that run cross-platform on desktop and mobile browsers
Responsive design allows webpages to adapt to different screen sizes and devices by using fluid widths, images, and CSS media queries. It began in 2010 with a combination of flexible layouts, media queries, and using the viewport to optimize content for varied screens. While responsive design improves the user experience across devices, developers must address challenges like conditionally loading appropriate images, scripts, and styles to avoid delivering unnecessary content.
The document discusses the evolution of web APIs and browsers. It describes how in the early days of the web, browser vendors competed by adding proprietary features without regard to standards, which led to inconsistent support across browsers. It then explains how modern browsers now prioritize standards compliance and collaboration to ensure features work across all browsers, and how new web APIs are enabling richer mobile web experiences through access to device capabilities.
The document summarizes the history of web browsers and standards. It describes how early browsers competed by adding proprietary features without regard to standards, resulting in developer headaches. It then discusses how modern browsers have embraced standards-based development and cooperate on new technologies and APIs. The talk outlines how web APIs are helping make the web more "native" and powerful on mobile devices.
Firefox OS - A (mobile) Web Developers dream - DWX14Carsten Sandtner
My slides from Developer Week 2014 in Nuremberg.
Original Slides: http://casarock.github.io/dwx14
(Quality of uploaded slides is not good as slideshare has problem converting the used backgorund)
Firefox OS - A (web) developers dream - muxCamp 2014Carsten Sandtner
Firefox OS is a fully open source, HTML5-based mobile operating system developed by Mozilla. Apps for Firefox OS are written as regular web apps using HTML5, CSS, and JavaScript. The OS provides web APIs to access device hardware and services. App development does not require an SDK - apps are just web apps that can be hosted, privileged with permissions, or certified for distribution. The Gecko rendering engine displays HTML5-based apps and the Gaia UI provides access to the underlying OS. Developers can test apps using simulators, remote debugging tools, and UI component libraries. Apps can be distributed by hosting them online or submitting them to the Firefox OS marketplace.
This document discusses modern web UI components and frameworks. It introduces templates, custom elements, and HTML imports that allow developers to build reusable components. It then summarizes the Brick library from Mozilla, which includes common UI elements like calendars, sliders, and tabs. Developers can also build their own custom elements. The document encourages using these techniques and libraries to rapidly develop cross-browser web apps.
Traceur - Javascript.next - Now! RheinmainJS April 14thCarsten Sandtner
The document discusses Traceur, a compiler that allows developers to write JavaScript code using ECMAScript 6 features while targeting browsers that do not yet support these features natively. It provides an overview of Traceur's capabilities, how to use it through command line, Grunt, or Gulp builds, and the benefits of using a compiler like Traceur to write ES6 code now while targeting older browsers through compilation to ES5. However, it also notes that Traceur does not support all ES6 features and requires a runtime, so developers must carefully consider if their projects truly need ES6 features.
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC
Ellisha Heppner, Grant Management Lead, presented an update on APNIC Foundation to the PNG DNS Forum held from 6 to 10 May, 2024 in Port Moresby, Papua New Guinea.
Ready to Unlock the Power of Blockchain!Toptal Tech
Imagine a world where data flows freely, yet remains secure. A world where trust is built into the fabric of every transaction. This is the promise of blockchain, a revolutionary technology poised to reshape our digital landscape.
Toptal Tech is at the forefront of this innovation, connecting you with the brightest minds in blockchain development. Together, we can unlock the potential of this transformative technology, building a future of transparency, security, and endless possibilities.
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfFlorence Consulting
Quattordicesimo Meetup di Milano, tenutosi a Milano il 23 Maggio 2024 dalle ore 17:00 alle ore 18:30 in presenza e da remoto.
Abbiamo parlato di come Axpo Italia S.p.A. ha ridotto il technical debt migrando le proprie APIs da Mule 3.9 a Mule 4.4 passando anche da on-premises a CloudHub 1.0.
Instagram has become one of the most popular social media platforms, allowing people to share photos, videos, and stories with their followers. Sometimes, though, you might want to view someone's story without them knowing.
Understanding User Behavior with Google Analytics.pdfSEO Article Boost
Unlocking the full potential of Google Analytics is crucial for understanding and optimizing your website’s performance. This guide dives deep into the essential aspects of Google Analytics, from analyzing traffic sources to understanding user demographics and tracking user engagement.
Traffic Sources Analysis:
Discover where your website traffic originates. By examining the Acquisition section, you can identify whether visitors come from organic search, paid campaigns, direct visits, social media, or referral links. This knowledge helps in refining marketing strategies and optimizing resource allocation.
User Demographics Insights:
Gain a comprehensive view of your audience by exploring demographic data in the Audience section. Understand age, gender, and interests to tailor your marketing strategies effectively. Leverage this information to create personalized content and improve user engagement and conversion rates.
Tracking User Engagement:
Learn how to measure user interaction with your site through key metrics like bounce rate, average session duration, and pages per session. Enhance user experience by analyzing engagement metrics and implementing strategies to keep visitors engaged.
Conversion Rate Optimization:
Understand the importance of conversion rates and how to track them using Google Analytics. Set up Goals, analyze conversion funnels, segment your audience, and employ A/B testing to optimize your website for higher conversions. Utilize ecommerce tracking and multi-channel funnels for a detailed view of your sales performance and marketing channel contributions.
Custom Reports and Dashboards:
Create custom reports and dashboards to visualize and interpret data relevant to your business goals. Use advanced filters, segments, and visualization options to gain deeper insights. Incorporate custom dimensions and metrics for tailored data analysis. Integrate external data sources to enrich your analytics and make well-informed decisions.
This guide is designed to help you harness the power of Google Analytics for making data-driven decisions that enhance website performance and achieve your digital marketing objectives. Whether you are looking to improve SEO, refine your social media strategy, or boost conversion rates, understanding and utilizing Google Analytics is essential for your success.
6. BROWSER WARS
USER AGENTS
Mosaic/0.9 !// grandmother of all!
Mozilla/2.02 [fr] (WinNT; I) !// Netscapes first!
Mozilla/4.0 (compatible; MSIE 4.0; Windows 98) !// IE4!
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like
Gecko)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/58.0.3029.110 Safari/537.36
26. WEBAPI IS A TERM USED TO REFER TO A SUITE OF
DEVICE COMPATIBILITY AND ACCESS APIS THAT
ALLOW WEB APPS AND CONTENT TO ACCESS
DEVICE HARDWARE […], AS WELL AS ACCESS TO
DATA STORED ON THE DEVICE
MDN
HTTPS://DEVELOPER.MOZILLA.ORG/EN-US/DOCS/WEBAPI
48. DEVICE ORIENTATION &
DEVICE MOTION
HTTPS://DEVELOPER.MOZILLA.ORG/EN-US/DOCS/WEB/API/DETECTING_DEVICE_ORIENTATION
By Svjo (Own work) [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
49. DEVICE ORIENTATION AND MOTION
DEVICE ORIENTATION
window.addEventListener("deviceorientation", handleOrientation, true);
function handleOrientation(event) {
var absolute = event.absolute;
var alpha = event.alpha;
var beta = event.beta;
var gamma = event.gamma;
!// Do stuff with the new orientation data
}
50. DEVICE ORIENTATION AND MOTION
DEVICE MOTION
window.addEventListener("devicemotion", handleMotion, true);
function handleMotion(event) {
console.log(event.acceleration.x + ' m/s2');
!// more stuff
}
53. WEB AUDIO API
TYPICAL WORKFLOW
// Create audio context
// Inside the context, create sources — such as
<audio>, oscillator, stream
// Create effects nodes, such as reverb, biquad filter,
panner, compressor
// Choose final destination of audio, for example your
system speakers
// Connect the sources up to the effects, and the
effects to the destination.
54.
55. WEB AUDIO
GREAT RESOURCES
// Talk:
// https://fronteers.nl/congres/2015/sessions/hands-
on-web-audio-soledad-penades
// Links:
// https://developer.mozilla.org/en-US/docs/Web/
API/Web_Audio_API
// https://github.com/notthetup/awesome-webaudio
// Awesome use case:
// https://learningmusic.ableton.com/index.html
77. WEB SPEECH
SPEECH SYNTHESIS
var msg = new SpeechSynthesisUtterance('Hi there.');
msg.onstart = function () { };
msg.onend = function () { };
window.speechSynthesis.speak(msg);
78. WEB SPEECH
SPEECH RECOGNITION
var recognition = new webkitSpeechRecognition();
recognition.continuous = true; !// keep processing input until stopped
recognition.interimResults = true; !// show interim results
recognition.lang = 'de-DE'; !// specify the language
recognition.onstart = function () { };
recognition.onerror = function (event) { };
recognition.onend = function () { };
recognition.onresult = function (event) {
var interimTranscript = '';
for (var i = event.resultIndex; i < event.results.length; !++i) {
if (event.results[i].isFinal) {
finalTranscript += event.results[i][0].transcript;
} else {
interimTranscript += event.results[i][0].transcript;
}
}
};
recognition.onspeechend = function () { }
81. SHAPE DETECTION
FACE DETECTION
let faceDetector = new FaceDetector({ fastMode: true, maxDetectedFaces: 1 });
!// Assuming |theImage| is e.g. a <img> content, or a Blob.
faceDetector.detect(theImage)
.then(detectedFaces !=> {
for (const face of detectedFaces) {
console.log('Face @ (${face.boundingBox.x}, ${face.boundingBox.y}),'
+ ' size ${face.boundingBox.width}x${face.boundingBox.height}');
}
}).catch(() !=> {
console.error("Face Detection failed, boo.");
})
82. SHAPE DETECTION
TEXT DETECTION
let textDetector = new TextDetector();
!// Assuming |theImage| is e.g. a <img> content, or a Blob.
textDetector.detect(theImage)
.then(detectedTextBlocks !=> {
for (const textBlock of detectedTextBlocks) {
console.log(
'text @ (${textBlock.boundingBox.x}, ${textBlock.boundingBox.y}), ' +
'size ${textBlock.boundingBox.width}x$
{textBlock.boundingBox.height}');
}
}).catch(() !=> {
console.error("Text Detection failed, boo.");
})
83. SHAPE DETECTION
BARCODE DETECTION
let barcodeDetector = new BarcodeDetector();
!// Assuming |theImage| is e.g. a <img> content, or a Blob.
barcodeDetector.detect(theImage)
.then(detectedCodes !=> {
for (const barcode of detectedCodes) {
console.log(' Barcode ${barcode.rawValue}' +
' @ (${barcode.boundingBox.x}, ${barcode.boundingBox.y}) with
size' +
' ${barcode.boundingBox.width}x${barcode.boundingBox.height}');
}
}).catch(() !=> {
console.error("Barcode Detection failed, boo.");
})