UI Hall of Shame: UPS
Even UPS isn’t immune from bad UI.
Open a link to track a package, of the format https://www.ups.com/track?loc=en_US&tracknum=DEADBEEFCAFEBABE00
The page is automatically redirected to https://www.ups.com/track?loc=en_US&tracknum=DEADBEEFCAFEBABE00/trackdetails
.
Notice the /trackdetails
helpfully added to the end.
Press refresh, or try and share the link with someone:
Nice. To make things even better, they break your history so you can’t just hit back, they really unintetry to gaslight you into thinking the package you were tracking suddenly doesn’t exist.
Someone doesn’t understand how URLs and parameters are supposed to work. Should be something like
https://www.ups.com/track/DEADBEEFCAFEBABE00/trackdetails?loc=en_US
or
https://www.ups.com/track/trackdetails?loc=en_US&tracknum=DEADBEEFCAFEBABE00
I don’t know why, but I looked at their code, and as I suspected they’re it’s a SPA (Angular?) they’re using incorrectly. I can’t be bothered to figure it out, but I think the bug is here somewhere.
1 == o.length ? (sessionStorage.setItem("UPS_SimplifiedTrackingNumber", o[0]),
this._router.navigate([this._trackDetailsRoute])) : o.length > 1 && o.length < 26 ? (utag_data.page_id = "track/track-container.page",
sessionStorage.setItem("UPS_SimplifiedTrackingNumbers", h),
this._router.navigate([this._trackSummaryRoute])) : o.length > 25 && (this._errorService.setError(o, ">25"),
this._router.navigate([this._trackRoute]))
} else
window.location.href.endsWith(this._trackDetailsRoute) || window.location.href.endsWith(this._trackDetailsRoute + "/") ? this._router.navigate([this._trackDetailsRoute]) : window.location.href.endsWith(this._trackSummaryRoute) || window.location.href.endsWith(this._trackSummaryRoute + "/") ? (utag_data.page_id = "track/track-container.page",
this._router.navigate([this._trackSummaryRoute])) : window.location.href.endsWith(this._print) || window.location.href.endsWith(this._print + "/") ? this._router.navigate([this._print]) : this._router.navigate([this._trackRoute]);
var m = this.getParameterByName("requester");
sessionStorage.setItem("UPS_SimplifiedClientID", m)
}
High quality stuff. If they had a way to report a bug I would do it.
Oh look, it’s been around for four months.