21.06.2011 / Timo Hetzel

Du bist der Push

Herzinfarkt

Gruselig

Geschmäcker sind verschieden, wenn es um Push-Benachrichtigungs-Sounds geht.

Deswegen: Macht es doch besser!

Schickt einen selbst aufgenommenen oder produzierten Push-Sound per Mail an push (at) bitsundso.de, maximal 3 Sekunden lang, muss “Bits und so” enthalten, und frei von Rechten Dritter sein. Ihr könnt den Originalclip einbauen oder etwas eigenes aufnehmen.

Einsendeschluss ist der 1. Juli 2011.

Der Gewinner erhält ein Jahr Plus gratis, und sein Push-Sound wird für eine Ausgabe von Bits und so in der App genutzt.

“Bits und so” Audioclip (aif.zip, 82kb)

Der Rechtsweg ist ausgeschlossen. Rechtswege töten kleine fluffige Baby-Otter.

7.06.2011 / Timo Hetzel

Niche 11-Talk: Bezahlung von Podcasts

Bezahlung von Podcasts – Timo Hetzel – Undsoversum – Niche 11

Update:
Audio (MP3)
Slides (PDF)

7.06.2011 / Timo Hetzel

Philipp und Philipp unterhalten sich

Philipp und Philipp unterhalten sich… mit Timo. Wertvolle TV-Unterhaltung mit Club Mate, Döner-Pizza und dem unvergleichlichen Videokassetten-Domino-Tag*

Philipp und Philipp unterhalten sich mit Timo

http://www.philippundphilipp.de/

Gespannt auf die neue Sendung mit Timo Hetzel und Philipp Seidel? In den Newsletter eintragen und informiert werden, wenn die App erscheint.

* Ähnlichkeiten mit tatsächlich existierenden Domino-Tag-Fernsehformaten sind rein zufällig.

3.06.2011 / Timo Hetzel

Neuer Workshop: Lightroom 3 für Fortgeschrittene

Der neue Workshop sollte noch im Mai erscheinen, war schon fertig, und musste nur noch auf das OK von Apple warten. Mit drei Tagen Verspätung hat es dieses Mal geklappt, und den Workshop gibt es neben den bekannten Bezugswegen in einer neuen Verpackung:

Die neue Undsoversity-App enthält einen einzelnen Workshop, die Videos werden direkt aus dem App Store geladen und stehen sofort auf dem iOS-Gerät bereit. Die App ist Universal, das heißt, sie läuft auf iPod, iPhone und dem iPad.

Undsoversity Workshop App

Erhältlich im App Store

Der fortgeschrittene Lightroom-Workshop ist der erste Kandidat mit seiner eigenen App, die weiteren werden folgen.

Außerdem gibt es den Workshop natürlich auch weiterhin als In-App-Purchase in der “alten” Undsoversity iPhone-App und im Web-Shop für den Download per iTunes.

Sparfüchse, die den ersten Workshop schon gekauft hatten, können in iTunes einen Gutscheincode über 15% in iTunes laden. Dazu einfach den vorhandenen Workshop aktualisieren.

24.05.2011 / Timo Hetzel

App Store: In Review

Der nächste Undsoversity-Workshop steht an: Chris Marquardt setzt seinen Lightroom-Lehrgang fort. Die Videos sind so gut wie fertig, die Website steht, der Shop läuft sich schon warm. Nur Apple mag nicht in die Gänge kommen. Ich habe aus den letzten Releases gelernt und den In-App-Artikel für die iPhone-App schon vor einer ganzen Weile angelegt. Bisher wurden die auch relativ zügig durchgewunken. Diesmal hakt es ein wenig.

Stellt sich die Frage: Den Workshop in drei Stufen veröffentlichen (Web, iPhone-App, iPad/iPhone-Standalone-App), oder warten, bis sich der Workshop nach und nach durch die Review bei Apple geschlichen hat, und dann alles auf einmal rauslassen?

14.04.2011 / Timo Hetzel

Bits und so App 1.1 Promo + T-Shirts

2X so glücklich: Player mit 2X, App 2X so günstig, In-App-Plus 2X billiger. Nur noch heute!

Bits und so App im App Store

Bei diesem Update wieder dazugelernt:

  • Bis ein Preisupdate durch alle Schichten des App Stores sickert, können mehrere Stunden vergehen. Wenn der angezeigte Preis nicht mit dem Preis auf dem Zahlungsserver übereinstimmt, failed die Transaktion mit der Fehlermeldung “Der Artikel wird gerade überarbeitet” – allerdings erst, wenn der Kunde schon sein Passwort eingegeben hat.
  • Die neuen Screenshots haben zwei Tage gebraucht, um überall im App Store sichtbar zu werden
  • Wenn der Nutzer In-App-Purchases in den Einstellungen verboten hat, sich aber nicht mehr daran erinnert, fehlt in dieser Version eine sichtbare Fehlermeldung (canMakePurchases)
  • Auch manche Jailbreak-Varianten scheinen In-App-Purchases immer noch erfolgreich zu verhindern. Auch hier fehlt eine sichtbare Fehlermeldungen, wenn wir keine lokalen Preise holen können.

Übrigens: Alle neuen Bits und so Plus-Mitglieder können ab Freitag ab sofort auf bitsundso.de/status ein Bits und so T-Shirt für 19,99€ einzeln bestellen.

Vielen Dank an alle Käufer!

Changelog für die Bits und so App 1.1:
2X: Wiedergabe in doppelter Geschwindigkeit
30 Sekunden zurückspulen-Button
Share-Button (Twitter, Facebook, Email)
Neuer Live-Player mit Twitter-Widget
Finger nach unten ziehen für feines Scrubben im Player
Pull to Refresh in der Episodenliste

Now Playing-Button
Bessere Unterstützung von Fernbedienungs-Kommandos
Weniger Verwirrung beim Upgrade auf Plus
Aktuelles Kapitel wird zuverlässiger angezeigt
Plus-Verlängerung legt keinen neuen Account an
Erinnerung an ablaufende Plus-Mitgliedschaft
Kosmetik im About-Screen
Stabilere Push-Registrierung
Fixiert Crash beim Aufrufen der Kapitel (hoffentlich)
Bessere Playback-Performance auf Devices der zweiten Generation
Kann Spuren von In-App-Beeren enthalten

1.04.2011 / Timo Hetzel

Server-side Auto Renewable Subscription Receipt Verification

Update 10/2011: Watch the WWDC 2011 video on in-app purchases. This clarifies some of the points in this post and introduces a handful of useful fields in the receipt.

I think Apple’s documentation on checking receipts for auto-renewable in-app subscriptions is a little sparse. I overlooked this paragraph when first reading the documentation and wasn’t aware of its ramifications.

In App Purchase Programming Guide:

The response also includes an additional latest-receipt field; if the user’s subscription is active and was renewed in a transaction that took place after the transaction you provided to the App Store, the latest-receipt field includes a new base-64 encoded receipt for the latest renewal for this subscription. Your server can use this new receipt to maintain a record of the most recent renewal.

Here’s a sample response where receipt and latest_receipt are identical, we’re inside the first subscription period.

Screen shot 2011-04-01 at 12.48.50

When your app is launched regularly, everything is just about the same as with good old-fashioned non-consumable subscriptions. The app receives restored transactions to verify via your server.

When the app isn’t launched, you may still want to be able to stay in sync with the user’s subscription, even when he is not running the app. You can have a scheduled task on your server that can periodically replay the last known receipt to Apple, and if the latest_receipt differs from the receipt you just sent, you can send it right back to Apple to get the latest renewal date.

latest_receipt_info is not documented, so it might be a safer bet to actually use latest_receipt’s contents.

Use the purchase_date within the latest_receipt to calculate the current subscription period. The length of time for every period is not contained within the receipt date, so you need to calculate it from your product_id or item_id.

By doing this, you can maintain accurate subscriber stats on the server or grant paying users web access to content originally purchased in the app.

16.02.2011 / Timo Hetzel

Neue In-App-Abos

Apple hat heute die technische Dokumentation für die neuen Abonnement-In-App-Käufe veröffentlicht. Wir haben ja in Bits und so #233 und #234 ausführlich über den ersten Anbieter eines solchen Abos, “The Daily” gesprochen.

Hintergrund

inappflow
Bisher gab es zwei Hauptsorten von In-App-Käufen:

  • Verbrauchsgüter (Consumables)
    • z.B. Munition in einem Shooter. Einmal aufgebraucht muss für neues Geld nachgekauft werden
  • Nicht-Verbrauchsgüter (Non-Consumables)
    • z.B. ein Level-Pack in einem Spiel, oder ein e-Book-Download. Kann durch erneuten Kauf auf dem gleichen iTunes-Account auf einem anderen Gerät gratis erneut geladen werden.
    • Eine App kann solche vorhandenen Käufe für einen Kunden beim App Store anfordern und bekommt dann Kopien der Kaufquittungen verarbeiten. Das wird meiner Erfahrung nach bisher nur von wenigen Apps tatsächlich implementiert.

Einen Sonderfall von Verbrauchsgütern stellen die alten Abonnements dar. Sie kosten bei jedem Kauf erneut Geld, nur muss der Anbieter der App selbst über einen Account auf dem eigenen Server sicherstellen, dass der Benutzer der App auch auf anderen Geräten auf den bezahlten Inhalt zugreifen kann. Die Bits und so App vergibt deshalb beim ersten Kauf eines solchen alten, nicht verlängernden Abos einen anonymen Benutzernamen, der anschließend mit Name und Emailadresse personalisiert werden kann. Damit kann der Benutzer den Account auf einem anderen Gerät eintragen, ohne erneut zu bezahlen, oder den Account auf dem Mac/PC in iTunes nutzen, um auf das Premium-Angebot zuzugreifen.

Die komplette Businesslogik hinter diesen Abos findet in der App und auf dem Server des Inhalteanbieters statt. Apple hat für diesen Typ von In-App-Kauf keinerlei Konzept von “Laufzeit”.

Andere Apps, wie z.B. der Spiegel auf dem iPad verlangen zuerst die Registrierung, und buchen dann im Anschluss das alte Abo auf diesen Account.

Die c’t App auf dem iPad dagegen verwendet für einzelne Ausgaben einzelne Nicht-Verbrauchsgüter, die (theoretisch) über den Wiederherstellungsmodus oder über erneuten kostenlosen Kauf auf anderen Geräten heruntergeladen werden könnten.

Neue In-App-Abos

autorenewingDie neuen verlängernden In-App-Abos ähneln zunächst wider Erwarten den Nicht-Verbrauchsgütern, mit dem Unterschied, dass sie beim Überschreiten des bezahlten Zeitraums automatisch Geld abbuchen.

Für Entwickler verhalten sich die neuen Abos wie alle anderen Käufe auch. Deswegen konnten sie auch ohne spezifische Änderungen an iOS 4.2 (speziell: StoreKit) rein auf dem App Store Server implementiert werden. Nur auf dem Server des Anbieters ist eine kleine Änderung (Shared Secret für Quittungsverifizierung) nötig.

In most cases, your iOS client application should not need to change. In fact, your client application is now made simpler, as you can use the same code to recover auto-renewable subscriptions as you do to recover nonconsumable products.

StoreKit Reference

Ein Beispiel

Ich kaufe mir “The Daily” für einen Monat. Die App erhält nach Eingabe von iTunes-Account und Passwort eine Quittung vom App Store und schickt diese an den eigenen Server. Dieser überprüft die Quittung an der App vorbei beim App Store-Server, notiert sich die neue Laufzeit und schaltet den Inhalt für den Kunden in der App frei.

Wenn ich auf einem weiteren Gerät die App installiere, und mich mit dem gleichen Account anmelde, erhält die App beim Wiederherstellen der Transaktionen eine Kopie der Kaufquittung vom ersten Gerät, und kann den Inhalt für das zweite Gerät freischalten.

Sobald der Monat verstreicht, bucht mir Apple das Geld für den nächsten Monat ab. Die App weiß nichts davon, und Server von “The Daily” auch nicht. Solange, bis die App auf einem der Geräte wieder geöffnet wird. Dann werden die Transaktionen wiederhergestellt und der App Store schickt neue Kaufquittung(en) an die App. Diese schickt sie dann an den Server des Anbieters, der sie dann wieder bei Apple verifizieren kann und wieder den Inhalt freischalten kann. Bei jedem weiteren Gerät funktioniert das analog.

Das heißt, für das Abo laufen zwei unterschiedliche Uhren. Eine bei Apple im App Store, und eine in der App bzw. auf dem Server des Anbieters. Diese beiden Uhren werden erst beim Start der App und dem Wiederherstellen der Transaktionen synchronisiert.

Neue und Alte Abos

Für Apps mit dem “alten” Abomodell mit einem eigenen Account auf dem Server des Anbieters bedeutet das: Ein Übergang auf die neuen Abos ist nur mit Einschränkungen möglich:

Ein Vermischen von Laufzeiten aus dem “alten” Account auf dem Anbieter-Server und neuen Abos ist nicht möglich. Die angezeigten Laufzeiten im App Store und im Web könnten unkontrollierbar durch gemischte Käufe auseinanderlaufen.

Falls ein Vergeben eines externen Accounts für neue Abos noch zulässig sein sollte (ich habe eine entsprechende Passage in den Vertragsbedingungen noch nicht gefunden), kann die Situation entstehen, dass der Kunde automatisch bezahlt, aber die App nicht öffnet. Die Abo-Uhren würden nicht synchronisiert und der Inhalt wäre für den Account nicht freigeschaltet, bis der Benutzer einmal pro Abolaufzeit die App öffnet. Update: Geht doch.

Für die Bits und so App bedeutet das mit dem heutigen Wissensstand: Ein einfaches Umsteigen auf das neue Abomodell ist nicht möglich. Ein gemischtes Verlängern via Web-Shop und In-App-Abo wäre nicht möglich, und der Plus-Feed in iTunes auf Mac/PC würde auslaufen, wenn die App nicht geöffnet würde. Ein reines App-Plus-Abo ist zwar denkbar, wäre aber durch das Wegfallen des iTunes-Plus-Feeds eingeschränkt.

Die App entspricht zum Glück den verschärften, bzw. jetzt durchgesetzten In-App-Regeln: Die Käufe, die im Web angeboten werden, werden zu den gleichen Preisen auch in der App angeboten, und die App linkt nicht in den Web-Shop. Sie sollte damit auch über den Juni hinaus bedenkenlos das Bergwerk passieren.

TL; DR

Ganz abgesehen von der 30%-Diskussion, die die Verleger von toten Bäumen™ gerade mit sich selbst führen, ist das neue Abomodell von Apple unüberraschenderweise App-zentrisch und sieht einen Mischbetrieb mit eigenen, extern abgeschlossenen Abos mit Laufzeit nicht vor.

Update: War etwas voreilig – Die Subscriptions sind von außen überprüfbar. Vielleicht doch alles gar nicht so übel?

25.12.2010 / Timo Hetzel

Undsoversity-Feiertags-Ausverkauf

Wer brav war, hat wohl gestern abend ein neues iPad oder einen neuen Mac geschenkt bekommen. Oder seine Verwandtschaft mit neuem Spielzeug versorgt.

Passend zum neuen Gadget gibt es über die Feiertage die beiden Workshops

zum Preis von je 9,99€ statt 24,99€. Die Workshops können im Web gekauft und dann per iTunes für Mac oder PC DRM-frei heruntergeladen werden. Oder direkt in der Undsoversity-App für iPhone, iPod touch oder iPad mit iTunes-Guthaben gekauft werden.

8.12.2010 / Timo Hetzel

Die Bits und so App

Mit der Bits und so App kommt die Sendung endlich direkt dorthin, wo sie sich am wohlsten fühlt: Ins Innere des iPhones.

Die App kann direkt nach der Veröffentlichung einer neuen Folge den Download starten, ohne auf die Aktualisierung des iTunes Stores warten zu müssen.
Die Größenbeschränkung wie im iTunes Store von 20MB für den Download über 3G gilt hier nicht. Dann kann auch ohne Netzverbindung gehört werden.

Die App zeigt die letzten 10 Folgen an, und archiviert alle heruntergeladenen Sendungen permanent auf dem iPhone. Die Shownotes können inklusive aller Links direkt in der App angesehen und durchgesurft werden.

Das Audio der Sendung läuft auch im Hintergrund weiter und kann über die iPhone-Fernbedienung oder die Wiedergabesteuerung im Sperrbildschirm oder im Multitasking-Switcher gestartet und pausiert werden.

Push-Benachrichtigungen kündigen auf Wunsch neue Folgen und/oder Termine für die Live-Sendungen an.

Plus-Mitglieder können zusätzlich ohne lästige Passworteingabe auf die Live-Streams zugreifen und die einzelnen Themen innerhalb der Sendung mit Kapitelmarken anspringen. Außerdem wird die Plus-Version der Sendung geladen, mit besserer AAC-Audio-Qualität und der Pre- und Postshow.

Noch kein Plus-Mitglied? In der App kann eine neue Plus-Mitgliedschaft abgeschlossen werden, oder eine bestehende Mitgliedschaft genutzt und verlängert werden. Dafür kann der bestehende iTunes-Account aus dem normalen App Store genutzt werden.

Feedback zur App im Bits und so Forum, oder an shop (á) bitsundso.de für Fragen zur Plus-Mitgliedschaft.

Die App ist jetzt im App Store für 3,99€ erhältlich.