Einschränkungen der SDK zusammengefasst

Ich denke auch IM hätten einen zu hohen Energiebedarf. Wichtig ist nur, dass Spiele, Office-Programme etc. sich den aktuellen Spielstand immer merken. Falls dies nicht der Fall wäre und z. B. ein Anruf den Fortschritt immer zunichte macht... Nun, der Unmut wäre groß.

Aber wie JavaEngel vertraue ich darauf, dass Apple solche Aspekte bedacht hat.
 
Was ich noch vergessen habe zu erwähnen. Man könnte natürlich die Applikation schlafen legen. Wäre kein Problem. Aber irgendwann wird der Speicher voll. Kommt dann beim Aufruf von Safari : "Bitte schließen Sie Anwendungen"? Wie sollen die überhaupt geschlossen werden? Schreckliche Vorstellung.

Bei einem IM wäre genau wie bei eMail und SMS nur interessant, ob neue Nachrichten eingetroffen sind evtl. mit Rückmeldung (Ton oder Vibrieren). Da könnte Apple einer Applikation die Möglichkeit geben sich bei einem solchen Service anzumelden. So würde man neue Nachrichten mitbekommen. Wenn man dann den IM öffnet, schwupp sieht man die neue Nachricht ohne das sie im Hintergrund sinnfrei Speicher belegt.
 
Ich denke wir alle wissen nicht, welche Deals Apple mit Firmen eingehen könnte die eben bereit sind an Apple für ihre Applikationen etwas abzudrücken (z.B. AOL für AIM). Evtl. ergeben sich dadurch schon Vorteile, die eben nicht jedem anderem Entwickler zur Verfügung stehen.

Ich finde jedenfalls an den sogenannten "Einschränkungen" nichts schlechtes. Das reicht allemal für jede Anwendung die auf dem iPhone sinnvoll ist. Klar ist auch, das manche immer mehr sind, aber hey, damals war das was jetzt möglich ist undenkbar.
 
Nur so nebenbei: Anfang der 80er Jahre galten für Macintosh Entwickler auch strenge Regeln -- Wer sich nicht dran hielt, der bekam halt keine Info von Apple mehr. In Zeiten ohne Internet war das eine harte Strafe.
Das hat aber dazu geführt, das ich z.B. auf dem Amiga nicht weniger als DREI Methoden gezählt habe, um im GUI mit der Maus Text auszuwählen. Beim Mac gab es so einen Unsinn nicht.

Denkt mal darüber nach: Offenbar mögt ihr alle das iPhone. Warum? Gehört eine gewisse durchdachte Einheitlichkeit nicht auch zu den Features? Wünscht ihr Euch nicht Sicherheit vor Malware?

Apple hat -- wie bekannt -- die Restriktionen beim Mac dann relativ schnell drangegeben. Ich warte einfach ab, bis dahin halte ich mich an Apples Regeln.

Alex
 
Eine Frage, schränke ich mich eigentlich ein, wenn ich mir in 1 1/2 Monaten ein iPhone zulege und nicht erst mit dem SDK 2.0 Beta Ende Juni?!
Evtl wegen neuer Version oder ähnliches?
Entschuldigung für diese dumme Frage, aber ich habe leider keine wirkliche Ahnung davon.
Danke
 
Hu sturmisch, wir kennen uns ja schon;)

Nein, es ist egal ob Du jetzt ein iPhone kaufst oder erst
im Juni.

Das SDK und die neuen Sachen (Microsoft Exchange *freu*) kommen mit
dem Software Update 2.0, dass Du dann bequem kostenlos über iTunes
laden kannst.
 
Du schon wieder :p ;)

Danke :)

Bin wirklich noch nicht so weit bewandert, befasste mich vorher noch nicht so stark mit dem Produkt. Hoffe es wird bald mehr :)
 
ich habe zwar (noch) kein iPhone, aber ich denke aim wird sich am home screen genauso verhalten wie sms, mail, usw...
also, wenn eine nachricht eintrifft, dann in der ecke vom icon ein roter kreis mit ner zahl drinnen. ;)
 
nun, damit sich zB AIM wie das SMS programm verhalten kann, und bei neuen nachrichten benachrichtigen kann oder einen badge anzeigen kann, muss das programm im hintergrund laufen, oder zumindest ein "service" oder "deamon" muss laufen.

dass es nicht gut ist, wenn das komplette programm im hintergrund läuft ist klar, das würde unnütz akku ziehen, aber ein einfacher deamon, der wenig bis gar fast keine leistung und RAM beansprucht, würde der akkulaufzeit nicht gross schaden.

ein deamon kann zB die session bei einem IM offen halten, und zB einfach als "port-listener" agieren. ähnlich ein VoIP.

wie gesagt, dass ganze apps nicht im hintergrund laufen können ist nicht weiters tragisch, aber dass deamons und services nicht auch laufen können ist viel blöder.

gerade für IM clients wird es ein knock-out kriterium sein, es sei denn, AOL, yahoo und MSN bekommen spezielle erlaubnis, und dürfen einen deamon installieren.

für den einfachen programmierer (zB adium) wird das aber ein problem werden, weil sobald er geshclossen wird, geht die verbindung verloren, die Session kann da nicht aufrecht erhalten bleiben.
als einiger ausweg würde ein spezieller relay server dienen können.
so dass der IM client nicht lokal sich anmeldet beim iPhone, sondern sozusagen bei dem server angemeldet wird, und da der server nicht offline geht, kann das iPhone app auch beendet werden, und die nachrichten kommen trotzdem an (auf dem server) und werden vom iphone abgeholt.
dies würde aber ein speziellen server benötigen (einen extrem starken server, wenn da tausende user ihre ganze IM drüber laufen lassen, und angemeldet wären), was ziiemlich teuer wäre, plus ein sicherheits risiko, weil die ganzen benutzerdaten auf de server liegen würde.
folglich wäre so ein programm ziemlich teuer im unterhalt.
zwar bieten einige IM services einen "offline" dienst an, zB MSN, wo die nachrichten die man an einen offline kontakt schickt dann erscheinen, wenn man online geht, trotzdem würde das bei jedem programm start ein komplett neuer login bedeuten, und ihr wisst dass das nicht sehr schnell geht bei MSN zB.

was aber weiter interessant ist, da die ganzen restiktionen (zumindest ein paar) lediglich richtlinien sind, und nicht technisch unterdrückt, inwieweit sich apple daran stört.

so kann man (zumindestens bei JB programmen) einen wert setzen (suspendmode oder so) damit ein programm weiterläuft auch wenn es beendet wird.
diesen wert kann man auch bei der SDK durchgeben, sodass das programm weiterhin (leider komplett und nicht nur als deamon ->RAM/akku hungrig) im hintergrund läuft.
die SDK überprüft beim kompilieren nicht ob der wert gesetzt wird. das heisst, man könnte das programm zumindest so abschicken.
ob apple dann den ganzen source überprüft ist ne andere frage.
und falls nicht, und falls sie es später dann merken, ob sie es vom netz ziehen, und dem developer die lizenz entziehen.

kurzum: technisch bleibt es möglich, da kommt es halt auf die "kulanz" von apple drauf an, ob sie es stillschweigend dulden, oder ob sie solch ein programmierer gleich bestrafen wie einer der malware verbreiten würde.
 
Vielleicht sollen die Guidelines auch dafür sorgen, dass die Entwickler damit rechnen, dass die Programme auch einmal unabsichtlich beendet werden (Systemcrash, RAM wird anderen Programmen zugewiesen etc.). Wenn die Programmierer davon ausgehen, dass dies passiert, bauen sie vielleicht einen Mechanismus ein, der die Eingaben/Fortschritte speichert und beim nächsten Programmstart wieder aufruft.

Hält der Entwickler sich nicht daran, ist sein Programm vielleicht einfach nicht ordentlich benutzbar.
 
wäre natürlich auch ne möglichkeit, doch dann hätten sie es wohl eher anders formuliert.
weil ein kontinuierliches speichern gehört gerade bei solchen programmen so oder so zum guten programmier stil.

wie auch immer, wir werden es sehen wie es rauskommt, fakt ist, dass ein abruptes beenden des programmes (wohl sogar ohne programmmeldung wie "onClose" oder so) nicht sehr schön ist.

angenommen, ihr macht mit "mobile photoshop" eine monage, das file ist bereits 2mb gross, und photoshop speichert es gerade in dem moment wo ein telefon reinkommt. so wie es in den guidlines beschrieben ist, wird das programm mittels "kill photoshop" (oder "sofort beenden" unter OS X) beendet, und das programm hat keine chance zu sagen "wartet noch ne sekunde, ich bin am speichern".
würde es gerade in dem unpassenden moment beendet, kann die datei beschädigt sein. nicht gerade ne tolle aussicht
 
Weiterhin: Wie soll man denn sonst sicherstellen das Anwendungen entladen sind? Weiß ich als Anwender was die Anwendung gerade noch tut? Nein. Und vergesse ich einmal eine Anwendung zu schließen habe ich ein Problem --- bzw. wie schließe ich eine Anwendung? Gar nicht mehr? Nein ich bleibe dabei. Eine gute Lösung.

Naja, man könnte z.B. einen Marker auf das jeweilige Programmicon setzen (ähnlich dem Symbol bei SMS,Telefon, Mail - Eingang), das anzeigt, dass die Anwendung noch aktiv ist. Klar, wird die Anwendung geschlossen muß auch sichergstellt sein, dass alle im Hintergrund laufenden Dienste und Erweiterungen mit geschlossen werden. Aber eine generelle Anzeige über aktive Applikationen wäre m.M.n. schon machbar.
Oder gleich eine Art offiz. Task-Manager, der einen Überblick über (noch) aktive Programme gibt und diese auch von dort aus beenden läßt...
 
Naja, man könnte z.B. einen Marker auf das jeweilige Programmicon setzen (ähnlich dem Symbol bei SMS,Telefon, Mail - Eingang), das anzeigt, dass die Anwendung noch aktiv ist. Klar, wird die Anwendung geschlossen muß auch sichergstellt sein, dass alle im Hintergrund laufenden Dienste und Erweiterungen mit geschlossen werden. Aber eine generelle Anzeige über aktive Applikationen wäre m.M.n. schon machbar.
Oder gleich eine Art offiz. Task-Manager, der einen Überblick über (noch) aktive Programme gibt und diese auch von dort aus beenden läßt...

Nein. Genau solch ein Müll ist für ein Mobiltelefon mit Internetfunktion völlig unnötig und unnütz. Der "normale" Anwender soll sich dann ständig darum kümmern seine Applikationen zu beenden? Nein danke. Vielleicht wäre das etwas für Windows Mobile :D. Wenn ich "Home" drücke, so will ich das nur Originalprogramme laufen ohne mir Sorgen machen zu müssen, was denn noch alles offen ist.

Zum Thema Daemon oder wie auch immer es der Threadersteller nennt. Du willst also wirklich das Applikationen "Daemons" installieren, die im Hintergund laufen können? Nach wie vielen Applikationen laufen dann wie viele Daemons auf meinem iPhone? Auch das macht aus softwaretechnischen Gründen keinen Sinn.

Wenn es solch einen Dienst geben sollte, dann sollte er von Apple zur Verfügung gestellt werden und nicht von einer Anwendung. Da wir nicht wissen, ob dem so ist, ist es mühselig darüber zu diskutieren, ob wenn oder aber.

Dennoch bin ich mir sicher, dass eine solche Möglichkeit geschaffen wird.

Zusammenfassend sage ich einmal das es sicherlich Möglichkeiten gäbe eine solche Bedienphilosphie einzufügen, was aber dem Grundkonzept des iPhones widerspricht. Eine Applikation beendet sich, wenn der Homebutton gedrückt wird. Wird sie wieder aufgerufen, so kann sie ja problemlos ihren Vorherzustand wiederherstellen.

Somit ist jederzeit ohne Umwege ein definierter Zustand erreicht, wenn ich den Homebutton drücke. Die Anwender werden es Apple danken.

wie auch immer, wir werden es sehen wie es rauskommt, fakt ist, dass ein abruptes beenden des programmes (wohl sogar ohne programmmeldung wie "onClose" oder so) nicht sehr schön ist.
Auch das ist Geschmacksache. Ich will in diesem Moment lieber Telefonieren als mein dummes Photoshop quittieren müssen.

Weiterhin ist es gut möglich, dass Apple eben nicht Programme abrupt beendet, sondern eine Lebenszeitdauer gibt, um solche Schreibaktionen zu Ende zu führen. Da Schreibaktionen über das Framework laufen, wäre es gut möglich das Apple eine Möglichkeit schafft (oder schon geschaffen hat) diese Aktion selbst zu Ende zu führen.

Immer daran denken das SDK ist noch Beta ;)
 
Zuletzt bearbeitet:
Nein. Genau solch ein Müll ist für ein Mobiltelefon mit Internetfunktion völlig unnötig und unnütz.

Das kommt auf die Anwendung an.
Und scheinbar gibt es genügend Freaks da draußen, die ihr iPhone mit allen erdenklichen Appz zupflastern - nicht jeder gibt sich mit der Bescheiden- und Einfachheit des 0815-iPhones zufrieden.

Wenn ich z.B. eine Applikation starte, möchte ich auch bestimmen können, wann sich diese beendet. Alles andere ist Bevormundung durch ein System. Doch räume ich pers. die Möglichkeit ein, dass es userfreundlicher sein könnte, wenn dieser nicht weiter zum nachdenken genötigt werden würde und sich alle Programme auch automatisch beenden...
 
Ja genau das ist eben das Problem. Muß ich als User bei einem Telefon nachdenken müssen nur wegen ein paar Spezialfälle? Nur deswegen sollen nun alle User ihre Programme beenden müssen? Was nun wahrlich extrem nervig wäre? Also ich weiß nicht.

Und zum Thema Bevormundung. Welche Bevormundung bitte? Dieses Telefon hat von Beginn an dieses Konzept verfolgt. Natürlich könnte man am besten gleich die gesamte Software in die Community geben. Diese verschandeln dann das gute Konzept des iPhones bis zur Unkenntlichkeit. Es gibt einige wenige Guidelines eine Applikation zu entwickeln. Die hat Mac OS X ebenso wie Windows und an die hat man sich einfach zu halten. Gefällt einem das nicht, so sollte man besser für andere Systeme entwickeln.

Ich denke diese Guidelines sind völlig in Ordnung.
 
Nein. Genau solch ein Müll ist für ein Mobiltelefon mit Internetfunktion völlig unnötig und unnütz. Der "normale" Anwender soll sich dann ständig darum kümmern seine Applikationen zu beenden?

Geht bei Symbian doch auch. Die Menschen sind nicht alle zu blöd um irgendwelche im Hintergrund laufenden Programme zu beenden.
 
Geht bei Symbian doch auch. Die Menschen sind nicht alle zu blöd um irgendwelche im Hintergrund laufenden Programme zu beenden.
Ja. Dort kannst du ja auch Programme problemlos schließen. Hier müßte aber dazu erst einmal ein Mechanismus eingebaut werden, den es bisher nicht gab. Es ging ja hier das allgemeine Schließen von Programmen, was angeprangert wurde ;). Ich denke auch jeder würde es schaffen Programme zu beenden. Das hat nicht viel mit Blödheit zu tun. Nur ich bin mir sicher würde es viele Menschen nerven. Wozu auch? Soll sich doch der Entwickler darum kümmern ;).
 
Ist ja jetzt nicht gerade schwierig, eine Funktion zum Schließen von Programmen zu implementieren.
 
Nicht schwierig aber nervig dies ständig tun zu müssen. Da drücke ich doch lieber meinen Homebutton und bin sicher das einfach alles an externer Software beendet ist.
 
Zurück
Oben Unten