[Quicktip] Vagrant zeigt plötzlich Config-Fehler beim Hochfahren einer VM

Beispiel:

"Vagrantfile:4:in `forward_port': wrong number of arguments (2 for 3) (ArgumentError)"

In solchen Fällen hat man evtl. vergessen, sein System zu updaten. Ein einfaches Update von Vagrant hatte das Problem bei mir sehr schnell gelöst:

gem update vagrant

Was Facebook falsch macht

Seit einiger Zeit fallen mir einige Dinge an Facebook auf, die mir gar nicht so recht gefallen wollen – und die ich vor allem nicht nachvollziehen kann. Die Firma lebt davon, dass sich seine Nutzer wohl fühlen und so viel Zeit wie möglich im Portal verbringen. Drei Dinge zeigen mir aber, dass sie nicht alles dafür tun.

Punkt 1 – Automatische Filterung
Der erste und zugleich für mich schlimmste Punkt ist die kürzlich eingeführte Auto-Filterung. Dieser Mechanismus soll dafür sorgen, dass ich nur noch die für mich interessanten Beiträge in meiner Timeline sehe – alles, was nicht so wichtig ist (z.B. weil ich bei dem Nutzer keine Kommentare hinterlassen habe oder die Beiträge haben kaum Likes oder Kommentare…), wandert weit nach unten bzw. wird gar nicht erst angezeigt. Bei der normalen Benutzung fällt dies gar nicht weiter auf – ruft man allerdings mal gezielt die Profile seiner Freunde auf, tauchen auf einmal mehr Beiträge auf, die man vorher nie gesehen hat. Das Feature kann man zwar über die “Sortieren” Funktion deaktivieren, allerdings habe ich das Gefühl, dass sich kaum etwas in der Reihenfolge der Beiträge ändert und außerdem muss ich diese Einstellung nach jedem Login erneut durchführen…

Dies ist in meinen Augen ein völlig unnötiger und zugleich noch viel zu radikaler Einschnitt in mein Nutzererlebnis. Ich habe keine 1000 Freunde, die im Minutentakt Statusmeldungen hinterlassen. Ich kann also sehr gut selbst filtern, was ich sehen will und was nicht. Facebook gibt mir auch wunderbar die nötigen Tools dafür an die Hand. Meinetwegen können die Jungs dieses Feature ja einbauen und evtl. würde ich sogar Verständnis aufbringen, wenn es standard-mäßig aktiviert ist – ich möchte aber in jedem Fall eine dauerhafte Möglichkeit haben, diese Funktion komplett abschalten zu können.

Aus dem Gesichtspunkt von Facebook ist mir auch nicht ganz klar, welchen Vorteil die Firma dadurch hat. Je mehr Statusmeldungen ich sehe, desto länger verweile ich und desto größer wird die Wahrscheinlichkeit, dass ich Werbung anklicke. So sehe ich das zumindest…

Punkt 2 – die fehlende “teilen” Funktion
Immer öfter bemerke ich, dass bestimmte Statusmeldungen nicht mehr “teilbar” sind. Vor allem passiert dies bei Meldungen, die von anderen Apps gepostet werden. Was soll das? Die Teilen-Funktion ist ein essentielles Feature von Facebook, welches auch stark dazu geführt hat, dass sich so viele Nutzer eingefunden haben. Wäre diese Möglichkeit nicht da, würden sich viele interessante Meldungen gar nicht bis wenig stark verteilen und so viele Nutzer erreichen. Es ist mir schleierhaft, warum das Teilen-Feature kaum Priorität mehr zu haben scheint.

Punkt 3 – die mobilen (iOS) Apps
Intensiv nutze ich die mobilen Apps nur in der iOS Version auf dem iPhone und auf dem iPad – die Android Variante habe ich nur mal kurz angetestet, da es auch nicht mein primäres System ist. WAS BITTE HABEN DIE SICH DABEI GEDACHT? Diese App ist eine der schlechtesten, die sich auf meinen Geräten befinden. Ständige Abstürze, überhaupt keine Teilen-Funktion (egal, bei welcher Art von Post), extrem schlechte Performance und jede Menge Bugs. Ich bin selbst in der Mobile-App Entwicklung tätig und würde mich schämen, so eine App SO lange ohne ein behebendes Update auf dem Markt zu haben. Man sollte bedenken, dass ein Großteil der Facebook Nutzung mobil abläuft – zumindest bei mir ist das so. Ausschließlich am Rechner würde Facebook für mich auch nicht so viel Sinn ergeben.

Wie im letzten Jahr bekannt wurde, war auch nur ein einziger Entwickler mit der App betraut – und der hatte sich dann klammheimlich verabschiedet. Nach einiger Zeit kamen dann ein paar langersehnte Updates und die App wurde halbwegs benutzbar. Aber sie ist noch immer um Längen vom angenommenen Standard entfernt.

Was sich der liebe Herr Zuckerberg dabei denkt weiß wohl nur er selbst – ich habe dafür jedenfalls überhaupt kein Verständnis.

Das erstmal zu meinen drei hauptsächlichen Kritikpunkten.

Facebook ist trotzdem eine meiner Lieblingsseiten – denn die Integration über verschiedene Apps und die vielfältigen Möglichkeiten der Interaktion (Jabber-Chat FTW!) mit meinen Freunden ist ungemein praktisch. Allerdings muss ich zugeben, dass Google+ mittlerweile alle Features bietet, die ich von einem Social Network erwarte – bis auf meine Freunde, die hauptsächlich an Facebook hängen. Sollte sich dies zeitnah ändern, würde ich wohl schnurstracks zu Google wechseln.

Wie seht ihr das? Was stört euch an Facebook, was gefällt euch?

wir brauchen mehr social media

Da mir aufgrund immer mehr Nebenprojekten langsam aber sicher die Zeit ausgeht, den Byteluden immer wieder mit frischen Inhalten zu versorgen und ich außerdem die grandiose Webapp “Buffer” entdeckt habe, werde ich in Zukunft verstärkt auch andere interessante Inhalte in dem Twitter sowie dem Facebook Stream einbinden. Mittels Buffer kann ich dies in einigermaßen festgelegten Abständen automatisch erledigen lassen, sodass ihr so nun jeden Tag frischen Lesestoff bekommt. An dieser Stelle weise ich obligatorisch wieder einmal auf das Angebot hin, dass Interessierte sich hier gern als Gast- bzw. auch Co-Autoren betätigen können. Bei Interesse einfach bei mir melden…

Wer im übrigen meinem Buffer-App Link folgt, der bekommt automatisch einen weiteren Puffereintrag zu den kostenlosen 10 geschenkt. Schaut es euch also zumindest mal an 😉

ON AIR Android Beta 0.4

An gewissen Punkten in meinem Leben bin ich durchaus sehr stolz – und so war es auch am Montag, als die neueste Beta von ON AIR für Android fertig gestellt wurde. Wir konnten viele Anregungen und Fehlermeldungen aus der letzten Version aufnehmen bzw. korrigieren, haben extreme Performance Optimierungen durchführen können und die App somit auf noch mehr Geräten verfügbar gemacht. Hinzu kam außerdem die Unterstützung für eine große Palette an Android Tablets. Bereits jetzt muss sich ON AIR Android nicht mehr vor seinem großen Bruder auf der iOS Plattform verstecken.

Das Raster

Die Entwicklung für Android gestaltet sich gegenüber iOS deutlich schwieriger – nicht, weil das System irgendwie komplizierter ist, sondern wegen der schier unendlich vorhandenen Geräte. Auch dies wäre kein Problem, wenn zumindest gewisse Grundsätze eingehalten würden – z.B., dass Bildschirmauflösungen nur ein Vielfaches einer bestimmten Auflösung sein dürfen oder ein genormtes Verhalten des Systems an sich. Die Freiheiten, die Android bietet, bringen leider auch viele Nachteile mit sich, die sich vor allem dem Entwickler offenbaren. Dieser Absatz soll kein Flaming oder eine Ausrede sein, ich möchte den Usern einfach nur näher bringen, warum wir auch immer wieder auf einzelne Geräte stoßen, auf denen unsere App nicht so läuft, wie wir uns das vorgestellt haben. Aber wir sind stets bemüht, diese Probleme aus der Welt zu schaffen.

Um mal ein bisschen aus dem Nähkästchen zu plaudern: ON AIR für Android ist eine reine HTML5 App und nutzt so die neuesten Web-Technologien. Das sorgt zum einen dafür, dass die App auf möglichst vielen Geräten läuft, zum andern vereinfacht es aber auch ungemein die Wartung und Entwicklung. Mittlerweile sind über 30.000 Zeilen Code zusammengekommen, die sich vor allem um die Dinge kümmern, die der Benutzer nicht sieht – also die Verwaltung und Aufbereitung der Senderdaten, die Kommunikation mit den Servern usw. – aber natürlich auch um die vielen grafischen Raffinessen, die wir bereits eingebaut haben. Mit unserer Entwicklung haben wir z.B. das absolut flüssige Scrollen von Listen und natürlich das grandiose Programm-Raster umsetzen können.

Als kleiner Ausblick noch, was euch in den nächsten Beta-Versionen erwartet:

  • Trailer
  • Wikipedia- und IMDB Link
  • Suche
  • Wiederholungen
  • Erinnerungen erhalten
  • Favoriten setzen
  • Sync mit iPhone und iPad
  • Offline-Funktion
  • Optimiertes Design für Tabletts und Android 4.0

Es bleibt also weiterhin spannend 😉

Die App findet ihr im Android Market unter “ON AIR Beta“.

FlickStackr – die ultimative App für das iPad und iPhone

Heute möchte ich mal wieder eine tolle iOS App vorstellen – und mit FlickrStackr habe ich da eine meiner derzeitigen Favoriten im Programm. Flickr bietet zwar auch selbst eine iOS App an, jedoch nur für iPhone/iPod Touch. Das iPad kann die Flickr Seite komplett darstellen und somit ist das Thema für die Yahoo-Tochter wohl erledigt. Als User sehe ich das gar nicht so, denn gerade eine Seite wie Flickr kann sehr stark von einem Gerät wie dem iPad in Form einer vernünftigen App profitieren. Zwar unterstützt die Seite auf dem iPad das Swipen (“Bilder durchschieben”), allerdings fühlt sich das irgendwie hakelig und nicht richtig an.

Mit FlickrStackr gibt es nun eine App, die dieses Manko voll und ganz ausbessert. Die komplette UI ist auf das angenehme Browsen durch Massen an Bildern optimiert, bringt einfache Thumbnail-Scrolllisten dort, wo es angebracht ist und bietet teilweise Funktionen, die noch nicht mal die Website von Flickr bietet.

Navigiert wird durch die App mittels Panes – also Menüflächen, die sich immer wieder nach links aus dem Bild schieben und somit Platz für neue Inhalte bieten. Der Rückweg gestaltet sich dann entsprechend entgegengesetzt. Aus dem Hauptmenü heraus kann man einfach auf seine eigenen Bilder, die neuesten Uploads seiner Kontakte sowie seiner Gruppen zugreifen, kann die angesagtesten Bilder des Tages (500 Stück 😉 ) und natürlich auch einfach die neuesten Bilder des Tages bzw. eines beliebig wählbaren Datums anzeigen lassen.

Die Bildbetrachtung läuft dabei immer gleich ab: man sieht zuerst ein Raster mit Thumbnails. Wählt man eines aus, schiebt sich das Raster nach links und das Bild wird etwas vergrößert. Tippt man nun einmal auf das Bild, so erscheint es im Vollbild. Das gleiche passiert, wenn man anfängt, das Bild zu swipen. Im Vollbildmodus erscheint unten rechts ein kleines Infofeld, welches den Titel des Bildes, das Profilbild des Fotografen (leider nicht dessen Namen?) und den Favoriten Stern anzeigt. Letzteres ist mein Lieblingsfeature, weil ich so während des Betrachtens großer Mengen an Bildern immer schnell meine Favoriten markieren kann. Das Infofeld kann man an-/abschalten, indem man mit dem Finger für kurze Zeit auf dem Display verweilt.

In der Detailansicht des Bildes – also nicht im Vollbildmodus, kann man sich natürlich die Kommentare und weiteren Infos zum Bild anzeigen lassen (über den Button ganz oben rechts zu erreichen). Handelt es sich um ein eigenes Foto, kann man hier auch gleich in den Bearbeitungsmodus wechseln und so die Metadaten des Bildes anpassen. Und hier kommen wir auch schon zu meinem Lieblingsfeature: man kann hier per Checkbox festlegen, in welcher Gruppe man dieses Bild posten bzw. wieder entfernen möchte. Auf der Flickr Seite selbst muss man dazu mühselig jede Gruppe einzeln aufrufen und kann dann erst dort in einem (zumindest mir) viel zu lange dauernden Prozess das Bild hinzufügen. Das geht mit FlickrStackr wirklich wesentlich angenehmer von der Hand und macht einfach nur Spass.

Zusätzlich zu der Flickr-internen Möglichkeit, Favoriten zu markieren, kann man Bilder auch in den “Stack” packen. Damit hat man die Möglichkeit, Bilder als Favorit vorzuhalten, dies aber nicht der restlichen Flickr-Community mitzuteilen. Auf diesem Wege kann man die Bilder auch einfach per Mail weiterleiten. Außerdem gibt es die Möglichkeit, den Stack auch Offline verfügbar zu machen – für mich nicht notwendig, aber ich vergesse jedes Mal, dass es auch iPads ohne 3G gibt 😉

Hinzu kommen noch die obligatorischen Sharing-Möglichkeiten via Facebook, Twitter und co. Mittlerweile soll auch der Zugriff auf 500px sowie die Facebook Fotos möglich sein, das habe ich aber bisher noch nicht ausprobiert…

Viel mehr kann ich dazu nicht mehr sagen, außer: probiert die App aus! Ich kann sie wirklich nur empfehlen und nach unzähligen Tests mit anderen Apps kann ich nur sagen, dass FlickrStackr die beste ist.

FlickStackr for Flickr (AppStore Link) FlickStackr for Flickr
Hersteller: iPont Software
Freigabe: 17+
Preis: 1,99 € Download

Was bedeutet Größenordnung?

Michael Huang hat hier etwas wunderbares gebaut – nämlich eine interaktive Präsentation, die die Größenordnungen unseres Universums auf einfache und doch sehr anschauliche Art und Weise darstellt. Ist die Flash-Animation geladen, betätigt man einfach nur noch den Regler im unteren Bereich und kann so die Zoomstufe einstellen.

Die Sache ist schwer in Worte zu fassen, also zieht es euch rein: scale-of-the-universe

PS: auf Michaels Homepage könnt ihr noch weitere interaktive Animationen finden…

Was gutes Design ausmacht

Es ist wirklich schade, dass es derzeit eigentlich so gut wie keinen anderen Hersteller auf diesem Planeten gibt, der so viel Energie in Design steckt wie Apple – und damit meine ich jetzt nicht nur optisches, sondern auch funktionales Design. Dabei kommen Produkte heraus, die erstens einfach funktionieren (Stichwort “idiotensicher”) und zweitens noch sehr sehr elegant aussehen.

Man kann nun über die Firma Apple geteilter Meinung sein – aber je mehr ich in die Apfel Welt eintauche und die Philosophie verinnerlicht habe, umso mehr fällt mir auf, wie viele bescheuerte Produkte es auf dem Markt gibt. Und selbst im Hochpreissegment gibt es in dieser Hinsicht keine großen Unterschiede. Es werden zwar bessere Materialien verwendet, die Bedienung bleibt aber immer wieder auf der Strecke.

Ich denke, dass Apple mit seinem Ansatz den richtigen Weg geht – und die aktuellen Bilanzen geben dem Konzern aber mal sowas von Recht. Allen Unkenrufen zum Trotz.

Aber zurück zum Video: Im ersten Teil spricht Dieter Rams, welcher DER Designer bei Braun war, darüber, was für ihn Design bedeutet. Anschließend kommt einer der besten Designer der Welt, Jony Ive, seines Zeichens Chefdesigner bei Apple, zu Wort. Er berichtet darüber, wie aus einem genormten Stück Metall verschiedenste Teile von Apple Produkten hergestellt werden, welche Schwierigkeiten dabei entstehen und wie viel Zeit man damit verbringen kann, überhaupt erstmal die Werkzeuge für den Bau der Geräte zu designen. Wenn man ihm so zuhört, erkennt man, was wirkliche Leidenschaft für seinen Beruf und vor allem für seine Fähigkeiten bedeutet.

Und nun: Film ab!

via dennis-wisnia.de

[Quicktip] sehr langsamer Upload mit PhpStorm (collecting files)

Solltet ihr mit PhpStorm bzw. WebStorm mal das Problem haben, dass ihr einen Upload auf einen SFTP/SCP Server durchführen wollt und dieser ewig dauert, was sich durch ein extrem langsames “collecting files” in der Statusleiste äußert, dann solltet ihr unbedingt die Berechtigungen des Zielordners überprüfen. Sind diese nicht korrekt, dauert die Überprüfung der hochzuladenden Dateien ewig und ihr erhaltet erst sehr spät die entsprechende Fehlermeldung!

[Quicktipp] XBMC lädt Film- und Serieninformationen und Cover nicht richtig

Folgendes Problem: ihr habt im XBMC korrekt verschiedene Quellen hinzugefügt und auch die Informationsdienste wie z.B. IMDB angegeben, und trotzdem werden nur spärlich bzw. gar keine Medien richtig erkannt?

Dann habt ihr vielleicht vielleicht Quellen verwendet, die nicht auf SMB oder NFS setzen – denn nur bei diesen beiden funktioniert die Katalogisierung korrekt. Also einfach umstellen, und schon flattern euch die Meta-Informationen auf die Platte…

Readme driven Design – das etwas andere Pattern

Letzte Woche fiel mir ein sehr interessanter Beitrag (How I Develop Things and Why) zum Thema Entwicklungsstil in die Hände. Der Autor, Kenneth Reitz, vertrat dabei die Meinung, dass man alles sinnvoll designen sollte. Das mag jetzt zwar logisch klingen, ist es aber nicht. Wenn Entwickler von Design sprechen, dann ist meist das Design für den Endkunden gemeint. Die gleichen Regeln sollten aber auch für alle anderen gelten. Sprich, auch ein API oder eine Library sollte intuitiv und nutzerfreundlich sein.

Keneth, selbst ein bekennender Python Fan, geht darauf am Beispiel der http Library für eben diese Sprache ein. Sie tut zwar was sie soll, nervt den Entwickler aber mit unzähligen kryptischen Parametern und viel Schreibaufwand für einfachste Aufgaben. Um diesen Umstand zu verbessern, hat er eine Library geschrieben, die als Schnittstelle zwischen dem Entwickler und der ursprünglichen Library sitzt – spirch, ein Wrapper.

Und somit kommen wir zum Kern dieses Beitrages: Als Designphilosophie für diesen Wrapper wählte er das “Readme driven design”. Häh? So in etwa habe ich auch geschaut, als ich es zum ersten mal las. Das Prinzip ist aber recht sinnvoll: in der normalen Entwicklung fängt man mit einer simplen Idee an, baut das entsprechende API und alles ist toll. Nachdem die Grundfunktionen stehen, erweitert man das ganze, passt das API ein bisschen an, refactored ein bisschen, wieder wird das API angepasst usw. Irgendwann hat man zwar eine Library (bzw. ein Tool), die alles mögliche kann, was aber wiederum mit dem ursprünglichen API-Design nicht mehr realisierbar gewesen wäre. Heraus kommt dann ein Konstrukt aus undurchsichtigen Parametern und umständlichen Vorgehensweisen, um das gewünschte Ergebnis zu erhalten.

Die bessere Alternative ist nun folgende: man schreibt zuallererst die Readme Datei inkl. ausführlicher Syntax und Beispielen – genau so, als ob das Stückchen Software bereits existieren würde und fertig wäre. Und erst dann beginnt man mit der Umsetzung. Der Vorteil ist nun, dass man das API so designt hat, wie man gern damit arbeiten würde – unabhängig von auftretenden Hürden und Problemen. In der Regel sollte ein großer Teil der Entwickler in dieser Hinsicht ein gleiches Verständnis von “leicht” haben. Hinzu kommt: man “überdesignt” nicht – denn der Funktionsumfang ist ja nun genau definiert.

Wie man bereits feststellen kann, eignet sich diese Methode natürlich nicht für große Projekte – dafür macht sie für kleine Scripte oder Libraries umso mehr Sinn.

Was haltet ihr davon? Sinnvoll, oder Quatsch? Oder konntet ihr bereits Erfahrung damit sammeln?