GSoC Sandcastle Project Overview


This is a guest post by Aditya Raisinghani. He is a student working with the Cesium team remotely from India as part of Google Summer of Code 2015. -Mike LP

image of Aditya Raisinghani Hi everyone,

My name is Aditya Raisinghani and I’m a Computer Science undergrad at BITS Pilani, India. This summer I’ll be working with the Cesium community to refactor the Cesium Sandcastle application as part of Google Summer of Code 2015.

My goal is to redesign Cesium Sandcastle into a modern web application that will provide an optimal experience on both mobile and desktop browsers. I also plan on adding a more features which I’ll discuss later in this post.

##Design Sandcastle is currently two applications rolled into one, the gallery and the editor. I’m separating them so that each can focus on what each does best. The gallery will be embeddable into any page, supporting categories, filters, and eventually api/feature tags to allow for quick sample code lookup. The editor will focus on the presentation of the sample code no matter what device you’re using.

desktop wireframe

gallery wireframe

In my first mock-ups I’ve kept the core structure of the editor intact while making changes to present a cleaner look. The console has been moved to a toggleable view at the bottom of the editor so that more space is available for the editor and the viewer.

When viewing Sandcastle on a mobile device, the viewer and code editor are split into separate viewable tabs, defaulting to the viewer tab.

mobile menu mobile view

##Features I’m overhauling the editor’s framework from Dojo to React.js. React has proven to be an industry go-to technology that should future proof the application for a few years. This React.js framework is going to allow us to streamline the editor to be more agile as we add new features to Sandcastle.

I’m using Twitter Bootstrap for our HTML/CSS framework to simplify the responsive design process, making Sandcastle mobile and desktop friendly.

###Wishlist Features

  • Full Export: Export as a standalone application that includes all the files ready to be deployed to a server.

  • Github Gists: Save your Sandcastle sample codes directly to a gist.

These are some of the features that I thought we could add to Sandcastle this summer. I’d love to get your feedback on the redesign and the new features. You can discuss these (and any other features you might want) on the forum:!topic/cesium-dev/3eXLAv6KZEA.