Daten weg – was tun?

Diese Frage haben sich bestimmt schon viele gestellt. Ich jüngst im Urlaub, als plötzlich die Bilder von vier Urlaubstagen fehlten. Nicht mehr aufzufinden – weder im Papierkorb noch sonst irgendwo. Panik steigt auf, was mach ich jetzt? Irgendwie konnte ich mich noch an die Aussage eines Freundes erinnern, dass sich Daten nicht in Luft auflösen und noch einige Zeit gerettet werden können (G2K: Der Speicher mit den Daten wird im System nur als „frei“ markiert und dann nach und nach von neuen Daten überschrieben). Also los ging’s mit der Recherche… macht in diesem Bereich leider gar keinen Spaß. Viele dubiose und angestaubte Anbieter mit zweifelhaften Geschäftsmodellen tummeln sich auf dem Markt.

Die meisten Programme sind ziemlich veraltet: Software, die zuletzt in 2007 ein Update bekommen hat, war keine Seltenheit. Das nächste Problem sind die Preismodelle, denn oft sind die Kosten hinter einer Gratis-Version „versteckt“. Das sieht oft wie folgt aus: Man lädt die kostenlose Version herunter mit der man den Datencheck durchführen kann und freut sich tierisch, weil man seine geliebten verlorenen Daten wieder sicher glaubt. Dann drückt man auf „Wiederherstellen“ und wird auf einen mehrstufigen Bezahl-Prozess weitergeleitet. Klar, man will seine Daten ja unbedingt wiederhaben und unter Umständen handelt es sich ja um kritische Kundendaten etc. Also ist man natürlich bereit einiges zu investieren – was sind da schon 200 Euro, wenn ich danach die Daten wieder habe? Das machen sich viele Anbieter zunutze.

Ich lasse mich jedoch nicht gerne erpressen. Nach erneuter Suche bin ich schlussendlich auf Disk Drill gestoßen, ein seriöser Anbieter mit Käuferschutz durch PayPal. Transparente AGBs und eine ansprechend moderne sowie aktuell gehaltene App runden das Angebot ab. Inhaltlich kann die App alles, was die anderen Anbieter auch konnten – nur in aktuell und hübsch ;). Außerdem bietet Disk Drill einiges an Zusatzfunktionen, wie z.B. nach belegtem Speicher suchen und diesen optimieren oder sicher löschen etc.

Aber zum Wesentlichen:

  • Das Programm hat mich 77 Euro gekostet (nach kurzer Suche konnte ich sogar einen gültigen Gutscheincode finden).
  • Das Durchsuchen meiner Festplatte ging ziemlich fix.
  • Es wurden alle verlorenen Daten gefunden und über 95 Prozent konnten sogar komplett wiederhergestellt werden.
  • Das Wiederherstellen ging ebenfalls vergleichsweise zügig.

 

Fazit: Jederzeit wieder!

Man sollte also auf keinen Fall dem erstbesten Anbieter vertrauen und zu schnell klein beigeben. Das lohnt sich oft und man kommt nicht nur billiger weg dabei weg, sondern meistens auch besser :).

Datenwiederherstellung mit Disk Drill

So sehen übrigens wiederhergestellte Bilder aus, bei denen man einen Tick zu spät dran war.

Zu spät wiederhergstellte Bilder

Wiederhergestellte Bilder und Daten

Hier noch der Link zum Anbieter

App-Programmierung für iOS und Android mit ReactNative

Einmal JavaScript-Code schreiben und Apps mit nativen Elementen für iOS und Android erhalten. Mit Facebook’s ReactNative können Software-Entwickler, die Erfahrungen mit nativer App-Programmierung haben, zügig eine einfache App für die aktuellen Hauptplattformen entwickeln und in den Apple App-Store sowie GooglePlay Store bringen.

Was ist ReactNative?

Mit ReactNative lassen sich iOS- und Android-Apps programmieren, die native Elemente verwenden und sich somit nicht von nativ programmierten Apps unterscheiden. Der Code wird nur einmal geschrieben, das Ergebnis ist eine App für iOS-Geräte und eine App für Android-Geräte.

ReactNative ist somit in keiner Weise mit Cordova oder ähnlichen Javascript-Frameworks vergleichbar, da diese lediglich Websites in einem Container sind. Native iOS- oder Android-Elemente kommen eigentlich nicht vor.

Bei ReactNative ist das anders. Das Framework von Facebook benutzt JavaScript und React, um native Elemente miteinander zu verbinden. Geschrieben wird der Code in JSX, einer Erweiterung basierend auf JavaScript und direkt in JavaScript. Hierbei wird die JavaScript-Syntax nach der ECMAScript-6-Norm verwendet. ReactNative-Apps laufen auf Geräten ab iOS 8 und Android 4.1.

Render-Funktion des Frameworks ReactNative zur App-Programmierung
Render-Funktion ReactNative

Im Beispiel sieht man die Render-Funktion einer klassischen ReactNative-Component. Zurückgegeben wird eine gestylte „View“, die als Subview ein „Text“-Element beinhaltet. Das „Text“-Element enthält einen Text und die Variable „name“, die von außen gesetzt wird.

Wie auch „View“ hat „Text“ die Property „style“. Mit „style“ lassen sich UI-Elemente Gestalten und Positionen. Das Naming ist ähnlich zu CSS. Will man Elemente in Abhängigkeit zu anderen Elementen positionieren, benutzt man flex, flex-direction und Ähnliches.

Benutzt man wie im Beispiel den Tag „Text“, wird im Hintergrund eine UILabel (iOS) bzw. eine TextView (Android) genutzt. Der „View“-Tag wird zu UIView bzw. zu einer nativen (Android-)View. Viele dieser Elemente oder auch Components genannt, liefert ReactNative standardmäßig und können ohne zusätzliche Installationen benutzt werden. Oftmals findet man in der npm-Library Erweiterungen zu bestehenden Components oder auch ganz neue, praktische Components. Möchte man eine native Component in ReactNative, die noch nicht verfügbar ist oder bestehenden nativen Code nutzen, muss man zuerst ein natives Bridging-Modul erstellen. Hierfür wird aber erweitertes Wissen in nativer App-Entwicklung für die jeweilige Plattform vorausgesetzt.

Was sind die Voraussetzungen für die App-Programmierung ReactNative?

Will man „nur“ Apps programmieren und sich nicht um das Drumherum (Veröffentlichung, Testphasen, etc.) kümmern, sollte man ein solides Wissen rund um JavaScript und das grundlegende Verständnis für den Aufbau einer App (ViewController, Daten-Handling, etc.) mitbringen.

Außerdem sollte man wissen, wie man mit dem Terminal umgeht, da ein großer Anteil bei der Einrichtung eines Projekts über die Console getätigt wird.

Gehen die Anforderungen über das Programmieren hinaus, sind vor allem auf iOS-Seite Erfahrungen rund um Zertifikate, Provisioning-Profiles und iTunesConnect erforderlich, da es sonst an der Veröffentlichung der App scheitern wird. Mit Android geht es vergleichsweise einfach, da es hierbei mit einigen Terminal-Eingaben und einem Google-Account oftmals getan ist.

Wann macht ReactNative Sinn?

Eine pauschale Antwort auf diese Frage gibt es nicht.

Beherrscht man zum Beispiel die native App-Programmierung für Android und kennt sich mit iOS weniger aus, macht eine ReactNative-App vielleicht mehr Sinn, als sich Swift oder Objective-C beizubringen. Das selbe gilt natürlich auch andersrum. Ist diese App allerdings so umfangreich, dass man nur wenige Codezeilen gemeinsam verwenden kann und somit viel mit Bridging-Modulen arbeiten muss, ist die native Programmierung empfehlenswerter.

Starten sollte man aber auf jeden Fall mit einer „kleineren“ App, um ein Gespür dafür zu bekommen, wo die Grenzen von ReactNative sind. Je umfangreicher die App, desto mehr Probleme können auftreten. Gerade bei vielen Daten oder beim Thema Sicherheit muss man sich bewusst sein, dass ReactNative  – Stand Frühjahr 2017 – standardmäßig kein komfortables Datenhandling (Datenbank, Zugriff auf der Platte, etc.) und keinen Zugriff auf den iOS-Keychain mitliefert.

Wie starte ich am besten?

Die aktuell wichtigste Seite im Internet zum Thema ReactNative ist https://facebook.github.io/react-native/.

Wer noch keine Erfahrung mit ReactNative gemacht hat, sollte sich zuerst eines der vielen Tutorials im Internet anschauen und sich mit den Components, deren Life-Circle, State-Changes und Imports vertraut machen, bevor man mit dem eigentlichen Projekt beginnt. Es macht auch immer Sinn, kleinere Testprojekte anzulegen, um zum Beispiel ein neues Modul oder eine externe Library zu testen. Verzichten sollte man auch nicht auf ein Versionsverwaltungstool.

Da ReactNative ein relativ junges Framework ist, kann man davon ausgehen, dass noch viel passieren wird. Man sollte sich aber auch bewusst sein, dass hinter dieser Technologie Facebook steht.

_____

Quellen:

https://facebook.github.io/react-native/

http://blog.teamtreehouse.com/introduction-to-react-native

Update LeadHound Visitenkartenscanner auf Version 2.2

LeadHound Visitenkartenscanner erkennt Leads noch schneller

Mit LeadHound geht die Lead-Erfassung schneller. Soweit, so gut. Mit der Version 2.2 wurde die QR-Code-Erkennung in Echtzeit integriert. Noch während Sie die Kamera des iPads ausrichten, erkennt und analysiert die Visitenkartenscanner-Software die Visitenkarte. Befindet sich ein QR-Code aufgedruckt, wird der Nutzer darauf hingewiesen und gefragt, ob der Inhalt des QR-Codes weiterverwendet werden soll.

 QR-Code-Erkennung in Echtzeit mit dem LeadHound Visitenkartenscanner

Editierung wird überflüssig

Wurde der QR-Code verwendet, ist die nachträgliche Leadbearbeitung überflüssig. Die gesparte Zeit können Sie  dazu nutzen, weitere Kontakte zu knüpfen.

IMG_0211

Leads exportieren

Eine weitere Neuerung in Version 2.2 ist der Lead-Export. Zukünftig können Leads im Format *.xlsx exportiert werden. Nicht nur, dass der Export somit einschränkungsfrei mir Excel kompatibel ist, er kann auch per Mail an eine Wunsch-E-Mailadresse gesendet werden. Wem das noch nicht reicht, hat in der neuen Version die Möglichkeit, den Export in einem Cloud-Dienst seiner Wahl zu speichern. Notwendig ist für die Export-Teilen-Funktion nur ein Account bei iCloud, Dropox und Co. Die Cloud-Dienste können übrigens auch seit Version 2.1 beim Fragebogenimport genutzt werden.

IMG_0215

Alle Neuerungen in Version 2.2

– QR-Codes werden live erkannt
– Verbesserung der Lead-Bearbeitung (Löschen per Drag and Drop)
– Automatisches Ausfüllen der Anrede
– Erweiterung der Exportformate (Excel-Support)
– Exports können via Mail sowie an alle gängigen Cloud-Dienste gesendet werden
– Verbesserung der Texterkennung und Zuordnung
– Verbesserungen in der Stabilität und Performance

 

Download und weitere Informationen

Besuchen Sie www.leadhound.de

LeadHound Visitenkartenscanner spart Speicherplatz

Das Update unseres Visitenkartenscanners auf  Version 2.1.1 scheint zwar unscheinbar, hat es aber in sich.

mehr als 50% Speicherplatz sparen

Mit ca. 55 MB Speicherplatz auf der iPad-Festplatte und einer Download-Größe von ungefähr 27 MB wird LeadHound über 50% kleiner als noch in Version 2.1. Zu der Einsparung kam es durch eine Optimierung in unserem OCR-Framework. In Zukunft wir der LeadHound-Download also noch schneller gehen mit gleichzeitiger Speicherplatz-Schonung der Festplatte.

„Eine gute App zeichnet sich durch ihre Kompaktheit und Übersichtlichkeit aus – nicht nur im Design und der Nutzerführung.“
– unbekannter Autor –

Mehr Infos zu LeadHound unter www.leadhound.de.
Direkt zum AppStore geht es über diesen Link: LeadHound herunterladen.

 

größe neu
Auschnitt Tabelle iOS-Geräte mit Download- und Installationsgrößen für LeadHound Version 2.1.1

größe alt

Auschnitt Tabelle iOS-Geräte mit  Download- und Installationsgrößen für LeadHound Version 2.1

Wie funktioniert das Drag’n’Drop-Feature in LeadHound?

Das Drag’n’Drop-Feature in LeadHound soll Nutzern bei der Bearbeitung von Leads helfen. Mit Hilfe von Drag’n’Drop können einzelne Wörter eine Property innerhalb ihrer Property umsortiert werden. Außerdem können Wörter auch in eine andere Property verschoben werden. Die neue Position des Wortes wird dem Nutzer angezeigt.

Wer macht was beim Drag’n’Drop?

Für das Drag’n’Drop- Feature werden Custom-Klassen verwendet, deren Aufgaben im Folgenden beschrieben werden:

Z7DragAndDropTableView:UITableView
Z7DragAndDropRow:UIView
Z7DragAndDropTouchElement:NSObject
Z7DragAndDropTouchView:UIView

dragAndDrop

Z7DragAndDropTableView

//public properties
var wasDragging = false
var dragAndDropRows:[Z7DragAndDropRow] = []
var selectedDragAndDropView:Z7DragAndDropTouchView?
var motherRow:Z7DragAndDropRow?
var touchingRow:Z7DragAndDropRow?

Die TableView ist das DragAndDrop-Hirn. Sie kennt alle DragAndDropRows und weiß, welche TouchView gerade bewegt wird.

Sie weiß außerdem, welches die AusgangsRow ist (motherRow) und über welcher Row sich die TouchView gerade befindet (selectedDragAndDropRow).

Bei ihr kommen alle Touches an, die dann verwaltet werden. Die TableView markiert und bewegt die selektierte TouchView. Außerdem deaktiviert sie bei aktivem Dragging das Scrollen der ScrollView.

Sie aktualisiert regelmäßig alle notwendigen Variablen und verwaltet/bearbeitet auch das Verschieben einer TouchView in einen ungültigen Bereich.

Die Unterscheidung, ob eine TouchView nur angeklickt oder ob sie bewegt wurde, wird in der

touchesMoved(touches: Set, withEvent event: UIEvent?)

geprüft und in der delegate-Funktion der TableView

(-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath)

über

wasDragging

weiterverarbeitet. Hier wird entschieden, ob der Touch an

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

weitergegeben wird.

Implementierung der Z7DragAndDropTableView

Die DragAndDropTableView funktioniert aktuell nur in Verbindung mit einem TableViewController. Die TableView wird per Storyboard mit dem TVC verbunden und ein Outlet wird erstellt.

In der

-(void)viewWillAppear:(BOOL)animated

des TVC wird zuerst reloadData auf dem tableView-Outlet aufgerufen. Anschließend wird die öffentliche Funktion

updateDragAndDropRows()

auf der Z7DragAndDropTableView ausgeführt.

Diese Funktion holt sich aus allen visibleCells alle Zellen, die DragAndDropRows enthalten und speichert diese in der Property

dragAndDropRows

Z7DragAndDropRow

//public properties
var property:BusinessCardProperty?
var textField:UITextField?
var currentPropertyName = ""
var newPositionView:UIView?

Für die DragAndDropRow gibt es zwei Phasen: Init-Phase und Dragging-Phase.

 

Init-Phase

Die DragAndDropRow ist eine Subview der TableView-Zelle.

dragAndDropRow = [[Z7DragAndDropRow alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
[cellView addSubview:dragAndDropRow];

Sobald der Zelle Text zugewiesen wird, wird die DragAndDropRow gefüllt. Außerdem werden delegate, das textField und der currentPropertyName gesetzt.

Auf Basis des Texts werden in der DragAndDropRow mit Hilfe der TouchElemente die TouchViews generiert und angeordnet.

Ändert sich der Text wiederholt sich dieser Prozess.

 

Dragging-Phase

Während der Dragging-Phase gibt es drei Fälle, die per HitTest unterschieden werden:
„Abmelden“, „Anmelden“ und „Verschieben innerhalb einer DragAndDropRow“

 

– Fall A: Abmelden

Beim Abmelden wird die TouchView aus dem Array „touchViews“ entfernt und der propertyText angepasst. Unterscheidet sich der propertyText, wird per delegate der Text in CoreData gespeichert.

Die restlichen TouchViews der DragAndDropRow werden neu ausgerichtet.

Anschließend wird über das TouchElement der selektierten TouchView

oldProperty

gesetzt und

currentProperty

entfernt.

 

– Fall B: Anmelden

Hat sich eine TouchView bei einer DragAndDropRow abgemeldet, muss sie sich sofort danach bei einer anderen DragAndDropRow anmelden. Dazu wird zuerst per delegate validiert, ob die neue DragAndDropRow nicht vom Property-Typ „gender“ oder eine „AddNewProperty“-Zelle ist.

Damit die neue TouchView weiß, an welcher Position sie sich in der neuen DragAndDropRow einfügen muss, wird über den x-Wert die nächste TouchView gesucht. Die TouchView wird eingefügt und der Text der neuen DragAndDropRow geändert und gespeichert.

Befinden sich rechts neben der selektierten TouchView noch andere TouchViews, werden diese nach rechts geschoben. Die neue Position wird markiert (newPositionView).

Die Property

currentProperty

des touchElements wird entsprechend gesetzt.

 

– Fall C: Verschieben innerhalb einer DragAndDropRow

Wird eine TouchView nur innerhalb einer Row verschoben, wird per hitTest überprüft wie sich die TouchViews der DragAndDropRow verhalten/ausrichten sollen.

Die neue Position wird mit der newPositionView angezeigt. Ändern sich die Positionen, wird das Array der TouchViews angepasst und der Text aktualisiert, was immer wieder eine Speicherung der Property in CoreData mit sich bringt.

Nachdem die selektierte TouchView losgelassen wird, geht sie an ihre entsprechende Stelle in der DragAndDropRow.

Z7DragAndDropTouchElement

// public properties
var text:String?
var currentProperty:String?
var oldProperty:String?

Ein TouchElement wird beim Anlegen der DragAndDropRow generiert und mit einem Wort und dem currentPropertyName der DragAndDropRow initialisiert.

Das TouchElement ist immer als Property einer TouchView gesetzt. Ändert sich die DragAndDropRow der TouchView, werden die currentProperty und die oldProperty aktualisiert.

Z7DragAndDropTouchView

// public properties
var title:String?
var touchElement:Z7DragAndDropTouchElement?
var label:UILabel?

Die TouchView wird per DragAndDrop verschoben. Initialisiert wird sie durch das TouchElement.

init(text:String?, currentProperty:String?) {
    super.init()
    self.text = text
    self.currentProperty = currentProperty
}

Beim Wechsel in eine andere Row ändern sich die Properties des TouchElements.

 

Update von LeadHound auf Version 2.1

Nach nur sieben Wochen im AppStore kommt heute das erste größere Update für LeadHound.

Ab sofort analysiert LeadHound auch QR-Codes auf Visitenkarten und ordnet die verschiedenen Komponenten zu. Voraussetzung ist, dass sich hinter dem QR-Code eine vCard der Version 2.1, 3.0 oder 4.0 verbirgt. Neben QR-Codes können in Zukunft übrigens auch rotierte Visitenkarten analysiert werden.

visitenkartenscanner qr-code

Außerdem unterstützen wir nun den Import von Fragebögen aus neuen Quellen, wie zum Beispiel DropBox oder iCloud.

Wer sich beim Schreiben von E-Mails an erfasste Leads bis jetzt geärgert hat, weil man Texte immer wieder neue verfassen musste, wird sich auch freuen: Mit LeadHound 2.1 kann man jetzt E-Mail-Texte einmal anlegen und immer wieder versenden. Natürlich mit persönlicher Anrede. Mail-Anhänge können selbstverständlich auch vordefiniert werden.

mail_versand

 

Für Feature-Vorschläge in neuen Versionen sind wir übrigens offen. Einfach mal eine Mail an dialog@zeroseven.de mit euren Erfahrungen und warum euer neues Feature praktisch und vorteilhaft ist, senden.

Falls jemand wissen möchte, wie das Drag And Drop in LeadHound funktioniert, kann einfach gleich weiter zu diesem Beitrag – ist aber eventuell etwas technisch.

Für alle anderen hier noch die Übersicht aller neuen Funktionen in LeadHound 2.1:

• Verbesserung der Texterkennung und Zuordnung
• Erkennung von QR-Codes mit vCard (Version 2.1, 3.0, 4.0)
• Erkennung von rotierten Visitenkarten
• Fragebögen können über neue Quellen importiert werden (z.B. iCloud, Dropbox, etc.)
• Email-Texte und Anhänge können vordefiniert werden
• Layout-Anpassungen in den Settings und der ScanView
• Verbesserungen in der Stabilität und Performance

LeadHound – zeroseven bringt seine Visitenkartenscanner-App in den Apple-AppStore

Visitenkartenscanner-App LeadHoundMit LeadHound 2.0 haben wir eine Visitenkartenscanner-App entwickelt, die Visitenkarten analysiert und den Text der Karte speichert. Informationen zum „Eigentümer“ der Visitenkarte können in einem persönlichen Gespräch mit Hilfe eines Fragebogens gesammelt werden, genauso auch Fotos und Notizen. Alle Daten können danach exportiert und zum Beispiel in einem Content-Management-System weiterverarbeitet werden.

Weitere Features des Visitenkartenscanners gibt es auf www.leadhound.de oder auch im LeadHound-Erklärvideo auf YouTube.

Digitaler Visitenkartenscanner spart Zeit

Mit dem digitalen Visitenkartenscanner spart man im Vergleich zur herkömmlichen analogen Methode mit Stift und Papier sehr viel Zeit. Sollte doch etwas nicht richtig erkannt werden, können einzelne Visitenkarten-Komponenten sehr leicht überarbeitet werden.

Eigene Texterkennung entwickelt

Durch das eigens für LeadHound entwickelte OCR hat sich zeroseven unabhängig von Fremd-Software gemacht und hat somit die Möglichkeit, die Texterkennung und Zuweisung der Visitenkarten-Komponente an die eigenen Bedürfnisse anzupassen.

Technische Hintergründe zur Texterkennung gibt es (bald) hier.

Wer sich jetzt fragt, warum wir LeadHound mit der Version 2.0 in den AppStore gestellt haben, hier die Antwort: LeadHound gibt es schon seit einigen Jahren, allerdings wurden frühere Versionen über andere Wege vertrieben. Wir haben uns deshalb entschlossen der App ein kleines Facelift zu geben, um sie dann der großen Allgemeinheit als Version 2.0 bereitzustellen.

Visitenkartenscanner-App LeadHoundVisitenkartenscanner-App LeadHound

Burn für Multiuser auf Mac OSX einrichten

Die Software Burn brennt unter Mac OSX unkompliziert und schnell Daten, Musik und Videos auf CD/DVD. Er kann dies komfortabler als die eingebauten Brennfunktionen des OSX Finders und hat den entscheidenden Vorteil dass er nichts kostet. Burn kann eine vorhandene CD/DVD klonen, interaktive Menüs für Filme erstellen oder Multimedia-Dateien in ein passendes Format konvertieren. Dabei verwendet er zum beispiel Quicktime und mpeg. Disk-Images im ISO- oder DMG-Format brennt man einfach per Drag & Drop und das Löschen von RW-Datenträgern erledigt Burn auch.

Problembeschreibung

Eigentlich kann man mit Burn im Alltag glücklich sein wenn da nicht ein grundsätzliches Problem wäre. Burn funktioniert nur exakt mit dem User der das Programm installiert hat. In einer professionellen Umgebung ist das in der Regel der Root-Admin oder ein Netzwerkadministrator. In der Praxis bedeutet dies der Admin richtet das Programm ein und es funktioniert. Unter den Anwendern hängt sich Burn aber auf. Das Problem sind weder User-Rechte noch feherhafte Preferenzen, sondern liegt darin begründet, dass Burn in seiner .Plist in der Library zentral nur exakt einen Referenzpfad zu seinen temporären Dateien anlegt – und der zeigt per default in die geschützen Userpfade unter Benutzer/%aktiver Benutzer%/Dokumente/Burn temporär. Damit hat Burn unter anderen Usern keinen Zugriff auf seine temporären Daten und kann auch keine anlegen. Aus diesem Grund hängt sich Burn auf.

Empfohlene Lösung

Das Problem lässt sich jedoch ganz einfach lösen. Direkt nach der Erstinstallation muss der aktive User unter dem Pfad: Benutzer/Für alle Benutzer/ zuerst den Ordner Dokumente und dann darin den Ordner Burn temorär anlegen. Dann über „cmd i“ die Rechte Schreiben & Lesen für alle User einrichten. Im zweiten Schritt muss Burn nach noch unterdem User der die Erstinstallation duchgeführt hat geöffnet werden und unter der Menüpunkt „Burn“, Unterpunkt „Einstellungen“ geöfnet werden. Dort muss unter Allgemein der Pfad für die temporären Ordner auf Benutzer/Für alle Benutzer/Dokumente/Burn temporär geändert werden. Fertig.

Nun funktioniert Burn unter allen Usern.
Anmerkung: Die temporären Dateien werden daduch für alle sichtbar. Deshalb sollte der Punkt „Lösche temporäre Dateien auf Manuell umgestellt werden.

! Achtung: Die Umsetzung dieses Tutorials erfolgt auf eigenes Risiko. zeroseven übernimmt keine Gewährleistung dafür, dass die angebotene Lösung auch in Ihrer Einsatzumgebung die gewünschten Ergebnisse erzielt. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von zeroseven im Zusammenhang mit diesem Artikel oder Lösungsansatz ausgeschlossen.

Tipp: 90% aller TYPO3 Fehler beheben

Kennen Sie das nicht? Sie ändern eine Headline oder einen Text in TYPO3 und plötzlich taucht eine Fehlermeldung auf mit der Meldung, das diese durchgeführte Änderung nicht möglich seie. Sprich Ihre Änderung wird auf dem Live-System einfach garnicht erst angezeigt.

Diesem Problem können Sie als TYPO3 User nun aber leicht entgegenwirken, indem Sie ganz einfach in der Administrationsoberfläche von TYPO3 oben auf das Blitz TYPO3 Blitzicon in der Menüleiste klicken und anschließend den Punkt “ Alle Caches löschen“ auswählen.

Mit diesem Tipp, können Sie in der Regel rund 90% aller TYPO3 Fehler beheben.

HTML5 vs. Flash

Derzeit ist in aller Munde der anstehende, neue Standard HTML5. Bietet HTML5 wirklich so viele Funktionen und Möglichkeiten, dass Flash zukünftig überflüssig wird? Verliert Flash durch den Einsatz von HTML5 seine Daseinsberechtigung? Eine entscheidende Antwort darauf kann heute nicht gemacht werden, wenn auch Steve Jobs unmissverständlich sich gegen Flash geäußert hat.

Die Grundlage für HTML5 wurde bereits im Jahr 2004 gelegt. In diesem Jahr gründeten kurzerhand die größten Browserhersteller, Apple, Opera und die Mozilla Foundation unter dem Namen „Web Hypertext Application Technology Vorging Group – kurz WHATWG – eine HTML-Arbeitsgruppe und veröffentlichten erste Entwürfe für eine neue Spezifikation namens „Web Applications 1.0“, welche den Grundstein für das heutige HTML5 darstellt. Im Oktober 2009 beschloss das W3c (World Wiede Web Consortium) unter Vorsitz des Internet-Pioniers Tim Berners-Lee den strengeren Standard XHTML durch HTML5 abzulösen. Ursprünglich wollte das W3C Konsortium parallel einen eigenen Webstandard XHTML 2 der auf Basis von HTML 4 und XHTML 1 – welcher seit dem Jahr 2000 als Standard gilt – aufbaut. Der XHTML 2 Standard sollte mit dem aktuellen Standard von HTML 4 und XHTML 1 kaum noch was gemeinsam haben, und rein auf XHTML aufbauen. HTML5 ist dagegen abwertskompatibel und hat vor allem das Ziel, HTML sinnvoll zu erweitern und zu verbessern. Die Entscheidung, welcher Standard letztendlich das Rennen macht, hatte aufgrund der Macht der Arbeitsgruppe WHATWG, der inzwischen Google ebenfalls angehört, die bessere Ausgangssituation. Das W3C hat mittlerweile eine eigene Arbeitsgruppe gegründet, die ebenfalls an HTML5 arbeiten, somit wurde der einst angedachte Standard XHTML 2 zwischenzeitlich wieder eingestellt. HTML5 soll bereits 2012 den Level W3C Candidate Recommendation erreichen.

Was genau bringt denn der neue Standard HTML5 mit?

Genaugenommen sind die Neuerungen von HTML5 ganz überschaubar. Insgesamt wurden weniger als 30 neue Tags definiert (als Tags bezeichnet man die in Klammer gesetzten Elemente, welche die Grundlage der HTML-Programmiersprache bilden). Die vielversprechensten Neuerungen sind hierbei die Canvas- und Video-Elemente. Zusätzlich wurden weitere Ergänzungen für das „semantische Web“ definiert. Diese Tags sind massgeblich dafür verantwortlich, dass mehr Inhalte für Suchmaschinen lesbar werden. Ein klassisches Beispiel ist hier die semantische Suchanfrage direkt in den Ergebnislisten. Mit dem Canvas-Element (deutsch Leinwand), können in einem rechteckigen Bereich – durch die JavaScript-Sprache – pixelgenau Inhalte positioniert werden. Dies ermöglicht viele neue Spielereien, die sinnvoll oder sinnlos sein können. Genauso interessant ist das Video-Element. Der „video-Tag“ ermöglicht in Zukunft ohne Plug-In’s, Videos direkt in Websites einzubetten und abzuspielen. Das hört sich in erster Linie sehr sinnvoll und interessant an. Aber, die Antwort welcher Codec in der Zukunft als Standard-Codec verwendet wird, ist bis heute noch nicht definiert. Eigentlich sollten ja Standards das Ergebnis erzielen, dass einheitliche Regelungen definiert werden. Beim Video-Codec ist sich die Arbeitsgruppe nicht einig. Apple mit Safari setzen hier auf den kommerziellen MPEG-Codec H.264, für dessen Nutzung ab 2016 Lizenzen anfallen. Firefox und Opera setzen dagegen auf den Open-Source-Codec „Ogg Theora“. In der Kompression bietet der H.264 Codec Vorteile gegenüber dem Ogg-Codec. Wie die Lizenzbedingungen des H.264 zukünftig aussehen werden, ist heute noch nicht bekannt. Für Websitebetreiber kann das in Zukunft aber wieder bedeuten, dass mehrere Technologien vorgehalten werden müssen.

HTML5 bietet vor allem im Bereich der Usability neue Möglichkeiten. Denkt man alleine einmal an die vielen Formular-Seite, die zukünftig durch den neuen Standard besser und einfacher bedient werden können. Oder sehen wir das rasante Wachstum von mobilen Endgeräten wie zum Beispiel das iPhone, das iPad oder die Android Handys. Hier bietet HTML5 mit der Gesten- oder Touchscreensteuerung viele neue Möglichkeit für die Bedienung einer mobilen Website.

Abschließend ist aus meiner Sicht die Technologiefrage noch lange nicht geklärt. Ob HTML5 Flash wirklich ablöst glaube ich nicht. Alleine die Unentschlossenheit im Video-Codec setzt schon voraus, dass hier weiterhin unterschiedliche Technologien zum Einsatz kommen können. Warum dann nicht gleich mit Flash entwickeln? Genauso bleibt die Frage offen, wie viele User weiterhin trotz HTML 5 Standard den Flash-Player installiert haben. Wenn die Zahl der installierten Flash-Player von 90 Prozent – oder selbst 80 Prozent – immer noch überschritten ist, sehe ich die Diskussion der Technologie als überflüssig. Dass sich Flash in Zukunft weiterentwickeln wird ist auch klar. Adobe wird schon in absehbarer Zeit sämtliche mobile Plattformen wie Android, Symbian, WebOS, BlackBerry oder auch Windows Mobile mit dem Flash-Player oder der Laufzeitumgebung AIR bedienen. Was für die Entwicklung wiederum bedeuten kann, dass mit der Entwicklungsumgebung von AIR ein Großteil der mobilen Technologien abgedeckt werden kann. Welcher Marktanteil dann Apples iOS übernimmt bleibt abzuwarten. Ob Apple sich auf Dauer der Flash-Technologie verschließt, bleibt abzuwarten.

Weiterführende Links zum Thema HTML5.

Möchten Sie Ihren Browser auf HTML5 testen? Rufen sie hierzu die Internetseite „www.html5test.com“ auf. Bei dem Projekt von Niels Leenheer erhält man in einer grafischen Übersicht, welche HTML5-Funktionsbereiche Ihr Browser unterstützt. Die maximale Punktzahl die erreicht werden kann ist 300 Punkte. Beim Test mit Safari 5.0.3 erreichte dieser 208 Punkten.

– Apples HTML5 Showcase: www.apple.com/html5
– Googles Showcase: www.chromeexperiments.com
– Canvas 3D Modell: http://bit.ly/3d_modell
– Diverse HTML5 Showcases: http://bit.ly/showcases
– Drag and Drop: http://html5demos.com/drag