Navigation is here


When we began our project 4.5 years ago we had a goal of finding a permanent solution to traffic. Today we are happy to release the next iteration of development for our application. We have finalized a working version of navigation so that our users can get a clear and easy route to their desired location. It is as easy as pressing one button  to create a lightning fast route to anywhere you want to go. This is the first step we are taking toward creating a comprehensive navigational product for anyone with a smart device. Our navigational vision will work seamlessly online and offline. This release is our first step to becoming a leader in navigation to provide services to consumers and developers alike.

New Offline Maps Manager


New Offline Maps ManagerFor the past couple of months we have been experimenting with a new design for the offline maps download manager. The idea was to create a UI that was so easy and understandable that non-tech users would know immediately how to use it. After a couple of different iterations and tests, we came to a version which was in-line with the simple usability of our other features. When the user selects “offline maps” they are taken to a overlay of the map. It shows a field of view which can be manipulated completely. Both the size of view and the zoom level of the region that needs to be downloaded, are malleable. This is coupled with a technology that labels downloaded areas blue and un-dowloaded areas yellow. If the user questions whether they have already downloaded a certain map region, all they have to do is see if it is blue. It is a simple feature, but we believe, very useful for usability. An improved user-interface and a few simple features makes the user-experience of the new offline maps manager second to none. It enhances the experience of the whole app and makes the user comfortable where ever they are.

3d-axis camera in an open world with 3 billions vertices


One of the features we are excited about in kMaps is the point of view functionality with 3-axis motion. To change the angle, put two fingers on the map and then swipe upward or downwards. Currently, there is a limitation for the minimal angle which will be changed with later releases of the product. This feature gives our maps a different look and can be more informative when reading the map. To make this a reality was not easy, so here is some insight into the process.

– kMaps can render an open world view with 3 billions vertices. The camera can move around the open world rendering large amounts of data. However, the app can’t load all the data at once so we just make a separate rendering cycle with different camera parameters. In other words, the app needs to fetch data constantly based on different camera views.

– Fetching data. This can be achieved different ways. One way is when the camera moves on 2-axises and the data around it renders on a plane. The second and more complicated way, which we chose to develop, is when the camera is completely flexible. It can be rotated in any direction on 3-axises and the data rendering surface can be more complex then just one plane. In this case, detecting rectangles, which are fetched from our database, is more complicated because of different projections and perspectives, so the app also needs to filter the results for areas which are not visible.

When we were researching and developing this we needed a nice and simple visualization software. We found, preinstalled, grapher from Apple. It was enough to make calculations and test the results with visualization. In our case it was a better solution than Octave.


Our earlier experiments with a flying camera in the process of researching