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.
N/A
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:
http://wikimediafoundation.org/wiki/Ways_to_Give
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.
Top 100,000 most popular pages graciously provided by Andrew G. West, who manages the weekly top 5000 wikipedia pages.
Graph category colors generated with the help of Jacopo Farina, thanks to his 2010 project at Politecnico di Milano.
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