CyberCity3D Seattle Demo - Mobile device problem

Dear Cesiumjs!

We absolutely love the Seattle 3D City Map demo and cannot stop playing with it, such great potential.

We have been trying to use this on the iPad using the latest iOS and Chrome browser, however the app keeps refreshing once it loads.

Is there anyway to stop it doing this?

Thanks for your help in advance!


Chrome on iOS is all smoke and mirrors, Apple does not allow other browsers other than Safari, so Google just wraps the Safari engine with Google specific services (like accounts and syncing). In fact, until iOS8, this also introduced a significant performance issue.

So what you are actually seeing is Safari crashing and then deciding to automatically reload the page only to crash again, rinse, and repeat. If I had to guess, I would say it’s the Seattle streets data causing the issue, since it’s a large GeoJSON data set and Safari in general is a terrible browser that can’t handle it. Even running it on desktop Safari appears to have issues.

So long story short, there’s nothing you can do on your end to make it work. The app itself needs to detect Safari and disable features that Safari can’t handle (for instance, by disabling street data).

Safari is the bane of every web developer’s existence and almost every non-trivial app needs to be babied to work on it, as we continue to improve streaming vector data support in Cesium, this particular problem will be significantly lessened for apps showing a lot of data, but brute forcing it (like the streets data is doing) will continue to be an issue unless Apple decides to start improving Safari.

Matthew, this is great reply (even if its not what I want to hear!).

So on android devices this will work well, on Apple its currently screwed unless you are using smaller datasets? Yikes!

I’m staying out of an apple/android debate, but remember that mobile devices are not intended to have the same horsepower of a desktop. Even in general website development we have to optimize for the resolution and capabilities of the mobile landscape.

I wouldn’t say Apple users are screwed, it just makes it harder to brute force features. Large vector data sets should really be streamed in rather than loaded up front (which is what the Seattle demo is doing). Once Cesium has first-class building support, we’ll be looking at streaming other types of data as well (such as the 30k lines that make up the Seattle streets). Plenty of Cesium apps/demos run great on iOS, it’s just this particular demo that has a problem right now.