Die meisten Kriterien hast du selbst beschrieben. Das Problem, was immer wieder auftaucht, ist die Kompatibiliät. Die Frage ist nur, ob das seitens der Druckerei oder seitens des Anwenders geschehen soll.
Ich möchte bspw. als Anwender ein Corel-File (bspw. Poster A0, Farbüberläufe, Transparenz) drucken lassen. - Die Druckerer nimmt meist nur PDF-Files entgegen - leider gehen (manchmal) durch die Umwandlung Farbüberläufe verloren. (Aus Farbüberläufen werden rechteckige halbtransparente Kästchen) Weiterhin werden Farben verfälscht dargestellt.
Das Problem wurde bisher immer mit Plugins seitens der Druckerei gelöst, indem man im Distiller bestimmte exakte Farben der Druckerei installiert.
Egal ob man professionell arbeitet oder nicht - man möchte gerne an die Hand genommen werden und seine Datei schnellstmöglich drucken lassen. - Jede Fremdeinwirkung schadet nur. Heisst: einfaches Layout der Website, schnelle Ladeezeiten (obwohl man DSL voraussetzen kann), möglichst wenig Plugins (Flash/ Java), Einhaltung einfachster Webregeln - keine Werbung, keine Popups, Barrierefreiheiten, Kontraste usw. - Praktisch alles ausschließen, was irritiert. Weiterhin, sollte man immer wissen wo man gerade ist - Corporate Design auf der gesamten Website.
Zum Ablauf - der Ablauf sollte immer gleich geschehen - eventuell mit Cookiesetzung, damit häufige Uploader nicht immer ein langes Szenario durchleben müssen. - Zunächst Begrüßung auf der Website - "Was möchten sie tun?" ("Where do you want to go today?"

maximal drei Punkte - 1. Datei uploaden 2. Fragen und Hilfen zum Upload 3. Kosten/ Dauer usw. o. ä. - als nächstes möchte ich wissen, was darf ich uploaden, was muss ich vorher tun - im Bezug auf Farben, Kompatibilität usw. - Alle Punkte sollten selbsterklärend sein und wichtig: keine allgemeine Hilfe à la Microsoft, sondern Hilfe direkt am Auswahlpunkt à la AVM FritzBox - bspw. mit einem Klick auf "Plus" kann eine Erklärung auftauchen. Man wird praktisch durch das Menü geführt innerhalb von 5 - 6 Punkten - ich kann zwischen den Punkten springen, es verliert sich nichts - ich muss das Passwort oder irgend eine Information nicht zweimal eingeben, obwohl ich zwischen den Punkten springe. Nun zur Farbanpassung und Plugins - es liegt wohl in der Natur des Menschen faul zu sein - daher ist jeder Download und jede Anpassung der upzuloadenden Datei seitens des Anwenders lästig. Es gibt Anwender, die arbeiten professionell und haben die Anpassungen schon standardmäßig - andere wissen nicht einmal was ein pdf ist und möchten etwas uploaden. - daher muss ein Punkt im Menü auftauchen, in dem erkärt wird, was unbedingt angepasst werden muss - bspw. im Distiller und was no gos sind. - Am Ende kann die Datei upgeloaded werden - dabei können auch bspw. gleich mehrere Dateien gleichzeigtig hochgeladen werden - wieder durch "Plus" ausklappbar. - Wichtig ist hier ein Ladebalken für jede Datei oder noch besser eine XXK von XXXMB Uploadanzeige. - Ich möchte wissen, wie lange es noch braucht.
Nun zu den Cookies - wenn ich einmal was hochgeladen habe und es einprägsam war, dann weiß ich wie der Hase läuft. - Möchte ich zum zweiten Male etwas hochladen, werde ich mit einem "Guten Tag Herr..." begrüßt, "Ihr letzter Besuch war am ...." - "möchten sie wieder durch das Menü geführt werden oder gleich etwas hochladen?" - somit wird dem Benutzer keine Zeit geraubt. - Beim dritten Mal wird schon gleich nur noch das Uploadfenster mit Begrüßung gezeigt. - Aber es ist immer möglich wieder an die Hand genommen zu werden, wenn man es möchte.
Grundsätzlich wäre ich für ein php-basiertes System (falls möglich), welches weiß, wer ich bin, wann ich schonmal hier war - ich kann immer jemanden kontaktieren, hab immer Hilfe zur Hand, wenig Ladezeiten, Übersicht, ich sehe bei welchem Punkt ich bin, kann immer bspw. unter jedem Punkt einen Kommentar zur Verbesserung hinterlegen, alles ist selbsterklärend....
Praktisch das perfekte System