Google Fast Flip – bläddra i tidningar

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.