Google has just released some new extension APIs for it’s superb browser chrome. I already use some own experimental extensions to augment my browsing experience. And now I start to test the new possibilities. There will be a lot of new uses. You can now implement own infobars, program the omnibox (how about tweeting directly from the omnibox?) and add customized context menus, that can work selectively on the type of content (for example a page, a link/video/image or a selection) or the current url.

My first experiment with the new APIs was a simple one: Provide a context menu item to search for the selected text on different sites (too bad, this can’t at this time be integrated with the defined/personally configured search engines/sites of chrome). Nonetheless I'd like to share this simple naive implementation with you, to help get you started with chrome extensions.

The whole code contains of two files that you put together in a directory. File one is “manifest.json”, which declares the permissions used by the extension (see documentation):

{
  "name": "LookUp",
  "description": "Look up selected word(s) on different sites",
  "version": "0.9",
  "permissions": ["contextMenus","tabs"],
  "background_page": "background.html"
}

The other file is the “backgroud.html” which gets loaded when the extension is loaded/activated. It only contains the javascript needed to define the sites to search on and the action that should be taken on click (in this case always open a new tab with a search url) and hook these actions to the menu:

<script>
var definitions=[
	{"title":"Wiki (en)","action":function(info,tab){chrome.tabs.create({"url":"http://en.wikipedia.org/w/index.php?title=Special:Search&search="+info.selectionText});}},
	{"title":"Wiki","action":function(info,tab){chrome.tabs.create({"url":"http://de.wikipedia.org/w/index.php?title=Spezial:Suche&search="+info.selectionText});}},
	{"title":"Amazon","action":function(info,tab){chrome.tabs.create({"url":"http://www.amazon.de/s/ref=nb_ss?__mk_de_DE=%C5M%C5Z%D5%D1&url=search-alias%3Daps&tag=stecki&x=0&y=0&field-keywords="+info.selectionText});}},	
	{"title":"IMDB","action":function(info,tab){chrome.tabs.create({"url":"http://www.imdb.com/find?s=all&q="+info.selectionText});}}
];

for(var i=0;i<definitions.length;i++) {
	var item=definitions[i];
	var id=chrome.contextMenus.create({"title": item.title, "contexts":["selection"],"onclick": item.action});
}
</script>

To get such a local extension running, you go to chrome://extensions/, click on ”load unpacked extension…” and select the directory in which you saved above two files. That’s it.

Dieser Text ist mir etwas wert:

If I had to name the single most frustrating aspect of internet browser usage experience it would be this: Why can’t you handle online documents like any other document in an application‽

I mean, come on: How hard can it be to just know that a browser tab may have unsaved changes (usually form input) and in that case just ask the user if he really is sure, that he wants to close the tab (or navigate away) without saving?

I think this is an atavism from the old times in the web, where a browser would just be used as a viewport for reading documents online. But those times are gone. And if you really want the user to switch to browser based apps, it would be a pretty important thing to make them behave and not destroy work.

It really annoys the crap out of me. Statistically I lose some work almost every day because of this idiosyncrasy. It just happens too often, that one closes the wrong tab or the whole browser accidentally. In case of a closed tab, sometimes a good browser lets you just undo the action and reopen the tab without any data loss. But this doesn’t always work; and never does if it’s the whole browser you quitted.

So please implement something like the security dialog which is found in almost every desktop application:

There are unsaved changes in this/some tab(s), are you sure, you want to close this/these tab(s)? Yes | No

It would in addition probably make sense to provide a standard compliant way to mark a document as having unsaved changes, aka being dirty for the cases where the editing is not done by just filling in form fields and the browser wouldn’t otherwise have a way of knowing about the changes.

Thank you!

(It may be that there are significant reasons that this has not been widely implemented. If so, I would be happy to learn about them.)


Addendum:

I was asked by @Johanstormarn, why I wouldn’t use a greasemonkey-script or other kind of extension/add-on to my browser.
Well: First of all, I don’t know of any such script. But more important: I do not think, that it is the users responsibility to provide such functionality. What we are seeing is a trend towards using the browser as os for apps. There hardware-APIs on the way. W3C is talking about accessibility and defining standards for webapps (local storage etc). So I think a fundamental standardized dirty-mechanism is not a too devious thing to ask for.
And @presroi told me, that any website could implement that on it’s own.
I don’t dispute the fact, that every website could build such a security question with javascript. But: I don’t know of any somewhat relevant site that does this. This suggests, that it either is too difficult/timeconsuming to do or the programmers just don’t give a damn (or don’t even recognize that there may be a problem). Additionally I do not think it would help user-experience, if a user first had to test, if a site does implement something like that and then had to rely on a possibly broken implementation (I really don’t think an average user would perform tests before writing a comment). In addition to that, it would not be standardized; moreover: the tab would habe to use js-dialogs, which are handled differently. And you can’t prevent someone from closing a tab regardless what javascript is saying. So I come back to the point above: Regarding the incline in webapps, this really should be standard browser behavior.
Dieser Text ist mir etwas wert:

Eben las ich in der Ahrensburger ZeitungStormarn-Beilage des Hamburger Abendblattes „Ruhe in Sichtweite“ (der Link liegt hinter einem Paywall, first-click-free-Suche bei Google News hilft). Der Artikel setzt auf der Berichterstattung von vorgestern auf, in der sich die Anwohner des Buchenweges über zunehmenden Fluglärm beklagen (dieser scheint — vielleicht aus komplexen psychoakustischen Gründen? — ganz gezielt im Buchenweg alles andere in den Schatten zu stellen….).

Zu der Thematik kann man ja stehen, wie man will. Die Flugzeuge fliegen auch über Delingsdorf, darüberhinaus habe ich aber ca. 100 m links die Bundesstraße 75 und ca. 100 m rechts die Bahnlinie Hamburg-Lübeck. Nun denn, wenn es wirklich Leute mit feinem Gehör stört und womöglich Grenzwerte und Regelungen nicht eingehalten werden, soll es so sein.

Was ich aber absolut inakzeptabel finde, sind dann Bebilderungen wie diese:

Für das kleine Bild bitte ich um Verzeihung; ich wollte keine urheberrechtlichen Problematiken losstoßen und denke, daß man die Problematik erkennt, wenn man die Bildunterschrift dazu liest, welche lautet:

So tief wir auf dieser Fotomontage fliegen die Flugzeuge natürlich nicht über das Ahrensburger Stadtgebiet und den Kreis Stormarn hinweg.

(Zitat mit Tippfehler übernommen)

Ganz ehrlich: Man macht sich also die Mühe, eine schicke Fotomontage zu basteln, schert sich aber einen feuchten Kehricht darum, ob diese auch nur halbwegs realistisch ist? Was soll ich davon halten? Der Leser kriegt doch einen Schreck, wenn er beim Aufblättern der Seite auf das großflächige Foto schaut und dabei den Eindruck gewinnt, daß die Flugzeuge keine 100 m über dem Schloß im Landeanflug sind. Welche Irreführung. Ein Schelm, wer Böses dabei denkt.

Dabei sollte doch heutzutage eigentlich jeder — auf jeden Fall aber Journalisten — sich der Suggestivkraft von Bildern bewußt sein. Selbst „echte“ Fotos, also keine Montagen, können ja nach Wahl des Betrachtungswinkels beim Knipsen oder dem Bildausschnitt beim Publizieren erheblich in die Irre führen. Bewußt (böswillige?) Fotomontagen erst Recht. Diese Art von „Qualitätsjournalismus“ finde ich unerträglich. Und sie ist auch mit Blick auf die emanzipative und aufklärerische Kraft des Netzes äußerst kurzsichtig.

Also, liebe Leser: Immer schön Augen auf und kritisch hinterfragen, was einem da so vorgesetzt wird!

Dieser Text ist mir etwas wert:

Zu kurz gesprungen, Eric Schmidt

Montag, 16. August 2010

In Google and the Search for the Future im WSJ gibt es lesenswerte Einlassungen von Google-CEO Eric Schmidt zur Zukunft des Internets:

“Mr. Schmidt is surely right, though, that the questions go far beyond Google. “I don’t believe society understands what happens when everything is available, knowable and recorded by everyone all the time,” he says. He predicts, apparently seriously, that every young person one day will be entitled automatically to change his or her name on reaching adulthood in order to disown youthful hijinks stored on their friends’ social media sites.”

In der Tat dürfte fraglich sein, ob allen klar ist, was das Elefantengedächtnis des Netzes für uns in der Zukunft bedeuten wird. Denn Jahr für Jahr werden Menge und Aussagekraft der über uns verfügbaren Information genauso steigen wie die automatischen Aggregations- und Auswertungsmöglichkeiten dieser Daten — insbesondere unter dem Gesichtspunkt der sich selbst beschleunigenden technologischen Entwicklung (zum Themenkomplex Exponentialität und Technologische Singularität werde ich beizeiten auch mal ausführlicher schreiben).

Die obigen Aussagen von Eric Schmidt sind in der interessierten Öffentlichkeit als recht wagemutig aufgenommen worden, bemerkenswerterweise allerdings nur aufgrund ihrer — sagen wir mal — Unkonventionalität. Dabei beunruhigt mich weniger der Vorschlag an sich, als die Tatsache, daß offenbar auch der Google-Chef höchstselbst nur sehr unklare Vorstellungen über diese Zukunft hat. Ganz inbesondere läßt er (bewußt?) außer acht, daß eines der zentralen Privatsphären-Probleme der Zukunft eben nicht die plumpe namensbasierte Archivsuche sein wird. Diese ließe sich in der Tat vermutlich durch (ggf. mehrfache) Namens-/Identitästwechsel einigermaßen in den Griff kriegen, auch wenn dafür bisher kein gesellschaftlich-kulturelles Fundament besteht.

Die wichtigere und schwierigere Frage aber stellt und beantwortet Schmidt nicht: Was passiert mit den aus archiviertem und auswertbaren Aufmerksamkeits- und Geolokalisierungsdaten, Bild-/Ton- und Video-Material von Personen (siehe hierzu Gesichtserkennung: Normen vs. normative Kraft des Faktischen)?

Denn Nutzungs- und Bewegungsprofile lassen sich ebenso wenig mal eben austauschen wie vor allem unser Aussehen und unsere Stimme. Ich kann mir kaum vorstellen (aber vielleicht reicht da schlicht meine Imaginationskraft nicht), daß wir später alle paar Jahre rein prophylaktisch nicht nur unseren Namen ändern, sondern auch noch plastische Chirurgie an uns vornehmen lassen.

Es gilt also die Frage zum Umgang mit biometrischen und anderen (un-)mittelbar persönlichen/personenbezogenen Daten noch wesentlicher unter diesen Gesichtspunkten zu diskutieren. Vor allem erwarte ich von großen Datenaggregatoren aber natürlich auch von Datenschützern und Politik, daß sie sich mit diesen Fragen beschäftigen — und zwar in einem transparenten Verfahren. Bisher hat leider insbesondere die deutsche Diskussion zu StreetView & Co gezeigt, daß man Entwicklungen nicht bemerkt, bevor alles schon passiert ist. Daraus müssen wir dringend lernen!


Nachtrag: netzpolitik.org hat das Thema auch aufgegriffen und verweist auch auf Danah Boyds Ausführungen über den Aspekt des Reputationsverlusts.


Es dauert ganz schön lange, bis die deutschen News sowas aufgreifen:

Dieser Text ist mir etwas wert:

Es tut mir außerordentlich leid: Ich kann es nicht lassen, über das Thema Google Street View und die von Desinformation, Hysterie und Deutscher Angst geprägte Debatte zu bloggen. Diesmal aber mit potentiell konkretem pekuniären Mehrwert für alle First-Mover, nämlich einer ausbaufähigen Geschäftsidee, deren Grundzüge ich hier skizzieren möchte. Denn: „Nichts ist so schlecht, daß es nicht auch eine gute Seite hat“!

Meine Idee ist simpel, aber IMHO <eigenlob intensität=“heftigst”>mindestens grenzgenial</eigenlob>. Kurz gesagt ist die These, daß die Kohorte der StreetView-Gegner eine hochinteressante Zielgruppe ist. Und zwar nicht nur für gezielte gecrowdsourcete „Nachrüstung“ der StreetView-Bilder der von Google auf Basis eingereichter Widersprüche verpixelter/gelöschter Häuser, sondern weit darüber hinaus.

Ich gehe davon aus, daß Google seine Maps-API in Kürze um eine Funktion streetview.isvisible(address) erweitern wird (ich bitte, dies als Feature-Request zu verstehen), die für jede Adresse zurückliefert, ob das Haus dort erlaubterweise sichtbar ist oder nicht (sollte Google das Potential dieser Abfragemöglichkeit nicht sehen, dürfte diese mittels Bildanalyse iVm reversem Geocoding von der Community umgesetzt werden können, davon gehe ich mal aus).

[Einschub: Ich stelle gerade fest, daß man wohl über das Property GStreetviewData.code feststellen kann, ob für einen Position Daten verfügbar sind, habe das aber noch nicht intensiver angeschaut.]

Dann kann man gezielt alle Straßenzüge eines Zielgebietes darauf abprüfen und durch Kopplung diverser verfügbarer Adreßdatenbanken/Telefonbüchern eine Datenbank der SpießerStreetView-Verweigerer erstellen, um diese einzeln anschreiben/anmailen zu können. Hilfsweise könnte man an die Bewohner der Häuser eben nicht-individualisierte Quasi-Hauswurfsendungen schicken.

Ich gehe fest davon aus, daß eine ganze Reihe weitsichtiger Unternehmen hier sofort normes Potential entdecken. Denn diese Target-Group dürfte aufgrund spezieller Charakteristika hochinteressant sein. So darf man annehmen, daß die Zielgruppe besonders auf Sicherheit, Recht und Ordnung erpicht ist. Was für eine Chance für Rechtsschutzversicherungen! Und die Zielgruppe schaut möglicherweise zu einem Großteil den ganzen Tag aus dem Fenster, um Falschparker anzuzeigen — hier kann man also hervorragend Kameras zur Beweissicherung vermarkten. Ganz abgesehen natürlich von dem hohen Bedarf an Alarmanlagen, der hier generiert werden könnte (insb. wenn man zeitgleich die Daten gewissermaßen als Add-On zu http://pleaserobme.com verfügbar macht. Auch Schneider könnten davon profitieren. Warum? Weil Pro-StreetView-Papst denjenigen, die ihr Haus nicht in der Öffentlichkeit zeigen wollen nicht zu Unrecht rät, dann doch einfach eine Burka drüberzuwerfen (übrigens eine wertvolle facettenreiche großartige Analogie). Usw. usf. — ihr seht, man muß es nur weiterdenken!

Dieser Text ist mir etwas wert:

In meinem Beitrag „Was fehlt: Qualitativ ausdifferenziertes Soziales Meta-Netzwerk“ hatte ich ja mal ein paar grundlegende Gedanken zur Weiterentwicklung sozialer Netzwerke runtergeblogt (später ergänzt durch „Google Me — das Soziale Netzwerk der nächsten Generation?“). Aber es gibt auch viele kleine Dinge, die man als Betreiber solcher Netzwerke optimieren könnte (und deren Umsetzung wir Nutzer abfordern sollten).

Hier mal ein Beispiel, das mir vor längerer Zeit durch den Kopf gegangen ist: In vielen Netzwerken gibt es ja die Möglichkeit, festzulegen, wer die von einem eingespeisten Statusmeldungen, Links, Fotos, Video & Co sehen darf. Die Einstellungsmöglichkeiten sind unterschiedlich filigran. Bei Twitter kann man beispielsweise seinen Account auf protected schalten, so daß nur explizit freigegebene Follower die Meldungen lesen können (von Pannen wie der unabhängig davon manchmal möglichen öffentlichen Lesbarkeit dieser Tweets per Twittersuche mal abgesehen). Bei Facebook kann man äquivalent definieren, daß nur Freunde die Infos sehen.

Das alles ist schön und gut, leidet aber meines Erachtens regelmäßig unter einem Denk-/Implementationsfehler. Und zwar werden in dem Moment, wo ich jemandem das Leserecht einräume, auch alle bis dahin angefallenen Informationen sichtbar. Das kann gewollt sein. Wahrscheinlicher ist aber, daß es tendenziell nicht gewollt ist bzw. man erst viel später merkt, daß diese Standardeinstellung nicht ganz unproblematisch ist.

Warum? Nun, eigentlich recht einfach: Über längere Nutzung sammeln sich je nach Aktivitätsgrad des Anwenders eine ganze Menge von Informationen an. Über Jahre (oder vielleicht demnächst Jahrzehnte?) dann eine solche Masse, die nachträglich kaum mehr zu überblicken ist. Gewissermaßen ein digitales Vermächtnis. Aber über diese langen Zeiträume soll es nicht ganz unwahrscheinlich sein, daß Menschen sich ändern — und damit auch Sympathien und Freundschaften. Während man aber jemanden in sozialen Netzwerken in der Regel ganz einfach „entfrienden“ (schönes neogermanisch :-) ) kann, ist es beim Hinzufügen eines neuen Freundes/Kontaktes faktisch später kaum möglich zu überblicken, was man vielleicht Jahre vorher (im damals kleinen Kreise) unschönes/abfälliges über diese Person geäußert hat. Solche Informationen können durchaus kompromittierend sein und böse Probleme nach sich ziehen — und das obwohl man in der Zwischenzeit seine Meinung der Person gegenüber geändert hat. Nun könnte man sagen: Was soll’s, das ist eben so. Aber aufgrund des enormen Potentials an Mißverständnissen und Konflikten auf der einen Seite und der vergleichsweise simplen Implementierung einer anderen Grundeinstellung auf der anderen Seite halte ich das für inakzeptabel.

Kurz: Ähnlich wie viele Anbieter von sozialen Netzwerken erst nach den ersten Todesfällen von Mitgliedern entsprechende Mechanismen zum Umgang mit den Profilen Verstorbener entwickeln, so müssen diese sich auch den Herausforderungen stellen, die durch lange Dateneinlagerung entstehen (ja, ich stelle hier bewußt jetzt nur auf einen Teilaspekt der Problematik ab, mir ist klar, daß es viele weieter Implikationen gibt). Daher halte ich es für dringend geboten, dem Nutzer die Entscheidung zu überlassen, welchen rückwirkenden Zeit- bzw. Archivhorizont neu hinzugefügte Freunde haben sollen. Als Standardeinstellung böte sich IMHO der Zeitraum 0 an: Neue Freunde sehen nur Informationen, die seit Einräumung des Leserechtes hinzugekommen sind. Der Nutzer kann dann entscheiden, ob er einem Freund auch einige Wochen, Monate, Jahre oder eben alles rückwirkend zur Verfügung stellen möchte (feinere Einstellungsmöglichkeiten nicht ausgeschlossen). Was haltet ihr davon? Was sind eure Ideen und Vorschläge für kleine, aber feine Verbesserungen? Ich freue mich auf Feedback.

Dieser Text ist mir etwas wert:

Link-Dump zu Google Street View

Donnerstag, 12. August 2010

Aus meiner Sicht ist der Umgang mit Google Street View ein Lackmustest für die Zukunftsfähigkeit und ein pointiertes pars-pro-toto für die Qualität (?) des öffentlichen Diskurses. Weitere eigene Ausführungen erspare ich mir hier an dieser Stelle. Wer mag, kann gern meine Blog-Beiräge dazu nachlesen:

Anbei habe ich mal einen kleinen Link-Dump zur Debattenlage angefangen, den ich vermutlich die nächsten Tage noch etwas erweitern werden. Was mich bei vielen unten aufgeführten Contra-Beiträgen erschrickt, ist die Melange aus Uninformiertheit, non-disclosed Eigeninteressen (Rache der Verlage für Google News? Daseinsberechtigungsrechtfertigungsversuche von Datenschutzbehörden, politischer Populismus) bis hin zu Antikapitalismus und das Klima der diffusen Angst, welches durch teils fast schon demagogische Verkürzungen, Falschdarstellungen und Insinuierungen erzeugt wird. Leider verstärkt sich der negative Effekt auf die breite Bevölkerung noch durch einigermaßen suboptimale Öffentlichkeitsarbeit seitens Google („hörenswert“ sowohl in diesem Zusammenhang wie auch hinsichtlich der krassen Fehlinformationen in der Bevölkerung der der WDR5-Beitrag mit Google-Pressesprecherin Lena Wagner). Insgesamt ist die Diskussion ein lebendiges Beispiel warum dieses Land immer mehr den Anschluß an die Zukunft verliert.

Viel Spaß bei der Lektüre. Wenn ihr ergänzende Fundstücke habt: Immer her an mich! Danke!

Dieser Text ist mir etwas wert:

Wave gestrandet — wird Google kurzatmig?

Donnerstag, 5. August 2010

Als ich eben in meinen Feeds die Meldung Google Halts Wave Development, Shutting It Down By End of Year las, konnte ich zunächst nicht glauben, daß Google sein revolutionäres Produkt Wave einstellt. Hier die offizielle Meldung: Update on Google Wave.

Google Wave war ein ambitioniertes Experiment: Es war gedacht als Kommunikationsplattform der nächsten Generation, sollte Mail, Chat/Messenger, Foren und Wiki gewissermaßen kombinieren. Ich hatte lange auf ein solches Tool gehofft, muß aber zugeben, daß ich Wave nicht so häufig und intensiv genutzt habe, wie ich vorher gedacht hätte. Zum einen dauerte es sehr lange, bis nennenswerte Nutzerzahlen für den Test freigeschaltet wurden. In der ersten Phase von Wave, wo ich die Developer-Sandbox genutzt hatte, kannte ich nur mich und meinen Testaccount; danach wurde es langsam mehr, aber eine kritische Masse wurde nicht erreicht. Insofern ein Henne-Ei-Problem: Solange nicht genug Leute das Teil nutzen, nutzt man es selbst auch nicht.

Insofern rächt sich auch die Inkonsequenz von Google, Wave nicht direkt mit den korrespondierenden Diensten wie Mail, Chat und Groups enger zu verzahnen, gewissermaßen deren Nutzer vorsichtig zu Wave überzuleiten. Das wäre auch ein Signal gewesen, daß Wave wirklich als langfristiges Produkt ausgelegt ist. Denn warum sollte ich meine Kommunikation in einen Dienst verlagern, von dem ich nicht wissen kann, ob er in einigen Monaten noch existiert und bei dem ich keine brauchbare Möglichkeit habe, meine dort erzeugten Daten zu sichern (eine Skepsis, die nun auch noch bestötigt wird).

Insofern bin ich recht enttäuscht und auch überrascht, daß Google hier keinen langen Atem beweist. Gerade angesichts obiger Aspekte (hinzu kommen Kinderkrankheiten, suboptimales Frontend und fehlendes Rechtemanagement) und unter Berücksichtigung der revolutionären Ansätze hat Google hier meines Erachtens (jedenfalls nach meinem jetzigen Kenntnisstand) einen enormen Fehler begangen, das Projekt in dieser Form einzustampfen.

Ich hoffe sehr, daß diese Kurzatmigkeit sich bei Google nicht verschlimmert. Schon bei Buzz mußte man recht erratisches Spontanmanagement zur Kenntnis nehmen. Und bei Orkut, FriendConnect und Latitude hat Google auch nicht unbedingt eine überzeugende Figur gemacht. Weiß die linke Hand dort nicht, was die rechte tut? Gibt es unternehmensintern dort zu wenig strategische Abstimmung? Oder kam Wave einfach nur zu früh, war die Welt darauf noch nicht vorbereitet? Vielleicht hat Google CEO Eric Schmidt ja recht, wenn er heute bei anderer Gelegenheit sagt: “People Aren’t Ready for the Technology Revolution”.

Die Frage ist: Is Google ready for the Technology Revolution?


Siehe auch:

Dieser Text ist mir etwas wert:
(Seite 1 von 1, insgesamt 8 Einträge)