Requirements
Project Background
Cisco's WebEx platform is an online video conferencing and collaboration tool that collects data about user activities and error codes. It stores this information in log files, allowing Cisco Engineers to analyze logs to identify issues and improve the platform's performance. Cisco has a desktop version of a UCF (Unified Communications Framework) Client Log Viewer, and also a web-based version, but it lacks essential features needed for effective log analysis.
Our team’s project is to build a more accessible web-based solution based on Cisco’s original work, which improves usability and allows cross-compatibility across devices and operating systems, making it easier to analyze WebEx logs efficiently. In addition to improving core functionality, the system also introduces support for advanced AI-driven log analysis.
We would like to express our gratitude to those who supported us throughout this project: Prof Dean Mohamedally (UCL), Dr. Yun (UCL), Prof. Graham Roberts (UCL), and Felipe Jin Li (UCL), as well as our Cisco collaborators Joanne Stevens, Jorge Taylor, and Edwin Li.
Project Goals
The primary goals of this project are to:
- Enhance Usability: Develop a web-based log viewer that is intuitive and easy to use, allowing Cisco engineers to efficiently analyze WebEx logs without the need for complex desktop applications.
- Advanced Filtering and Search Capabilities: Implement robust filtering options, including regex-based search, time-range filtering, and customizable filter groups, to allow engineers to quickly locate relevant log entries.
- Cross-Platform Compatibility: Ensure the log viewer is accessible across multiple devices and operating systems.
- Advanced Filtering and Search Capabilities: Implement robust filtering options, including regex-based search, time-range filtering, and customizable filter groups, to allow engineers to quickly locate relevant log entries.
- AI-Driven Insights: Integrate an AI-driven assistant to help engineers identify potential issues, automate bug detection, and provide real-time insights into log data.
- Performance Optimization: Ensure the log viewer can handle large log files efficiently, with minimal latency during search and filtering operations.Performance Optimization: Ensure the log viewer can handle large log files efficiently, with minimal latency during search and filtering operations.
- Security and Privacy: Ensure that all log data is processed securely, with no sensitive information leaving Cisco's internal infrastructure.
- Scalability: Design the system to be scalable, allowing for future enhancements and the addition of new features as needed.
- Integration with Existing Systems: Ensure seamless integration with Cisco's existing web-based platforms and infrastructure, minimizing disruption to current workflows.
Requirement Gathering
To gather the requirements, we conducted weekly meetings with 2 Cisco engineers (Jorge Taylor and Edwin Li). These meetings were typically of the form of a semi-structured interview. They gave us a document with their initial base requirements for the functionality, UI and techstack. As the project progressed, we presented our current website, and seeked feedback on how features can be improved to better align with project requirements.
This was the general format of our semi-structured interviews:
Question 1: "What are the main issues with your existing log viewer app?"
Answer 1: "The core issue with the current system is the complete lack of
customisability. Our filters are limiting, and only allow us to search for specific keywords or
phrases. In your product, we hope to see features that allow us to search for precise string or
regex patterns. Another issue is the lack of colours in the existing tool. Everything is a single
colour, and it makes it difficult to differentiate between different filters."
Question 2: "Would you like to see a dashboard with all the data displayed in a
pictorial/graphical manner?"
Answer 2: "It would be nice to have, but it has already been built in the current
system, and also it is not a tool that the team regularly uses. We would like more focus to be put
on precise, customisable and responsive filtering rather than graphical tools."
Question 3: "What are the key UI components that you would like to see in our
product?
Answer 3: We would definitely like to see a freeform text box where users can type
string patterns or regex patterns. We also want a colour picker where the user can choose a colour
for each filter being applied on the dataset."
Question 4: "What are your thoughts on incorporating a LLM chatbot to assist engineers
with data analysis?"
Answer 4: "If you have time after completing the core requirements, adding an LLM
chatbot would really help automate workflows, and speed up doing repetitive tasks like writing out
long filters or regex patterns."
Question 5: "What do you think of the current website design? Are there any
functionalities or design points where improvements can be made?"
Answer 5: "We like the basic layout, and since you have made the main requirements for
custom filtering, we have some UI changes that we would like to see. Create 2 sections on the webpage.
One section has the unfiltered logs, and the other section only contains the records that have been
filtered. If you could also incorporate pagination for improved responsiveness it would be a great
addition."
Personas
After conducting structured interviews with Cisco engineers, we came up with two personas and realistic scenarios to help us understand the desires, expectations, and motivations of our potential users, so we can design our Log Viewer based on their needs.


Use Cases



MoSCoW requirement list (Functional and non-functional)
Functional Requirements
Must Have
- Users must be able to upload JSON log files.
- A free form text input box for entering keywords, or regex strings. No input validation required.
- Users should be able to fully customize the advanced filters applied. The platform should provide more variety than a simple dropdown menu of filter options.
- The filters set by the user must not be lost when the page is refreshed - this data must persist across page reloads. This should be done by saving the set filters to the browser’s local storage and fetching them upon reload.
- A delete button with an X or rubbish bin icon that removes this line of filter for both the content and all the UI elements.
- A tick box that says ‘Match Case’ – this is for making the string entered is matched exactly with case sensitive matching. Default off – string will be matched without case sensitivity.
Should Have
- Users should be able to filter log messages within a set time interval.
- AI agent should be able to summarize and give quick statistics about logs
- AI agent should be able to identify issues within the logs based on a context
- AI agent should be able to generate filter groups for the user based on the query
Could Have
- User could be able to define the context for the AI agent
- AI agent could provide recommendations for resolving identified issues
- AI Agent could run offline and locally
Won't Have
- No data associated with the web-app will be held on the cloud.
- The platform is a way to view and filter data. It will not have features that can run predictive analysis based on the data entered.
Non-Functional Requirements
Must Have
- Results of filter application on the dataset should be done efficiently, and the response must be fast.
- Creating filters must be intuitive for the user.
- Security of the data must be ensured as the web-app will be handling internal Cisco log file data.
Should Have
- Expandability. Cisco engineers should be able to easily expand on the tool after project completion.
- Our program should not introduce too many new dependencies into Cisco’s codebase. Where possible, we should make use of already used libraries and technologies.
- AI Agent is responsive
- AI Agent is accurate
Could Have
- Adaptability for different languages and regions