The document outlines Firefox OS and open web apps, including an agenda for a workshop on building apps for Firefox OS. It provides overviews of Firefox OS, developing open web apps using HTML5, CSS and JavaScript, app manifest files, and publishing/installing apps. It also describes various web APIs available to Firefox OS apps, including battery status, notifications, screen orientation, vibration, networking information, proximity sensing, ambient light detection, device storage, contacts, and activities. Future planned APIs are listed as well.
This document discusses empowering the mobile web. It begins by defining the mobile web as the web experienced on mobile devices, with considerations for usability and responsiveness. It then addresses concerns about the web versus native apps, and outlines Mozilla's solutions including their app ecosystem with installable apps, the Firefox OS mobile platform, and APIs that allow web apps to access device capabilities. The document also covers developer experience tools and techniques to improve web app performance.
Flask is a microframework for Python that provides common tools and patterns for building web applications but does not enforce any specific project structure. It includes the Werkzeug WSGI toolkit and Jinja templating engine. Flask emphasizes simplicity and flexibility by providing basic application object and request context while allowing developers to choose extensions and build application-specific solutions. It is well-suited for Google App Engine by providing a Flask application object that can be deployed to GAE and extensions that integrate authentication and maps.
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.
Lightning talk I did at the second #JSMeetup in Paris. #Parisjs It kickstarted the project http://github.com/sylvinus/node-crawler
This document discusses using Docker to deploy Python applications. It begins with an overview of Docker and containers versus virtual machines. It then defines a sample Flask Python application and shows how to build a Docker image for it. The document demonstrates running the Docker image locally and deploying it on AWS and GCE. It also discusses the Docker index for sharing images and linking containers.
iOS Automation rapidly changed due to the evolution of Apple automation frameworks and Calabash community support. One year ago, we parallelised our iOS testing with multiple desktops – a large improvement in performance. Here is an account of the subsequent changes, including the removal of multiple desktops and the adoption of Apple’s new XCTest framework. The automation community (Appium, Calabash etc.) faced a new challenge: how could we create iOS Automation Infrastructure with the new XCTest Framework? I adopted Facebook solution (FBSimCtl and WebAgentDriver) into the multi-simulators approach. In this talk, I will discuss the full evolution path to Facebash Approach based on multi-simulators, Calabash server and Facebook Web Driver Agent.
What is Symfony *really*? It's a collection of *35* independent libraries, and Drupal uses less than *half* of them! That means that there's a *ton* of other good stuff that you can bring into your project to solve common problems... as long as you know how, and what those components do! In this talk, we'll have some fun: taking a tour of the Symfony components, how to install them (into Drupal, or anywhere) and how to use some of my *favorite*, lesser-known components. By the end, you'll have a better appreciation of what Symfony *really* is, and some new tools to use immediately.
A talk I gave internally at Lokku in January 2011. Covers PAUSE, CPAN, Git, Github, Dist::Zilla and CPAN Testers.
Tornado is a Python web framework that focuses on speed and handling large amounts of simultaneous traffic. It allows starting multiple sub-domains on different ports with auto-reloading capabilities. Tornado handles requests by routing them to different handlers that can render templates and return responses. It also supports asynchronous delayed responses using asynchronous HTTP clients.
The document discusses various approaches for dealing with blocking code within the asyncio event loop: 1. Check if a compatible asyncio library exists 2. Check if a REST API is available to avoid blocking 3. Check if there is a simple text or binary protocol that can be implemented without blocking 4. Check if there is an existing synchronous Python client that can be adapted 5. Use a thread pool executor to run blocking code in separate threads to avoid blocking the event loop For filesystem and CPU intensive operations, the document recommends using a thread pool executor due to OS limitations on asynchronous filesystem access. The aiofiles library provides an asynchronous filesystem wrapper that uses threads in the background.
Socket.io is a Node.js module for real-time data exchange between a server and client. It allows for real-time communication using various transport methods like WebSocket. Socket.io avoids unnecessary requests, unlike traditional polling. It works across browsers and platforms. To use Socket.io, install it on the server, code event handling and signaling on both the server and client-side JavaScript. When an event occurs, like logging in, data can be emitted and received in real-time.
This document summarizes Nicholas C. Zakas' presentation on high performance JavaScript. It discusses how the browser UI thread handles both UI updates and JavaScript execution sequentially. Long running JavaScript can cause unresponsive UIs. Techniques to ensure responsive UIs include limiting JavaScript execution time, using timers or web workers to break up processing, reducing repaints and reflows, and grouping style changes. Hardware acceleration and optimizing JavaScript engines have improved performance but responsive UIs still require discipline.
Now that you have the MetaCPAN VM installed, let's take a look at what you need to know so that you can be productive.
The document discusses using Plack::App::Proxy middleware to create a proxy for the CPAN search site that adds syntax highlighting and formatting. It demonstrates how to set up the proxy with a simple PSGI application and modify the POD documentation and module source code views through content filtering. Known issues with the approach are listed, along with potential other uses of Plack proxies beyond modifying CPAN.
asyncio - is young library for asynchronous network programming. Lack of information on proper use and writing code in asyncio as well as production war stories slows down asyncio adoption. In this talk I'll cover my experience with asyncio in production, best practices for writing reliable and testable asynchronous code as well as bunch of asyncio tips and tricks. We will discuss how run asyncio application in standalone mode, execute blocking code in event loop and moreover how embed asyncio in your synchronous application.
Microservices are a huge trend, and microframeworks are perfect for them: put together just a few files, write some code, and your done! But Symfony is a big framework, right? Wrong! Symfony can be as small as a single file! In this talk, we'll learn how to use Symfony as a micro-framework for your next project. Your app will stay small and clear, but without needing to give up the features or third-party bundles that you love. And if the project grows, it can evolve naturally into a full Symfony project. So yes, Symfony can also be a microframework. Tell the world!
The document discusses several new HTML5 APIs including the classList API for manipulating element classes, custom data attributes, video and audio APIs, and the canvas API. It provides examples of how to use each API, listing methods and properties for the video API and describing how to draw shapes, images and text to the canvas. It also lists many of the new events available for video elements.
An introduction to the HTML5 canvas element and what you can do with it. The key is using it all together in the demo at the end
The document discusses building apps for Firefox OS using open web technologies like HTML5, CSS, and JavaScript. It explains that apps can be developed like regular web apps and then packaged for installation on Firefox OS devices. Developers can access device APIs for features like contacts, notifications, and sensors. The document outlines the steps to take which include developing the app, creating a manifest file, and publishing/installing the app. It provides details on various web APIs and permissions available to Firefox OS apps.
The document discusses calculating water footprints and promoting behavior change and awareness around water usage. It touches on helping others understand water footprints, the importance of hydration, reducing water waste, and connecting data on water usage to calls for action. The goal appears to be increasing knowledge about sustainable water use, especially in developing countries, through data collection, partnerships, and connecting people across locations.
HTML5 provides many new features for building rich and engaging web applications, including improved multimedia, graphics, and offline capabilities. It defines new semantic elements like <header>, <nav>, <article>, and <aside> that help structure and outline pages. HTML5 also introduces form input types for color picking, date/time selection, email, URL and more. Additional APIs allow creation of offline web applications using the Cache Manifest, storing persistent data locally with Web Storage, and manipulating browser history. HTML5 brings powerful new capabilities for embedding video, using <canvas> for drawing, and 3D graphics with WebGL.
This document discusses HTML5 and related web technologies. It introduces HTML5 semantics like header, nav, article, section, aside, and figure. It demonstrates using these elements to mark up a simple web page. It also covers HTML5 features like video, canvas, and SVG for rich media, as well as JavaScript APIs and libraries for manipulating these elements. Finally, it addresses questions around browser support for HTML5 and ensuring websites will work across browsers.
WebRTC allows for real-time communications capabilities directly in the browser. Mozilla is working to integrate WebRTC into Firefox and Firefox OS to enable features like video chat. Some current focuses include fixing bugs, improving audio recording support, and bringing WebRTC to the initial release of Firefox OS later this year after the v1.1 version. Firefox OS uses open web technologies and various device APIs to build customizable apps and interfaces for the mobile operating system.
Mozilla is a non-profit dedicated to promoting open web standards. Firefox OS is Mozilla's open source operating system for mobile devices that uses HTML5, CSS and JavaScript to build apps. The document discusses Firefox OS's use of web technologies and APIs to access device capabilities like contacts, notifications, vibration and sensors while maintaining security and privacy. It provides code examples for common APIs and outlines Mozilla's vision of enabling developers to use the web to create full-featured mobile apps and games.
The document discusses various HTML5 APIs and their capabilities including web storage, geolocation, canvas, video, and web sockets. It provides code examples for how to use sessionStorage, localStorage, get geolocation data, draw on canvases, and open web sockets. The document is an introduction to exploring HTML5 capabilities on mobile and how no area has been untouched by new possibilities through these emerging APIs.
This document discusses the five stages of development as they relate to the development of Firefox Developer Tools: denial, anger, bargaining, depression, and acceptance. It describes how the developer tools team went through these stages before deciding to accept the situation and make improvements. They did this by blogging, gathering community feedback, and shipping new features. This led to a 6% increase in the number of developers using Firefox Developer Tools as their primary toolset.
This document provides an overview of Mozilla Web Apps including: - Web Apps can run on platforms like Windows, Mac, Android and more. - They are built with open web technologies like HTML5, CSS, and JavaScript. - A manifest file is needed to define the app and install it using the Mozilla Labs App Runtime extension. - Web Apps can use features like offline storage, IndexedDB, and fullscreen mode.
Firefox OS uses HTML5, CSS, JavaScript and Web APIs to build apps that can be installed on Firefox OS devices. It has different security levels for web content, installed web apps, and certified privileged web apps. The document outlines the Web APIs available to Firefox OS apps, including regular APIs for vibration, ambient light sensors, and page visibility as well as privileged APIs for contacts, storage and sockets. It provides links to the Firefox OS simulator and a boilerplate app template to get started developing for Firefox OS.
This document provides an overview of HTML5 features including accessibility, video, canvas, history API, fullscreen API, camera API, pointer lock API, and polyfills. It emphasizes the open nature of the web and encourages trying new things with HTML5.
This document provides a history of the development of the web from 1991 to the present. It discusses technologies like HTML, HTTP, XMLHttpRequest, AJAX, and mobile web development. It then introduces progressive web apps, which are web applications that are reliable, fast and engaging like native apps through the use of technologies like service workers, web app manifests and push notifications. Examples are given of companies like Flipkart that have seen success adopting progressive web apps.
The document discusses various Google projects focused on the future including Google Now on Tap, Google Photos, virtual reality initiatives like Cardboard and Expeditions, self-driving cars, Project Loon for internet access, Google Lens, Project Soli, and advice to talk to everyone, listen, and show respect. It also mentions the author Robert Nyman working at Google Stockholm and projects like TEKLA, Jacquard, and Spotlight Stories.
Presentation about the Future of Progressive Web Apps at the Google for Indonesia event in Jakarta, August 2016.
This presentation will give you a brief background to JavaScript, what it is and where it comes from. Then it will walk you through general pitfalls, best practices and more advanced topics such as object-orientation, scope and closures.
This document discusses Firefox OS and its use of open web technologies like HTML5, CSS and JavaScript to build mobile apps. It describes how Firefox OS uses a manifest file and web APIs to access device capabilities. The document outlines the security levels for web content and apps as well as both regular and privileged web APIs for features like notifications, vibration and payment. It also discusses future plans for additional Firefox OS APIs.
Firefox OS uses open web technologies like HTML5, CSS and JavaScript to build apps that run on mobile devices. It includes various web APIs that allow access to device capabilities while maintaining a multi-level security model. The document provides examples of APIs for accessing features like battery status, vibration, screen orientation and more. It also outlines how packaged apps can integrate with device functions through web activities and privileged APIs.
Firefox OS uses HTML5, CSS, and JavaScript to build apps that run on mobile devices. Developers can create open web apps using these technologies along with app manifest files and by taking advantage of device APIs for features like notifications, vibration, and battery status. The OS supports both packaged and hosted apps and uses a permission system to control access to privileged APIs for functions like contacts, messaging, and telephony. Future plans include additional APIs for areas such as peer-to-peer connectivity, NFC, and WebRTC.
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.
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.
Firefox OS is Mozilla's open source mobile operating system. It uses HTML5, CSS, and JavaScript to build apps that have access to device APIs for features like notifications, vibration, battery status, and geolocation. Apps are divided into regular web apps, installed web apps with more access, and certified web apps that are critical to device functions. The document outlines several device APIs available to Firefox OS apps and their usage, as well as pre-installed system apps and how to get started developing for the platform.
Firefox OS allows developers to build apps and customize the user interface using HTML5, CSS, JavaScript, and Web APIs. Apps are developed as regular web apps, with the addition of an app manifest file. Apps can be published to the Firefox Marketplace or installed directly. The Firefox OS platform provides both regular web APIs as well as more privileged APIs that require permissions. Future plans include additional APIs for features like spell checking, peer-to-peer connectivity, and WebRTC. Developers can get help through IRC channels or mailing lists and try things out using emulators, boilerplate apps, and the Firefox OS developer preview.
This document discusses Firefox OS and open web apps. It provides an overview of Firefox OS as a mobile platform based on open web technologies. It describes how apps are built using HTML, CSS and JavaScript instead of native languages. It outlines several web APIs available to Firefox OS apps for accessing device capabilities like vibration, notifications, sensors and storage. It also discusses app security and privileges as well as features for packaging and installing apps. The document provides resources for developing Firefox OS apps including links to documentation, tools, components and forums for getting help.
This document discusses the APIs available in Firefox OS for building apps and customizing the user interface. It describes security levels for apps, regular APIs for things like battery status, notifications, and screen orientation, and privileged APIs for accessing contacts, storage, and activities. Future planned APIs are also listed, including WebRTC, WebUSB, and calendar access. The document provides code examples for using many of the APIs and information on getting help or trying out Firefox OS development.
Firefox OS is an open source operating system built using HTML5 that aims to fulfill the promises made by HTML5 as a platform. It gives developers full access to device hardware through Web APIs while allowing app distribution through the web. The OS is already available on low-cost devices in certain markets. It uses the Gecko rendering engine and a simple architecture based on Linux and Android. This allows it to provide predictable HTML5 support and security for web apps. Developers can build apps using standard web technologies and distribute them via the Firefox OS marketplace or by installing them directly from the web.
Firefox OS is an open source mobile operating system developed by Mozilla. It uses open web technologies like HTML5, CSS and JavaScript to build apps, allowing developers to build once and deploy apps across devices without needing to learn different native platforms. The OS consists of Gecko for rendering web content, Gaia for the user interface, Gonk as the Linux-based kernel, and various web APIs for functionality like telephony, SMS, contacts and more. Developers can publish apps to the Mozilla Marketplace or install/host them directly on devices.
The document discusses Firefox OS and its open web platform. It describes the key layers and components of Firefox OS including Gonk (infrastructure), Gecko (web engine), and Gaia (applications). It provides an overview of various web APIs available to Firefox OS applications for accessing device capabilities like notifications, vibration, battery status, and contacts. It also covers app development topics such as permissions, packaging versus hosting apps, and installing apps.
This document provides an overview of Firefox OS, including: - Firefox OS is an open source mobile operating system that uses HTML5, CSS3, and JavaScript to build apps. - It has a number of web APIs for accessing device capabilities like the ambient light sensor, battery status, contacts, and more. - Apps can be hosted on the web or packaged; packaged apps have access to more privileged web APIs and web activities. - Web activities allow apps to share data and functionality through activities like making phone calls, picking images, or creating contacts. - Firefox OS has been released in several countries and aims to provide an affordable platform for emerging markets using low-end hardware.
The platform you deserve, a Firefox OS presentation I did at the Firefox OS workshop we did in Budapest, Hungary.