[App] Pakettracker

      [App] Pakettracker

      Hallo,

      ich entwickle im Moment eine Applikation mit der man Pakete von DHL, Hermes, DPD und UPS tracken kann, also verfolgen kann.
      Da ich aber privat nur ab und zu mal Pakete bestelle, bin ich hier auf Hilfe angewiesen.

      Ich würde von den versch. Lieferdiensten Trackingnummern benötigen, damit ich die App ausreichend testen kann. Da es nunmal in der Natur der Sache liegt, das ich als private Person nicht ständig etwas bestelle (dann wäre ich noch ärmer :) ) fehlen mir hier halt Nummern zum testen.
      Es würde mir auch reichen, wenn ihr die Antwort-Seiten aus dem Netz von hlg, dpd.de usw mit euren Trackingnummern als HTML speichert und mir zukommen lasst.
      Aber dazu kann ich dann gern mehr erklären wenn mich jemand untersützen kann/will.

      Wenn noch jemand einen Lieferdienst hat, kann ich mir das auch gern bei diesem mal ansehen, im Moment plane ich aber mit den o.g. 4 Diensten, bzw. bin eigentlich schon ziemlich weit, aber das Fein-Tuning nimmt halt seine Zeit in Anspruch...

      Für Hilfe wäre ich hier dankbar!
      Ui, klasse, da bin ich äußerst interessiert dran! Ich habe leider momentan nichts bestellt, aber wenn sage ich Bescheid.

      Wie ist die App aufgebaut, planst du z.B. auch Notifications bei Statusänderung der Sendung auch wenn die App geschlossen ist? Ich glaube "Pack 'n' Track" (wohl nur in den USA erhältlich) macht das so für FedEx, UPS und DHL. Das wäre super, dafür würde ich auch bezahlen.

      Blacklight schrieb:

      Wie ist die App aufgebaut, planst du z.B. auch Notifications bei Statusänderung der Sendung auch wenn die App geschlossen ist? Ich glaube "Pack 'n' Track" (wohl nur in den USA erhältlich) macht das so für FedEx, UPS und DHL. Das wäre super, dafür würde ich auch bezahlen.


      Pack 'n' Track ist eine Frechheit, die verlangen 7.99$ für das Programm, welches einfach leicht verändert aus der freien News-Reader-Source (Mitch Allen Buch) aufgebaut ist.
      Aber zu deinen Fragen: Ja natürlich plane ich Notifications, wenn das Programm offen ist, bekommt man das als Nachricht mit, das sich der Status verändert hat, es kommt natürlich hier drauf an wie gesprächig der Lieferservice ist.
      Wenn du also mal was bestellst, wäre es nett wenn du dich bei mit per Mail an rene.mst AT googlemail PUNKT com melden würdest, dann kann ich dir genau sagen was ich benötige.

      inta schrieb:

      Wird die Anwendung OpenSource? Ich selbst bestelle zwar nicht so viel, aber eventuell darf ich ein paar Bestellungen von unserer Firma zum Testen nutzen. Ich bin allerdings nur bei freier Software bereit zu helfen.

      Die Antwort wird nicht OpenSource werden, allerdings weiß ich noch nicht wie viel ich dafür verlangen werde, da ich dazu erstmal ein "Kleinunternehmen" anmelden muss, im Moment ist das alles noch nebenbei und soll es eigentlich auch bleiben. Trotzdem wäre ich für Mithilfe dankbar, so eine Software wird so leicht niemand als Open Source veröffentlichen, da bin ich mir ziemlich sicher.
      Ich fand den Preis auch absolut übertrieben, wenn das hier so angeboten werden würde, würde ich es natürlich niemals kaufen. Aber wenn es gut gemacht ist wäre mir das natürlich 1/2 Euro wert.

      Bezüglich der Notififications: in der Beschreibung von Pack 'n' Track steht dass die Notifications bei einer Statusänderung auch erscheinen wenn die App geschlossen ist. Quasi wie die neuen Facebook-Beta und Email-Notifcations auch, bei wohl "minimalem Resourcenverbrauch" (ich schätze der checkt alle 60 Minuten oder so danach). Ehrlich gesagt fände ich das für diese Art von App besser, denn ich würde sonst (wie ich das bei Hermes einmal hatte) die Karte vielleicht für vier Tage offen lassen müssen, das stört mich in der Regel eher da ich nicht benötige Apps sehr schnell wieder schließe. Wäre das nicht möglich?
      Das die neue Facebook-Beta das kann wusste ich garnicht, bin nich tbei Facebook :)
      Ich werde mal schauen, normalerweise dürfte das "für den normalen" Entwickler nicht gehen, denn Apps ohne Stage werden automatisch nach (im Moment) 15 Sekunden "abgeschossen", in der 1.4.1.1 nach 60 Sekunden. Evtl. verhält sich das anders wenn im com.palm.* Namensraum gearbeitet wird.
      Mir ist das auch lieber wenn die App dazu nicht permanent laufen muss, aber wie gesagt, ich schaue mal was sich da machen lässt, an den Notifications habe ich noch nicht so viel gemacht, sie funktionieren zwar aber wenn man das besser machen kann, dann natürlich :)
      Also ich kann dir leider nicht genau sagen wie, aber soweit ich weiß geht das ohne weiteres. Für die Facebook App hat das Palm Developer Team auch nur die offiziell verfügbaren Tools genommen um zu demonstrieren was damit geht. Und Pack 'n' Track hatte bestimmt keinen weitergehenden Zugang ;)

      Ich glaube das funktioniert mit Dashboardstages die dann im nicht sichtbaren Bereich unter der Notificationarea laufen.. aber das nur dunkel aus dem Gedächtnis. Steht sicher irgendwo detailliert in der Dokumentation. Du müsstest das dann wahrscheinlich nur sehr sauber implementieren, dass da wirklich nur was läuft wenn ein Paket mit einem noch sich ändernden Status eingetragen ist. Aber du bekommst das schon hin ;) :thumbup:
      Falls ich Bestellungen habe, melde ich mich bei dir. Könnte auch sein, dass wir in der Schule mal das ein oder andere ordern.
      Du darfst die Software dann aber meinetwegen trotzdem als "Nicht-Open-Source" veröffentlichen. ;)

      Kleine Überlegung noch: DHL und so könnten doch davon profitieren. Können die dir nicht irgendwie mit Testnummern unter die Arme greifen? Okay, die können dir keine Nummern von deren Kunden geben. Aber evtl. haben sie Testlaufpakete oder firmeninterne Pakete, die sie nutzen können. (Ist nur eine Idee ins Blaue hinein.)

      koermit

      koermit schrieb:

      Kleine Überlegung noch: DHL und so könnten doch davon profitieren. Können die dir nicht irgendwie mit Testnummern unter die Arme greifen? Okay, die können dir keine Nummern von deren Kunden geben. Aber evtl. haben sie Testlaufpakete oder firmeninterne Pakete, die sie nutzen können. (Ist nur eine Idee ins Blaue hinein.)
      Gute Idee, falls du das noch nicht gemacht hast frag die Firmen einfach mal, ich denke auch dass die eher zugeneigt sind. Wie machst du das momentan, parst du einfach die Daten der Websites? Vielleicht bekommst du ja noch tiefergehende Information von denen.. ich würde nur nicht unbedingt erwähnen dass dann auch noch andere Paketdienste unterstützt werden ;)
      Die Idee mit dem Anfragen bei den Diensten habe ich schon vor 3 Wochen gehabt und bei allen angefragt.
      Bis auf UPS, die mir EINE TrackingNummer zur Verfügung gestellt haben, die sich auch nicht wirklich zum testen eignet hat KEINER der anderen geantwortet, aber ehrlich gesagt habe ich das auch irgendwie genau so erwartet. Also teste ich mit Nummern die ich oder 2 weitere Bekannte ab und an bestellen. Sehr schön sind immer Apple UPS Lieferungen, die dauern so 3-5 Tage, das ist eine schöne Zeitspanne zum testen. Da ich mir die Ergebnis-Seiten als HTML File auf meinen lokalen WebServer lege, habe ich auch Zugriff auf die versch. Status nachdem das Paket schon ausgeliefert wurde, anders geht's halt nicht
      Es gibt auch nur UPS die einen WebService zur Verfügung stellen und Developer-Resourcen haben, alle anderen bieten so etwas nicht an, zumindest nicht offiziell und auf Anfrage reagieren sie auch nicht. Ich habe natürlich nichts von weiteren Diensten erwähnt, blöd wär ich ja :P
      Also parse ich die HTML-Ergebnis-Seiten der einzelnen Dienste, im Moment denke ich das ist der beste Weg und sollte sich bei einem Service das Layout ändern, muss ich reagieren und das anpassen, aber das halte ich nicht für das große Problem.

      Ich plane auch schon direkt Amazon-Bestellungen tracken zu können, nur dazu muss ich die Login-Daten des Amazon-Accounts natürlich speichern, ich denke mal nicht das ich als "kleiner privater" da viel Vertrauen entgegen gebracht bekomme von Anwendern, von daher überlege ich da noch, funktionieren tut es schon mit meinem Account :) Wenn ich die Kommentare zu den eBay Apps lese, dann kann ich das auch verstehen, ich will meine eBay-Login-Daten auch nicht überall gespeichert haben.

      Zum Thema Notifications schaue ich noch mal, ich weiß wie die funktionieren, aber bin mir nicht sicher, was passiert wenn ich die App schließe, und FaceBook ist im com.palm.* Namespace, der darf deutlich mehr auf dem Telefon anstellen (Alle Kontakte auslesen, Termine auslesen, usw...) wenn die App im eigenen Namespace läuft dann geht so etwas alles nicht. Die muss aber im eigenen Namespace laufen, sonst wird die nicht zugelassen...

      rretsiem schrieb:

      Zum Thema Notifications schaue ich noch mal, ich weiß wie die funktionieren, aber bin mir nicht sicher, was passiert wenn ich die App schließe, und FaceBook ist im com.palm.* Namespace, der darf deutlich mehr auf dem Telefon anstellen (Alle Kontakte auslesen, Termine auslesen, usw...) wenn die App im eigenen Namespace läuft dann geht so etwas alles nicht. Die muss aber im eigenen Namespace laufen, sonst wird die nicht zugelassen...
      Schau dir das mal an: developer.palm.com/index.php?o…rticle&id=1797&Itemid=283 Damit kann man eine App wieder starten lassen (auch im Hintergrund) und falls nötig Notifications anzeigen lassen in einem Dashboardstage z.B.

      Und noch ein Wort dazu:
      Wenn ich die Kommentare zu den eBay Apps lese, dann kann ich das auch verstehen, ich will meine eBay-Login-Daten auch nicht überall gespeichert haben.
      Deine Zugangsdaten werden von keiner der beiden eBay Apps gespeichert. Die Kommunikation verläuft über einen Token ( so wie auch z.B. bei Facebookanwendungen und vielen anderen APIs), den du von eBay bekommst bzw. die eBay App, nachdem man sich bei _ebay_ eingeloggt hat.

      Gruß,
      Stephan
      Mein Blog: zefanjas.de | SaleZ - die erste eBay App für webOS | BibleZ für webOS: biblez.zefanjas.de

      zefanja schrieb:

      Schau dir das mal an: developer.palm.com/index.php?o…rticle&id=1797&Itemid=283 Damit kann man eine App wieder starten lassen (auch im Hintergrund) und falls nötig Notifications anzeigen lassen in einem Dashboardstage z.B.

      Das ist das PowerManagement, wenn ich das richtig gelesen habe ist das aber auch nicht das richtige, denn auf Nachfrage im Developer.palm.com Forum: developer.palm.com/distribution/viewtopic.php?f=11&t=6269 werden Anwendungen OHNE Card oder Dashboard nach max. 60 Sekunden geschlossen, wenn ich nun per PowerManagement die App alle x Minuten mit einem Request aufrufe geht das erstens ganz schön auf den Akku und 2. kann ich den Abstand zwischen den Requests auf max. 15 Minuten setzen, was deutlich zu oft ist.

      The power management service automatically terminates your activity request at the end of its duration or 15 minutes, whichever is shorter.


      Oder ich denke hier viel zu kompliziert?

      Wenn ich die Kommentare zu den eBay Apps lese, dann kann ich das auch verstehen, ich will meine eBay-Login-Daten auch nicht überall gespeichert haben.
      Deine Zugangsdaten werden von keiner der beiden eBay Apps gespeichert. Die Kommunikation verläuft über einen Token ( so wie auch z.B. bei Facebookanwendungen und vielen anderen APIs), den du von eBay bekommst bzw. die eBay App, nachdem man sich bei _ebay_ eingeloggt hat.
      [/quote]
      Das mit den Zugansgdaten war eher auf den Amazon-Packet-Tracker bezogen, Amazon bietet keine OAuth oder ähnliches an, da muss ich also die normalen Login-Daten benutzen, aber wie gesagt, das steht noch in den Sternen.

      rretsiem schrieb:

      The power management service automatically terminates your activity request at the end of its duration or 15 minutes, whichever is shorter.
      Soweit ich das verstanden habe, bezieht sich das auf die Dauer der Hintergrundaktivität (weiß es aber selbst nicht so genau, es kann auch sein, dass die Doku an der Stelle nicht mehr aktuell ist und jetzt die 15/60 Sek. Regelung gilt, wenn keine UI angezeigt wird.) Es gibt noch den Parameter "in" (siehe Palm News App Beispiel), wo man angeben kann, ob das event zu einem bestimmten Zeitpunkt oder in einem bestimmten Intervall wiederholt werden soll.
      Mein Blog: zefanjas.de | SaleZ - die erste eBay App für webOS | BibleZ für webOS: biblez.zefanjas.de
      Ich habe mich eben noch mal mit dem Thema Notifications beschäfitgt und ich denke das meine "Befürchtungen" wahr sind, denn wenn man sich das Changelog zu 1.4.1 durchliest: developer.palm.com/index.php?o…article&id=1588&Itemid=55 dann steht da:


      As of webOS 1.4.1.1, apps will have 60 seconds to perform background operations in "headless" mode (with no stages open).
      In webOS 1.3.5 and earlier, headless apps were never terminated by the OS.
      In webOS 1.4 and 1.4.1, headless apps were terminated 15 seconds after their last stage closed (or 15 seconds after launching, if no stage was ever opened).
      In webOS 1.4.1.1 and later, headless apps will be terminated 60 seconds after their last stage closes (or 60 seconds after launching, if no stage is ever opened).
      Apps do not receive any notice before being terminated, so developers should take measures to ensure an app can recover cleanly in the case of an unexpected termination.
      When an app performs a background operation that may take longer than 15 seconds (in 1.4.1) or 60 seconds (in 1.4.1.1 and later), it should open a dashboard stage to avoid being shut down.
      By opening a dashboard stage but not issuing a banner alert, this can be made minimally obtrusive. No sound or vibration will occur and the display won't turn on. The only visible effect will be the appearance of an app-specific dashboard summary icon in the "negative space" at the bottom of the screen.
      If the user taps the summary icon, your dashboard panel should explain the nature of the operation you're performing (and advise users not to dismiss the panel while the operation is in progress).
      Once the operation is complete, you should close your stage and the notification icon will disappear.
      Note that the Power Management API's activityStart and activityEnd methods have no effect on whether or when a headless app is terminated. The purpose of this API is prevent the entire device from powering down while any app is performing a long-running operation.


      Das bedeutet, das zumindest IMMER eine Dashboard-Stage offen sein muss, wenn keine Card aktiv ist, ansonsten wird rigoros terminiert, auch die Power Management API hat also keinen Einfluss darauf, wenn webOS die App schließt war es das mit der Aktualiserung in Intervallen wenn keine Card mehr offen ist.
      Aber die ganze Zeit eine Dashboard-Stage offen halten ist auch nicht das wahre, denn dann hat man immer ein kleines Symbol im Dashboard, das ist störender als eine Card offen zu haben.

      Vielleicht tut sich ja in die Richtung etwas bzgl. Mojo.Messaging.Service dann wären über einen Server Push-Notifications möglich wenn sich der Status ändert...

      rretsiem schrieb:

      Aber die ganze Zeit eine Dashboard-Stage offen halten ist auch nicht das wahre, denn dann hat man immer ein kleines Symbol im Dashboard, das ist störender als eine Card offen zu haben.
      Die App "Brightness Unlinked" hat es auch so geregelt, dass im Dashboard ein kleines Symbol zu sehen ist. Fand ich anfangs nicht gerade prickelnd, weil z.B. der Browser dann etwas weniger Platz hat, aber inzwischen hab ich mich dran gewöhnt und ziehe es einer offenen Card vor.
      Gruß
      Wolfgang

      rretsiem schrieb:

      Das bedeutet, das zumindest IMMER eine Dashboard-Stage offen sein muss, wenn keine Card aktiv ist, ansonsten wird rigoros terminiert, auch die Power Management API hat also keinen Einfluss darauf, wenn webOS die App schließt war es das mit der Aktualiserung in Intervallen wenn keine Card mehr offen ist.
      ja...wenn die Operation mehr als 15s dauert, dann sollte man ein Dashboardstage öffnen. Wenn die Operation dann abgeschlossen ist, kann man ja die Dashboardstage wieder schließen. Unabhängig davon kann man mit der powermanagement API eine App in bestimmten Intervallen aufrufen und z.B. auf Updates prüfen lassen. Es muss also nicht die ganze Zeit ein Dashboardstage offen sein, um in bestimmten Intervallen eine Aktualisierung durchführen zu können.
      Mein Blog: zefanjas.de | SaleZ - die erste eBay App für webOS | BibleZ für webOS: biblez.zefanjas.de
      Mich persönlich würde eine Dashboard stage im "negative space" nicht stören wenn ich aktiv bei geschlossener Karte ein Paket tracke. Im Gegenteil, denn die einzige Alternative ist dann ja eine volle Karte offen zu halten! Da ist mir ein schönes Symbol in der Notificationzeile doch wesentlich lieber!?

      Ansonten das was Zefanja sagt ;) Imho ist alles besser als eine ständig offene Karte..
      Ich habe gestern dazu einmal ein wenig geforscht und denke es lässt sich wie zefanja gesagt hat mit einem com.palm.power Service als timeout alle xx Minuten lösen, da bin ich aber noch nicht wirklich durch gestiegen wann ich den am besten wieder "clear" usw.
      Aber es wird, es ist damit dann also weder notwendig eine Card offen zu halten, noch ein Symbol permanent im Dashboard zu haben. Das Symbol würde dann nur bei einer Änderung des Zustandes auftauchen.

      rretsiem schrieb:

      Ich habe gestern dazu einmal ein wenig geforscht und denke es lässt sich wie zefanja gesagt hat mit einem com.palm.power Service als timeout alle xx Minuten lösen, da bin ich aber noch nicht wirklich durch gestiegen wann ich den am besten wieder "clear" usw.
      Aber es wird, es ist damit dann also weder notwendig eine Card offen zu halten, noch ein Symbol permanent im Dashboard zu haben. Das Symbol würde dann nur bei einer Änderung des Zustandes auftauchen.
      Na das wäre natürlich perfekt, super :thumbup:

      Das clearen müsstest du ja logischerweise vom Status abhängig machen denke ich? Das heißt Status 1-x veranlasst bei Statuswechsel eine Notification, Status x+1 liefert eine Notification und beendet die aktiven Timer-Abfragen. Status x ist dabei vorletzte Status, also die laufende Auslieferung vor dem Status "ausgeliefert".

      Denkbar ist vielleicht auch eine Option um nach dem vorletzten Status schon nicht mehr intervallweise abzufragen, denn in der Regel bekommt man die Auslieferung ja mit, danach macht es nicht mehr unbedingt Sinn den Status zu aktualisieren.