The document presents a PhD thesis proposal on developing a mobile collaboration layer called Lacomo. The goal of Lacomo is to enable the prototyping of collaborative mobile applications with reduced development effort compared to traditional techniques. The proposal discusses related work on mobile software engineering and collaborative architectures. It proposes adapting existing mobile apps to support collaboration through an event notification layer that captures user interactions without changing source code. The design of Lacomo is based on leveraging existing accessibility, screen sharing, and UI testing techniques. An implementation on Android and prototypes are presented, with plans for a user study to evaluate the effort required to use Lacomo.
Project number: 224145
Project acronym: ACCESSIBLE
Project title: Accessibility Assessment Simulation Environment for New Applications Design and Development
Starting date: 1 September 2008
Duration: 42 Months
ACCESSIBLE is a targeted research project (STREP) within the ICT programme of FP7.
http://www.accessible-project.eu/
Nada Sherief. Software Evaluation via Users’ Feedback at Runtime. The 18th International Conference on Evaluation and Assessment in Software Engineering (EASE 2014) - Doctoral Symposium. London, UK. 13-14 May 2014.
This document summarizes a bachelor thesis that explores integrating human-centered design into mobile app development. The thesis seeks to understand why most apps fail and proposes that applying HCD principles could enhance the development process and user experience. Through research on the app market, technology trends, and HCD, the author develops concepts and prototypes for a tool to guide app creators through an HCD-focused development process. The final solution is tested with developers and users to evaluate its effectiveness in improving app development and minimizing failure rates.
O documento apresenta uma introdução ao Deep Learning com o TensorFlow. Apresenta conceitos de Big Data, Machine Learning e Deep Learning. Explica o que é o TensorFlow, como instalá-lo e exemplos básicos de uso, incluindo regressão linear, redes LSTM e classificação de imagens. Por fim, fornece dicas e recursos para estudar o assunto.
Esse slide mostra a necessidade do processo de teste de software nos projetos de desenvolvimento de softwares, vamos demostrar as técnicas, tipos, fases, ferramentas, modelos e normas envolvidas na execução dos testes de software com o intuito de obter um ótimo nível de qualidade dos softwares gerados.
2° Workshop de Testes em Uberlândia - Treinamento em testes de softwareJoão Júnior
2° Workshop de testes de Software em Uberlândia, onde foram realizados:
Treinamento em Testes de Software
Palestra Usabilidade no Software
Treinamento em Automação de Testes com Selenium
nos dias 16 e 17 de abril de 2014.
Introducao a automação de testes de softwaresIntellecta
This document discusses automation of software testing. It introduces automation and its objectives, when and what to automate, lists common tools used, and discusses techniques, best practices, and challenges of automation.
O mundo é movido pelas perguntas, disso ninguém discute, aliás, hoje, tudo se discute, porém a motivação deste talk são estas perguntas: - O que devemos garantir principalmente? - O que devemos garantir no mínimo? - O que devemos garantir para entregar nosso produto ao cliente? - O que devemos Testar/Validar para garantir esse mínimo?
Project number: 224145
Project acronym: ACCESSIBLE
Project title: Accessibility Assessment Simulation Environment for New Applications Design and Development
Starting date: 1 September 2008
Duration: 42 Months
ACCESSIBLE is a targeted research project (STREP) within the ICT programme of FP7.
http://www.accessible-project.eu/
Nada Sherief. Software Evaluation via Users’ Feedback at Runtime. The 18th International Conference on Evaluation and Assessment in Software Engineering (EASE 2014) - Doctoral Symposium. London, UK. 13-14 May 2014.
This document summarizes a bachelor thesis that explores integrating human-centered design into mobile app development. The thesis seeks to understand why most apps fail and proposes that applying HCD principles could enhance the development process and user experience. Through research on the app market, technology trends, and HCD, the author develops concepts and prototypes for a tool to guide app creators through an HCD-focused development process. The final solution is tested with developers and users to evaluate its effectiveness in improving app development and minimizing failure rates.
O documento apresenta uma introdução ao Deep Learning com o TensorFlow. Apresenta conceitos de Big Data, Machine Learning e Deep Learning. Explica o que é o TensorFlow, como instalá-lo e exemplos básicos de uso, incluindo regressão linear, redes LSTM e classificação de imagens. Por fim, fornece dicas e recursos para estudar o assunto.
Esse slide mostra a necessidade do processo de teste de software nos projetos de desenvolvimento de softwares, vamos demostrar as técnicas, tipos, fases, ferramentas, modelos e normas envolvidas na execução dos testes de software com o intuito de obter um ótimo nível de qualidade dos softwares gerados.
2° Workshop de Testes em Uberlândia - Treinamento em testes de softwareJoão Júnior
2° Workshop de testes de Software em Uberlândia, onde foram realizados:
Treinamento em Testes de Software
Palestra Usabilidade no Software
Treinamento em Automação de Testes com Selenium
nos dias 16 e 17 de abril de 2014.
Introducao a automação de testes de softwaresIntellecta
This document discusses automation of software testing. It introduces automation and its objectives, when and what to automate, lists common tools used, and discusses techniques, best practices, and challenges of automation.
O mundo é movido pelas perguntas, disso ninguém discute, aliás, hoje, tudo se discute, porém a motivação deste talk são estas perguntas: - O que devemos garantir principalmente? - O que devemos garantir no mínimo? - O que devemos garantir para entregar nosso produto ao cliente? - O que devemos Testar/Validar para garantir esse mínimo?
Introducao a analise de testes de softwaresIntellecta
O documento fornece uma introdução sobre análise e testes de software, resumindo os principais tópicos como qualidade, técnicas de teste, tipos de teste, fases de teste, documentação de teste, testes manuais vs automatizados e o papel de um analista de qualidade.
O documento apresenta uma introdução sobre testes de software, discutindo por que são importantes para garantir a qualidade do software e evitar falhas. Testes ajudam a encontrar erros antes que o software seja lançado, poupando custos com correções e problemas para os usuários. No entanto, testes não encontram todos os erros e cabe aos desenvolvedores corrigi-los.
Storytelling -The Time Design - Transmídia, disseminando o mitoIgor Drudi
O documento discute a disseminação de narrativas através de múltiplos canais de mídia, como transmídia. Apresenta definições de multimídia, crossmídia e transmídia e discute a importância da convergência cultural e tecnológica. Também aborda princípios como inteligência coletiva, cultura participativa e as três regras que regem a disseminação de ideias: a regra dos eleitos, o fator de fixação e o poder do contexto.
O documento descreve os principais componentes internos de um computador, incluindo a motherboard, processador, memória RAM e ROM, disco rígido, fonte de alimentação e ventoinhas de resfriamento. Ele também discute brevemente sobre memória secundária e terciária como pen drives, CDs/DVDs e disquetes.
Trabalhos dos Alunos: Controladores de discoGuimaraess
Este documento descreve as principais evoluções dos controladores de disco desde os primeiros PCs até os atuais controladores SATA. Começa apresentando o controlador ST 506 dos primeiros PCs e depois descreve controladores como ESDI, IDE, IDE Ultra DMA, SCSI e SATA, mostrando como cada um proporcionou maior capacidade de armazenamento e velocidade de acesso aos dados.
1) O documento apresenta uma introdução sobre automação de testes de software, abordando tópicos como por que testar, quanto custa o erro, quantos testes devem ser feitos, o que é automação de testes, por que a automação ajuda, objetivos da automação, quando e o que automatizar e não automatizar, lista de ferramentas, técnicas de automação e desafios da automação.
2) A automação de testes é o uso de software para controlar a execução de testes de software de forma automatizada.
3) A autom
Teste de usabilidade é um método para compreender melhor a interação entre um usuário e um produto. É usado no processo de design, tanto para aperfeiçoar quanto para avaliar uma interface.
Mobile communication technologies have evolved from 1G analog networks to 2G digital networks to 3G networks that allow data and voice. 4G networks aim to provide speeds of 100Mbps to 1Gbps using technologies like LTE and WiMax. 5G is envisioned to provide even higher bandwidth and connectivity through technologies that have not been fully developed yet. Each generation brings higher speeds and more advanced applications, but also faces challenges in areas like costs, bandwidth requirements, and developing technology standards.
O documento discute os conceitos e técnicas de teste de software, com o objetivo de encontrar falhas e melhorar a qualidade do produto. Aborda temas como definição de teste de software, tipos de testes (caixa preta, caixa branca, caixa cinza), categorias de testes (unidade, integração, sistema), equipes de teste e por que testamos software.
This session targets GFW’s private sector partners and those working with the private sector. The discussion will focus on the 2017 work plan for GFW Commodities and Finance, seeking input from partners to clarify major milestones, roles, and expectations for the initiative.
This document outlines a research problem related to software project failures due to a lack of reuse and reference architectures. It proposes researching the development of a Business Applications Reference Architecture based on a Software Product Lines approach. The objectives are to: 1) Define characteristics of an effective reference architecture through literature review and expert feedback, 2) Develop a reference architecture artifact using specific technologies, and 3) Validate the architecture's usefulness and effectiveness through case studies and surveys. The research will use a design science methodology including problem awareness, suggestion, development, evaluation, and conclusion phases.
Aishwarya Yeole is a senior software engineer with over 5 years of experience developing front-end applications using technologies like React, Redux, and JavaScript. She has worked on projects for Mediaocean and Xoriant Solutions, contributing to features, optimizations, testing, and more. Her skills include REST APIs, Node.js, HTML, CSS, and she has received awards for her work.
The newsletter provides updates on the Serenoa project, which is reaching the end of its third and final year in September 2013. Several outcomes have been generated by the project including tools, methods, models, languages and prototypes. This final period will focus on converging all the outcomes into a unified platform to support context-aware applications that can optimally adapt. Upcoming events include the CASFE workshop in June and planned deliverables over the final months cover technical concepts, management aspects, and dissemination activities.
When Users Becom Collaborators: Towards Continuous and Context-Aware User InputHans-Joerg Happel
The document discusses how to better integrate user input and feedback into the software development process in a continuous and context-aware manner. It identifies issues with how user input is currently handled and proposes a continuous feedback model along with several technical enablers, like visual annotation tools and recommendation systems, to make user input a first-order concern in development. The goal is to help engineering teams get more direct and rich feedback from users to improve their applications.
Agile Software Development
Not being too attached to your initial idea of what the project will look like and to be ready for change and to refactor.
Agile software engineering combines a philosophy and a set of development guidelines.
To be agile you need to put the agile values and principles into practice.
ICWE 2010 Demonstration and Poster elevator pitch sessionMarco Brambilla
The ICWE 2010 Demo Track aims at providing visibility and a discussion forum to companies, universities, and developers for presenting software tools and early researches related to the field of Web Engineering. The session includes submissions about commercial tools, prototypes, open source software, and ongoing development: CASE tools, performance evaluators, code generators, model-driven Web engineering tools, semantic Web enabling tools, usability and accessibility evaluation tools, data management tools for Web applications, and any other tool that fits within the ICWE 2010 topics of interest.
The 2010 edition was chaired by Marco Brambilla and Sven Casteleyn and got 26 submissions and accepted a total of 13 (=50%).
The document summarizes the ACCESSIBLE project which has four main objectives:
1) To develop an assessment simulation module to support accessibility analysis of web applications, mobile apps, and description languages.
2) To develop a harmonized accessibility methodological framework (HAM).
3) To develop modules to aid developers in designing accessible Java applications and report test results.
4) To research barriers to e-accessibility and propose innovations to address these barriers through the ACCESSIBLE tools and methodology.
ICT research in the context of European Union
CASE SUMMER SCHOOL ON APPLIED SOFTWARE ENGINEERING
APPLIED SOFTWARE PROCESS MANAGEMENT AND TESTING
JULY 6-10, 2009, BOZEN/BOLZANO, ITALY
The document discusses an integrated analytical framework for enhancing software methodologies for developing social networking apps using Agile principles. It proposes a model that incorporates features of Extreme Programming within an Agile methodology to address challenges in designing social networking apps. The model was evaluated through case studies of developing multiple social networking apps on different platforms. Results showed the model provided effective visualization of the development process to guide teams, especially for small and medium enterprises.
This newsletter provides an update on the FP7 Serenoa project, which aims to develop methods for context-aware adaptation of user interfaces. The second year of the project has concluded with the implementation of applications, authoring tools, and evaluation plans. Key outcomes include a methodology for developing adaptive apps, an adaptive platform, and authoring tools. The newsletter describes recent work on reference models, algorithms, architecture, tools, and prototypes, and announces an upcoming workshop on context-aware adaptation.
Human Computer Interaction Chapter 4 Implementation Support and Evaluation Te...VijiPriya Jeyamani
Implementation Support:
Introduction
Elements of windowing systems
Programming the application
User interface management systems
4.2 Evaluation Techniques
What is evaluation?
Goals of evaluation
Choosing an evaluation method
This document presents research on evaluating the architectural openness of mobile software platforms. It introduces the topic, defines key terms, and outlines the research questions and scope. The methodology involves a literature review and qualitative interviews with developers. Results include an architectural openness model with factors, and an analysis of openness in five major platforms (Android, Symbian, Windows Mobile, Blackberry, iPhone). The model shows how platform strategies affect architecture and accessibility. Interviews validated conclusions but found developers care more about functionality than openness. Further interviews with manufacturers are recommended.
Introducao a analise de testes de softwaresIntellecta
O documento fornece uma introdução sobre análise e testes de software, resumindo os principais tópicos como qualidade, técnicas de teste, tipos de teste, fases de teste, documentação de teste, testes manuais vs automatizados e o papel de um analista de qualidade.
O documento apresenta uma introdução sobre testes de software, discutindo por que são importantes para garantir a qualidade do software e evitar falhas. Testes ajudam a encontrar erros antes que o software seja lançado, poupando custos com correções e problemas para os usuários. No entanto, testes não encontram todos os erros e cabe aos desenvolvedores corrigi-los.
Storytelling -The Time Design - Transmídia, disseminando o mitoIgor Drudi
O documento discute a disseminação de narrativas através de múltiplos canais de mídia, como transmídia. Apresenta definições de multimídia, crossmídia e transmídia e discute a importância da convergência cultural e tecnológica. Também aborda princípios como inteligência coletiva, cultura participativa e as três regras que regem a disseminação de ideias: a regra dos eleitos, o fator de fixação e o poder do contexto.
O documento descreve os principais componentes internos de um computador, incluindo a motherboard, processador, memória RAM e ROM, disco rígido, fonte de alimentação e ventoinhas de resfriamento. Ele também discute brevemente sobre memória secundária e terciária como pen drives, CDs/DVDs e disquetes.
Trabalhos dos Alunos: Controladores de discoGuimaraess
Este documento descreve as principais evoluções dos controladores de disco desde os primeiros PCs até os atuais controladores SATA. Começa apresentando o controlador ST 506 dos primeiros PCs e depois descreve controladores como ESDI, IDE, IDE Ultra DMA, SCSI e SATA, mostrando como cada um proporcionou maior capacidade de armazenamento e velocidade de acesso aos dados.
1) O documento apresenta uma introdução sobre automação de testes de software, abordando tópicos como por que testar, quanto custa o erro, quantos testes devem ser feitos, o que é automação de testes, por que a automação ajuda, objetivos da automação, quando e o que automatizar e não automatizar, lista de ferramentas, técnicas de automação e desafios da automação.
2) A automação de testes é o uso de software para controlar a execução de testes de software de forma automatizada.
3) A autom
Teste de usabilidade é um método para compreender melhor a interação entre um usuário e um produto. É usado no processo de design, tanto para aperfeiçoar quanto para avaliar uma interface.
Mobile communication technologies have evolved from 1G analog networks to 2G digital networks to 3G networks that allow data and voice. 4G networks aim to provide speeds of 100Mbps to 1Gbps using technologies like LTE and WiMax. 5G is envisioned to provide even higher bandwidth and connectivity through technologies that have not been fully developed yet. Each generation brings higher speeds and more advanced applications, but also faces challenges in areas like costs, bandwidth requirements, and developing technology standards.
O documento discute os conceitos e técnicas de teste de software, com o objetivo de encontrar falhas e melhorar a qualidade do produto. Aborda temas como definição de teste de software, tipos de testes (caixa preta, caixa branca, caixa cinza), categorias de testes (unidade, integração, sistema), equipes de teste e por que testamos software.
This session targets GFW’s private sector partners and those working with the private sector. The discussion will focus on the 2017 work plan for GFW Commodities and Finance, seeking input from partners to clarify major milestones, roles, and expectations for the initiative.
This document outlines a research problem related to software project failures due to a lack of reuse and reference architectures. It proposes researching the development of a Business Applications Reference Architecture based on a Software Product Lines approach. The objectives are to: 1) Define characteristics of an effective reference architecture through literature review and expert feedback, 2) Develop a reference architecture artifact using specific technologies, and 3) Validate the architecture's usefulness and effectiveness through case studies and surveys. The research will use a design science methodology including problem awareness, suggestion, development, evaluation, and conclusion phases.
Aishwarya Yeole is a senior software engineer with over 5 years of experience developing front-end applications using technologies like React, Redux, and JavaScript. She has worked on projects for Mediaocean and Xoriant Solutions, contributing to features, optimizations, testing, and more. Her skills include REST APIs, Node.js, HTML, CSS, and she has received awards for her work.
The newsletter provides updates on the Serenoa project, which is reaching the end of its third and final year in September 2013. Several outcomes have been generated by the project including tools, methods, models, languages and prototypes. This final period will focus on converging all the outcomes into a unified platform to support context-aware applications that can optimally adapt. Upcoming events include the CASFE workshop in June and planned deliverables over the final months cover technical concepts, management aspects, and dissemination activities.
When Users Becom Collaborators: Towards Continuous and Context-Aware User InputHans-Joerg Happel
The document discusses how to better integrate user input and feedback into the software development process in a continuous and context-aware manner. It identifies issues with how user input is currently handled and proposes a continuous feedback model along with several technical enablers, like visual annotation tools and recommendation systems, to make user input a first-order concern in development. The goal is to help engineering teams get more direct and rich feedback from users to improve their applications.
Agile Software Development
Not being too attached to your initial idea of what the project will look like and to be ready for change and to refactor.
Agile software engineering combines a philosophy and a set of development guidelines.
To be agile you need to put the agile values and principles into practice.
ICWE 2010 Demonstration and Poster elevator pitch sessionMarco Brambilla
The ICWE 2010 Demo Track aims at providing visibility and a discussion forum to companies, universities, and developers for presenting software tools and early researches related to the field of Web Engineering. The session includes submissions about commercial tools, prototypes, open source software, and ongoing development: CASE tools, performance evaluators, code generators, model-driven Web engineering tools, semantic Web enabling tools, usability and accessibility evaluation tools, data management tools for Web applications, and any other tool that fits within the ICWE 2010 topics of interest.
The 2010 edition was chaired by Marco Brambilla and Sven Casteleyn and got 26 submissions and accepted a total of 13 (=50%).
The document summarizes the ACCESSIBLE project which has four main objectives:
1) To develop an assessment simulation module to support accessibility analysis of web applications, mobile apps, and description languages.
2) To develop a harmonized accessibility methodological framework (HAM).
3) To develop modules to aid developers in designing accessible Java applications and report test results.
4) To research barriers to e-accessibility and propose innovations to address these barriers through the ACCESSIBLE tools and methodology.
ICT research in the context of European Union
CASE SUMMER SCHOOL ON APPLIED SOFTWARE ENGINEERING
APPLIED SOFTWARE PROCESS MANAGEMENT AND TESTING
JULY 6-10, 2009, BOZEN/BOLZANO, ITALY
The document discusses an integrated analytical framework for enhancing software methodologies for developing social networking apps using Agile principles. It proposes a model that incorporates features of Extreme Programming within an Agile methodology to address challenges in designing social networking apps. The model was evaluated through case studies of developing multiple social networking apps on different platforms. Results showed the model provided effective visualization of the development process to guide teams, especially for small and medium enterprises.
This newsletter provides an update on the FP7 Serenoa project, which aims to develop methods for context-aware adaptation of user interfaces. The second year of the project has concluded with the implementation of applications, authoring tools, and evaluation plans. Key outcomes include a methodology for developing adaptive apps, an adaptive platform, and authoring tools. The newsletter describes recent work on reference models, algorithms, architecture, tools, and prototypes, and announces an upcoming workshop on context-aware adaptation.
Human Computer Interaction Chapter 4 Implementation Support and Evaluation Te...VijiPriya Jeyamani
Implementation Support:
Introduction
Elements of windowing systems
Programming the application
User interface management systems
4.2 Evaluation Techniques
What is evaluation?
Goals of evaluation
Choosing an evaluation method
This document presents research on evaluating the architectural openness of mobile software platforms. It introduces the topic, defines key terms, and outlines the research questions and scope. The methodology involves a literature review and qualitative interviews with developers. Results include an architectural openness model with factors, and an analysis of openness in five major platforms (Android, Symbian, Windows Mobile, Blackberry, iPhone). The model shows how platform strategies affect architecture and accessibility. Interviews validated conclusions but found developers care more about functionality than openness. Further interviews with manufacturers are recommended.
This document discusses the design and development of a Service Oriented Architecture (SOA) interface for mobile device testing. It proposes using a SOA approach to address the challenges of mobile device testing, which is made difficult by the complex and evolving nature of mobile software and hardware. The paper describes building modular components according to SOA principles and using a common interface to allow components to communicate and reuse test cases. It outlines developing fault injection techniques and a taxonomy of faults specific to SOA to test the reliability of the proposed interface. The goal is to create a more flexible and reusable framework for mobile device testing.
John Sorflaten has over 25 years of experience in usability engineering, systems engineering, and project management. He has worked on projects across many industries for both government and commercial clients. He has extensive experience leading agile teams and is trained in various project management methodologies. He has a PhD in Instructional Design and Technology and is certified in usability analysis.
Feridoon Malekzadeh is a UX design manager with over 15 years of experience in product design and management. He has worked at companies such as Samsung, Microsoft, and T-Mobile. Malekzadeh has expertise in areas such as user research, interaction design, visual design, prototyping, and project management. Some of the key projects he worked on include redesigning Samsung's loyalty app Samsung+, conceptualizing a holistic cooking brand for Samsung called Chef Collection, and developing frameworks to improve the onboarding experience for mobile devices.
The document proposes a four-step engineering method for developing social web services (SWS) along with supporting tools. The method involves (1) identifying relationships between web services, (2) mapping these relationships to social networks, (3) building the social networks, and (4) analyzing social behaviors exhibited by web services through their interactions in the networks. Tools are also introduced to assess service similarities, build and manage social networks, and analyze network details to support the engineering method. Future work is planned to implement and refine the approach based on real-world use of social web services.
Joel Baskin is a UX designer with a Masters in HCI from Carnegie Mellon University. He has over 15 years of experience designing interfaces and experiences for companies across various industries. His portfolio can be found at jdbaskin.wixsite.com/portfolio and he can be contacted at jdbaskin@hotmail.com or 425-766-3947.
Majority of agile projects currently involve interactive user interface designs, which can only be possible by following UCD in agile software model. But the integration of UCD is not clear in the current agile models. Both Agile models and UCD have iterative nature but agile models focus on coding and development of software; whereas, UCD focuses on user interface of the software. Similarly, both of them have testing features where the agile model involves automated tested code while UCD involves an expert or a user to test the user interface. In this paper, a new agile usability model is presented and tested in companies and are presented. Key results from these projects clearly shows: the proposed agile model incorporates usability evaluation methods, improve the relationship between usability experts to work with agile software experts; in addition, allows agile developers to incorporate the result from UCD into subsequent interactions.
Model driven RichUbi: a model driven process for building rich interfaces of ...Luciana Zaina
The demand for software in Ubiquitous Computing, in which access to applications occurs anywhere, anytime and from different devices, has raised new challenges for Software Engineering. One of these challenges is related to the adaptation of the contents of an application to the numerous devices that can access it in distinct contexts. Another challenge is related to the building of rich interfaces with multimedia content, asynchronous communication and other features that characterize Rich Internet Applications (RIAs). Searching for solutions focused on these challenges, a model-driven process for building rich interfaces of context-sensitive ubiquitous applications has been developed. The process, which is based on the conceptions of Domain-Specific Modeling (DSM), emphasizes the modeling reuse from a rich interface components metamodel. This metamodel provides a generic infrastructure for developing rich interfaces of applications, focusing on model-level reuse and on code generation for different Ubiquitous Computing platforms. In addition, the metamodel allows that the interface models are built by using the terms of rich interface domain, which facilitates the communication between users and developers.
Similar to Process, design, implementation and evaluation of a mobile collaboration layer (20)
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
A Comprehensive Guide to DeFi Development Services in 2024Intelisync
DeFi represents a paradigm shift in the financial industry. Instead of relying on traditional, centralized institutions like banks, DeFi leverages blockchain technology to create a decentralized network of financial services. This means that financial transactions can occur directly between parties, without intermediaries, using smart contracts on platforms like Ethereum.
In 2024, we are witnessing an explosion of new DeFi projects and protocols, each pushing the boundaries of what’s possible in finance.
In summary, DeFi in 2024 is not just a trend; it’s a revolution that democratizes finance, enhances security and transparency, and fosters continuous innovation. As we proceed through this presentation, we'll explore the various components and services of DeFi in detail, shedding light on how they are transforming the financial landscape.
At Intelisync, we specialize in providing comprehensive DeFi development services tailored to meet the unique needs of our clients. From smart contract development to dApp creation and security audits, we ensure that your DeFi project is built with innovation, security, and scalability in mind. Trust Intelisync to guide you through the intricate landscape of decentralized finance and unlock the full potential of blockchain technology.
Ready to take your DeFi project to the next level? Partner with Intelisync for expert DeFi development services today!
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
Process, design, implementation and evaluation of a mobile collaboration layer
1. Process, design, implementation and
evaluation of a mobile collaboration layer
Mauro Carlos Pichiliani
PhD student
Prof. Dr. Celso Massaki Hirata
Advisor
Prof. Dr. Prasun Dewan
CoAdvisor
INSTITUTO TECNOLÓGICO DE AERONÁUTICA - ITA
Electronic Engineering and Computing - EEC/I
Department of Computer Science
Brazil
2. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
2PhD presentation - Mauro Carlos Pichiliani
Goal
This work proposes a specification,
design, and evaluation of a software
layer that employs a combination of
techniques to prototype
collaborative mobile applications
The approach reduces the
development effort while keeping
the possibility for future ad hoc
customizations
3. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
3PhD presentation - Mauro Carlos Pichiliani
Overview
– Introduction
– Related work
– Lacomo specification and design
– Implementation
– User study
– Results
– Discussion
– Conclusions & future work
4. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
4PhD presentation - Mauro Carlos Pichiliani
Introduction
5. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
5PhD presentation - Mauro Carlos Pichiliani
Introduction
Online stores with thousands of applications
Few apps allow synchronous collaboration
Vendors provide SDK
Implementation of synchronous ad hoc collaboration is
complex and costly (require specific application design)
Thesis statement:
It is possible to create prototype
collaborative mobile applications with an
event notification layer that require less
development effort than previous
techniques that create or adapt
applications to support collaboration?
6. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
6PhD presentation - Mauro Carlos Pichiliani
Motivation – Draw Something
Simple collaborative drawing app
Social features
OMGPOP studio purchased by Zynga
180 million dollars acquisition
35 million registered users
10 million active users
1 billion views of advertisements
7. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
7PhD presentation - Mauro Carlos Pichiliani
Motivation Scenarios
MS1: Understanding calculator operations
MS2: Form filling
MS3: Sketching drawings
8. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
8PhD presentation - Mauro Carlos Pichiliani
Research questions
RQ1 (Problem contextualization): Is there a place on the design space
of previous work to support synchronous collaborative requirements
that overcome limitations and fulfills the requirements of the existing
approaches?
RQ2 (Application adaptation): How to adapt existing mobile
applications so that they implement a subset of synchronous
collaborative requirements without changing source code?
RQ3 (Effort comparison): How much effort is required to change a
mobile app to support collaborative requirements? Given our
approach is based on event notification, what is the effort to use it
compared to ad hoc implementation?
9. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
9PhD presentation - Mauro Carlos Pichiliani
Contributions
A model and a semi-automatic process to modify
existing applications
A software engineering technique based on a layer
(Lacomo: Layer to develop collaborative mobile
applications)
Implementation of Lacomo using the Android platform
Four prototypes created using Lacomo
A user study to evaluate the effort to use Lacomo
10. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
10PhD presentation - Mauro Carlos Pichiliani
Related Work
11. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
11PhD presentation - Mauro Carlos Pichiliani
Mobile Software Engineering
SE techniques can be easily applied to the mobile application domain
Survey of mobile app developers (WASSERMAN, 2010b):
Adherence to best practices
Rarely use formal development process
Gather few metrics
Novel factors of mobile application development (DEHLINGER; DIXON,
2011):
User interface provides new human-computer interaction
Divergent mobile platforms
Challenges and opportunities of mobile computing
Main challenges (JOORABCHI; MESBAH; KRUCHTEN, 2013):
Platform fragmentation
Monitoring
Analysis and testing support
Openness of development platform
Frequent SDK changes
Code reusability
12. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
12PhD presentation - Mauro Carlos Pichiliani
Mobile prototyping
Prototype: partial simulation of a product with respect to its final
appearance and behavior (HOUDE; HILL, 1997)
Classification on interface and design detail:
Low fidelity (pen and paper)
High fidelity (supported by specialized tools)
High fidelity prototypes enable more relative usability problems to be
explored and discovered
Current prototype tools lack resources to mockup or prototype
collaboration requirements on top of existing applications
Hypothesis: it is possible to experiment with collaboration
requirements with Lacomo with less development effort than
traditional development techniques
13. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
13PhD presentation - Mauro Carlos Pichiliani
Colaboration requirements
Automation
How to automate the development process of an existing class of applications
Constraints: Amount and complexity of code x Effort to multi-user behavior
Flexibility
Ability to support a variety of collaborative applications and scenarios (ROUSSEV,
2003)
Trade off between Automation and Flexibility
Code reuse
Amount of code not newly written to support collaboration
Affects Flexibility
Extensibility
Aspects associated with modifications (customizations and adaptations)
Clarifies how a developer takes any part of the system and replaces it with
customizations
14. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
14PhD presentation - Mauro Carlos Pichiliani
Architectures for collaboration
“Generic collaborative architectures structure the components of a groupware
into a variable number of layers with functional aspects and impose few
assumptions on the nature of the applications they support” (DEWAN, 1995)
Architectures for collaborative applications extend single-user architectures
(DEWAN, 1995)
MVC (Model View Controller) divides the application into three parts:
Controller: input handling
View: output and user interface
Model: underlying application and data
Combination of MVC components in collaborative applications (SUTHERS,
2001):
Centralized
Hybrid
Distributed
Replicated
15. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
15PhD presentation - Mauro Carlos Pichiliani
Design Space
Low level
systems
High level
systems
16. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
16PhD presentation - Mauro Carlos Pichiliani
Low level systems
Collaboration by sharing granular abstract applications elements
(documents, tuples, screen or windows)
Repository, database, and document-based:
DFS
Bayou
Lotus Notes
Screen and windows sharing:
XTV
Shared X
VNC
ITA - Intelligent Transparent Adaptation
17. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
17PhD presentation - Mauro Carlos Pichiliani
High level systems
Collaboration at different levels
Often require the application source code
Component-based: JViews, Live, COCA, MoCA, CoCoWare,
Prospero, Flexible JAMM, Habanero, JCE
Direct access to source code:
Architecture: Rendevouz
Toolkits: MAUI, GroupKit
Frameworks: TouchSync, COCA, EXEC Framework, Flexible
Sharing
Other: Collab, TACT, Coda, Sync
Transparent Adaptation requires an API of the target application to
promote collaboration
18. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
18PhD presentation - Mauro Carlos Pichiliani
Answer to RQ1
RQ1: The location on the design space of previous work
that supports collaborative requirements to overcome
limitations and fulfill the requirements further than
existing approaches is at the intersection of the Wide
range of apps value of the Flexibility axis with the Event
notification value of the App. Knowledge axis. This area
can be explored by employing event notification
resources available from the accessibility API of the
operating system combined with screen sharing
and UI testing technologies
19. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
19PhD presentation - Mauro Carlos Pichiliani
Lacomo specification
and design
20. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
20PhD presentation - Mauro Carlos Pichiliani
Model
The Multi-user collaborative MVC Model
21. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
21PhD presentation - Mauro Carlos Pichiliani
Process
The MVC UI Component Modification Process
22. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
22PhD presentation - Mauro Carlos Pichiliani
Problem domain formalization
P = application; E = set of possible user interaction events; F = set of programming
abstractions; A = set of interactions captured by F; U = set of users interacting with P
User interaction event sequence seq = [e1,e2,…,en], where each ei ϵ E is a user
interaction event. Set: SEQ
Generic API I = [c1, c2,…,cn], where ci is on ordered pair (ej,fk) that represents a user
interaction event ej ϵ E captured by a programming abstraction fk ϵ F. Set: SEQF
Accessible user interaction event sequence seqa = [a1, a2,…,an], where ai ϵ A is a
user interaction event captured by the API I. Set: SEQA
Multi user interaction event sequence seqam = [m1, m2,…,mn], where mi is on ordered
pair (aj,uk) that represent an event aj ϵ A performed by a user uk ϵ U. Set: SEQAM
Operations:
len(seqam) returns the length of the sequence seqam
head(seqam,k) returns a subsequence with the first k events in seqam.
Execution t = exec(P,seqam). Set T = {exec(P,seqam) | seqam ϵ SEQAM}.
Initial state s0. State s’ = 〈s0,seqam〉. Space state explored:
St = {〈s0,head(seqam,k)〉 | 1 ≤ k ≤ len(seqam)}
23. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
23PhD presentation - Mauro Carlos Pichiliani
Specification
Design recommendations for APIs (LIN et al., 2007):
DR1: Event interception
DR2: Event access
DR3: Event differentiation
DR4: Event generation
DR5: Event action origin
Items of the Lacomo specification:
Direct read access to the OS System log
Read/Write access to the current user screen
Interfaces to capture events by a trigger model (DR1, DR2, DR5)
Navigation and read access to UI hierarchy of elements
High-level mechanism to inject user interactions
Resources for application rewriting
Private rules to control data sharing (DR3, DR4)
24. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
24PhD presentation - Mauro Carlos Pichiliani
Design
Almost all UI components found on mobile platforms are accessible by
default
95% of apps are built with default SDK components (ZHOU et al.,
2012)
Lacomo design is based on an OS layer that has low-level hooks to
capture events
The design combines existing techniques (accessibility, screen
sharing, UI testing, and application rewriting)
25. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
25PhD presentation - Mauro Carlos Pichiliani
Anwser to RQ2
Subset of synchronous collaborative requirements: sharing of UI
control’s data to prototype collaboration requirements on existing
mobile apps
RQ2: To adapt existing mobile applications so that they implement a
subset of synchronous collaborative requirements without changing
the source code we propose Lacomo, a software layer that uses an
API that capture user events, screen sharing technology, and UI
testing techniques that communicate with an existing application by
capturing event data and replaying it at the UI controls of the users
26. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
26PhD presentation - Mauro Carlos Pichiliani
Implementation
27. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
27PhD presentation - Mauro Carlos Pichiliani
Accessibility API
Get low-level information about targets. E.g.: MSAA API
Operating systems have accessibility applications (screen readers,
magnification glass)
Android platform provides a complete accessibility API:
Low-level hooks that capture events
Complete identification of the element
Reconstruction of the UI View hierarchy
Default textual description
New accessibility service creation
Integration with external devices (e.g. braille keyboards)
Developers can create accessibility services that users must activate
on the device
28. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
28PhD presentation - Mauro Carlos Pichiliani
Accessibility Evaluation
Evaluation of 10 most popular applications (Feb. 16th, 2015)
Event trigger Rate and Content Rate
29. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
29PhD presentation - Mauro Carlos Pichiliani
Technology
Android accessibility service created from the class AcessibilityService
Method onAccessbilityEvent() fired at every event
Access to UI hierarchy, app and device state
ClientCapture and ClientReceive classes with the SendEvent() method
Screen sharing
Read pixels on the screen
Transparent “window” on top of the UI to write pixels
UI Testing
Navigate on UI widgets
Simulate local user interaction
Application rewriting
Manually change source code
Decompile, find source code areas, inject code, recompile
30. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
30PhD presentation - Mauro Carlos Pichiliani
Prototypes
CoPortals
CoCalculator
CoSudoku
CoTomdroid
31. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
31PhD presentation - Mauro Carlos Pichiliani
User study
32. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
32PhD presentation - Mauro Carlos Pichiliani
Design and setup
EH1: Lacomo requires less effort than the ad hoc approach
Within participant design (18 male, 2 female). Avg. age: 28.6±7
Requirement: >= six months of experience with Android development
$5 reward + ebook + 2 on-line course access + gift raffle
Procedure:
Consent form
Pre and pos-experiment questionnaires
Training with the approach (Lacomo or ad hoc) for UI sharing
Task session (max 60 min.) to change calculator app
Debriefing interview
Instrumentation: face, desktop and audio recording, custom Eclipse plug-in,
BCI, cardiac monitor (BPM)
Environment: Windows 8.1 + Eclipse + 2 Android tablets + WiFi network (no
internet access)
33. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
33PhD presentation - Mauro Carlos Pichiliani
Participants
34. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
34PhD presentation - Mauro Carlos Pichiliani
Threats to validity
Representativeness of application:
Open source app available at Google Play store
Generalization of participants:
Experienced industry developers
Wide range of expertise
Data collection and inspection:
Independently inspected by experienced researcher
Questions to the monitor:
Limit the content of the answer
Artificial motivations:
Explicitly mention the evaluation of the tool, not the person
Contribution regardless of recompenses
35. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
35PhD presentation - Mauro Carlos Pichiliani
Demonstration (UI sharing)
36. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
36PhD presentation - Mauro Carlos Pichiliani
Results
37. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
37PhD presentation - Mauro Carlos Pichiliani
Quantitative results
Profile: 65% have app on store; 70% developed multi-
user app; 100% prototype
Task completion: 90% (Lacomo) x 20% (ad hoc)
Time (min.) average: 27.7±18.9 (Lacomo) x 59±3.1 (ad
hoc)
LOC = physical lines added + modified + removed
Effort: LOC, LOC divided by time, calories, distance
covered by the mouse pointer, save events
38. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
38PhD presentation - Mauro Carlos Pichiliani
Statistics (α=0.05)
Confirm the EH1 (95% confidence level) on all five variables
Metric Mean
Value
Normality
(Kolmogoro
v-Smirnov)
Distribution
(Two-tailed
Mann-Whitney)
Variance
(F-Test)
Average
(Non pared
T-Test)
Avg. LOC µlacomo=11.3±9.2
µadhoc==158.1±134.6
Normal
distribution
placomo=0.48
padhoc=0.35
Different
distributions
min(u1,u2) = 0
Same
variance
(f=0.001)
Different
average
t=-3.44
p=0.0029
Avg.
LOC/Time
µlacomo=0.51±0.3
µadhoc==2.6±2.2
Normal
distribution
placomo=0.41
padhoc=0.33
Different
distributions
min(u1,u2) = 7
Same
variance
(f=0.02)
Different
Average
t=-2.99
p=0.0078
Avg.
Calories
µlacomo=97.1±86
µadhoc==243.3±135
Normal
distribution
placomo=0.11
padhoc=0.46
Different
distributions
min(u1,u2) = 16
Different
variance
(f=0.40)
Different
average
t=-2.88
p=0.0112
Avg.
Mouse
Movement
µlacomo=224,841.1
±164,467.2
µadhoc==580,471.6
±222,677.1
Normal
distribution
placomo=0.17
padhoc=0.82
Different
distributions
min(u1,u2) = 10
Different
variance
(f=0.54)
Different
average
t=-4.06
p=0.0008
Avg. Save
events
µlacomo=6.7±3.6
µadhoc==29.1±26.7
Normal
distribution
placomo=0.13
padhoc=0.25
Different
distributions
min(u1,u2) = 22
Different
variance
(f=0.02)
Different
average
t=-2.49
p=0.0235
39. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
39PhD presentation - Mauro Carlos Pichiliani
Normalized means
40. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
40PhD presentation - Mauro Carlos Pichiliani
Line edits
41. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
41PhD presentation - Mauro Carlos Pichiliani
Line edit operations
42. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
42PhD presentation - Mauro Carlos Pichiliani
Attention, meditation, status messages
43. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
43PhD presentation - Mauro Carlos Pichiliani
IDE events
44. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
44PhD presentation - Mauro Carlos Pichiliani
Qualitative results
45. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
45PhD presentation - Mauro Carlos Pichiliani
Subjective mental effort
Responses to mental effort are significantly different (p<0.05)
High level of correlation with task completion:
Strong positive correlation (r=0.76) with difficulty
Strong positive correlation (r=0.75) with mental effort
Very strong positive correlation (r=0.90) with concentration
46. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
46PhD presentation - Mauro Carlos Pichiliani
PU and PEOU
47. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
47PhD presentation - Mauro Carlos Pichiliani
Answer to RQ3
RQ3: The effort required to change a mobile app to
support collaborative requirements is, on average, 27.7
minutes, 11.3 lines of code, 0.51 lines per minute, 97.1
calories, 224,841.1 pixels traveled by the mouse, and
6.7 save events. The effort to use an event notification
approach compared to ad hoc implementation required,
on average, 64% less time, 95% less lines of code,
78% less lines per minute, 64% less calories, 69% less
pixels traveled by the mouse, and 85% less save events
48. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
48PhD presentation - Mauro Carlos Pichiliani
Discussion
49. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
49PhD presentation - Mauro Carlos Pichiliani
Design comparison
Lacomo’s design is similar to previous work at some abstraction level
Variation on how to acquire and replay data: event based
Handle collaboration as an operating system-oriented approach
Phases of update handling:
Flexible Sharing (ROUSSEV, 2003) and the Exec Framework (LI; LI, 2002 )
listen to property changes and uses value assignment. No context for:
User interactions
System event notification
Cascading property changes
Lacomo can be complemented by previous work
50. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
50PhD presentation - Mauro Carlos Pichiliani
Feasibility and convenience
Consider resources and effort to adapt legacy applications
Source code modifications may insert faults and bugs
Complete re-design may be error-prone and time-consuming
Lacomo allows the fast creation of prototypes with synchronous
collaborative features
How much effort savings depends on context, language, and
development environment
Non-functional requirements must also be addressed:
User privacy
Data security
Adoption
Social elements
51. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
51PhD presentation - Mauro Carlos Pichiliani
Implementation usage & comparison
Previous work seldom provides implementation effort
Lack of empirical effort to mobile collaboration
development in the literature
Challenges to compare techniques to implement
synchronous collaboration
Basic LOC values
Context of effort comparison
LOC values only to create new applications
No current OS addressed (iOS, Android, Windows
Phone)
52. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
52PhD presentation - Mauro Carlos Pichiliani
Lacomo limitations
Lacomo is limited by its underlying technologies:
Accessibility API
Screen Sharing
UI testing
Application rewriting
Lacomo does not have automated or semi-automated features to
share Model’s data
No current accessibility API allow the complete implementation of the
Lacomo design
The Android accessibility API is under active development by Google
Changes in technology highlights the advantages of model and
implementation separation of Lacomo
Future changes in base technologies potentially improve the features
of Lacomo
53. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
53PhD presentation - Mauro Carlos Pichiliani
Conclusions &
future work
54. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
54PhD presentation - Mauro Carlos Pichiliani
Conclusions
An event notification technique can be explored to create high fidelity
mobile prototype applications with collaboration features
A design that combines accessibility API, screen sharing, UI testing,
and application rewriting techniques
The implementation of Lacomo on the Android platform can create
prototypes on top of existing applications without source code
changes
A user study proved that Lacomo required less effort compared to the
ad hoc implementation, when effort is measured by LOC (lines of
code), LOC divided by time, calories, mouse movement, and save
events metrics
20 variables observed on +/- 30 hours of experiments with application
developers over 8 months
55. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
55PhD presentation - Mauro Carlos Pichiliani
Future work
Refine the Lacomo design and implement it on Android
or other mobile OS (CyanogemMod or Tizen)
Creation of other prototypes with Lacomo (map
navigation, music player)
Further analyze the quantitative and qualitative data
gathered in the user study for future Software
Engineering research
56. Monday, 7th March 2016
Process, design, implementation and evaluation of a mobile collaboration layer
56PhD presentation - Mauro Carlos Pichiliani
Acknowledgements
Thank you!
e-mail mauro@pichiliani.com.br