With the fame that Flutter has garnered over the years, it has become the top choice of business owners for cross-platform mobile app development. With the enhancement of features like push notifications, it has further made its place firmly in the world of app development. In this blog, I will help you understand firebase cloud messaging by showing the procedure of adding Push Notification in a Flutter app for android with the help of a sample project. Let’s discuss the steps that need to be executed for this phenomenal integration.
An online training course run by the FIWARE Foundation in conjunction with the i4Trust project. The core part of this virtual training camp (21-24 June 2021) covered all the necessary skills to develop smart solutions powered by FIWARE. It introduces the basis of Digital Twin programming using linked data concepts - JSON-LD and NGSI-LD and combines these with common smart data models for the sharing and augmentation of context data.
In addition, it covers the supplementary FIWARE technologies used to implement the common functions typically required when architecting a complete smart solution: Identity and Access Management (IAM) functions to secure access to digital twin data and functions enabling the interface with IoT and 3rd systems, or the connection with different tools for processing and monitoring current and historical big data.
This 12-hour online training course can be used to obtain a good understanding of FIWARE and NGSI Interfaces and form the basis of studying for the FIWARE expert certification.
Extending this core part, the virtual training camp adds introductory and deep-dive sessions on how FIWARE and iSHARE technologies, brought together under the umbrella of the i4Trust initiative, can be combined to provide the means for the creation of data spaces in which multiple organizations can exchange digital twin data in a trusted and efficient manner, collaborating in the creation of innovative services based on data sharing. In addition, SMEs and Digital Innovation Hubs (DIHs) that go through this complete training and are located in countries eligible under Horizon 2020 will be equipped with the necessary know-how to apply to the recently launched i4Trust Open Call.
This presentation covers deploy Azure DevOps projects, repositories, pipelines, variable groups, etc. using the newly released Azure DevOps Terraform provider.
A recording of this presentation is available on my YouTube channel here: https://www.youtube.com/c/adinermie
A blog article about this topic is also available here: https://adinermie.com/deploying-azure-devops-ado-using-terraform/
In this session, we will look at what is IAC, what problem it solves, and why we should test it. We will take a look at a tool called Terratest which helps us do that. We will learn how it works and see a hands-on demo.
An online training course run by the FIWARE Foundation in conjunction with the i4Trust project. The core part of this virtual training camp (21-24 June 2021) covered all the necessary skills to develop smart solutions powered by FIWARE. It introduces the basis of Digital Twin programming using linked data concepts - JSON-LD and NGSI-LD and combines these with common smart data models for the sharing and augmentation of context data.
In addition, it covers the supplementary FIWARE technologies used to implement the common functions typically required when architecting a complete smart solution: Identity and Access Management (IAM) functions to secure access to digital twin data and functions enabling the interface with IoT and 3rd systems, or the connection with different tools for processing and monitoring current and historical big data.
This 12-hour online training course can be used to obtain a good understanding of FIWARE and NGSI Interfaces and form the basis of studying for the FIWARE expert certification.
Extending this core part, the virtual training camp adds introductory and deep-dive sessions on how FIWARE and iSHARE technologies, brought together under the umbrella of the i4Trust initiative, can be combined to provide the means for the creation of data spaces in which multiple organizations can exchange digital twin data in a trusted and efficient manner, collaborating in the creation of innovative services based on data sharing. In addition, SMEs and Digital Innovation Hubs (DIHs) that go through this complete training and are located in countries eligible under Horizon 2020 will be equipped with the necessary know-how to apply to the recently launched i4Trust Open Call.
This presentation covers deploy Azure DevOps projects, repositories, pipelines, variable groups, etc. using the newly released Azure DevOps Terraform provider.
A recording of this presentation is available on my YouTube channel here: https://www.youtube.com/c/adinermie
A blog article about this topic is also available here: https://adinermie.com/deploying-azure-devops-ado-using-terraform/
In this session, we will look at what is IAC, what problem it solves, and why we should test it. We will take a look at a tool called Terratest which helps us do that. We will learn how it works and see a hands-on demo.
Rule 1: Follow a consistent coding standard
Rule 2: Name things properly, long variable and function names are allowed
Rule 3: Be expressive, write code as you speak and be optimally verbose
Rule 4: Max indent per method should be 2, in case of exceptions 3
Rule 5: Avoid creating god object and long methods
Rule 6: Keep the method in one place, inject the class and call it, DRY
Rule 7: Avoid in-line comments (comment with code), put comments in the method doc
Introduction to Information Model. Which types of representation of Information Model are used in FIWARE. What are the differences between NGSIv2 and NGSI-LD. Where can I get details about Data Models in use?
Flutter festival - Write your first Flutter applicationApoorv Pandey
Write your first hello world app in Flutter. This is a follow along PPT for Flutter Festival Bhopal. Conducted and organized by GDSC UIT RGPV and Flutter Bhopal 2022
→ Intro to Gitops & Flux
→ How to bootstrap Flux on a Kubernetes Cluster
→ How to deploy a sample application using Flux, and customised application configuration through Kustomize patches.
→ An overview of new things that you can do with Flux
Talk at PyCon2022 over building binary packages for Python. Covers an overview and an in-depth look into pybind11 for binding, scikit-build for creating the build, and build & cibuildwheel for making the binaries that can be distributed on PyPI.
In this hands-on workshop, we'll explore how to deploy resources to azure using terraform. First we'll peek into the basics of terraform (HCL language, CLI, providers, provisioners, modules, plans, state files etc).
Then in our hand-on exercise, we'll author terraform scripts to deploy virtual networks, virtual machines and app services to azure. Finally we'll walk through some azure tooling & integrations for terraform (azure cloud shell, hosted images in azure devops, azure marketplace images, VSCode extensions etc).
Author: Mithun Shanbhag
Everything You Need To Know About Persistent Storage in KubernetesThe {code} Team
Applications need data. Containers remain ephemeral but we don't want our data to disappear. So how does it work with Kubernetes?
This session will examine the individual pieces required for creating persistent applications in Kubernetes. You will learn about in-tree and out-of-tree storage drivers, PersistentVolumes (PV), PersistentVolumeClaims (PVC), Dyanamic Provisioning, how to use all of these in your Deployments and StatefulSets, high availability, and what happens to the volumes when you delete objects. Get ramped up on everything you need to know about using persistent storage in Kubernetes
This presentation was delivered at Open Source Summit EU 2017
This slide is the speech provided by me for InfoSec2020 (https://2020.infosec.org.tw/) conference in Taiwan. It describes the container security, what issues is. how to exploit it and how to defense it.
Rule 1: Follow a consistent coding standard
Rule 2: Name things properly, long variable and function names are allowed
Rule 3: Be expressive, write code as you speak and be optimally verbose
Rule 4: Max indent per method should be 2, in case of exceptions 3
Rule 5: Avoid creating god object and long methods
Rule 6: Keep the method in one place, inject the class and call it, DRY
Rule 7: Avoid in-line comments (comment with code), put comments in the method doc
Introduction to Information Model. Which types of representation of Information Model are used in FIWARE. What are the differences between NGSIv2 and NGSI-LD. Where can I get details about Data Models in use?
Flutter festival - Write your first Flutter applicationApoorv Pandey
Write your first hello world app in Flutter. This is a follow along PPT for Flutter Festival Bhopal. Conducted and organized by GDSC UIT RGPV and Flutter Bhopal 2022
→ Intro to Gitops & Flux
→ How to bootstrap Flux on a Kubernetes Cluster
→ How to deploy a sample application using Flux, and customised application configuration through Kustomize patches.
→ An overview of new things that you can do with Flux
Talk at PyCon2022 over building binary packages for Python. Covers an overview and an in-depth look into pybind11 for binding, scikit-build for creating the build, and build & cibuildwheel for making the binaries that can be distributed on PyPI.
In this hands-on workshop, we'll explore how to deploy resources to azure using terraform. First we'll peek into the basics of terraform (HCL language, CLI, providers, provisioners, modules, plans, state files etc).
Then in our hand-on exercise, we'll author terraform scripts to deploy virtual networks, virtual machines and app services to azure. Finally we'll walk through some azure tooling & integrations for terraform (azure cloud shell, hosted images in azure devops, azure marketplace images, VSCode extensions etc).
Author: Mithun Shanbhag
Everything You Need To Know About Persistent Storage in KubernetesThe {code} Team
Applications need data. Containers remain ephemeral but we don't want our data to disappear. So how does it work with Kubernetes?
This session will examine the individual pieces required for creating persistent applications in Kubernetes. You will learn about in-tree and out-of-tree storage drivers, PersistentVolumes (PV), PersistentVolumeClaims (PVC), Dyanamic Provisioning, how to use all of these in your Deployments and StatefulSets, high availability, and what happens to the volumes when you delete objects. Get ramped up on everything you need to know about using persistent storage in Kubernetes
This presentation was delivered at Open Source Summit EU 2017
This slide is the speech provided by me for InfoSec2020 (https://2020.infosec.org.tw/) conference in Taiwan. It describes the container security, what issues is. how to exploit it and how to defense it.
Android - How To Create Push Notifications With Custom View?
Today, most Android applications are integrated with the option to send push notifications. Developers and app publishers consider this capability as one of the most important actions in maintaining the relationship with their users and the ability to motivate them into performing certain actions within the app. However, in most applications the display of push notification message is quite basic - a miniature version of the app icon, a title (most of the time it will be the app name), with a short description below it.
Push notification message can be much more interesting! One of the better examples for it, is the way in which Groupon send their push messages - big and seductive picture, with important details such as price and the amount of discount. They also display action buttons!
In this tutorial we will learn how to create a rich push notification message.
Integrating Push Notifications in your app
If your app doesn’t yet support in basic push notification, please refer to PushApps short tutorial:
https://wiki.pushapps.mobi/display/PUSHAPPS/Android+Getting+Started
This tutorial assumes you have completed the basic push notifications integration, and you are able to receive notifications to your device. We will take you step by step from this phase and show you how to code and design the notification.
Push Notification received event
After you register the device to PushApps with your private keys, we would like to “take control” over the push notification received event. We would like to perform certain actions and display our custom view. With PushApps it’s easy:
1. In you Application class (if you don’t have one, please create it) register to PushApps with your Google API Project Number and PushApps Token.
@Override
public void onCreate() {
super.onCreate();
// first we initialize the push manager, you can also initialize the
// PushManager in your main activity.
PushManager.init(getBaseContext(), GOOGLE_API_PROJECT_NUMBER, PUSHAPPS_APP_TOKEN);
PushManager.getInstance(getApplicationContext())
.setShouldStartIntentAsNewTask(false);
// these methods are both optional and used for the notification
// customization
PushManager.getInstance(getApplicationContext()).setShouldStackNotifications(true);
}
2. We want PushApps to notify us when a new push notification received to the device. For that, we need to implement the PushAppsMessageInterface.
@Override
public void onCreate() {
super.onCreate();
// first we initialize the push manager, you can also initialize the
// PushManager in your main activity.
PushManager.init(getBaseContext(), GOOGLE_API_PROJECT_NUMBER, PUSHAPPS_APP_TOKEN);
PushManager.getInstance(getApplicationContext()).setShouldStartIntentAsNewTask(false);
// these methods are both optional and us
Email authentication using firebase auth + flutterKaty Slemon
Learn about building a demo application from scratch and implementing email authentication using Firebase auth + flutter with a ready github repository.
This is the presentation used in the bada Orange partner day. BuddyFix is an open source project developed by Samsung Electronics Research Institute in UK. The project home page is here (http://bit.ly/BuddyFix/). You can follow us @buddyfix to get the lates information.
How to Use Firebase to Send Push Notifications to React Native and Node.js Appsvaluebound
Learn how to implement Firebase Cloud Messaging (FCM) for sending push notifications to Android, iOS, and web apps. This comprehensive guide explores the power of FCM and provides step-by-step instructions on setting up Firebase, integrating FCM into React Native and Node.js projects, and handling incoming messages. Discover how FCM can help you engage your users, deliver relevant information, and enhance the user experience. Contact Valuebound for expert guidance on leveraging FCM to transform your business with cutting-edge technology.
https://www.valuebound.com/resources/blog/how-use-firebase-send-push-notifications-react-native-and-nodejs-apps
#drupal #drupalservices
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...InnovationM
Nowadays, Firebase Crashlytics is a very important part of our projects to monitor crashes of our applications that may be an android or iOS application. For the time being it is an unbeatable tool to log your day to day crashes for each user of your application.
Overview of wrap Features in Power Apps.pptxConcetto Labs
If you have a vision or idea for a new application? This wrap feature of Power Apps allows you to create wraps around your canvas applications as customized Android or iOS apps
Push Notification in IBM MobileFirst Xamarin SDKAjay Chebbi
IBM MobileFirst Platform Foundation Server (aka Worklight) has a unified push notification capability. This presentation walks you thru the detailed steps to configure your Xamarin.Android app to receive Push notifications.
Push Notification with Unity in iOS using App42 BackendShepHertz
Integrating App42 Push Notification service with Unity3D iOS App. With Unity you can create rich, interactive entertainment or multimedia experience. This presentation will help you learn how to use Unity Push Notification feature with App42 Backend as a Service APIs. Check out our website http://www.shephertz.com
Firebase database is no SQL database. Firebase service base on node js so it’s response will be fast compare to web services. If you want to planning fast development of the application then firebase will be a good option for you
This presentation will help you to setup your environment for Sencha Touch Applications along with explaining you the MVC implementation in Sencha Touch 2.0
Complete steps to Integrate Push Notification for Your Cocos2dx App with Push...ShepHertz
Integrating push notification for ios and android in cocos2dx is always a big challenge for developers. So, this blog will walk you through step-by-step integration process by taking the examples from the sample.
Data Sharing Between Child and Parent Components in AngularJSFibonalabs
Data sharing between components in angular is an important thing in a component-based framework. Small components are good to manage in angular. When we start breaking down the complex requirements into smaller ones (I.e., smaller components) then it's very important to have a proper data-sharing mechanism. There are multiple ways in which data is shared between the components.
A Complete Guide to Building a Ground-Breaking UX Design StrategyFibonalabs
Ground-breaking UX strategy backed by a solid UX strategy process, leads to a successful digital product. You can uncover answers about users' needs, business goals, and a roadmap to achieve them. If you are looking forward to building a user-centric digital product, then UX design strategy can be the first milestone that you need to cross.
React Class Components vs Functional Components: Which is Better?Fibonalabs
Earlier, class components were the only option to add states to components and manipulate the lifecycle. However, since the introduction of React Hooks, now we can add the same functionality to function components.
Measures to ensure Cyber Security in a serverless environmentFibonalabs
A serverless environment/architecture is a manner in which applications are run without any physical server or without a specific infrastructure. It is a virtual setup where the server along with the applications is managed via cloud computing. It has innumerable benefits.
How to implement Micro-frontends using QiankunFibonalabs
Micro-frontends extend the concepts of microservices to the frontend world. The current trend is to build feature-rich and powerful browser applications/single-page apps, which sit on top of microservice architecture. Over time the frontend layer, often developed by a separate team, grows and gets more difficult to maintain.
Different Cloud Computing Services Used At FibonalabsFibonalabs
Cloud computing is not just the present but also the future of the world of technology. We at Fibonalabs believe in staying ahead of our game and providing cloud computing services is one of our areas of expertise. Using the latest cloud technologies, we develop mobile and web applications that are user-friendly, appealing, and excellent in terms of functionality.
How Can A Startup Benefit From Collaborating With A UX Design PartnerFibonalabs
If you own a start-up, you know that the investment made is huge and there is an immediate need to place your foot in the market, especially in today’s cutthroat competition. In such a scenario partnering with a UX design partner will not only help you in getting the work done by trained professionals but will also save a lot of time and effort needed to train the beginners. And once you set a standard for your startup, you will see it reflected in not only the work but also in the culture of your organization.
How to make React Applications SEO-friendlyFibonalabs
While developing applications with React, we should be careful about the website structure, what pages are loading, the loading time, and how long it will take the search engine bots to crawl and analyze the pages. Single Page Applications offer a seamless user experience, a native-like feel, and improved performance, and they should not be disregarded just because of the SEO challenges.
Heuristic evaluation is crucial for developing a great product that users can easily engage with and find valuable. It is a comprehensive evaluation of the user interface of a product. Its objective is to uncover usability problems that might arise when users interact with a product and suggest solutions.
Key Skills Required for Data EngineeringFibonalabs
Data Engineering is a term whose probability of appearing on social media platforms is as high as encountering a black car on a highway. It is a hot topic everywhere due to many reasons. In the past couple of years, Data Engineering has been chosen as a profession by so many people. Organizations have increased the number of vacancies for this job, and all this for what? Because data is everything. Handling a bulk of data that we store on our clouds or hardware, structuring it, making it useful, formatting it, and so much more can be done if you have the right data engineering skills.
Ways for UX Design Iterations: Innovate Faster & BetterFibonalabs
Any stage of the design process, even post the product release is scrutinized for any improvements. The iterative design process is of great help in such a scenario. It's important to keep in mind, though, that iterative design will be more cost-effective the earlier it is used in a product's lifespan.
Factors that could impact conversion rate in UX DesignFibonalabs
A good user experience enhances users’ engagement with your product and lets them seamlessly complete their interactions—which might include conversion actions such as subscribing or purchasing a product. User experience is relatable to how your users, leads, or potential clients engage or interact with your interface. It depicts how easily they can find what they’re searching for — without being paused by unnecessary friction, which can make them disappear or never return.
Information Architecture in UX: To offer Delightful and Meaningful User Exper...Fibonalabs
It is the visual representation of the organization, structure, and labelling of the information in the digital product. The main goal of IA is to offer a delightful user experience facilitating the user-centred design with a good navigation system. This enables users to easily find what they are looking for.
Cloud Computing Architecture: Components, Importance, and TipsFibonalabs
Now that we know the effectiveness of cloud computing architecture, its importance, and its components, it goes without saying that cloud services and applications are the need of the hour. With a great future ahead, cloud computing has become the top choice for small, medium, and large businesses.
Choose the Best Agile Product Development Method for a Successful BusinessFibonalabs
Unlike the traditional, time-boggling development methods like the waterfall model, spiral method, etc., agile is more inclined towards continuous communication between the client and the engineering team. Agile software development focuses on the micromanagement of things by tracking the smallest progress in a defined manner. This way the changes in the requirements that occur even in the middle of the project completion are infused in a more progressive manner.
Atomic Design: Effective Way of Designing UIFibonalabs
Atomic Design is a methodology developed by Brad Frost to guide developers in the creation of more intentional and hierarchical interface design systems.
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...Fibonalabs
Agile scrum methodology is not only a model but a wonderful exercise in itself. It takes care of so many parameters that are involved in the development of software. Giving eye to detail is one of the most fascinating features of this framework. The steps in an agile scrum methodology involve envisioning, planning, developing, testing, and bug fixing for software. With scrum architecture, you can ensure continuous development, improvement, and delivery of a software product.
7 Psychology Theories in UX to Provide Better User ExperienceFibonalabs
Human psychology laws help predict human behaviour in various circumstances/social scenarios. It’s not only limited to the interaction with the product but it also gives us instructions about the cognitive load or selection bias in the scenario where the user is going to interact with the product.
Moving From JavaScript to TypeScript: Things Developers Should KnowFibonalabs
Moving from javascript to typescript is not that tedious if you follow the proper steps since every JS code is a valid typescript code. You can choose to convert the files where you require strict typing and keep the other files without a change.
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
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.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
3. Introduction
One of the most efficient ways to engage customers with your app is the
introduction of push notifications. Whether a person is using the app or not,
push notifications will notify them about all the latest updates that your app
offers. And if an app is created using Flutter this task becomes even easier.
Using Google’s Firebase Cloud Messaging platform, you can add push
notifications to your app.
The benefits of adding push notifications using Flutter are:
4. 1. Increases user retention i.e. a greater number of users download the app
2. Increases user engagement in the app
3. Significant increase in the conversion rate
4. Keeps track of user metrics
5. Improved user experience
How to Introduce Push Notifications In Your App?
With the fame that Flutter has garnered over the years, it has become the top
choice of business owners for cross-platform mobile app development. With the
enhancement of features like push notifications, it has further made its place
5. STEP 1: Set up and create a new Firebase project
● Log in to your Google account and access the Firebase console.
● Click “Add Project”, enter the project name, and click “Continue”.
● Next, disable Google Analytics and click “Create Project”. The Firebase
Project will be created.
● Once the project is initialized, click “Continue” to land on the Project
Overview Screen.
6.
7. STEP 2: Integrate the Firebase Project with your Android App
● Firstly, create a Flutter application using the command “flutter create notify”
and open it in your IDE.
● Now, click on the Android icon, shown on the Project Overview Screen and
it will direct you to a form.
● Fill in the following details:
Android package name (get it from the following path project directory →
android → app → src → main → AndroidManifest.xml).
Next, enter a nickname for your app (optional).
8. Enter SHA-1 hash (click on the help icon to know where to get the SHA-1
hash value)
9. ● Click “Register app” and your app will be registered.
● Next, download the google-services.json file, drag and drop it to the
following path project directory → android → app, and click “Next”.
● Add Firebase SDK using the code snippet below and click “Next”.
buildscript {
repositories {
// Check that you have the following line (if not, add it):
google() // Google's Maven repository
}
10. dependencies {
...
// Add this line
classpath 'com.google.gms:google-services:4.3.4'
}
}
allprojects {
...
repositories {
11. google() // Google's Maven repository
...
}
}
● Now, apply google-plugin-services to the Gradle files.
● Lastly, click “Continue to console” and your Firebase set-up for the Android
app will be completed.
12. STEP 3: Install Firebase Plugins
With the help of firebase cloud messaging, the most important step for adding
Push Notifications is explained below, follow carefully. There are three plugins
required for this sample project, which are:
● firebase_core: Helps in using Firebases service with the Flutter app.
● firebase_messaging: Helps in receiving notifications in the Flutter app.
● overlay_support: Helps in building overlay UI.
13.
14. To add these packages to your project:
● Get their latest version from the pub.dev.
● Add these packages to the pubspec.yaml file of your Flutter Project using
the command below:
flutter pub add firebase_core //installs firebase core
flutter pub add firebase_messaging //installs firebase massaging package
flutter pub add overlay_support //installs overlay support
● Look for dependencies in the pusbspec.yaml file. The added dependencies
should be:
15. dependencies:
firebase_core: ^1.13.1
firebase_messaging: ^11.2.11
overlay_support: ^1.2.1
STEP 4: Create a UI for Flutter App and Add Push Notification
Functionality
It is per your convenience and interest that you can build a Flutter UI. Here, I
have purposely skipped the details for UI creation as I want to focus on the
Push Notification functionality of the app.
16. ● The first step here is to define a variable for FirebaseMessaging. For that,
run the following command:
class _HomePageState extends State {
late final FirebaseMessaging _messaging;
// ...
@override
Widget build(BuildContext context) {
// ...
}
17.
18. ● Then, create a method as registerNotification() inside the class
_HomePageState. This helps in initializing the Firebase app and
instantiating Firebase Messaging.
void registerNotification() async {
// 1. Initialize the Firebase app
await Firebase.initializeApp();
// 2. Instantiate Firebase Messaging
_messaging = FirebaseMessaging.instance;
19. ● Now, to receive a Push Notification on your device and make changes in
the UI, run the command below:
void registerNotification() async {
//...
if (settings.authorizationStatus ==
AuthorizationStatus.authorized) {
print('User granted permission');
// For handling the received notifications
21. });
} else {
print('User declined or has not accepted permission');
}
}
By now you must be aware of the fact that PushNotification is a model class
that stores notification content. It should look like this:
22.
23. Step 5: Sending Push Notification in your Flutter app
If you got to step 3, you will find we have used an overlays-support plugin. This
comes into action now. Here we will show how firebase cloud messaging has
made it easy for you to receive the notifications while:
1. the app is in use
2. the app is in minimized state
3. App is in a closed state
25. ● Now, you can create a sample or a custom UI effect for Push Notification
when it arrives on your device.
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return OverlaySupport(
child: MaterialApp(
// ...
),
26. }
}
● Now to display the Push Notification inside your app use the function
showSimpleNotification().
void registerNotification() async {
//…
if (settings.authorizationStatus ==
AuthorizationStatus.authorized) {
27. {
// ...
if (_notificationInfo != null) {
// For displaying the notification as an overlay
showSimpleNotification(
Text(_notificationInfo!.title!),
leading: NotificationBadge(totalNotifications:
_totalNotifications),
subtitle: Text(_notificationInfo!.body!),
29. ● Next, you have to use two variables to display the notification information,
namely, _notificationInfo and _totalNotifications.
class _HomePageState extends State {
late int _totalNotifications;
PushNotification? _notificationInfo;
//…
@override
Widget build(BuildContext context) {
return Scaffold(
35. ● To handle Push Notifications while the app is in terminated state, we need
to define a top-level function. This function
_firebaseMessagingBackgroundHandler(), should not be included in any of
the classes defined
Firstly, define the above function as shown below:
Future _firebaseMessagingBackgroundHandler(RemoteMessage message)
async {
print("Handling a background message: ${message.messageId}");
}
36. Now, call the method onBackgroundMessage().
void registerNotification() async {
await Firebase.initializeApp();
_messaging = FirebaseMessaging.instance;
// Add the following line
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackground
Handler);
// ...
}
● If your app is running in the background and you tapped on the received
notification, then this action needs to be handled using the initState()
37. @override
void initState() {
//...
// For handling notification when the app is in background
// but not terminated
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message)
{
PushNotification notification = PushNotification(
title: message.notification?.title,
body: message.notification?.body,
);
setState(() {
40. As we know, Push Notifications can also be sent while the app is in the
terminated state. So, let’s see what commands we need to run while we open
the notification in the app’s closed state.
For this, the first step is to define checkForInitialMessage() in this method.
// For handling notification when the app is in terminated state
checkForInitialMessage() async {
await Firebase.initializeApp();
RemoteMessage? initialMessage =
await FirebaseMessaging.instance.getInitialMessage();
42. }
Next, call this method, for iniState method().
@override
void initState() {
// ...
// Call here
checkForInitialMessage();
// ...
43. }
STEP 6: Sample Testing of Flutter Push Notifications on Android Device
In order to run this app on an Android device, follow the steps below.
● Go to android → app → build.gradle and enable multidex support, using
the command:
android {
defaultConfig {
// ...
multiDexEnabled true
44. ● Add <intent-filter> tag inside <activity> (follow this path android → app →
src → main → AndroidManifest.xml). This tag will help you in retrieving the
message at the time of notification’s arrival.
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="<your_package_name>">
<application
android:label="notify"
android:icon="@mipmap/ic_launcher">
45. android:name=".MainActivity"
<!-- ... -->
<!-- Add this tag -->
<intent-filter>
<action
android:name="FLUTTER_NOTIFICATION_CLICK" />
<category
android:name="android.intent.category.DEFAULT" />
</intent-filter>
46. <!-- ... -->
</application>
</manifest>
You can also add additional messages using Firebase console.
This way you can add Push Notifications using firebase cloud messaging in
Flutter apps.