App bundles
One click, a whole toolkit — grouped by who they’re for.
Employees rarely need one app — they need the set that goes with their job. The bundle builder had to make that a single action for users, and a clear, type-agnostic tool for the admins who assemble it.
admin — the bundles list
Group by who they’re for, not what they are.
Bundle by app type
“All the design applications.” Literal — but not how IT provisions people.
Bundle by user type
Everything a marketer or a designer needs — tied to roles & groups.
A type-agnostic pattern, driven by each application’s own details — so one bundle can hold desktop andmobile apps at multiple price points, with no special-casing. Here’s how it plays out across the screens.
Every bundle, legible at a glance.
The management list (shown above) gives admins the full picture — title, type, message, groups, status, submitter — with add, filter, search, and pagination for scale. The controls that matter live at the row level.
Two menus, two roles.
The row-level actions split by who’s looking: an admin menu (publish/unpublish, message, view report, suspend, delete) and a developer menu(edit, view & edit group) — the same object, surfaced to each role with only what they should touch.
row actions — admin menu vs developer menu
the bundle, as a user sees it — one-click install
A product page for a toolkit.
The detail view treats a bundle like a first-class product: title and price, version with rollback, an image gallery, a description, the full list of products included, and customer reviews — everything needed to decide, in one place.
Assemble a bundle in a single form.
Creating a single-price-point bundle pulls the pieces into one form: bundle info, the selected products, pricing by country, the user and device groups it’s for, and an icon upload. The apps inside are just references — so a bundle can mix desktop and mobile without the form caring which is which.
add bundle — single price point
the admin detail — desktop + mobile apps at multiple price points
Where the type-agnostic bet pays off.
A single bundle can carry several price points, each with its own name, description, and set of products. Because the pattern is driven by each application’s own details rather than a fixed bundle “type,” adding a tier is just adding a price point — no special-casing, no separate flow.