Has your laptop ever slowed down because of the multiple tabs you have opened while online shopping? Or maybe you’ve had to fake your excitement over a gift you didn’t really want? Later makes wish-listing effortless by integrating directly into your browser. Want to keep track of things you love? Need to make sure your friends birthday gifts stay under $50? Later lets you save, organise, budget, and share your wish list with just one link. Never struggle with ‘What do you want for Christmas?’ again - just say, ‘I’ll send you Later.’
The top three quality attributes for the Later project is availability, extensibility, and interoperability. For Later to be an effective wish list tool, it must be accessible across different devices (availability), adaptable to new features and improvements over time (extensibility), and capable of integrating smoothly with various shopping sites (interoperability).
Name: Chloe Catane
Student number: 46982711
The completed software will enable users to seamlessly create and manage wish lists while browsing online. Users can organise their lists into custom categories, such as Birthday Wishlist, Travel Essentials, or Gifts for a 2-Year Anniversary, making budgeting easier and sharing gift ideas more convenient when friends or family ask.
This project eliminates awkward conversations about gift preferences while also helping users stay financially mindful. It streamlines the gift-giving process, making it easier for both the giver and the recipient to find the perfect present.
The features of the whole system should have:
Wishlist Management:
AI-Powered Assistance
Sharing & Collaboration
Budgeting & Organisation
The scope for the MVP will deliver the following features:
Wishlist Management
Sharing & Collaboration
Budgeting & Organisation
While security, maintainability, and testability are important, they are less critical for Later, as it is a simple Google Chrome extension that doesn’t handle confidential data. The focus is on availability, extensibility, and interoperability to ensure the system is accessible, adaptable, and integrated across different devices.
Quality Attribute 1: Availability
In this system, wish lists must be created and organised seamlessly across browser tabs via a google chrome extension. The system must be able to recognise all types of e-commerce websites and extract all necessary product details. Additionally, while online shopping and loading the shareable link requires a network connection, it is important that the format of the lists are retrievable on any device (e.g., phone, tablet, laptop) so that users can access the lists anytime.
Trade-offs for the complete functionality include increased maintenance complexity. Expanding support across multiple browsers (Chrome, Firefox, Safari, etc.) requires additional development effort and ongoing updates to ensure compatibility. Despite this, availability takes precedence over maintainability, as the core functionality of Later remains valuable even if it initially supports Google Chrome.
Quality Attribute 2: Extensibility
Extensibility means that features and updates can be easily added to the software over its lifespan. This is important as it allows the system to incorporate more quality attributes in the near future, i.e. scalability or security. Further, as it is aimed to be a browser extension, it overrides deployability in priority as it is a less complex infrastructure - although it can become an application in the future.
Extensibility can also introduce extra features like AI integration and more complex budgeting assistance (i.e. product alternative recommendations). This also ensures that the system’s architecture is prioritised which ultimately is better for testing and general maintainability.
With that being said, trade-offs mainly surround the potential for higher maintenance effort in the long run as there are constant features being integrated that may make the software more vulnerable to security risks and reduce speed.
Quality Attribute 3: Interoperability
Interoperability ensures that Later can seamlessly interact with multiple websites and extract relevant information. For example, when a user adds a product to their wish list, the system should be able to extrapolate details like name, price, and images.
Trade-offs may arise due to varying site restrictions which may affect how browser extensions interact with them and requiring frequent updates and testing to maintain compatibility.
Quality Attribute 1: Availability
To ensure availability of the system, wish lists should be easily generated from any site on Google Chrome, enabling users to create, update, and share their lists without interruptions. Shared links must remain accessible at any time on any device (whether a laptop, phone, or table) while reflecting real-time updates made by the sender. Additionally, the system should support multiple users accessing the same link simultaneously and ensure fast item loading.
Major points of functionality needed to test is:
Quality Attribute 2: Extensibility
The system’s extensibility will be evaluated based on its ability to easily integrate future features without major structural changes. The infrastructure should allow seamless addition of functionalities like AI recommendations, budget tracking, and expanded browser support.
Adopting a microkernel architecture will enable the system to remain stable while allowing plug-ins to extend its functionality. This approach ensures easy integration of new features, keeping the core system intact and scalable for future growth.
Quality Attribute 3: Interoperability
This quality will be evaluated based on the system’s ability to seamlessly interact with multiple websites, extracting essential product information such as name, price, and images when users add items to their wish list.
Major points of functionality needed to test is: