Next! is an Android application born to support tourist activities providing historical informations, videos, images. Moreover, Next! “automatically” know what is the nearest place closest to user interests, through the use of social network.
Detecting Bad Smells in Source Code using Change History InformationFabio Palomba
Code smells represent symptoms of poor implementation choices. Previous studies found that these smells make source code more difficult to maintain, possibly also increasing its fault-proneness. There are several approaches that identify smells based on code analysis techniques. However, we observe that many code smells are intrinsically characterized by how code elements change over time. Thus, relying solely on structural information may not be sufficient to detect all the smells accurately. We propose an approach to detect five different code smells, namely Divergent Change, Shotgun Surgery, Parallel Inheritance, Blob, and Feature Envy, by exploiting change history information mined from versioning systems. We applied approach, coined as HIST (Historical Information for Smell deTection), to eight software projects written in Java, and wherever possible compared with existing state-of-the-art smell detectors based on source code analysis. The results indicate that HIST’s precision ranges between 61% and 80%, and its recall ranges between 61% and 100%. More importantly, the results confirm that HIST is able to identify code smells that cannot be identified through approaches solely based on code analysis.
A digital device can be the proof of innocence of an accused. In this case, the digital evidences retrieved on the device constitutes a digital alibi.
Many studies have been shown how it is possible to set up a PC or any other digital device in order to automatically produce digital evidences. How is reliable a digital alibi?
In this project, we show a novel techniques to set up a false digital alibi using Apple operating system, Mac OS X 10.7.3 (also called Lion). We demonstrate that you can create digital evidences in very simple modes, simulating operations easily attributable to human activities and where the produced traces remain indistinguishable to a post-mortem analysis on the computer. This work emphasizes how the probative value of digital evidence should always be evaluated together with traditional investigation techniques.
Do They Really Smell Bad? A Study on Developers' Perception of Bad Code SmellsFabio Palomba
In the last decade several catalogues have been defined to characterize bad code smells, i.e., symptoms of poor design and implementation choices. On top of such catalogues, researchers have defined methods and tools to automatically detect and/or remove bad smells. Nevertheless, there is an ongoing debate regarding the extent to which developers perceive bad smells as serious design problems. Indeed, there seems to be a gap between theory and practice, i.e., what is believed to be a problem (theory) and what is actually a problem (practice). This paper presents a study aimed at providing empirical evidence on how developers perceive bad smells. In this study, we showed to developers code entities—belonging to three systems— affected and not by bad smells, and we asked them to indicate whether the code contains a potential design problem, and if any, the nature and severity of the problem. The study involved both original developers from the three projects and outsiders, namely industrial developers and Master students. The results provide insights on characteristics of bad smells not yet explored sufficiently. Also, our findings could guide future research on approaches for the detection and removal of bad smells.
Software evolution often leads to the degradation of software design quality. In Object-Oriented (OO) systems, this often results in packages that are hard to understand and main- tain, as they group together heterogeneous classes with unrelated responsibilities. In such cases, state-of-the-art re-modularization tools solve the problem by proposing a new organization of the existing classes into packages. However, as indicated by recent empirical studies, such approaches require changing thousands of lines of code to implement the new recommended modularization. In this demo, we present the implementation of an Extract Package refactoring approach in ARIES (Automated Refactoring In EclipSe), a tool supporting refactoring operations in Eclipse. Unlike state-of-the-art approaches, ARIES automatically identifies and removes single low-cohesive packages from software systems, which represent localized design flaws in the package organization, with the aim to incrementally improve the overall quality of the software modularisation.
ARIES: An Eclipse Plug-in To Support Extract Class RefactoringFabio Palomba
During software evolution changes are inevitable. These changes may lead to design erosion and the introduction of inadequate design solutions, such as design antipatterns. Several empirical studies provide evidence that the presence of antipatterns is generally associated with lower productivity, greater rework, and more significant design efforts for developers. In order to improve the quality and remove antipatterns, refactoring operations are needed. In this demo, we present the Extract class features of ARIES (Automated Refactoring In EclipSe), an Eclipse plug-in that supports the software engineer in removing the “Blob” antipattern.
Detecting Bad Smells in Source Code using Change History InformationFabio Palomba
Code smells represent symptoms of poor implementation choices. Previous studies found that these smells make source code more difficult to maintain, possibly also increasing its fault-proneness. There are several approaches that identify smells based on code analysis techniques. However, we observe that many code smells are intrinsically characterized by how code elements change over time. Thus, relying solely on structural information may not be sufficient to detect all the smells accurately. We propose an approach to detect five different code smells, namely Divergent Change, Shotgun Surgery, Parallel Inheritance, Blob, and Feature Envy, by exploiting change history information mined from versioning systems. We applied approach, coined as HIST (Historical Information for Smell deTection), to eight software projects written in Java, and wherever possible compared with existing state-of-the-art smell detectors based on source code analysis. The results indicate that HIST’s precision ranges between 61% and 80%, and its recall ranges between 61% and 100%. More importantly, the results confirm that HIST is able to identify code smells that cannot be identified through approaches solely based on code analysis.
A digital device can be the proof of innocence of an accused. In this case, the digital evidences retrieved on the device constitutes a digital alibi.
Many studies have been shown how it is possible to set up a PC or any other digital device in order to automatically produce digital evidences. How is reliable a digital alibi?
In this project, we show a novel techniques to set up a false digital alibi using Apple operating system, Mac OS X 10.7.3 (also called Lion). We demonstrate that you can create digital evidences in very simple modes, simulating operations easily attributable to human activities and where the produced traces remain indistinguishable to a post-mortem analysis on the computer. This work emphasizes how the probative value of digital evidence should always be evaluated together with traditional investigation techniques.
Do They Really Smell Bad? A Study on Developers' Perception of Bad Code SmellsFabio Palomba
In the last decade several catalogues have been defined to characterize bad code smells, i.e., symptoms of poor design and implementation choices. On top of such catalogues, researchers have defined methods and tools to automatically detect and/or remove bad smells. Nevertheless, there is an ongoing debate regarding the extent to which developers perceive bad smells as serious design problems. Indeed, there seems to be a gap between theory and practice, i.e., what is believed to be a problem (theory) and what is actually a problem (practice). This paper presents a study aimed at providing empirical evidence on how developers perceive bad smells. In this study, we showed to developers code entities—belonging to three systems— affected and not by bad smells, and we asked them to indicate whether the code contains a potential design problem, and if any, the nature and severity of the problem. The study involved both original developers from the three projects and outsiders, namely industrial developers and Master students. The results provide insights on characteristics of bad smells not yet explored sufficiently. Also, our findings could guide future research on approaches for the detection and removal of bad smells.
Software evolution often leads to the degradation of software design quality. In Object-Oriented (OO) systems, this often results in packages that are hard to understand and main- tain, as they group together heterogeneous classes with unrelated responsibilities. In such cases, state-of-the-art re-modularization tools solve the problem by proposing a new organization of the existing classes into packages. However, as indicated by recent empirical studies, such approaches require changing thousands of lines of code to implement the new recommended modularization. In this demo, we present the implementation of an Extract Package refactoring approach in ARIES (Automated Refactoring In EclipSe), a tool supporting refactoring operations in Eclipse. Unlike state-of-the-art approaches, ARIES automatically identifies and removes single low-cohesive packages from software systems, which represent localized design flaws in the package organization, with the aim to incrementally improve the overall quality of the software modularisation.
ARIES: An Eclipse Plug-in To Support Extract Class RefactoringFabio Palomba
During software evolution changes are inevitable. These changes may lead to design erosion and the introduction of inadequate design solutions, such as design antipatterns. Several empirical studies provide evidence that the presence of antipatterns is generally associated with lower productivity, greater rework, and more significant design efforts for developers. In order to improve the quality and remove antipatterns, refactoring operations are needed. In this demo, we present the Extract class features of ARIES (Automated Refactoring In EclipSe), an Eclipse plug-in that supports the software engineer in removing the “Blob” antipattern.
When and Why Your Code Starts to Smell BadFabio Palomba
In past and recent years, the issues related to man- aging technical debt received significant attention by researchers from both industry and academia. There are several factors that contribute to technical debt. One of these is represented by code bad smells, i.e., symptoms of poor design and implementation choices. While the repercussions of smells on code quality have been empirically assessed, there is still only anecdotal evidence on when and why bad smells are introduced. To fill this gap, we conducted a large empirical study over the change history of 200 open source projects from different software ecosystems and investigated when bad smells are introduced by developers, and the circumstances and reasons behind their introduction. Our study required the development of a strategy to identify smell- introducing commits, the mining of over 0.5M commits, and the manual analysis of 9,164 of them (i.e., those identified as smell- introducing). Our findings mostly contradict common wisdom stating that smells are being introduced during evolutionary tasks. In the light of our results, we also call for the need to develop a new generation of recommendation systems aimed at properly planning smell refactoring activities.
Textual Analysis for Code Smell DetectionFabio Palomba
The negative impact of smells on the quality of a software systems has been empirical investigated in several studies. This has recalled the need to have approaches for the identification and the removal of smells. While approaches to remove smells have investigated the use of both structural and conceptual information extracted from source code, approaches to identify smells are based on structural information only. In this paper, we bridge the gap analyzing to what extent conceptual information, extracted using textual analysis techniques, can be used to identify smells in source code. The proposed textual-based approach for detecting smells in source code, coined as TACO (Textual Analysis for Code smell detectiOn), has been instantiated for detecting the Long Method smell and has been evaluated on three Java open source projects. The results indicate that TACO is able to detect between 50% and 77% of the smell instances with a precision ranging between 63% and 67%. In addition, the results show that TACO identifies smells that are not identified by approaches based on solely structural information.
A Textual-based Technique for Smell DetectionFabio Palomba
In this paper, we present TACO (Textual Analysis for Code Smell Detection), a technique that exploits textual analysis to detect a family of smells of different nature and different levels of granularity. We run TACO on 10 open source projects, comparing its performance with existing smell detectors purely based on structural information extracted from code components. The analysis of the results indicates that TACO’s precision ranges between 67% and 77%, while its recall ranges between 72% and 84%. Also, TACO often outperforms alternative structural approaches confirming, once again, the usefulness of information that can be derived from the textual part of code components.
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...Fabio Palomba
The role of software testing in the software development process is widely recognized as a key activity for successful projects. This is the reason why in the last decade several automatic unit test generation tools have been proposed, focusing particularly on high code coverage. Despite the effort spent by the research community, there is still a lack of empirical investigation aimed at analyzing the characteristics of the produced test code. Indeed, while some studies inspected the effectiveness and the usability of these tools in practice, it is still unknown whether test code is maintainable. In this paper, we conducted a large scale empirical study in order to analyze the diffusion of bad design solutions, namely test smells, in automatically generated unit test classes. Results of the study show the high diffusion of test smells as well as the frequent co-occurrence of different types of design problems. Finally we found that all test smells have strong positive correlation with structural characteristics of the systems such as size or number of classes.
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...Fabio Palomba
Code smells are symptoms of poor design and implementation choices. Previous studies empirically assessed the impact of smells on code quality and clearly indicate their negative impact on maintainability, including a higher bug-proneness of components affected by code smells. In this paper we capture previous findings on bug-proneness to build a specialized bug prediction model for smelly classes. Specifically, we evaluate the contribution of a measure of the severity of code smells (i.e., code smell intensity) by adding it to existing bug prediction models and comparing the results of the new model against the baseline model. Results indicate that the accuracy of a bug prediction model increases by adding the code smell intensity as predictor. We also evaluate the actual gain provided by the intensity index with respect to the other metrics in the model, including the ones used to compute the code smell intensity. We observe that the intensity index is much more important as compared to other metrics used for predicting the buggyness of smelly classes.
Some slides on people management: why managing people in the software development lifecycle, how to manage people and how to choose team members of a project.
Interfaces Digitais: Design, Estética e Interações 2Guilherme Ranoya
Disciplina do curso de pós-graduação em Gestão Integrada de Comunicação Digital nas Empresas (DIGICORP - ECA/USP)
Aula 2: Estética (linhas de pensamento, origens das visões e valores)
This is the COSC 426 Lecture 4 on Designing AR Interfaces. Taught by Mark Billinghurst from the HIT Lab NZ at the University of Canterbury. This is part of his graduate course on Augmented Reality. Taught on August 2nd 2013
Slides from the introductory presentation, given at the European Bioinformatics Institute (EBI), October 2, 2009.
EBI Interfaces is an informal interest group created by Eamonn Maguire, Francis Rowland and Nils Gehlenborg at the EBI, Hinxton, UK.
The idea is to provide developers at the EBI, and in the wider bioinformatics and life sciences community, with resources and advice when creating websites, interfaces and visualizations of biological data.
See http://ebiinterfaces.wordpress.com/
http://taxitaiongtho.com/chuyen-nha-lien-tinh-thue-xe-tai-lien-tinh/le bao
Dịch Vụ Chuyển Nhà Liên Tình, Chuyển Nhà Liên Tình, xe tải chuyển nhà liên tỉnh, chuyển nhà trọn gói liên tỉnh
http://taxitaiongtho.com/chuyen-nha-lien-tinh-thue-xe-tai-lien-tinh/
My keynote talk at the 2007 IA Konferenz in Stuttgart, Germany, I argued we need to create fewer final designed artifacts and more tools to help everyone design. The audio can be downloaded from here: http://www.iavoice.com/2007/11/27/ia-konferenz-2007-keynote-english/
Travelocity staged an infomration and training week for the employees in the Curtomer Experience Group. This presentation is a high-level primer about IA, its origins and its practice
Who’s Afraid of Open Design? - Emanuela Damiani - Codemotion Rome 2018Codemotion
A design process can be extraordinarily structured, or entirely missing. Either way, it often requires a remarkable number of conversations with all the stakeholders involves, including people from different departments and the users. But, what does happen when we add the unpredictable power of a community? In this talk, I’ll share my thoughts, fears and views on working for an open-source product.
When and Why Your Code Starts to Smell BadFabio Palomba
In past and recent years, the issues related to man- aging technical debt received significant attention by researchers from both industry and academia. There are several factors that contribute to technical debt. One of these is represented by code bad smells, i.e., symptoms of poor design and implementation choices. While the repercussions of smells on code quality have been empirically assessed, there is still only anecdotal evidence on when and why bad smells are introduced. To fill this gap, we conducted a large empirical study over the change history of 200 open source projects from different software ecosystems and investigated when bad smells are introduced by developers, and the circumstances and reasons behind their introduction. Our study required the development of a strategy to identify smell- introducing commits, the mining of over 0.5M commits, and the manual analysis of 9,164 of them (i.e., those identified as smell- introducing). Our findings mostly contradict common wisdom stating that smells are being introduced during evolutionary tasks. In the light of our results, we also call for the need to develop a new generation of recommendation systems aimed at properly planning smell refactoring activities.
Textual Analysis for Code Smell DetectionFabio Palomba
The negative impact of smells on the quality of a software systems has been empirical investigated in several studies. This has recalled the need to have approaches for the identification and the removal of smells. While approaches to remove smells have investigated the use of both structural and conceptual information extracted from source code, approaches to identify smells are based on structural information only. In this paper, we bridge the gap analyzing to what extent conceptual information, extracted using textual analysis techniques, can be used to identify smells in source code. The proposed textual-based approach for detecting smells in source code, coined as TACO (Textual Analysis for Code smell detectiOn), has been instantiated for detecting the Long Method smell and has been evaluated on three Java open source projects. The results indicate that TACO is able to detect between 50% and 77% of the smell instances with a precision ranging between 63% and 67%. In addition, the results show that TACO identifies smells that are not identified by approaches based on solely structural information.
A Textual-based Technique for Smell DetectionFabio Palomba
In this paper, we present TACO (Textual Analysis for Code Smell Detection), a technique that exploits textual analysis to detect a family of smells of different nature and different levels of granularity. We run TACO on 10 open source projects, comparing its performance with existing smell detectors purely based on structural information extracted from code components. The analysis of the results indicates that TACO’s precision ranges between 67% and 77%, while its recall ranges between 72% and 84%. Also, TACO often outperforms alternative structural approaches confirming, once again, the usefulness of information that can be derived from the textual part of code components.
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...Fabio Palomba
The role of software testing in the software development process is widely recognized as a key activity for successful projects. This is the reason why in the last decade several automatic unit test generation tools have been proposed, focusing particularly on high code coverage. Despite the effort spent by the research community, there is still a lack of empirical investigation aimed at analyzing the characteristics of the produced test code. Indeed, while some studies inspected the effectiveness and the usability of these tools in practice, it is still unknown whether test code is maintainable. In this paper, we conducted a large scale empirical study in order to analyze the diffusion of bad design solutions, namely test smells, in automatically generated unit test classes. Results of the study show the high diffusion of test smells as well as the frequent co-occurrence of different types of design problems. Finally we found that all test smells have strong positive correlation with structural characteristics of the systems such as size or number of classes.
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...Fabio Palomba
Code smells are symptoms of poor design and implementation choices. Previous studies empirically assessed the impact of smells on code quality and clearly indicate their negative impact on maintainability, including a higher bug-proneness of components affected by code smells. In this paper we capture previous findings on bug-proneness to build a specialized bug prediction model for smelly classes. Specifically, we evaluate the contribution of a measure of the severity of code smells (i.e., code smell intensity) by adding it to existing bug prediction models and comparing the results of the new model against the baseline model. Results indicate that the accuracy of a bug prediction model increases by adding the code smell intensity as predictor. We also evaluate the actual gain provided by the intensity index with respect to the other metrics in the model, including the ones used to compute the code smell intensity. We observe that the intensity index is much more important as compared to other metrics used for predicting the buggyness of smelly classes.
Some slides on people management: why managing people in the software development lifecycle, how to manage people and how to choose team members of a project.
Interfaces Digitais: Design, Estética e Interações 2Guilherme Ranoya
Disciplina do curso de pós-graduação em Gestão Integrada de Comunicação Digital nas Empresas (DIGICORP - ECA/USP)
Aula 2: Estética (linhas de pensamento, origens das visões e valores)
This is the COSC 426 Lecture 4 on Designing AR Interfaces. Taught by Mark Billinghurst from the HIT Lab NZ at the University of Canterbury. This is part of his graduate course on Augmented Reality. Taught on August 2nd 2013
Slides from the introductory presentation, given at the European Bioinformatics Institute (EBI), October 2, 2009.
EBI Interfaces is an informal interest group created by Eamonn Maguire, Francis Rowland and Nils Gehlenborg at the EBI, Hinxton, UK.
The idea is to provide developers at the EBI, and in the wider bioinformatics and life sciences community, with resources and advice when creating websites, interfaces and visualizations of biological data.
See http://ebiinterfaces.wordpress.com/
http://taxitaiongtho.com/chuyen-nha-lien-tinh-thue-xe-tai-lien-tinh/le bao
Dịch Vụ Chuyển Nhà Liên Tình, Chuyển Nhà Liên Tình, xe tải chuyển nhà liên tỉnh, chuyển nhà trọn gói liên tỉnh
http://taxitaiongtho.com/chuyen-nha-lien-tinh-thue-xe-tai-lien-tinh/
My keynote talk at the 2007 IA Konferenz in Stuttgart, Germany, I argued we need to create fewer final designed artifacts and more tools to help everyone design. The audio can be downloaded from here: http://www.iavoice.com/2007/11/27/ia-konferenz-2007-keynote-english/
Travelocity staged an infomration and training week for the employees in the Curtomer Experience Group. This presentation is a high-level primer about IA, its origins and its practice
Who’s Afraid of Open Design? - Emanuela Damiani - Codemotion Rome 2018Codemotion
A design process can be extraordinarily structured, or entirely missing. Either way, it often requires a remarkable number of conversations with all the stakeholders involves, including people from different departments and the users. But, what does happen when we add the unpredictable power of a community? In this talk, I’ll share my thoughts, fears and views on working for an open-source product.
Talk given Oct 2018 for Albuquerque, NM's "Girl Develop It" group.
What is UX?: Explanation of the different aspects
of UX
Risks: What happens if we skip any of
these aspects of UX?
Fail Boat: What doing it wrong
looks like and how we can do it right
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
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.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
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.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
4. Challenges of Next!
Better understanding of the cultural values, evaluation,
interpretation, ethics and identity inherent the tangible
cultural heritage, intangible and digital.
Challenge
Solution
Tourist can "enter" in the cultural site and can acquire
more sense of belonging and integration with the
place where he stays. This will facilitate national
belonging and foreigners integration.
sabato 28 settembre 13
5. What is Next!?
An Android app to support
tourists activities
Next! guess your next
favourite place or look for
places next to your position
An Android app to increase
cultural baggage
sabato 28 settembre 13
6. What is Next!?
Next! includes multimedia
information like images and
videos fromYoutube and
other Google apps
Next! includes
historical
informations from
Wikipedia
sabato 28 settembre 13
7. Suggests in Next!
Next! “automatically” know what is the
nearest place closest to user interests
Using Search Graph, Next! traces all
sites visited by users
In this way, is easy to suggest the right
next sites for an user
sabato 28 settembre 13
8. Next! Navigator
A webGIS provides data to
Next!, allowing the path
building...
In the future, users can
retrieve also parking, foods,
leisure near a place
sabato 28 settembre 13
10. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
sabato 28 settembre 13
11. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
Actually, the only
way to search
points of interest is
to find it on a map...
State of art
sabato 28 settembre 13
12. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
There are a lot of apps, but
none of these includes a
complete platform for
touristic info
State of art
None of these uses the historical graph!
sabato 28 settembre 13
13. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
1) Tanyel receives information on the place visited
Problem Scenarios
in Next!
2) Nika searches new places to visit
3) Alexandre searches the path for the next site
3 problem scenarios, one for all main
functionalities of Next!
sabato 28 settembre 13
14. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
1) An user can receive information on the place visited
2) An user can search new places to visit
3) An user can search the path for the next site
sabato 28 settembre 13
15. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
1) Tanyel receives informations
on the place visited
sabato 28 settembre 13
16. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
1) Tanyel receives informations
on the place visited
time-saving
sabato 28 settembre 13
17. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
1) Tanyel receives informations
on the place visited
sabato 28 settembre 13
18. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
1) Tanyel receives informations
on the place visited
Money-saving
sabato 28 settembre 13
19. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
1) Tanyel receives informations
on the place visited
sabato 28 settembre 13
20. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
1) Tanyel receives informations
on the place visited
Smartphone needed
sabato 28 settembre 13
21. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
2) Nika searches new places to visit
sabato 28 settembre 13
22. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
2) Nika searches new places to visit
Suggests
sabato 28 settembre 13
23. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
2) Nika searches new places to visit
sabato 28 settembre 13
24. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
2) Nika searches new places to visit
Time-saving
sabato 28 settembre 13
25. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
2) Nika searches new places to visit
sabato 28 settembre 13
26. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
3) Alexandre searches the path
for the next site
sabato 28 settembre 13
27. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
3) Alexandre searches the path
for the next site
Time-saving
sabato 28 settembre 13
28. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
3) Alexandre searches the path
for the next site
sabato 28 settembre 13
29. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
New Ideas of Next!
3) Alexandre searches the path
for the next site
GPS needed
sabato 28 settembre 13
30. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
PERCEPTION
INTERPRETATION
MAKING SENSE
Simple design & simple
graphic elements for
immediate perception
and interpretation
sabato 28 settembre 13
31. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
PERCEPTION
INTERPRETATION
MAKING SENSE
Conceptual division of tasks
Proximity Gestalt Principle
sabato 28 settembre 13
32. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
PERCEPTION
INTERPRETATION
MAKING SENSE
Similarity Gestalt Principle
sabato 28 settembre 13
33. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
PERCEPTION
INTERPRETATION
MAKING SENSE
Use of “standard” icons
Consistency
sabato 28 settembre 13
34. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
SYSTEM GOAL
ACTION PLAN
EXECUTION
Virtuality Principle
sabato 28 settembre 13
35. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
SYSTEM GOAL
ACTION PLAN
EXECUTION
Icons suggest goals
to the user
VisualThinking
sabato 28 settembre 13
36. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
Informative
feedback
Shortcut
Reduce the load
of short-term
memory
Error
Management
Coherence
CTRL-Z
Dialogs at closing
Intern control
sabato 28 settembre 13
37. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
Informative
feedback
Shortcut
Reduce the load
of short-term
memory
Error
Management
Coherence
CTRL-Z
Dialogs at closing
Intern control
sabato 28 settembre 13
38. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
Informative
feedback
Shortcut
Reduce the load
of short-term
memory
Error
Management
Coherence
CTRL-Z
Dialogs at closing
Intern control
sabato 28 settembre 13
39. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
Informative
feedback
Shortcut
Reduce the load
of short-term
memory
Error
Management
Coherence
CTRL-Z
Dialogs at closing
Intern control
sabato 28 settembre 13
40. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
Informative
feedback
Shortcut
Reduce the load
of short-term
memory
Error
Management
Coherence
CTRL-Z
Dialogs at closing
Intern control
sabato 28 settembre 13
41. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
Informative
feedback
Shortcut
Reduce the load
of short-term
memory
Error
Management
Coherence
CTRL-Z
Dialogs at closing
Intern control
sabato 28 settembre 13
42. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
Informative
feedback
Shortcut
Reduce the load
of short-term
memory
Error
Management
Coherence
CTRL-Z
Dialogs at closing
Intern control
sabato 28 settembre 13
43. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
Storyboard
sabato 28 settembre 13
44. User Centered Interface Design
Problem
AnalysisUsers
Requirement
Activity
Design
Information
Design
Interaction
Design
Storyboard
sabato 28 settembre 13
47. Why?
“Usability is like oxygen. You
don’t notice it until it’s missing”
Usability and the bottom line [Donahue]
“1 $ spent in usability results in a
return of 30.25 $“
Usability is good business [Donahue et al.]
sabato 28 settembre 13
49. Usability Testing Design
Problems to solve
How verify usability?
How select users?
How measure usability?
How define oracles?
How define tasks?
How organize
tasks?
How define usability lab?
When perform usability
testing?
How control the results?
sabato 28 settembre 13
50. Usability Testing Design
On Which Version of Next!?
Next! 1.0
Surely, on the prototype of Next!
sabato 28 settembre 13
51. Usability Testing Design
How Verify Usability?
Use more than one technique!
Nielsen’sTen Usability Heuristics
Task Analysis
Empirical evaluation choosing a competitor
sabato 28 settembre 13
52. Usability Testing Design
How Verify Usability?
Use more than one technique!
Nielsen’sTen Usability Heuristics
Task Analysis
Empirical evaluation choosing a competitor
sabato 28 settembre 13
53. Usability Testing Design
How Verify Usability?
Use more than one technique!
Nielsen’sTen Usability Heuristics
Task Analysis
Empirical evaluation choosing a competitor
sabato 28 settembre 13
54. Usability Testing Design
How Define Tasks?
Problem
Analysis
1) Tanyel receives information on the place visited
2) Nika searches new places to visit
3) Alexandre searches the path for the next site
3 tasks, one for all main
functionalities of Next!
sabato 28 settembre 13
55. Usability Testing Design
How Measure Usability?
NOS
Number of steps taken by
the user in performing a task
S/T
Seconds required by the
user to perform a task
E/T
Errors made by the user in
performing a task
sabato 28 settembre 13
56. Usability Testing Design
How Define Oracles?
Metric Name Oracle defined by
NOS (Number of Steps) Interface designer
S/T (Seconds for Task) Interface designer
E/T (Errors for Task) Pilot Test
sabato 28 settembre 13
57. Usability Testing Design
How Select Users?
10 Novice Users
10 Expert Users
Users who have never used
a smartphone
Users expert in the use
of smartphone
sabato 28 settembre 13
58. Usability Testing Design
How Verify Usability?
Use more than one technique!
Nielsen’sTen Usability Heuristics
Task Analysis
Empirical evaluation choosing a competitor
sabato 28 settembre 13
60. Choosing the Competitor
Google Maps...Why?
Google Maps is the one that
allows to execute every
tasks selected in the
Usability Design
Usability Testing Design
sabato 28 settembre 13
61. Experimental Design
We evaluated Google Maps using the same
metrics of Next!
NOS
Number of steps taken by
the user in performing a task
S/T
Seconds required by the
user to perform a task
E/T
Errors made by the user in
performing a task
Usability Testing Design
sabato 28 settembre 13
62. Experimental Design
To reduce the conditionating
factor we used the Within
Group Design
5 Novice users and 5 Expert
users began testing Google
Maps
Usability Testing Design
sabato 28 settembre 13
63. Usability Testing Design
Organizing tasks
Pre-execution
Execution
Post-
execution
1) Informative consent
2) Pre-execution survey
3) Task list
4) Comprehension survey
NOS
S/T
E/T
Usability Testing Design
Within group design
sabato 28 settembre 13
64. Usability Testing Design
Organizing tasks
Pre-execution
Execution
Post-
execution
1) Informative consent
2) Pre-execution survey
3) Task list
4) Comprehension survey
HOW STORE USER
EXPERIENCE?
NOS
S/T
E/T
Usability Testing Design
Within group design
sabato 28 settembre 13
65. Usability Testing Design
Organizing tasks
Pre-execution
Execution
Post-
execution
1) Informative consent
2) Pre-execution survey
3) Task list
4) Comprehension survey
THINK ALOUD WITH
feedback REPORTS
NOS
S/T
E/TWithin group design
sabato 28 settembre 13
70. Usability Testing Results
How Verify Usability?
Use more than one technique!
Nielsen’sTen Usability Heuristics
Task Analysis
Empirical evaluation choosing a competitor
sabato 28 settembre 13
71. Usability Testing Results
Nielsen’s Ten Usability Heuristics
Visibility of system status
Match between system and real world (Speaking user language)
User control and freedom (No too long actions, no unwanted actions)
Consistency and standards
Error prevention (CRTL-Z...)
Recognize rather than recall (Simple layout)
Efficiency and flexibility (Shortcut keys)
Simple and natural communication (Minimalist design)
Help users recognize and recover from errors (Natural language for errors)
Help and documentation
sabato 28 settembre 13
72. Usability Testing Results
Nielsen’s Ten Usability Heuristics
Visibility of system status
Match between system and real world (Speaking user language)
User control and freedom (No too long actions, no unwanted actions)
Consistency and standards
Error prevention (CRTL-Z...)
Recognize rather than recall (Simple layout)
Efficiency and flexibility (Shortcut keys)
Simple and natural communication (Minimalist design)
Help users recognize and recover from errors (Natural language for errors)
Help and documentation
sabato 28 settembre 13
73. Usability Testing Results
How Verify Usability?
Use more than one technique!
Nielsen’sTen Usability Heuristics
Task Analysis
Empirical evaluation choosing a competitor
sabato 28 settembre 13
77. User Feedbacks for Comprehension
Usability Testing Results
3 Novice users wondered:
“What is this icon?”
“What is the functionality?”
sabato 28 settembre 13
78. User Feedbacks for Comprehension
Usability Testing Results
4 Expert users declared
that this item is not in
the right screen
sabato 28 settembre 13
79. User Feedbacks for Comprehension
Usability Testing Results
7 Novice users and 2
Expert users declared
that this icon is not
comprehensible
sabato 28 settembre 13
80. Usability Testing Results
How Verify Usability?
Use more than one technique!
Nielsen’sTen Usability Heuristics
Task Analysis
Empirical evaluation choosing a competitor
sabato 28 settembre 13
84. Confirm Experimental Results
Experimental Evaluation
We had to prove that the test results were not
casually derived, applying the One Tail t-test
One Tail t-test is applicable only if you are a
normal distribution of data and the equality of
variances
sabato 28 settembre 13
85. Confirm Experimental Results
Experimental Evaluation
Property Test Passed
Normal distribution
of data
Shapiro-Wilk test
Equality of variances Bartlett test
sabato 28 settembre 13
87. ID T p-value
Hs/t-0 3.9694 0.0001981
HNOE-0 -1.8431 0.03517
Confirm Experimental Results
Experimental Evaluation
p-value = 0.05
Null hypothesis was rejected, so
we confirmed the test results!
sabato 28 settembre 13
88. Conclusions and Future Works
We are on the right way
We have to resolve the problems encountered by users,
testing different icons or different layouts, and then we have
to repeat the usability testing, documentation design!
sabato 28 settembre 13
89. Conclusions and Future Works
We have to implement QR functionality
sabato 28 settembre 13
90. Conclusions and Future Works
We’ll submit our project to upXapp contest in
few days
sabato 28 settembre 13
91. Thank you!
Questions and/or
comments
Dario Di Nucci d.dinucci@studenti.unisa.it
Fabio Palomba f.palomba3@studenti.unisa.it
Michele Tufano m.tufano10@studenti.unisa.it
sabato 28 settembre 13