Design and development of Update Center is driven by specific requirements associated with general scenarios, use cases and the roles of users in the scenarios and use cases.
| Scenarios | General user-oriented situations identified to help define the overall scope of the project its subprojects and organize use cases and requirements. |
|---|---|
| Use Cases | Detailed tasks associated with one or more scenarios andT requirements to flesh out specific user interface and tooling design approaches. |
| Roles and Personas | Roles are typical responsibilities of users interacting within the scope of the overall scenarios and detailed use cases. Personas are actual examples of fictitious people that play the roles of interest. Using realistic examples of people helps designers better understand users' backgrounds, preferences and typical work habits. |
![]() |
![]() |
| ID | Title | Description |
|---|---|---|
| DEL.1 | General Repository Management![]() | Repository managers control integration of packages from projects into shared package repositories that are used by downstream groups to assemble distros and images and to expose updated and add-on packages to users. |
| DEL.2 | Distro Release Definition![]() | Distro owner defines the content of distro. Triggers establishment of distro release-specific package repositories. Content for a distro may come from a general package repository. |
| DEL.3 | Package Integration![]() | Package maintainers produce new and updated binary packages and integrate into general and/or distro-specific package repositories. |
| DEL.4 | OS Package Integration![]() | Package maintainers product new and updated OS distro-specific packages and integrated into OS distro-specific package repositories. |
| DEL.5 | Distro Release Repository Management![]() | Distro maintainer accepts new and updated package content into distro release-specific package repository. |
| DEL.6 | Installable Distro Assembly![]() | Distro assembler produces downloadable, installable from scratch distribution that includes an install application, update center client tooling and packages from package repository. |
| DEL.7 | Deployable Image Assembly![]() | Image assembler produces deployable image that includes pre-installed packages and update center client tooling. |
Multiple contexts:
| Desktop | Deployment |
|---|---|
| The world in which developers and administrators install, use, trial and manage applications on their desktops and laptops. Multiple applications configured together on the same system for: * Development * Experimentation, Trial Use * Simple deployments GUI install and package management tooling is a must have Desktop integration is helpful * Update notifications * Start menu integration * Ease of managing multiple installations Sometimes disconnected from the Internet Windows, Linux, Mac, and Solaris support is necessary | The headless server deployment world in which remote deployments are provisioned, tested and maintained. Both developers and administrators work in this context. Headless installations and updates for: * Development servers * Integration testing * Pre-production staging * Production deployment. Application deployments configured across OS instance boundaries CLI is a must have Often no direct Internet access is allowed Solaris, Linux, other Unix and Windows support is necessary |
| ID | Title | Description |
|---|---|---|
| USE.DT.1 | Installing First Product Distro | Out of the box initial install experience. |
| USE.DT.2 | Administering Product Deployment | What happens while user administers the installed product? i.e. How are they made aware of updates and add-ons while working with the product's administrative interfaces? |
| USE.DT.3 | Installing Additional or Side-by-side Product Distro | e.g. Validating that multiple installations of product distros can live together in different install directories. |
| USE.DT.4 | Determining Installed Components Their Versions | User wants to know which versions of components are installed in a particular install image. |
| USE.DT.4.1 | Via UC GUI | |
| USE.DT.4.2 | Via UC CLI | |
| USE.DT.4.3 | Via Product's Admin CLI | |
| USE.DT.4.4 | Via Product's Admin Web UI | |
| USE.DT.5 | Becoming Aware of and Installing Updates | Ensuring that users are made aware of updates through multiple avenues. |
| USE.DT.5.1 | Via Desktop notification applet | Notification area icon is hidden until user needs to be notified. |
| USE.DT.5.2 | Via Product Admin Web UI | |
| USE.DT.5.3 | Via Product's Admin CLI | |
| USE.DT.5.4 | Via IDE | |
| USE.DT.6 | Installing an Update Without Internet Access | |
| USE.DT.7 | Backing Out an Update | |
| USE.DT.8 | Removing an Installed Package | |
| USE.DT.9 | Searching for and Installing Add-on Components | Including the ability to accept or reject license agreements. |
| USE.DT.10 | Becoming Aware of Add-on Components | Promoting the availability of interesting add-ons to users via multiple avenues. User should be able to figure out which components he/she already looked at and which were not yet looked at. |
| USE.DT.10.1 | Via Desktop notification applet | By default, notify user of newly available add-on components via balloon tip from notification icon. Notification area icon is hidden until user needs to be notified. |
| USE.DT.10.2 | Via UC GUI | * When the use launched the GUI to apply updates, ensure the list of relevant add-ons are easily visible. ** Display easy to usertand groupings of components * Display cross-promotion adverts |
| USE.DT.10.3 | Via Product Admin Web UI | * Make it easy to list and install available add-ons * Display cross-promotion adverts |
| USE.DT.11 | Becoming Aware of non-Installable Offerings | |
| USE.DT.12 | Deploying Preinstalled Image | |
| USE.DT.13 | Removing an Installed Product Distro | |
| USE.DT.14 | Managing List of Repositories | * User should be able add, change and remove additional repository URLs in order to point to and interact with 3rd party repositories * Ability change order of repositories |
| USE.DT.15 | Updating the Update Client | Ability to apply updates to the update client. |
| USE.DT.16 | Managing Update Preferences | Including: * Frequency of checking for updates * Network proxy settings |
| ID | Title | Description |
|---|---|---|
| USE.DEP.1 | Installing First Product Distro | |
| USE.DEP.2 | Administering Product Deployment | |
| USE.DEP.3 | Installing Additional Product Distro | |
| USE.DEP.4 | Determining Installed Products, Packages and Their Versions | |
| USE.DEP.5 | Becoming Aware of Updates via Product Administrative UIs | |
| USE.DEP.6 | Searching For and Installing Updates Over the Internet | |
| USE.DEP.7 | Installing Additional Features Over the Internet | Including the ability to accept or reject license agreements. |
| USE.DEP.8 | Installing an Update Without Internet Access | |
| USE.DEP.9 | Installing Additional Features Without Internet Access | |
| USE.DEP.10 | Backing Out an Update | |
| USE.DEP.11 | Removing an Installed Package | |
| USE.DEP.12 | Cloning an Installed Image to Another System | |
| USE.DEP.13 | Deploying Preinstalled Image | |
| USE.DEP.14 | Removing an Installed Product Distro | |
| USE.DEP.15 | Add Another Repository | User should be able add, change and remove additional repository URLs in order to point to and interact with 3rd party repositories. |
| USE.DT.16 | Update the Update Client | Ability to apply updates to the update client. |
| ID | Title | Description |
|---|---|---|
| USE.BB.1 | Searching for Updates and Additions via Web Browser | Without access to an installed installation, user search project or product web site for updates and additions relevant to specific distro releases. |
| USE.BB.2 | Signing up for Notifications via Web Site | User accesses project or product web site to sign up for notifications of updates and additions relevant to specific distro releases. |
| USE.BB.3 | Notification via Email and RSS | Users receives notifications of updates and additions. |
| ID | Title | Description |
|---|---|---|
| CONN.1 | Discovering Software in the Repository | It should be easy to browse the update center repository content and discover what is popular and worth taking a look. Similar to most online stores, update center UI should have popular softwares in different categories, banners promoting software and services, etc. It should be possible to restrict certain part of the repository to only a class of users. |
| CONN.2 | Knowing the User | Through the update center, it should be possible to encourage the user to register in exchange of bug fixes, contents (ex., knowledge base content such as tuning guides, deloyment architecture shows up in the details section for a software), promotions (ex., first 30 day free for support, eng services), etc. |
| CONN.3 | Promotion Channel | On the update center UI, it should be possible to promote softwares, support and services. This should be context sensitive and allow videos. |
| CONN.4 | User Reviews | It should be possible for end users to write a review for a software with star ratings. Other users should be able to see these reviews and the overall star ratings. |
| CONN.5 | Companion Software | For a given software, user should see what other softwares people are typically using. |
| CONN.6 | Product Specific Details | It should be possible for users to see software specific details easily. Update center 1.0 has the following information - overview - description of the product, post install instructions, documentation, tech specs - technical details, requirements, features, support - community and commercial support, training, etc. We should retain these information while navigation and layout may change. We should allow software specific banners. |
| CONN.7 | Connecting with User Generated Contents | Every software should have a set of tags. In the details section of a software, we should show recent blogs for that software/tags (RSS feed from Technorati, Google, etc.), any screen casts/video (YouTube, Google). Other contents may include books, upcoming conferences/events, promotions, etc. |
| CONN.8 | Getting Help | It should be easy for users to report an issue, ask a question (link forums), sign up for support and services for a particular software. |
| CONN.9 | Anonymous Usage Reporting | Help users understand popularity of distros, add-ons and updates. Help community and product leads make informed decisions. |