Back to Journal
adminen

Mobile admin: what works and what doesn't

Tablet does almost everything, phone does 5 specific actions - and why we pulled drag-and-drop reordering on mobile after two months of UAT.

Netorigo Admin is not a mobile-first product. ERP administration usually happens on a desktop, with many windows and multi-column views. But there are two real use cases where mobile access isn't optional: (1) the tenant owner on Sunday morning needs to quickly approve a large order, and (2) the logistics user is scanning in a warehouse. We support those two use cases deliberately, and not the rest.

Tablet: first-class citizen

10-inch and larger tablets (iPad, Android tablets) handle almost everything that works on the desktop. The breakpoint is above Tailwind's md (768 px). Multi-column lists (e.g. the orders table) get narrower columns, the sidebar becomes collapsible. Catalog editing works, brand editing works, audit-log filtering works. One exception: the report builder (drag-and-drop widget layout) does not work on tablet, desktop only.

In UAT we compared an iPad Air 11" + Magic Keyboard against a laptop: 86% of tasks were equally fast on both, 14% (mostly multi-window workflows like "order in one tab, customer in another") were faster on the laptop.

Phone: 5 specific actions

On a mobile phone (375-640 px width) the admin app shows a curated screen by default, enabling 5 operations:

  1. Approve order - confirm a pending order (one button, swipe-to-confirm to prevent accidental taps)
  2. Cancel order - similar swipe-to-cancel
  3. Issue refund - partial or full refund (amount input + reason dropdown)
  4. Add comment - to an order or a customer, an internal note
  5. Send push notification - to the customer (web push or SMS if the tenant has configured it)

Navigating to any other page shows a "This feature is not optimized for mobile" overlay with two buttons: "Continue on mobile" (you get the desktop UI scaled down, usable but not pretty) or "Email me the link" (sends the page URL to your email to continue on desktop).

This restriction is deliberate. In a trial phase (Q4 2025) we made everything mobile-rendered: editing the catalog on mobile was so hard it caused an 18% rise in support tickets. The curated mobile UI ensures only what's comfortably usable on a phone ships to phones.

Touch-target sizes

44 px minimum touch target (Apple HIG), 48 px default (Google Material). Form input fields are 56 px tall (comfortable for large thumbs). Minimum 8 px gap between buttons.

The bottom-sheet pattern: modals don't take the full screen on mobile, they slide up from the bottom. Faster to dismiss (swipe down), and the user can operate it one-handed with their thumb.

Offline-aware service worker

The service worker caches the last 10 opened pages (assets and API responses). If a warehouse user opens a page on weak Wi-Fi and it then drops, they can still scroll already-loaded pages. Writes (order modifications, etc.) are queued; when Wi-Fi recovers (navigator.onLine listener) they auto-retry. The UI shows a "Offline mode, 3 changes pending" badge.

We don't enable this for every module, only for the logistics_picker role, where work happens in a warehouse with non-guaranteed Wi-Fi.

What we removed: drag-and-drop reordering

The category tree was once drag-and-drop reorderable. On mobile this was a disaster: long-press opened the context menu, dragging a category also scrolled the page, and the final drop often landed in the wrong parent. After two months of UAT feedback we pulled it: categories now have up/down arrow buttons. Simpler, slower, but doesn't make mistakes.

Drag-and-drop stayed on desktop where the UX is perfect.