Man måste beundra ihärdigheten hos Google. Knappt har de klarat av den första stora striden med bokförläggarna så släpper de nästa utmanande projekt. Google Fast Flip gör det möjligt att bläddra igenom tidningar och tidskrifter på webben. Ännu så länge bara i Google Labs, men otroligt cool och väldigt raskt. Det känns som att sitta framför ett soffbord fyllt av magasin, men bättre eftersom det ju naturligtvis är sökbart. Här har jag sökt efter artiklar som innehåller fashion:
Det hela påminner rätt mycket om det gamla Google Viewer-projektet från 2002, ett numera nedlagt Google-projekt där man satte igång en slideshow över ögonblicksbilder baserat på ett sökresultat. Roligt, men helt oanvändbart.
Det här försöket fungerar mycket bättre, främst för att det är baserat på tidningssajter som ju ofta har en mycket sidbaserad design. Jag gillar det, men har svårt att se vart det kan ta vägen.
Byggt i Django
Det är också, som alla andra Google Labs-projekt, väldigt mycket beta. Jag har två gånger lyckats få fram felmeddelandet nedan genom att söka efter ord som innehåller bokstäverna Ö, Ä och Ö. För mig avslöjar det bara att projektet är byggt i Django. Kanske kan någon som är mer insatt få ut mer av dessa felrapporter?
Traceback (most recent call last): File "/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 507, in __call__ handler.get(*groups) File "/base/data/home/apps/glabs20-fastflip/2.336341199094793279/main.py", line 614, in get template.render(template_file, self.context)) File "/base/python_lib/versions/1/google/appengine/ext/webapp/template.py", line 81, in render return t.render(Context(template_dict)) File "/base/python_lib/versions/1/google/appengine/ext/webapp/template.py", line 121, in wrap_render return orig_render(context) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 168, in render return self.nodelist.render(context) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 705, in render bits.append(self.render_node(node, context)) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 718, in render_node return(node.render(context)) File "/base/python_lib/versions/third_party/django-0.96/django/template/loader_tags.py", line 82, in render return compiled_parent.render(context) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 168, in render return self.nodelist.render(context) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 705, in render bits.append(self.render_node(node, context)) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 718, in render_node return(node.render(context)) File "/base/python_lib/versions/third_party/django-0.96/django/template/loader_tags.py", line 23, in render result = self.nodelist.render(context) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 705, in render bits.append(self.render_node(node, context)) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 718, in render_node return(node.render(context)) File "/base/python_lib/versions/third_party/django-0.96/django/template/defaulttags.py", line 210, in render return self.nodelist_false.render(context) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 705, in render bits.append(self.render_node(node, context)) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 718, in render_node return(node.render(context)) File "/base/python_lib/versions/third_party/django-0.96/django/template/loader_tags.py", line 96, in render return self.template.render(context) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 168, in render return self.nodelist.render(context) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 705, in render bits.append(self.render_node(node, context)) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 718, in render_node return(node.render(context)) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 767, in render output = self.filter_expression.resolve(context) File "/base/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 579, in resolve obj = func(obj, *arg_vals) File "/base/python_lib/versions/third_party/django-0.96/django/template/defaultfilters.py", line 36, in _dec return func(*args, **kwargs) File "/base/python_lib/versions/third_party/django-0.96/django/template/defaultfilters.py", line 189, in urlencode return urllib.quote(value) File "/base/python_dist/lib/python2.5/urllib.py", line 1205, in quote res = map(safe_map.__getitem__, s) KeyError: u'\xf6'
Sista raden verkar ge mig rätt i mitt antagande att systemet inte är byggt för att klara av lite mer udda tecken än så länge. Men det fungerar fint på engelska i alla fall.