Google Summer of Code 2015

hello , i will like to be in your team this year

Thanks for the interest! Check out our Ideas List and let us know what specific questions you have.


Hi Cesium people, GSoC Liquid Galaxy Project organiser Andrew (Alf) Leahy here.

Congrats on getting into GSoC 2015!

You've found our IdeasPages so you know Cesium is one of the apps we'd love to get running in a multi-machine cluster configuration. We've done this a few times with other open source apps.

We'd be happy to collaborate on a project or share mentorship of a student.

One additional cool thing to keep in mind - If the GSoC mentor summit is hosted at a Google campus (the location hasn't been announced yet) there should be a Liquid Galaxy rig nearby. This would be perfect for showing off the project to the broader open source community.

Can you imagine running Cesium on a Galaxy rig at Google rather than Google Earth... that'd be awesome! (it may take some sweet talking though)

Cheers, Andrew (Alf) Leahy | eResearch | University of Western Sydney

I was reading over these pages

Improving Navigation & Control
The primary controller on Liquid Galaxy installations is the 3DConnexion SpaceNavigator, which is a fantastic controller but does take some getting used to. Beginners often find themselves turning up side-down or flying around sideways! We are interested in pursuing other control devices that will work for the mainly Linux installations.
We are especially keen to see SpaceNavigator control for the Earth API using the HTML5 GamePad API.
Solutions: possible ‘tweaks’ to existing SpaceNavigator controls, MS Kinect, other devices? Modifying ViewSync control data. Perhaps writing a driver or ‘control layer’.

I was initially running Google Earth API with a Space Navigator using JavaScript Joystick before HTML5 GamePad API came around. Since browsers are removing plugin support (as JavaScript Joystick was) I’ve switched over to GamePad API for GE API. I’ve also gotten Space Navigators running well on Cesium and will probably release it as a plugin for Cesium this week (it’s already done, just cleaning it up.) There’s no limit to how many controllers you can hook up, I’m already using 2 Space Navigators simultaneously. So you could potentially fly a plane and control a following external camera all at the same time, both in 6DOF! In addition to 6DOF I have 2 5DOF modes which is great for beginners.

There’s a thread here titled “Occulus Stereo implementation” (forum links don’t work so I can only provide the title.) I had put some YouTube links there to Liquid Galaxy with Google Earth. Perhaps just one instance of Cesium could run many display panels, sharing resources. I’m not sure, but it seems that Liquid Galaxy is running a separate instances of Google Earth that are synchronized, one for each display.

I was wondering, has Liquid Galaxy ever considered doing a surround cuboid design using flat rectangular displays? The setups so far cover the front and the sides but not top, bottom, and behind. Unfortunately with rectangular displays the only way to totally surround without gaps is a cuboid (unless you put displays behind other displays to fill gaps, but that doesn’t seem practical.)

an example of using a Space Navigator in Cesium

I don't want to clog up the forum with Liquid Galaxy posts, I'll try to be quick. There's a Galaxy mailing list at

- Very cool video! I would be keen to see an implementation of 6DOF camera control in Javascript using GamePad API in Cesium.

- We've worked with the joystick control in Earth API, eg. see this steering wheel control

- I hadn't thought of using multiple 6DOF controllers in a single instance. In the past we have mixed Joysticks & SpaceNavs together in Earth for a dog fighting sim which was good fun!

- Liquid Galaxy is typically one app instance per screen, and usually one PC for each screen, but not always. This makes it easy to add or remove displays and you can fairly middle-range GPU's. For example we've run Liquid Galaxy demo's on tablet PC's.

- the network camera sync concept used in Galaxy and other VR setups doesn't preclude a cube configuration. For Galaxy we've found 5 or 7 big LCD's arranged in a semi-circle works very well with a group of people and it isn't so overwhelming that it makes people throw up!


I'm interested in the "Cesium demos pack" idea.

I've read the ideas page and have an idea to develop a small application which would show election results of Sri Lanka over the years.

I was thinking about doing this using AngularJS using D3 to draw the charts. The demo should hopefully be able to filter data according to a set of criteria (Year of elections, Political Party, etc.)
This would help analyze the data in a much more intuitive way.

Would this be an acceptable as a potential demo? Also are there any other interesting ideas that I can start working on for a small demonstration?

Best Regards,

I have posted a new topic in the group. Can I get any help on the project for GSoC ? particularly on the project Add ability to export CZML from the Entity API .

Thanks :slight_smile:

Hi Cesium Community,

I'd like to participate in this year's GSOC with Cesium. I was thinking about creating a d3.js API for Cesium to make data visualization in Cesium more powerful. Of course, d3 API is extensive so I would create just a subset of it, for example to allow easy creation of charts. This project would also make it easier for d3 developers to visualize data with cesium.

Does the community think this would be a meaningful contribution to the Cesium project?



My name is Yibin Liao. I’m a graduate student at the University of Georgia, USA.

I’m very interested in the project “Cesium demos pack”, and I have several questions:

  1. I know the application starts tomorrow, is this too late to discuss some ideas for the project?

  2. I saw a bunch of ideas under the project “Cesium demos pack”, how many available slots of this project can we apply?

  3. I’m very interested in doing some projects with HTML5 and Cesium. Some HTML5 APIs such as video and geolocation are mentioned in the web page. Is that OK to work with some other APIs such as canvas? I’m wondering if it is possible to write a HTML5-based 3D game with Cesium or combine Cesium with other 3D frameworks such as Three.js. If yes, I would like to write some cool HTML5 games with Cesium as a demo to show that the Cesium could also be used as a 3D game engine, like Three.js. If this is hard to implement, I can go back to the list and think more about how to interact with other APIs.

I’m looking forward to any advice.

Best Regards,

Yibin Liao

Computer Science Department

University of Georgia



Interesting idea. Sounds like the scope could get quite large so I recommend narrowing it down to some core functionality and then developing a proof-of-concept to include with your proposal. I would also think about how generally useful this would be to people compared to, for example, a few tutorials and several D3/Cesium examples. Which one would have more long-term impact?


Hi Yibin,

  1. I know the application starts tomorrow, is this too late to discuss some ideas for the project?

Not at all. Applications are open until next Friday.

  1. I saw a bunch of ideas under the project “Cesium demos pack”, how many available slots of this project can we apply?

We don’t know how many slots we will have yet, but it is possible that we will use more than one slot for this project.

You would just submit one proposal with multiple ideas for this project. As mentioned in the Ideas List, having a small demo will really help your chances.

  1. Is that OK to work with some other APIs such as canvas?

Yes, the APIs in in the Ideas List are just a starting point.

I’m wondering if it is possible to write a HTML5-based 3D game with Cesium or combine Cesium with other 3D frameworks such as Three.js.

A massive world game would be cool. This is somewhat related:



Hi Patrick, Kevin

You can take a look at my demo application using cesium APIs -
Also I am working on my proposal, but could get how to break “cesium/navigation widget” project into deliverables. Could you help me?
Also can I show you the proposal for review?


Manu Jain


I’m interested in the ‘Refactor Cesium Sandcastle’ project. I’ve worked on Sandcastle and modified it to be dependent on bootstrap and removed dojo almost entirely. You can see my current work here. I’ve added responsiveness to some extent to the page and I intend to add a few more features to make it better viewable on mobile. I’d love to get your feedback on this.

I tried to host it using Github pages but it wasn’t able to load it properly. I’ll try hosting it somewhere and then provide a link to that. Sorry about that.


Aditya, I didn’t look at the code, but I did sync and run it and that looks like a pretty awesome start.

For smaller screens, I think we would want something similar to what happens on our Google Earth ports page Basically, you end up with just the drop-down menu and the ability to select from each of the larger panels. We could also have a button that lets you switch among the gallery items. Of course that would be for small screens only. For big screens I think we would maintain a similar UI to what we have now.

Wow, I hadn’t seen that page before. That was exactly what I was thinking of as well. I think that would be the best choice for smaller screens.

Right now I’m just cleaning up the code and removing dojo entirely. Some functions(like the search feature) aren’t working for that reason, but I’ll make sure that they are up and running as well. I’ll keep you posted on any updates.

Hi Patrick,Kevin

I made a small demo using cesium and i don’t know if it is enough, but here it is :

I would like to apply for cesium demos pack and compass/navigation widget. I have some ideas to use orthographic and perspective cameras from three.js and use angular.js for UI instead of knockout.js. For the navigation widget i think i can rework it to be more user-friendly and everything else that is expected from the project.


I would like to work on ‘Refactor Cesium Sandcastle’ as my GSoC project. I have few ideas which can help us to make a responsive design for Sandcastle. What if we use Compass/Sass instead of bootstrap. It would save our time and produce effective design. Sass provide much more mixins than bootstrap which would improve functionally and even sass provide Selector Inheritance which would help us in re-factoring of code.

Please tell me how to get started and involved with it.

I have done some Google Earth Plug-in projects in the past. One of my project is called ULLGoogleEarth, and was developed as a 3D map guide tool for current and new students at the University of Louisiana. This web application includes building locator with video, image and links embedded, distance and area calculation tool, 3D tour, and driving simulator. This is the link:

If interested, you can also check with some of my other tools such as HydroViz, which you find in that link too.

This application was develop a few yeas ago. Since google earth api has been deprecated, and the google map api is upgrade to version 3 right now. Some of the tools may not work properly . Therefore, I would like to extend this projects to Cesium and replace the google earth plug-in. I made a simple demo with Cesium: Is that enough for an application? I could implement more in the future.

Currently I only implemented the following: loading KML files with images and links embedded, flying to some buildings or landmarks, and adding placemarks on earth. I would like to implement more functions such as the calculation tool, driving simulator. In addition, I have been thinking of using some of the HTML5 apis such as geolocation. For example, students can locate themselves on campus, and all related academic information such as buildings with department names and links, class schedule, events time, etc can be marked on the earth map. This could benefit all the student. Cesium is a JS library, so no plugin need, and it’s cross-platform, students can also use their mobile phone with it. This is the main reason that I really would like to work on.

I’m not sure if this idea is good for applying the project “Cesium demos pack”. I could describe more details in the proposal. I have a full plan strategies for doing this. Just a quick question, for writing a detailed plan in the proposal, do I need to write a full schedule such as by which date and time I should complete what task?

Thanks again for your time.

Best regards.

Yibin Liao

Hi Yibin,

Thanks for the interest. This would be a good project for the Demos pack, but we would need to make sure the scope is big enough (or implement multiple demos) since GSoC is a full-time summer commitment.

For the proposal, we want to see a schedule with milestones so you will need to plan your work in advance.

The demo you already wrote is a good start for the proposal. If you have time to improve it by Friday, it will make your proposal even stronger.



My name is Kristijan Trajkovski, and i'm trying to find ideas i can work on for GSoC.
I have experience working with Unity3d and making games. Cesium looks very attractive for making a game with it. When checking out the suggested ideas i noticed WebSockets, physics and demos, and decided to merge them all with my passion for making games.
You can find my previous game projects here and my previous contributions to open-source on github

My idea is to create a multiplayer game with Cesium where you are playing as a country with a nuclear program and you declare war with another country and try to blast all your enemies using nukes. The game would somewhat share some core mechanics with Defcon (

I created a very simple single-player sort of demo with my fullstack framework (nuke.js) and cesium, and it's up and running on heroku here:

Select another country and press N to launch a nuke.

While i was working on this demo i encountered an issue with updating the trails of nukes ( ), and for some reason deploying multiple nukes crashes cesium's combineGeometry worker.

Please give me feedback on this