W I K I G A L A X Y
Welcome to Wikigalaxy, here we are using the latest 3D browser technology to bring you Wikipedia in 3D. Each dot represents a wikipedia article, and every article is linked together into a network.
There are two viewing mode available at all times: a top-down map and a first person mode.
Hello, my name is Owen, a student based in Paris. As technology advances, true 3D experiences are coming to our browsers. This brings us unprecedented opportunities for learning, discovery and creativity. I wanted to create something special I hadn't seen before, something I would have loved to see as a kid.
I've always had a very visual way of thinking, and this is how I always pictured wikipedia and the web as a whole.
I built this in my spare time to do what I love but this for you. I hope you make the best of it, I hope you read about things that you've never seen before, learn about worlds outside your confort zone.
If you have any inquiries, improvements or bugs, send them to firstname.lastname@example.org, I'll be happy to answer.
For more information about me and other projects of mine, you can visit my website: www.polyfra.me
Find me on Twitter
WikiGalaxy is not affiliated with Wikipedia or the Wikimedia foundation, but it relies on the wikipedia API to fetch most of its information. This project and many others couldn't be made possible without the contribution of countless users, or Wikipedia's drive to deliver all this content to you. See how you can support wikipedia here:
I'd like to thank Yael Ben Dov for her expert UX help on this interface, Mr Doob for building and updating Three JS, which made this all possible.
Icons from the noun project by Geoff R, P.J. Onori, Kiril Tomilov, Ilsur Aptukov, John Chapman
Article clustering made with OpenOrd by S. Martin, W. M. Brown, R. Klavans, and K. Boyack (to appear, 2011), “OpenOrd: An Open-Source Toolbox for Large Graph Layout,” SPIE Conference on Visualization and Data Analysis (VDA).
This visualization was made over several months, here are the various technical steps taken to achieve this.
There are several ways to extract data from wikipedia, all I needed are article names, their IDs, their categories and links. I started out with the monthly wikipedia dumps and parsed them with WikiXMLJ in Java to evaluate the scale of the task and see how everything was structured. I then created various URL requests for the Wikipedia PHP API and called them with a Python script with Urllib3. I then translated these into a .dot graph file, containing articles IDs and all their links.
This was then imported into Gephi which uses GraphViz. I thoroughly tested out every graph configuration, weighing performance, readability and scalability. I ended up choosing OpenOrd, which quickly gives good results for clustering without crushing nodes together. The resulting graph was exported into the GDV format, which includes XY coordinates, and converted into a compact JSON file with another Python script.
The most fun part was building a graph visualization tool with Three.js, a comprehensive WebGL library. It is simple enough to avoid the complexity of OpenGL (UV mapping, texturing, camera controls). I still had to do a lot of trigonometry, setting viewing angles, raycasting to find nodes, movement and animations, placing labels etc. The user interface on top uses the same aformentioned Wikipedia API requests, most of the information displayed on screen is dynamically called, organised and loaded in with this API.
I had no knowledge of how to do most this before starting this out, this (naively) began as a desktop application built entirely in Java which ended up being disatrous. I learned to never build something just because I already know how to, but to start with a crazy idea and learn everything I can to make it possible. Thanks for reading through this, I hope you do the same and make something you're proud of, and if not, have the courage to change and start over.
Hello, there seems to be a problem with your browser.
WikiGalaxy visualizes wikipedia data in three dimensions. This requires webGL, a cutting edge technology all new web browsers support
See how you can activate webGL or update your browser here:http://get.webgl.org