Research I did a while back on using a web proxy to capture web interactions remotely and then visualizing those interactions. Basically, WebQuilt is a tool to support remote usability testing of web sites.
WebQuilt is a web logging and visualization system that helps web design teams run usability tests (both local and remote) and analyze the collected data. Logging is done through a proxy, overcoming many of the problems with server-side and client-side logging. Captured usage traces can be aggregated and visualized in a zooming interface that shows the web pages people viewed. The visualization also shows the most common paths taken through the website for a given task, as well as the optimal path for that task as designated by the designer. This paper discusses the architecture of WebQuilt and also describes how it can be extended for new kinds of analyses and visualizations.
Authors are Jason Hong and James Landay
Leveraging microsoft’s e discovery platform in your organizationDon Donais
Statistics around eDiscovery implementations are staggering: 90% of US companies are engaged in some sort of litigation with an average eDiscovery case costing around $1 million. Organizations can leverage their Microsoft investment without having to purchase expensive add-ons. This session will look at how to configure and use the Microsoft eDiscovery platform.
SOCCNX11 All you need to know about Orient MeNico Meisenzahl
Orient Me is the first Connections service which is built on the new Connections Pink stack. Nico will talk about the installation, integration and administration of Orient Me. He will also provide useful insights around the used backend tools. Walk away with knowledge how to successfully run Orient Me in your own Connections environment!
Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar Fishbowl Solutions
Integrate and Streamline the Management of Enterprise Content within Oracle WebCenter
If you are struggling with how long it takes to integrate and load content from other systems and applications into Oracle WebCenter, and then effectively manage that content through its lifecycle using workflows, then please join us for this webinar as we discuss use cases for two of our most-popular WebCenter components – Enterprise Batch Loader and Workflow solutions Set.
Enterprise Batch Loader
Do you need an easier way to link information across multiple business systems?
Do you struggle with slow processes to batch load content?
Workflow Solution Set
Are you considering using Oracle WebCenter Content workflows but not sure where to begin?
Do you ever need to audit what happened in your workflows?
Have you ever had difficulty finding content that is in workflow and its status?
Leveraging microsoft’s e discovery platform in your organizationDon Donais
Statistics around eDiscovery implementations are staggering: 90% of US companies are engaged in some sort of litigation with an average eDiscovery case costing around $1 million. Organizations can leverage their Microsoft investment without having to purchase expensive add-ons. This session will look at how to configure and use the Microsoft eDiscovery platform.
SOCCNX11 All you need to know about Orient MeNico Meisenzahl
Orient Me is the first Connections service which is built on the new Connections Pink stack. Nico will talk about the installation, integration and administration of Orient Me. He will also provide useful insights around the used backend tools. Walk away with knowledge how to successfully run Orient Me in your own Connections environment!
Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar Fishbowl Solutions
Integrate and Streamline the Management of Enterprise Content within Oracle WebCenter
If you are struggling with how long it takes to integrate and load content from other systems and applications into Oracle WebCenter, and then effectively manage that content through its lifecycle using workflows, then please join us for this webinar as we discuss use cases for two of our most-popular WebCenter components – Enterprise Batch Loader and Workflow solutions Set.
Enterprise Batch Loader
Do you need an easier way to link information across multiple business systems?
Do you struggle with slow processes to batch load content?
Workflow Solution Set
Are you considering using Oracle WebCenter Content workflows but not sure where to begin?
Do you ever need to audit what happened in your workflows?
Have you ever had difficulty finding content that is in workflow and its status?
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike WatsonJoel Oleson
Global Intranets, Extranets, and Internet sites in advanced farm deployments. Lessons learned and guidance is shared in this deck... Caching, Firewall, Security, Optimization, etc... Presented with Joel Oleson, Shane Young, and Mike Watson at Tech Ed 2008
SharePoint 2016 Platform Adoption Lessons Learned and Advanced TroubleshootingJohn Calvert
Lessons learned from designing and building a modern SharePoint Server 2016 platform architecture for a Government of Canada agency and some advanced troubleshooting scenarios that arose. We will look in particular at web and service applications, host-named site collections, search, and security.
SharePoint Migration What do I expect ? (The issues and solutions)K.Mohamed Faizal
There are tons of resources on the Internet today that tell you how to migrate your SharePoint 2007 environment to SharePoint 2010.
Sometimes, achieving something becomes difficult due to of lack of information, This presentation will help you in achieving your migration goal.
You may probably have seen these articles or links that talk about
◦Top 5 SharePoint Migration Pitfalls
◦Database attach or Backup-SPSite / Restore-SPSite
◦Understand the SharePoint Migration Schedule
◦Understand Your SharePoint Customizations Before Migrating
In this presentation, I am going to cover the issue that you may discover during your migration or after migration. ?
Integrate External Data With The Business Data CatalogTom Resing
Business Data Catalog with Microsoft SQL Server including an Overview of the Business Data Catalog, an Introduction to Configuring the BDC, and a Demonstration of Integrating the BDC with List Forms.
The true value of content is its ability to be easily found, accessed, and shared. Without these traits, web pages and other enterprise content cannot be surfaced to the users that need them most. Click the video to learn about Fishbowl Solutions' Google Search Appliance (GSA) Connector for Oracle Universal Content Management (Oracle UCM). This connector enables organizations to harness the power of the world’s most powerful search engine inside their firewall, providing users with fast, relevant, continuously updated search results for Oracle UCM and UCM powered applications, websites and business systems.
The Path through SharePoint MigrationsBrian Caauwe
Whether you are planning on upgrading to SharePoint 2016 or moving to the cloud, transitioning from one version to another has many moving parts that tend to bring out the worst in your SharePoint environment. This session will give you information on:
• How to prepare yourself BEFORE you spin up your new environment or buy that Office 365 licensing
• Different migration patterns and why you may want to use these different methods
• How to prepare yourself for life after migration, which won't include updating your resume.
Advanced SharePoint Web Part DevelopmentRob Windsor
Web Parts are the foundation of user interfaces in SharePoint. As a developer, it's relatively easy (particularly with the Visual Web Part) to build something simple and get it deployed. But what do you do when you need to add editable properties or when you need to connect two Web Parts together? This fast-paced, demo-heavy session covers the more advanced aspects of building Web Parts for SharePoint on-premises and SharePoint Online. We’ll take a look at creating custom editor parts, constructing connected Web Parts, and how to render Web Parts asynchronously. We’ll also explore how to build JavaScript-only Web Parts that will work with SharePoint Online.
Sps boston 2014_o365_power_shell_csom_amitvamitvasu
How to extend SharePoint Online PowerShell automation using Client Side Object Model for SharePoint 2013. This approach also works for On-prem SharePoint 2013.
A Real World Guide to Building Highly Available Fault Tolerant SharePoint FarmsEric Shupps
Building SharePoint farms for development and testing is easy. But building highly available farms to meet enterprise service level agreements that are fault tolerant, scalable and connected to the cloud? Not quite so easy. In this workshop you will learn how to plan, design and implement a highly availability farm architecture based upon proven techniques and practical guidance. You will also discover how to connect on-premise deployments to the cloud, manage security and identity synchronization, correctly configure workflow farms, and prepare your environment for app integration.
Toss ‘N’ Turn: Smartphone as Sleep and Sleep Quality Detector, at CHI 2014Jason Hong
The rapid adoption of smartphones along with a growing habit for using these devices as alarm clocks presents an opportunity to use this device as a sleep detector. This adds value to UbiComp and personal informatics in terms of user context and new performance data to collect and visualize, and it benefits healthcare as sleep is correlated with many health issues. To assess this opportunity, we collected one month of phone sensor and sleep diary entries from 27 people who have a variety of sleep contexts. We used this data to construct models that detect sleep and wake states, daily sleep quality, and global sleep quality. Our system classifies sleep state with 93.06% accuracy, daily sleep quality with 83.97% accuracy, and overall sleep quality with 81.48% accuracy. Individual models performed better than generally trained models, where the individual models require 3 days of ground truth data and 3 weeks of ground truth data to perform well on detecting sleep and sleep quality, respectively. Finally, the features of noise and movement were useful to infer sleep quality.
CANTINA: A Content-Based Approach to Detecting Phishing Web Sites, at WWW2007Jason Hong
Phishing is a significant problem involving fraudulent email and web sites that trick unsuspecting users into revealing private information. In this paper, we present the design, implementation, and evaluation of CANTINA, a novel, content-based approach to detecting phishing web sites, based on the TF-IDF information retrieval algorithm. We also discuss the design and evaluation of several heuristics we developed to reduce false positives. Our experiments show that CANTINA is good at detecting phishing sites, correctly labeling approximately 95% of phishing sites.
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike WatsonJoel Oleson
Global Intranets, Extranets, and Internet sites in advanced farm deployments. Lessons learned and guidance is shared in this deck... Caching, Firewall, Security, Optimization, etc... Presented with Joel Oleson, Shane Young, and Mike Watson at Tech Ed 2008
SharePoint 2016 Platform Adoption Lessons Learned and Advanced TroubleshootingJohn Calvert
Lessons learned from designing and building a modern SharePoint Server 2016 platform architecture for a Government of Canada agency and some advanced troubleshooting scenarios that arose. We will look in particular at web and service applications, host-named site collections, search, and security.
SharePoint Migration What do I expect ? (The issues and solutions)K.Mohamed Faizal
There are tons of resources on the Internet today that tell you how to migrate your SharePoint 2007 environment to SharePoint 2010.
Sometimes, achieving something becomes difficult due to of lack of information, This presentation will help you in achieving your migration goal.
You may probably have seen these articles or links that talk about
◦Top 5 SharePoint Migration Pitfalls
◦Database attach or Backup-SPSite / Restore-SPSite
◦Understand the SharePoint Migration Schedule
◦Understand Your SharePoint Customizations Before Migrating
In this presentation, I am going to cover the issue that you may discover during your migration or after migration. ?
Integrate External Data With The Business Data CatalogTom Resing
Business Data Catalog with Microsoft SQL Server including an Overview of the Business Data Catalog, an Introduction to Configuring the BDC, and a Demonstration of Integrating the BDC with List Forms.
The true value of content is its ability to be easily found, accessed, and shared. Without these traits, web pages and other enterprise content cannot be surfaced to the users that need them most. Click the video to learn about Fishbowl Solutions' Google Search Appliance (GSA) Connector for Oracle Universal Content Management (Oracle UCM). This connector enables organizations to harness the power of the world’s most powerful search engine inside their firewall, providing users with fast, relevant, continuously updated search results for Oracle UCM and UCM powered applications, websites and business systems.
The Path through SharePoint MigrationsBrian Caauwe
Whether you are planning on upgrading to SharePoint 2016 or moving to the cloud, transitioning from one version to another has many moving parts that tend to bring out the worst in your SharePoint environment. This session will give you information on:
• How to prepare yourself BEFORE you spin up your new environment or buy that Office 365 licensing
• Different migration patterns and why you may want to use these different methods
• How to prepare yourself for life after migration, which won't include updating your resume.
Advanced SharePoint Web Part DevelopmentRob Windsor
Web Parts are the foundation of user interfaces in SharePoint. As a developer, it's relatively easy (particularly with the Visual Web Part) to build something simple and get it deployed. But what do you do when you need to add editable properties or when you need to connect two Web Parts together? This fast-paced, demo-heavy session covers the more advanced aspects of building Web Parts for SharePoint on-premises and SharePoint Online. We’ll take a look at creating custom editor parts, constructing connected Web Parts, and how to render Web Parts asynchronously. We’ll also explore how to build JavaScript-only Web Parts that will work with SharePoint Online.
Sps boston 2014_o365_power_shell_csom_amitvamitvasu
How to extend SharePoint Online PowerShell automation using Client Side Object Model for SharePoint 2013. This approach also works for On-prem SharePoint 2013.
A Real World Guide to Building Highly Available Fault Tolerant SharePoint FarmsEric Shupps
Building SharePoint farms for development and testing is easy. But building highly available farms to meet enterprise service level agreements that are fault tolerant, scalable and connected to the cloud? Not quite so easy. In this workshop you will learn how to plan, design and implement a highly availability farm architecture based upon proven techniques and practical guidance. You will also discover how to connect on-premise deployments to the cloud, manage security and identity synchronization, correctly configure workflow farms, and prepare your environment for app integration.
Toss ‘N’ Turn: Smartphone as Sleep and Sleep Quality Detector, at CHI 2014Jason Hong
The rapid adoption of smartphones along with a growing habit for using these devices as alarm clocks presents an opportunity to use this device as a sleep detector. This adds value to UbiComp and personal informatics in terms of user context and new performance data to collect and visualize, and it benefits healthcare as sleep is correlated with many health issues. To assess this opportunity, we collected one month of phone sensor and sleep diary entries from 27 people who have a variety of sleep contexts. We used this data to construct models that detect sleep and wake states, daily sleep quality, and global sleep quality. Our system classifies sleep state with 93.06% accuracy, daily sleep quality with 83.97% accuracy, and overall sleep quality with 81.48% accuracy. Individual models performed better than generally trained models, where the individual models require 3 days of ground truth data and 3 weeks of ground truth data to perform well on detecting sleep and sleep quality, respectively. Finally, the features of noise and movement were useful to infer sleep quality.
CANTINA: A Content-Based Approach to Detecting Phishing Web Sites, at WWW2007Jason Hong
Phishing is a significant problem involving fraudulent email and web sites that trick unsuspecting users into revealing private information. In this paper, we present the design, implementation, and evaluation of CANTINA, a novel, content-based approach to detecting phishing web sites, based on the TF-IDF information retrieval algorithm. We also discuss the design and evaluation of several heuristics we developed to reduce false positives. Our experiments show that CANTINA is good at detecting phishing sites, correctly labeling approximately 95% of phishing sites.
Applying the Wisdom of Crowds to Usable Privacy and Security, CMU Crowdsourci...Jason Hong
A summary of my group's work in using crowdsourcing techniques and wisdom of crowds to improve privacy and security. I talked about some techniques to improve crowdsourcing for anti-phishing, some ways of using lots of location data to infer location privacy preferences, and some of our early work on using crowdsourcing to understand privacy preferences regarding smartphone apps.
A Study of Firefighting in the Coming Age of Ubiquitous Computing, 2002Jason Hong
We demonstrate how field studies, interviews, and low-fidelity prototypes can be used to inform the design of ubiquitous computing systems for firefighters. We describe the artifacts and processes used by firefighters to assess, plan, and communicate during emergency situations, showing how accountability affects these decisions, how their current Incident Command System supports these tasks, and some drawbacks of existing solutions. These factors informed the design of a large electronic display for supporting the incident commander, the person who coordinates the overall response strategy in an emergency. Although our focus was on firefighters, our results are applicable for other aspects of emergency response as well, due to common procedures and training.
Rethinking Location Sharing: Exploring the Implications of Social-Driven vs. ...Jason Hong
The popularity of micro-blogging has made general-purpose information sharing a pervasive phenomenon. This trend is now impacting location sharing applications (LSAs) such that users are sharing their location data with a much wider and more diverse audience. In this paper, we describe this as social-driven sharing, distinguishing it from past examples of what we refer to as purpose-driven location sharing. We explore the differences between these two types of sharing by conducting a comparative two-week study with nine participants. We found significant differences in terms of users' decisions about what location information to share, their privacy concerns, and how privacy-preserving their disclosures were. Based on these results, we provide design implications for future LSAs.
Authors are Karen Tang, Jialiu Lin, Jason Hong, and Norman Sadeh
A Framework of Energy Efficient Mobile Sensing for Automatic Human State Reco...Jason Hong
Urban sensing, participatory sensing, and user activity recognition can provide rich contextual information for mobile applications such as social networking and location-based services. However, continuously capturing this contextual information on mobile devices consumes huge amount of energy. In this paper, we present a novel design framework for an Energy Efficient Mobile Sensing System (EEMSS). EEMSS uses hierarchical sensor management strategy to recognize user states as well as to detect state transitions. By powering only a minimum set of sensors and using appropriate sensor duty cycles EEMSS significantly improves device battery life. We present the design, implementation, and evaluation of EEMSS that automatically recognizes a set of users' daily activities in real time using sensors on an off-the-shelf high-end smart phone. Evaluation of EEMSS with 10 users over one week shows that our approach increases the device battery life by more than 75% while maintaining both high accuracy and low latency in identifying transitions between end-user activities.
Gurungo: Coupling Personal Computers and Mobile Devices Through Mobile Data T...Jason Hong
Some work my group did on making it easier to re-find information on mobile devices. The core idea is to have a web proxy connected to your desktop web browser, which would look for mobile data types (things that might be useful while on the go, such as street addresses, times, maps, etc). These mobile data types are then copied over to your mobile device, making it easier to re-find the information when on the go.
Networked devices like desktop computers and mobile phones make it possible for people to access any of the billions of web pages available on the Internet. However, mobile devices are fundamentally different from desktop PCs in terms of input speeds, screen size, and network speeds, making it harder in practice to find information when on the go. In this paper, we introduce GurunGo, a system that monitors a person’s activities on their PC for mobile data types—kinds of data likely to be useful to a person when mobile—and then proactively copies these snippets of data onto his mobile device, thus making it easier to find that information when mobile. Our initial prototype finds and extracts mobile data types from web pages that are browsed on a desktop computer, annotates it with additional relevant information, and copies it to a mobile device in the background. We discuss the design and implementation of GurunGo, as well as some of the tradeoffs and design rationale.
Authors are Ivan González and Jason Hong
The Livehoods Project: Utilizing Social Media to Understand the Dynamics of a...Jason Hong
Studying the social dynamics of a city on a large scale has traditionally been a challenging endeavor, often requiring long hours of observation and interviews, usually resulting in only a partial depiction of reality. To address this difficulty, we introduce a clustering model and research methodology for studying the structure and composition of a city on a large scale based on the social media its residents generate. We apply this new methodology to data from approximately 18 million check-ins collected from users of a location-based online social network. Unlike the boundaries of traditional municipal organizational units such as neighborhoods, which do not always reflect the character of life in these areas, our clusters, which we call Livehoods, are representations of the dynamic areas that comprise the city. We take a qualitative approach to validating these clusters, interviewing 27 residents of Pittsburgh, PA, to see how their perceptions of the city project onto our findings there. Our results provide strong support for the discovered clusters, showing how Livehoods reveal the distinctly characterized areas of the city and the forces that shape them.
Authors are Justin Cranshaw, Raz Schwartz, Jason Hong, and Norman Sadeh
Wave to Me: User Identification Using Body Lengths and Natural Gestures, at C...Jason Hong
We introduce a body-based identification system that leverages individual differences in body segment lengths and hand waving gesture patterns. The system identifies users based on a two-second hand waving gesture captured by a Microsoft Kinect. To evaluate our system, we collected 8640 gesture measurements from 75 participants through two lab studies and a field study. In the first lab study, we evaluated the feasibility of our concept and basic properties of features to narrow down the design space. In the second lab study, our system achieved a 1% equal error rate in user identification among seven registered users after two weeks following initial registration. We also found that our system was robust even when lower body segments could not be measured because of occlusions. In the field study, our system achieved 0.5 to 1.6% equal error rates, demonstrating that the system also works well in ecologically valid situations. Lastly, throughout the studies, our participants were positive about the system.
Big Data for Privacy, at NSF Workshop on Big Data and Privacy, April 2015Jason Hong
Short 10 minute talk presenting two research projects looking at how to use big data to help with privacy. Ends with three thoughts about privacy: ecosystem, human-in-the-loop, and scalability.
Social Cybersecurity, or, A Computer Scientist's View of HCI and Theory, at ...Jason Hong
June 2015
This talk looks at our team's ongoing work in using social psychology and diffusion of innovations to improve cybersecurity. It also reflects on the role of theory, in terms of offering inspiration for new ideas, a useful vocabulary, guidance for what to build and how to build things better, as well as insight into the problem space. This talk also offers some advice for people building theories, adapting Pasteur's quadrant and Diffusion of Innovations to theory, to help people who build and design systems.
Smartening the Crowd: Computational Techniques for Improving Human Verificati...Jason Hong
We looked at how to augment crowdsourcing techniques to improve coverage, accuracy, and timeliness in identifying phishing attacks. We used relatively simple clustering algorithms to group phish together, as well as weighting votes based on previous correct answers.
Privacy, Ethics, and Big (Smartphone) Data, at Mobisys 2014Jason Hong
Keynote talk I gave at the Mobile and Cloud Workshop at Mobisys 2014. I talk about my experiences and reflections on privacy, focusing on (1) Urban Analytics, (2) Google Glass, and (3) PrivacyGrade.
Mining Smartphone Data to Classify Life-Facets of Social Relationships at CSC...Jason Hong
People engage with many overlapping social networks and enact diverse social roles across different facets of their lives. Unfortunately, many online social networking services reduce most people’s contacts to “friend.” A richer computational model of relationships would be useful for a number of applications such as managing privacy settings and organizing communications. In this paper, we take a step towards a richer computational model by using call and text message logs from mobile phones to classifying contacts according to life facet (family, work, and social). We extract various features such as communication intensity, regularity, medium, and temporal tendency, and classify the relationships using machine-learning techniques. Our experimental results on 40 users showed that we could classify life facets with up to 90.5% accuracy. The most relevant features include call duration, channel selection, and time of day for the communication.
Authors are Jun-Ki Min, Jason Wiese, Jason I. Hong, John Zimmerman
The Privacy and Security Behaviors of Smartphone, at USEC 2014Jason Hong
Talk presented at USEC 2014.
Smartphone app developers have to make many privacy-related decisions about what data to collect about end-users, and how that data is used. We explore how app developers make decisions about privacy and security. Additionally, we examine whether any privacy and security behaviors are related to characteristics of the app development companies. We conduct a series of interviews with 13 app developers to obtain rich qualitative information about privacy and security decision-making. We use an online survey of 228 app developers to quantify behaviors and test our hypotheses about the relationship between privacy and security behaviors and company characteristics. We find that smaller companies are less likely to demonstrate positive privacy and security behaviors. Additionally, although third-party tools for ads and analytics are pervasive, developers aren’t aware of the data collected by these tools. We suggest tools and opportunities to reduce the barriers for app developers to implement privacy and security best practices.
How to Analyze the Privacy of 750000 Smartphone Apps Jason Hong
Describes some of my team's research on analyzing the privacy of Android smartphone apps. Presents PrivacyGrade as well as Gort. Also presents some preliminary work on CrowdVerify, some research we are conducting to analyze privacy policies.
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at ScaleC2B2 Consulting
JUDCon 2013 Presentation by Mark Addy, C2B2 Senior Consultant- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
The real time web is coming with WebSockets in HTML 5. The big question is how to deliver event driven architectures for WebSockets at scale. This session delivered by the experienced middleware consultant provides an insight on how combining JBoss Data Grid with WebSockets can deliver enterprise scale push to web devices. The session first provides an introduction to WebSockets and delves into typical JBoss Data Grid architectures and how they deliver linear scalability and high availability. We then look at the event capabilities inherent in JBoss Data Grid that when hooked up to a WebSockets server can deliver data grid updates in real time to HTML 5 mobile devices.
If your web application runs slowly, your reputation and business could suffer. To restore confidence, you must improve performance immediately, because frustrated users might not return to give you a second chance. You need “Web Performance First Aid.”
In this talk, Alan will share "first aid" techniques that can improve web performance within minutes.
Once your site starts to run faster, positive word of mouth may be generated among users, restoring confidence in your efforts and giving you breathing room to examine your application for further improvements.
Particular focus will be given to free tools that help diagnose performance bottlenecks, how to configure the Apache web server for speed, and making best use of the unique characteristics of IBM i.
Web Performance tuning presentation given at http://www.chippewavalleycodecamp.com/
Covers basic http flow, measuring performance, common changes to improve performance now, and several tools and techniques you can use now.
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Perficient, Inc.
During the 2015 IBM Digital Experience, Mark Polly, Perficient Director, Strategic Advisors for Portal, Social, Web Content, demonstrated how you can dart past your competition by getting your digital experience into market faster than ever before.
Top 10 HTML5 Features for Oracle Cloud DevelopersBrian Huff
Whether you are using Mobile, Social, Java, or Sites in the cloud, HTML5 is probably the easiest way to create and maintain web applications. Most of the Oracle cloud supports HTML5, so it is important to understand what powerful new features are built into this platform.
For all of the things that can go wrong with your SharePoint implementation, one of the best things we can do is learn from others. From not accepting that implementing an established information architecture and having an available infrastructure are core tenants of every SharePoint installation to managing SLAs with your end users; join us as we share not only what we've seen as worst practices but also worst experiences.
Attendees will learn practices on how to properly manage their SharePoint environments, how to work with other IT department leads and plan for a more properly planned SharePoint environment instead of dealing with the headaches that precipitate themselves when systems are hastily thrown together.
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013Andreas Grabner
Presentation given at STPCon 2014. It highlights the top performance problems seen in 2013 and how we can identify these problems in dev & test instead of waiting until the app crashes in production
Web applications are becoming increasingly data intensive and complex. Yet, users demand a great user experience, including blazingly fast speeds, across many device types. In this talk, we will show you how you can dramatically improve the performance of your web applications by using Sencha Ext JS and Ext Speeder. You will learn how to: accelerate your back-end data requests up to 10x by leveraging sophisticated in-memory, object-oriented techniques, significantly improve application responsiveness without making any modifications to your client Ext JS application, and quickly get started with database acceleration in standard J2EE environments.
10 Things You Can Do to Speed Up Your Web App TodayChris Love
Web Performance is a serious issues these days. 80% of web performance issues are in the client. Many developers either do not realize what they are leaving on the table and how that affects the success of their application. These are 10 things any web developer can do in about 30-60 minutes to drastically increase page load times and thus increase the application's profitability.
Aiim Seminar - SharePoint Crossroads May 23 - Bending but Not Breaking - Spea...Bill England
At the AIIM SharePoint seminar in DC this past may, Buildingi presented out experience moving a Project Knowledge Center (PKC) .Net application to SharePoint, and were joined by Joanna Elazrak from Microsoft who spoke on 'Using SharePoint for Microsoft Records Management'.
This presentation is based on the original one from the author of the book ( 'Steve Souders' ), it's about his book titled 'High Performance Websites''
Case Study: Migrating Hyperic from EJB to Spring from JBoss to Apache TomcatVMware Hyperic
Jennifer Hickey of SpringSource's Case Study of the results from Hyperic's recent migration from EJB to Spring. From the 2010 SpringOne 2GX conference.
Similar to WebQuilt: Capturing and Visualizing the Web Experience at WWW10 (20)
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
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:
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
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.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
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.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
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.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
WebQuilt: Capturing and Visualizing the Web Experience at WWW10
1. WebQuilt
Capturing and Visualizing the Web Experience
Jason I. Hong
James A. Landay
Group for User Interface Research
EECS Department
University of California at Berkeley
World Wide Web 10
2. May 04 2001 2
Motivation
• Many websites have usability problems
62% web shoppers gave up past month (Spool)
39% failed in buying attempts (Creative Good)
• Two problems all web designers face
Understanding users' tasks
Understanding obstacles in completing tasks
• Many methods for understanding tasks
E.g. interviews, ethnographic observations,
surveys, focus groups
• Focus here is on understanding obstacles
3. May 04 2001 3
Understanding Obstacles Today
• Traditional usability tests
Extremely useful qualitative information
Lots of time, small websites, few people, local
• Serverside logging
Easy to collect, remote testing, lots of tools
Restricted access, little on tasks and problems
• Clientside logging
Can track everything, remote testing
Installation, platformdependent, analysis tools
4. May 04 2001 4
Streamlining Current Practices
• Fast and easy to deploy on any website
• Compatible with range of OS and browsers
• Better tools for analyzing the data
5. May 04 2001 5
WebQuilt Approach
• Fast and easy to deploy on any website
• Compatible with range of OS and browsers
• Better tools for analyzing the data
Client Browser Web Server
Request
Response
6. May 04 2001 6
WebQuilt Approach
• Fast and easy to deploy on any website
• Compatible with range of OS and browsers
• Better tools for analyzing the data
WebQuilt
Log
ProxyClient Browser Web Server
7. May 04 2001 7
WebQuilt Approach
• Fast and easy to deploy on any website
• Compatible with range of OS and browsers
• Better tools for analyzing the data
8. May 04 2001 8
WebQuilt Usage
• Setup several tasks, recruit 20–100 people
• Email participants a URL that uses the proxy
• Ask them to complete the predefined tasks
• Collect lots of remote (or local) data
• Aggregate, view, and interact with data
• Find problems, fix, repeat
Evaluate
Design
Prototype
9. May 04 2001 9
Outline
Background and Motivation
WebQuilt Architecture
Usage Experience and Visualizations
Summary and Future Work
10. May 04 2001 10
Overall Architecture
Proxy
Logger
Graph
Layout
Viz
Graph
Merger
Action
Inferencer
Log Files
Online
Offline
11. May 04 2001 11
Proxy
Proxy
Logger
Graph
Layout
Viz
Graph
Merger
Action
Inferencer
• Lies between browser and server
http://domain.com/webquilt?
replace=http://www.yahoo.com
• One log file per user session
• Currently use Java servlets
Important part is log file format
12. May 04 2001 12
Time
(ms)
From
TID
To
TID
Parent
ID
HTTP
Response
Fram
e ID
Link
ID
HTTP
Method
URL + Query
6062 0 1 1 200 1 1 GET http://www.google.com
11191 1 2 1 200 1 1 GET http://www.phish.com/index.htm
q=Phish&btnI=I
%27m+Feeling+Lucky
167525 2 3 1 200 1 1 GET http://www.phish.com/bios.html
31043 3 4 1 200 1 2 GET https://www.phish.com/bin/catal
og.cgi
68772 2 5 1 200 1 15 GET http://www.emusic.com/features
/phish
Log File Format
13. May 04 2001 13
Time From
TID
To
TID
Parent
ID
HTTP
Response
Fram
e ID
Link
ID
HTTP
Method
URL + Query
6062 0 1 1 200 1 1 GET http://www.google.com
11191 1 2 1 200 1 1 GET http://www.phish.com/index.htm
q=Phish&btnI=I
%27m+Feeling+Lucky
167525 2 3 1 200 1 1 GET http://www.phish.com/bios.html
31043 3 4 1 200 1 2 GET https://www.phish.com/bin/catal
og.cgi
68772 2 5 1 200 1 15 GET http://www.emusic.com/features
/phish
Time From
TID
To
TID
Parent
ID
HTTP
Response
6062 0 1 1 200
(ms)
Log File Format
14. May 04 2001 14
Time
(ms)
From
TID
To
TID
Parent
ID
HTTP
Response
Fram
e ID
Link
ID
HTTP
Method
URL + Query
6062 0 1 1 200 1 1 GET http://www.google.com
11191 1 2 1 200 1 1 GET http://www.phish.com/index.htm
q=Phish&btnI=I
%27m+Feeling+Lucky
167525 2 3 1 200 1 1 GET http://www.phish.com/bios.html
31043 3 4 1 200 1 2 GET https://www.phish.com/bin/catal
og.cgi
68772 2 5 1 200 1 15 GET http://www.emusic.com/features
/phish
Frame
ID
Link
ID
HTTP
Method
URL + Query
1 1 GET http://www.google.com
Log File Format
15. May 04 2001 15
Client Browser Web ServerWebQuilt Proxy
Proxy Editor
Cached Pages WebQuilt Logs
WebProxy Servlet
1 2
3
4 5 HTTPClient
Package
Client Browser Web ServerWebQuilt Proxy
Proxy Editor
Cached Pages WebQuilt Logs
WebProxy Servlet
1 2
3
4 5 HTTPClient
Package
Store
The Proxy at Runtime
16. May 04 2001 16
Client Browser Web ServerWebQuilt Proxy
Proxy Editor
Cached Pages WebQuilt Logs
WebProxy Servlet
1 2
3
4 5 HTTPClient
Package
Client Browser Web ServerWebQuilt Proxy
Proxy Editor
Cached Pages WebQuilt Logs
WebProxy Servlet
1 2
3
4 5 HTTPClient
Package
1. Process Client Request
Store
The Proxy at Runtime
17. May 04 2001 17
Client Browser Web ServerWebQuilt Proxy
Proxy Editor
Cached Pages WebQuilt Logs
WebProxy Servlet
1 2
3
4 5 HTTPClient
Package
Client Browser Web ServerWebQuilt Proxy
Proxy Editor
Cached Pages WebQuilt Logs
WebProxy Servlet
1 2
3
4 5 HTTPClient
Package
2. Retrieve Requested Document
Store
The Proxy at Runtime
18. May 04 2001 18
Client Browser Web ServerWebQuilt Proxy
Proxy Editor
Cached Pages WebQuilt Logs
WebProxy Servlet
1 2
3
4 5 HTTPClient
Package
Client Browser Web ServerWebQuilt Proxy
Proxy Editor
Cached Pages WebQuilt Logs
WebProxy Servlet
1 2
3
4 5 HTTPClient
Package
3. Process and return the page
Store
The Proxy at Runtime
19. May 04 2001 19
Start with:
<A HREF="computers.html">
End up with:
<A HREF="http://tasmania.cs.berkeley.edu/webquilt?
replace=http://www.yahoo.com/computers.html
&tid=1&linkid=12">
The Proxy at Runtime
20. May 04 2001 20
Client Browser Web ServerWebQuilt Proxy
Proxy Editor
Cached Pages WebQuilt Logs
WebProxy Servlet
1 2
3
4 5 HTTPClient
Package
Client Browser Web ServerWebQuilt Proxy
Proxy Editor
Cached Pages WebQuilt Logs
WebProxy Servlet
1 2
3
4 5 HTTPClient
Package
4. Store the page 5. Log the transaction
Store
The Proxy at Runtime
21. May 04 2001 21
Additional Proxy Functionality
• Handling Cookies
Cookies only sent from browser back
to web server that put it there
Proxy
Logger
Graph
Layout
Viz
Graph
Merger
Action
Inferencer
User ID Domain Cookie
AAA yahoo.com xyzzy
AAA google.com asdfg
BBB yahoo.com abcde
22. May 04 2001 22
Additional Proxy Functionality
• Handling Cookies
Cookies only sent from browser back
to web server that put it there
• Handling Secure Socket Layer
Encrypts page requests and data
E.g. Shopping Carts, Financials
Proxy
Logger
Graph
Layout
Viz
Graph
Merger
Action
Inferencer
Client Browser Web Server
SSL
23. May 04 2001 23
Additional Proxy Functionality
• Handling Cookies
Cookies only sent from browser back
to web server that put it there
• Handling Secure Socket Layer
Encrypts page requests and data
E.g. Shopping Carts, Financials
Split into two SSL requests
Proxy
Logger
Graph
Layout
Viz
Graph
Merger
Action
Inferencer
ProxyClient Browser Web Server
SSL SSL
24. May 04 2001 24
Action Inferencer
• Takes a single log file and converts
into a list of actions
"Clicked on link" or "Hit back button"
• Inference because still must guess
Back and forward actions local
Proxy
Logger
Graph
Layout
Viz
Graph
Merger
Action
Inferencer
25. May 04 2001 25
Time From
TID
To
TID
Parent
ID
HTTP
Response
Fram
e ID
Link
ID
HTTP
Method
URL + Query
6062 0 1 1 200 1 1 GET http://www.google.com
11191 1 2 1 200 1 1 GET http://www.phish.com/index.htm
q=Phish&btnI=I
%27m+Feeling+Lucky
167525 2 3 1 200 1 1 GET http://www.phish.com/bios.html
31043 3 4 1 200 1 2 GET https://www.phish.com/bin/catal
og.cgi
68772 2 5 1 200 1 15 GET http://www.emusic.com/features
/phish
ReAssembling User Actions
26. May 04 2001 26
From
TID
To
TID
Parent
ID
HTTP
Response
Fram
e ID
Link
ID
HTTP
Method
0 1 1 200 1 1 GET
2 1 200 1 1 GET
3 1 200 1 1 GET
4 1 200 1 2 GET
5 1 200 1 15 GET
URL + Query
http://www.google.com
http://www.phish.com/index.htm
q=Phish&btnI=I
%27m+Feeling+Lucky
http://www.phish.com/bios.html
https://www.phish.com/bin/catal
og.cgi
http://www.emusic.com/features
/phish
Time
6062
11191
167525
31043
68772
1
2
3
2
1
2
3
4
5
ReAssembling User Actions
27. May 04 2001 27
From
TID
To
TID
0 1
2 3
3 4
2 5
URL + Query
http://www.google.com
http://www.phish.com/index.htm
q=Phish&btnI=I
%27m+Feeling+Lucky
http://www.phish.com/bios.html
https://www.phish.com/bin/catal
og.cgi
http://www.emusic.com/features
/phish
1
2
3
4
5
1
2
3
2
ReAssembling User Actions
28. May 04 2001 28
From
TID
To
TID
0 1
2 3
3 4
2 5
URL + Query
http://www.google.com
http://www.phish.com/index.htm
q=Phish&btnI=I
%27m+Feeling+Lucky
http://www.phish.com/bios.html
https://www.phish.com/bin/catal
og.cgi
http://www.emusic.com/features
/phish
1
2
3
4
5
1
2
3
2
Start 1
ReAssembling User Actions
29. May 04 2001 29
From
TID
To
TID
0 1
2 3
3 4
2 5
URL + Query
http://www.google.com
http://www.phish.com/index.htm
q=Phish&btnI=I
%27m+Feeling+Lucky
http://www.phish.com/bios.html
https://www.phish.com/bin/catal
og.cgi
http://www.emusic.com/features
/phish
1
2
3
4
5
1
2
3
2
Start 1 2
ReAssembling User Actions
30. May 04 2001 30
From
TID
To
TID
0 1
2 3
3 4
2 5
URL + Query
http://www.google.com
http://www.phish.com/index.htm
q=Phish&btnI=I
%27m+Feeling+Lucky
http://www.phish.com/bios.html
https://www.phish.com/bin/catal
og.cgi
http://www.emusic.com/features
/phish
1
2
3
4
5
1
2
3
2
Start 1 2 3
ReAssembling User Actions
31. May 04 2001 31
From
TID
To
TID
0 1
2 3
3 4
2 5
URL + Query
http://www.google.com
http://www.phish.com/index.htm
q=Phish&btnI=I
%27m+Feeling+Lucky
http://www.phish.com/bios.html
https://www.phish.com/bin/catal
og.cgi
http://www.emusic.com/features
/phish
1
2
3
4
5
1
2
3
2
Start 1 2 3 4
ReAssembling User Actions
32. May 04 2001 32
From
TID
To
TID
0 1
2 3
3 4
2 5
URL + Query
http://www.google.com
http://www.phish.com/index.htm
q=Phish&btnI=I
%27m+Feeling+Lucky
http://www.phish.com/bios.html
https://www.phish.com/bin/catal
og.cgi
http://www.emusic.com/features
/phish
1
2
3
4
5
1
2
3
2
Start 1 2 3 4
5
ReAssembling User Actions
34. May 04 2001 34
1 2 3 4 3 2Start 5
Start 1 2 3 4
5
Case 1
Link Back Link
Action Inferencer
35. May 04 2001 35
Start 1 2 3 4
5
1 2 3 4 3 2Start 1 2 5
Case 2
Link Back LinkFwd
Action Inferencer
36. May 04 2001 36
1 2 3 4 3 2Start 5
Start 1 2 3 4
5
Case 1 by default
(shortest path)
Action Inferencer
37. May 04 2001 37
Merger
• Combines multiple log files into a
single directed graph
Web pages are nodes
Actions are edges
Proxy
Logger
Graph
Layout
Viz
Graph
Merger
Action
Inferencer
38. May 04 2001 38
Graph Layout
• Assign (x,y) to all nodes
• Forcedirected placement
Keep connected nodes close
Push unconnected nodes far apart
• Edgeweighted depthfirst
Most traffic along top
Less followed paths below
Grid to help organize and align
• Plugin new algorithms here
Proxy
Logger
Graph
Layout
Viz
Graph
Merger
Action
Inferencer
39. May 04 2001 39
Visualization
Proxy
Logger
Graph
Layout
Viz
Graph
Merger
Action
Inferencer
49. May 04 2001 49
Future Work
• More sophisticated logging
Lower level events (e.g. AT&T WET)
Personalized web pages
• More sophisticated visualizations
More use of semantic zooming
Dynamic filtering
• Continue getting feedback from designers
Initiated interviews with web designers
Still need to do evaluations
50. May 04 2001 50
Take Home Ideas
• Need more tools for improving web site
usability
• Proxy logging
Logging where task is already known
Any website, any browser, remote testing
• Visualizing logged data
Aggregates large data sets
Interact with in a zooming interface
• Pluggable architecture
51. May 04 2001 51
Acknowlegements
• Special thanks to Jeff Heer, Tim Sohn,
and Sarah Waterson
Group for User Interface Research
EECS Department
University of California at Berkeley
Download WebQuilt at:
http://guir.berkeley.edu/webquilt
68. May 04 2001 68
Time From
TID
To
TID
Parent
ID
HTTP
Response
Fram
e ID
Link
ID
HTTP
Method
URL + Query
6062 0 1 -1 200 -1 -1 GET http://www.google.com
11191 1 2 -1 200 -1 -1 GET http://www.phish.com/index.htm
q=Phish&btnI=I
%27m+Feeling+Lucky
167525 2 3 -1 200 -1 1 GET http://www.phish.com/bios.html
31043 3 4 -1 200 -1 2 GET https://www.phish.com/bin/catal
og.cgi
68772 2 5 -1 200 -1 15 GET http://www.emusic.com/features
/phish
Log File Format
69. May 04 2001 69
In Case You're Feeling Evil…
• URLs can be of the form:
http://userid@domain/page.html
• Most web servers ignore the userid part, but…
http://www.yahoo.com@tasmania.cs…/…
• Can auto-track people's actions once they hit your
page without their knowledge or consent
Editor's Notes
Web usability is a serious problem Two problems web designers face in trying to improve the usability of a website First is understanding the task, that is what people want to do on a website An example task could be something like "I want to purchase an mp3 player and spend less than $500" Understanding obstacles in completing the task For example, I might not be able to find an mp3 player on an ecommerce website because I thought it would be in the "music" section instead of the "electronics" section You really need to understand both Could know that my task is to buy an mp3 player, but this isn't useful if you don't know what problems are preventing me from successfully completing the task On the other hand, you might know that the problem is that I'm abandoning lots of shopping carts, but this isn't useful if you don't know my task. Instead of trying to buy an mp3 player, maybe I was doing a price comparison or was just showing someone a feature your website has in the shopping cart Knowing both the task and the obstacles are important in designing websites that people find both useful and usable Lots of methods for understanding tasks out there Our focus is on understanding obstacles
Traditional Usability Tests A usability specialist recruits and schedules several participants, and then brings them into a usability lab Asks them to complete a few predefined tasks Observes what stumbling blocks people come across Follows up with interviews and surveys Takes a lot of time to schedule participants, run tests, and then analyze data Furthermore, while usability tests are extremely useful, they don't scale well if you want to test a large website. You would have to bring in hundreds of users to cover all the possible tasks that a large website supports. Consequently, traditional usability tests tend to use only a few dozen people at most, and only cover small portions of a website Server-Side Logging This just means analyzing the log file generated by the web server Easy to collect data for large numbers of people, automatically down by most web servers You can also do remote testing, that is people can surf from their home computers instead of having to be brought into a usability lab Also, there are lots of tools available, at least 90 research and commercial tools out there today Restricted access (can't do a competitive analysis) / organizational bureacracy (can't get access to server logs) Also, most tools give you information that is fairly useless in terms of usability. Knowing that 90% of my visitors come from a ".com" domain doesn't tell me how to improve the website There are some newer tools that provide information about at user needs at a statistical level, such as the information scent project at Xerox PARC, but in these cases, the users' tasks and goals are still ambiguous Client Side Logging End-users download special software, such as a modified web browser or a custom-made web browser, to capture all transactions The advantage to this approach is that you can track literally everything, including keystrokes and mouse movement Also, client-side logging allows for remote testing, making it easier to scale up to many users However, there are two downsides to this approach First, it requires special software to be installed, which people may be unwilling or unable to do Can severely limit usability test participants to experienced users, which may not be representative of the target audience Second, the special software is usually platform dependent, meaning that it only works for a specific operating system or web browser This limits the overall reach of the logging software Lastly, there aren't a lot of analysis tools here for aggregating the data It's easy to collect gigabytes of data using client-side logging, but it's not easy to understand it
To address the first two issues, we created a proxy logger. So here's how HTTP works today.
We introduce a level of indirection here with the web proxy, having all transactions transparently go through a web proxy and logging those transactions. Traditionally, proxies are used for things like caching and for firewalls. What we've done here is to use a web proxy for usability purposes, and later on I'll talk a little more about some of the special features we've added to make the logging more useful for usability analysis
To address the third issue, we created a visualization system that aggregates all of the user logs and displays it in an interactive visualization. So here's a screenshot of the current visualization, but we'll get back to this again towards the end of the talk.
Talk about iterative design, why it's important WebQuilt focuses on the Evaluate part of iterative design
Only online part is the proxy, that is the only part that is running when participants go through their tasks Offline parts are for designers, can be done anytime Components can be replaced in case anyone has a better algorithm
Some browsers have a proxy field that can be set internally within the browser WebQuilt uses a URL based approach for proxies instead of having end users set a field in their web browser We chose this approach, again because we thought novices would be unwilling or unable to do this Instead, the WebQuilt proxy is URL-based This approach has been done by others, there's nothing new here
Time is the time in milliseconds since starting the session The next two fields are the "From Transaction ID" and the "To Transaction ID" Transaction IDs represent the Nth page that a person has requested So a transaction ID of 1 means that this is the first page that a person requested, 2 means the second page that a person requested, etc The FromTID represents the page that a person came from The ToTID represents the current page that the person is at The transaction IDs are used to recreate what a person did in terms of page requests and going backwards and forwards The ParentID specifies the frame parent of the current page. This number is the TID of the frameset to which the current page belongs, or –1 if the current page is not a frame The HTTP response field is just the response from the server, such as "200 ok" and "404 not found"
The Frame ID field indicates which frame in an enclosing frameset the current page is in. A frame ID of 0 indicates the first frame in the frameset, 1 is the second, and so on. The LinkID field specifies which link was clicked on according to the Document Object Model. In this representation, the first link has a LinkID of 0, the second one has a value of 1, and so on. This technique is useful if there are redundant links, as it lets us identify exactly which link a person used. Multiple links to the same page but… Link not being used because below the fold Or link not being used because it's a graphic image but people don't know that they can click on it
In the first phase, an HTTP request is received from the client by the proxy All WebQuilt parameters, such as the destination URL and link ID are extracted and saved The proxy also collects other data that is saved in the log file, such as the transaction IDs and parent ID
In the next phase, the proxy attempts to retrieve the actual document The rest of the data needed for the log entry is also stored at this time, including the HTTP response code and final destination URL in case of server redirects
Before the downloaded page is sent back to the client, it has to be edited so that all the links are redirected to use the proxy again We first check if the content type of the page is text/html If it isn't, then we just pass it through without any modifications If it is, then we first add or update the <BASE> tag so that all relative links and images work correctly Then we go through the entire document and update all page hyperlinks, frames, and form actions to go through the proxy again Thus, once a person starts to use the proxy, all of the links thereafter will automatically be rewritten to continue using the proxy We also add transaction ID tags and Link ID tags to each of the links, as well as any parent ID and Frame ID parameters
In case you're feeling particularly insidious you can do something like: http://www.yahoo.com/computers.html@tasmania.cs.berkeley.edu/webquilt?replace=http://www.yahoo.com/computers.html&tid=1&linkid=12
Saves a local copy of the web page to a cache And then writes to the log
Have to have some additional functionality in order for proxy to work correctly with existing websites One feature is handling cookies How cookies are done today In WebQuilt, we store the cookie in the proxy, keyed off of the User ID and the domain
Also have to handle SSL
Reassemble what a person did
WebQuilt assumes this case by default But if there is a better algorithm, then someone can just plug it in here
Berkeley website Colors used to indicate average amount of tie before traversing a link Colors closer to yellow mean short amounts of time, on the order of a few seconds Colors closer to red mean longer amounts of time, on the order of a hundred seconds Thicker lines mean more people traversed a link
Casa de Fruta Task was to find a specific item and add it to the shopping cart
Shopping task, add items and then check out
Shopping task, add items and then check out
Reassemble what a person did
In case you're feeling particularly insidious you can do something like: http://www.yahoo.com/computers.html@tasmania.cs.berkeley.edu/webquilt?replace=http://www.yahoo.com/computers.html&tid=1&linkid=12