Hi

I have a project:
If you have nothing else just copy/paste from snip to snap and correct 
my bad english.

---snip---
title: It's about zooming the browser maps...

The javascript map library khtmlib is a free library to display maps in 
browsers.
It has a simple API to display map tiles at the browser window in a very 
fast way.
Also the simple vector graphics circle, path and area are supported.
The API provides a complete WGS84 cordinate system and frees programmers
of thinking in screen x,y coordinates.

Browsers like webkit or opera are doing this job quiet well but  webkit 
has a bad bugs with  image loading.
Firefox is slow, but I'm sure it will change.

To have a fast javascript browser map that can easily compete with 
google or bing map will be the result of this project.

The way to get a fast map is  benchmarking and that is this GsoC Projekt

Our unit is frames per second!
Most of the map libs and browsers are able to move the map
in a usable or smooth way.
To win a new dimension in map browsing we need the z-Axis. Also smooth 
rendered.
A nice, responsive, smooth zoom opens a new intuitive way to explore the 
world.

Like in video games we have a more usable map if we have more frames per 
second.
Most of the computers have the hardware to show perfect frame rates.
 From javascript to the screen, there are some problems.

This library has an interface to measure frames per seconds. It was used 
to opitimice speed while developing.

====the project details===

Automatic Banchmark tests:
Calling the API in a loop is easy done in a for loop. Counting from 
1..18 in small steps can result in a zoom and 1000 frames.

o moving the map
o zooming the map
(o caching)

Parameter:
10,100,1000,10000 vektor lines, areas, circles
Map size on screen
Hardware!
Browser (navigator.userAgent)

Visual feedback:
The tester should see the map and should be able to judge about the 
behavior of the browser.
Is flickering...

Some browsers are cheating. Pointer devices deliver lots of events and 
every event is a task. Now it's programming with parallel tasks and to 
have good speed, serializing is nesessary. To serialize this tasks is 
not easy. Firefox starts extra tasks to render images and gives a 
success message bevor the work is done.
It can result in flickering image or speed penalty  the automatic test 
does not recognice.

API Dokumentation
The API should be documented in a half automatic way. (grep 
this.xyyx=function in js)

Collecting results:
Like other browser benchmark tests, this test can be done by many users.
For collecting results, there must be an AJAX feedback collector.
This feedback should be generated without user action.
The user must be able to add more information and send it to a central 
db (one click).
As a result of this action, the result will be displayed on a ranking.
There must also be an administrator option to delete entries.
A Highscore in gameboy or what ever design! would be ok.

If there are many Chrome on the  top of the list, it's very likely that 
Chrome is the fastest browser.
To prevent manipulation a simple ip based system should be ok. 1 IP == 1 
Result.
(ignoring proxys,...)
If the test provides a faster benchmark result on this IP adress, the 
faster result overwrites the slower.

Graphics:

Display vector data on browser is not widly used because of Internet 
Explorer is blocking SVG.
For map data it is essential.
There must be a diagram that showed the framerate and the number of 
lines in an x,y diagram.


The library:
(I made this library and did put it under GPL)

The library khtmlib is not perfect at all. It's buggy but fast.
At least it is a prove of concept.



To see it live go to:

Please use Chrome 5 (faster than 4), Safari or Opera 10.50 (windows). 
Try to zoom on cached tiles.
http://www.khtml.org/iphonemap/

Project Home:
http://github.com/robotnic/khtmlib

---snap----

Firefox does not provide the same speed at the moment. Internet Explorer 
does not work at all (evt.pageX).
I'm working here on a netbook and have no idea how it works in 
fullscreen on a 24" monitor.

That's my project idea. A benchmark test for my map lib.
Maybe it's also help for the programmer of this lib to make it really good.
In a few days I hope to have some more documentation and I will give 
more informations about the khtmlib.

Btw. I'm still in Phnom Penh but in a few days I will continue traveling 
to Laos.


Bernhard











_______________________________________________
talk mailing list
talk@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk

Reply via email to