The document provides an overview of building great mobile web apps, including considerations for low-powered devices without full browsers, the importance of a single web, differences between smartphone browsers, guidelines for responsive design, offline capabilities using cache manifests and web storage, geolocation, device orientation, and new capabilities like camera access. It encourages reading W3C recommendations and Opera developer articles for more information on these mobile web development topics.
WebRTC - On Standards, Identity and Telco StrategyJose de Castro
WebRTC is dramatically changing the face of communications by making real-time voice and video just another feature available on websites and mobile applications.
This presents a tremendous opportunity for telcos... not by monetizing WebRTC directly but by *using* WebRTC to deliver new compelling products to their subscribers and enterprise customers.
This presentation offers a brief overview of WebRTC, the various identity models and some suggestions on go-to-market strategy.
WebRTC gives us a way to do real-time, peer-to-peer communication on the web. In this talk, we'll go over the current state of WebRTC (both the awesome parts and the parts which need to be improved) as well as what could come in the future. Mostly though, we'll take a look at how to combine WebRTC with other web technologies to create great experiences on the front-end for real-time, p2p web apps.
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...Dean Bubley
Tutorial on WebRTC technologies, standards, use-cases and business models. First given at the ICIN conference in Venice, October 2013.
By Dean Bubley, analyst at Disruptive Analysis, and Tim Panton, WebRTC developer at Westhawk Ltd
WebRTC - On Standards, Identity and Telco StrategyJose de Castro
WebRTC is dramatically changing the face of communications by making real-time voice and video just another feature available on websites and mobile applications.
This presents a tremendous opportunity for telcos... not by monetizing WebRTC directly but by *using* WebRTC to deliver new compelling products to their subscribers and enterprise customers.
This presentation offers a brief overview of WebRTC, the various identity models and some suggestions on go-to-market strategy.
WebRTC gives us a way to do real-time, peer-to-peer communication on the web. In this talk, we'll go over the current state of WebRTC (both the awesome parts and the parts which need to be improved) as well as what could come in the future. Mostly though, we'll take a look at how to combine WebRTC with other web technologies to create great experiences on the front-end for real-time, p2p web apps.
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...Dean Bubley
Tutorial on WebRTC technologies, standards, use-cases and business models. First given at the ICIN conference in Venice, October 2013.
By Dean Bubley, analyst at Disruptive Analysis, and Tim Panton, WebRTC developer at Westhawk Ltd
WebRTC is an exciting new technology that lets you easily add realtime communication capabilities to your web and native apps. Learn more about WebRTC in this presentation from the real-life practitioners at Gruveo (www.gruveo.com).
WebRTC is a plug-in free real time communication between the web browsers for facilitating effective means of audio/video media communication in a peer-to-peer fashion through by means of various technologies like Web Sockets,HTML5,JavaScript and protocols like SRTP ,SCTP, NAT and ICE framework.
Update on WebRTC standard and Implementation Status. Presented at Sydney's webrtc meet-up on may 25 2017. Find the companion blog post at webrtcbydralex.com
A short intro and update on WebRTC presented at WebRTC Boston 6 covering:
- some recognizable WebRTC use case examples
- review of all the standardized API's that come with WebRTC
- Intro to some of the servers that may be needed with WebRTC
- what's next for WebRTC including Machine learning, lower-level API's, new options for customization, new codecs, and a new transport
See the presentation at https://youtu.be/ptnceQZ4fPg
Thanks to WebRTC Boston 6 sponsors:
Google
YouTube
callstats.io - WebRTC Analytics https://callstats.io
Kranky Geek - RTC Events and Videos https://krankygeek.com
My talk on webRTC from June 2013
Demo application using XMPP for signalling
open source webRTC using websockets is here: implenentationhttps://github.com/pizuricv/webRTC-over-websockets
Presentation at WebRTC Summit / IoT conference http://webrtcsummit.net/ .
Focus on the peer-to-peer nature of WebRTC and what applications may get built using that new paradigm on the Web.
WebRTC is an exciting new technology that lets you easily add realtime communication capabilities to your web and native apps. Learn more about WebRTC in this presentation from the real-life practitioners at Gruveo (www.gruveo.com).
WebRTC is a plug-in free real time communication between the web browsers for facilitating effective means of audio/video media communication in a peer-to-peer fashion through by means of various technologies like Web Sockets,HTML5,JavaScript and protocols like SRTP ,SCTP, NAT and ICE framework.
Update on WebRTC standard and Implementation Status. Presented at Sydney's webrtc meet-up on may 25 2017. Find the companion blog post at webrtcbydralex.com
A short intro and update on WebRTC presented at WebRTC Boston 6 covering:
- some recognizable WebRTC use case examples
- review of all the standardized API's that come with WebRTC
- Intro to some of the servers that may be needed with WebRTC
- what's next for WebRTC including Machine learning, lower-level API's, new options for customization, new codecs, and a new transport
See the presentation at https://youtu.be/ptnceQZ4fPg
Thanks to WebRTC Boston 6 sponsors:
Google
YouTube
callstats.io - WebRTC Analytics https://callstats.io
Kranky Geek - RTC Events and Videos https://krankygeek.com
My talk on webRTC from June 2013
Demo application using XMPP for signalling
open source webRTC using websockets is here: implenentationhttps://github.com/pizuricv/webRTC-over-websockets
Presentation at WebRTC Summit / IoT conference http://webrtcsummit.net/ .
Focus on the peer-to-peer nature of WebRTC and what applications may get built using that new paradigm on the Web.
Project for FN 358 -- students were expected to create a facility that specialized in certain diets. Our project catered to low-income pre-diabetic/diabetic children.
Au coeur des applications Web riches, de HTML5 ou des applications Web mobiles, JavaScript est désormais incontournable. Sa communauté très dynamique a contribué à créer un écosystème complet pour répondre aux problématiques courantes de test, qualité du code ou intégration continue comme l'a fait avant elle la communauté Java il y a pas loin de dix ans... Parmi les projets les plus observés du moment, c'est curieusement côté serveur que JavaScript fait le plus parler de lui avec Node.js, un environnement de développement Web qui cultive sa différence.
Téléchargement du Coding Kata :
Complex applications need a persistent database to store, search and join data: till now a dedicated server was needed to do this, and no offline usage of the app was possible. With the introduction of HTML5 and the concept of Web Databases, we don’t need an external server anymore: everything is stored within the user browser and thus the web app can be used offline as well as online.
A general overview of HTML5, CSS 3, CSS Meedia Queries, mobile, DAP.
You might find the organically-grown hand-selected list-of-links-o-rama™ at http://my.opera.com/ODIN/blog/over-the-air-2010-bruce-lawsons-web-developments-2-0-talk to be useful.
One of the main advantages of web applications is their ease of deployment. The same can't be said about desktop applications. However, desktop applications work without a network connection. While this used to be a deal breaker for web applications, recent developments in HTML 5 and browser plugins such as Flash and Silverlight allow developers to create web applications that work both online and offline. In this session, Matt will demonstrate how to create offline web applications in HTML 5, Silverlight and Air. Also, other factors for offline applications, such as client-side data storage, will be examined in detail.
This is what I created in 2006 - 2007. Inspired by Ruby on Rails, I wanted to have something similar for Java, J2EE that would accelerate building web apps. I have built few projects on top it and those worked pretty well.
We don't this. Java also has many solid options now like Play, Spring and more.
Building Isomorphic Apps (JSConf.Asia 2014)Spike Brehm
Over the past year or so, we’ve seen the emergence of a new way of building JavaScript web apps that share code between the web browser and the server, using Node.js — a technique that has come to be known as "isomorphic JavaScript.” There are a variety of use cases for isomorphic JavaScript; some apps render HTML on both the server and the client, some apps share just a few small bits of application logic, while others share the entire application runtime between client and server to provide advanced offline and realtime features. Why go isomorphic? The main benefits are performance, maintainability, reusability, and SEO.
This talk shares examples of isomorphic JavaScript apps running in the wild, explore the exploding ecosystem of asset building tools, such as Browserify, Webpack, and Gulp, that allow developers to build their own isomorphic JavaScript apps with open-source libraries, demonstrate how to build an isomorphic JavaScript module from scratch, and explore how libraries like React and Flux can be used to build a single-page app that renders on the server.
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!
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
Similar to Building great mobile apps: Somethings you might want to know (20)
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
Building great mobile apps: Somethings you might want to know
1. Building great mobile web
apps: Some things you
might want to know
By Shwetank Dixit, Opera Software
2. about me
Web Evangelist, Opera Developer
Relations Team
Member, W3C Mobile Web for Social
Development Group
Member, W3C Web Education
Community Group
twitter.com/shwetank
email: shwetankd@opera.com
4. We’re (mainly) going to
talk about slick web apps
on full featured mobile
browsers
5. But first spare a thought
for the low powered
devices which can’t run a
full featured browser
6. But first spare a thought
for the low powered
devices which can’t run a
full featured browser
IT CONSTITUTES A MAJORITY OF THE MOBILE WEB
(AS OF RIGHT NOW AND THE NEAR TERM)
22. CACHE MANIFEST
#this is a comment.
style.css
script.js
index.htm
NETWORK:
dynamicpage.php
The NETWORK: section header bypasses the cache
23. CACHE MANIFEST
#this is a comment.
style.css
script.js
index.htm
FALLBACK:
original.jpg backup.jpg
If a file can’t load, then the FALLBACK: section header
specifies which files to load as a backup in their place
27. The problem with cookies
Unreliable
No programmatic APIs to manipulate it
Not structured
Most of important of all ...
Small file size, so very limited data can be
stored.
29. localStorage.setItem(yourkey,
yourvalue); // Store the value
var item = localStorage.getItem
(yourkey); // Retrieve the value and assign
it to a variable
Example of using Web Storage to store and
retrieve values in the browser’s local storage
With this, even if you close the browser and re-open the page again, the values should
still load properly.
30. You can store images (and
more) with localStorage
....BUT DON”T.
36. GET NEW VALUE IF ITS BEEN CHANGED
IN PARALLEL TAB
�
�
�
37. Gotcha
Using a free hosting service - Don’t use local
storage with it if they store users accounts
on different directories.
e.g, freehosting.com/user1
and freehosting.com/user2
38. Other storage
options
- IndexedDB (Limited browser support currently)
- WebSQL (Standard in impasse. Limited desktop browser
support but nice mobile browser support.)
39. Further reading
Run your web apps offline with HTML5 Application Cache: http://dev.opera.com/
articles/view/offline-applications-html5-appcache/
Web Storage: easier, more powerful client-side data storage: http://dev.opera.com/
articles/view/web-storage/
Taking your web apps offline: A tale of Web Storage, Application Cache and WebSQL:
http://dev.opera.com/articles/view/taking-your-web-apps-offline-web-storage-
appcache-websql/
53. Think of the possibilities
Augmented reality
Geofencing
location aware advertising
...more
54. //Check if browser supports W3C Geolocation API
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition
(successFunction, errorFunction);
} else {
alert('Geolocation not supported.');
}
Sample code for running geolocation, if
available
55. function successFunction(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
alert('Your latitude is :'+lat+' and longitude is '+long);
}
Determining the position
56. function errorFunction(position){
if (pos.PositionError == 1){
alert('It seems you have decided not to share your
location');
}
if (pos.PositionError == 2){
alert('The location could not be determined by the
browser. Try to reload the page to try again');
}
Handling errors
SEE FULL LIST OF ERRORS ON THE SPEC
58. Accuracy
Scarily accurate in some places,
amusingly inaccurate in others.
DO NOT rely on it.
Provide fallbacks, and ways to enter location
info manually (like zipcode)
60. Further reading
How to use the W3C Geolocation API: http://dev.opera.com/articles/view/how-to-use-
the-w3c-geolocation-api/
Use the Geolocation API in Webapps: http://goo.gl/EBVYt
66. Check for access
if (navigator.getUserMedia){
navigator.getUserMedia('video', v_success,
v_error);
}
else{
not_supported();
}
67. Check for access
var video_element = document.querySelector('video');
...
...
function v_success(stream){
video_element.src = stream;
}
68. Use camera + <video> +
<canvas> for new tricks
var button = document.querySelector('#button');
button.addEventListener('click',snapshot, false);
...
...
function snapshot(){
var c = document.querySelector('canvas');
var ctx = c.getContext('2d');
var cw = c.clientWidth;
var ch = c.clientHeight;
ctx.drawImage(video_element, 0, 0, cw, ch);
}
69. Keep in mind
WebRTC spec (containing getUserMedia) is
still in flux. Not a mature standard yet.
70. Download the Opera
Mobile labs build with
device orientation and
getUserMedia support
Download from here: http://my.opera.com/core/blog/2011/03/23/webcam-
orientation-preview