Why is 3D so rarely seen on the web?

I have only been able to find websites utilizing 3D by specifically searching for them. Even then, those websites are just demos or small projects that aren’t really useful to the general public. I might be wrong but I thought this was worth asking.
Edit: Could it be an issue with performance?

1 Like

It could, it could be a million other things. I think it’s mostly due to cost. The problem of making this cheaper to develop has yet to be solved.

Why is developing 3D applications more costly?

How many of them have you developed? :slight_smile:

Is that a rhetorical question :smile: ? I’m only in high school so I can’t say I’ve really invested a lot of time into this. I’m guessing you’re saying that it takes a long time to develop?

Yes, with specific skills. In order to be efficient you need to know a few different areas that have only come together in the last few years. Like graphics programing and “web” (javascript/dom etc). So most common is to have a bunch of UI / front end engineers and a few people with graphics experience. Depending on the experience, here in the bay area that can be somewhere from $120k - $200k a year for one dev.

Tools like Unity that are able to publish to the web should make this easier, but it’s still not easy.

1 Like

I guess it also depends on the complexity of the app right? I can’t imagine a simple customization app (like a minified “HeroForge”) would take that much time-- around 1/4 year at most. Especially with tools like three.js and Unity-- like you mentioned-- where a 3D model can be loaded and manipulated with less than 50 lines of code.

I think its first of all about the precessing capacity, the great thing about a website is that one site works for all types of browsers, with webgl, your no longer sure if all smartphones support it.
Its all so about what people think a website is. When you design a website, you all most never imagine it to be 3d.
And yeah, 3d websites do take a lot of effort, even threejs has a lot of unexpected bottlenecks, for example, I couldn’t render css within a canvas object in webVR.
And, I couldnt get the THREE.Group to work properly so i had to use utils for that.
WebGL is only 7 years old, while the web is at least 20, webVR is experimental.

1 Like

@Taivas_Gogoljuk Wouldn’t most smartphones support webgl? If that’s the case, what percentage are we looking at?

@Ayma You can get lots of details about device support here: https://webglstats.com/ Looks like 98% of mobile devices nowadays have WebGL1 support, which is comparable to desktops.

3 Likes

That’s great!

I recently updated the front page of my website and and I was able to get some nice 3D animations with morph targets and shadows working well even on older phones. I asked my friends on Facebook to test it and got about 40 responses saying that it runs smoothly, and only one fail (a very old Sony Xperia).

However, it does come with a couple of caveats. These don’t matter to me since I’m targeting people who want to use 3D on the web, but if I was making a normal corporate website, they would matter.

First of all is that one fail. Companies want their website to work even on really old phones.

Next, testing with https://www.webpagetest.org and throttling to 3G at 1.6mb/s, the time to first view is about 10 seconds.

The second one is especially important - people have really short attention spans, and it doesn’t matter how fancy your site is if people have gotten bored and clicked onto something else before it’s finished loading. For these reasons, 3D on the web is currently mainly saved for special presentations or games.

That said, you may have seen more 3D sites than you realize - for example Google Maps uses WebGL.

4 Likes

It’s rather that you just don’t really stumble too often over them by your regular navigation in the web. There are more and more apps, viewers, visualizations and games. There are tons of games, but you rather find them on game portals or they got packed into a container and are avaialble in the store.

A lot agencies produce many mini games, but there are a lot larger ones as well, especially multiplayer ones with in-game purchases. It feels like the io domains are mostly web games.

But as @pailhead said development is expensive, it requires experts to develop efficient stable apps or games, most agencies/web developers often produce horrible code, which works but is barely suited for some regular website ui stuff, nothing for realtime. I often had clients which already got something but they weren’t happy with it.

Regarding coverage of WebGL 1 i opened a thread sometime ago, even though mobile devices are greatly covered, a lot desktop machines aren’t if they don’t have a graphics card, onboard graphics will barely render at 10 FPS if it doesn’t crash. Specifically for apps you have better support by using canvas, svg or just dom by not requiring a graphics card.

1 Like

@Fyrestar onboard graphics will only have issues rendering complex scenes and animations right? A 3D model around 5-10MB with morph targets, jpeg texture embedded (glb), and no running animation (the morph targets are controlled by dat.gui) should render fine?

Why would companies care about 1 outlier if 98% (39/40) of people can use the website? Old phones are bound to “die” soon anyways…

That depends, the onboard graphics can struggle rendering a scene regardless of it’s content, like a simple cube, i’ve seen some office machines crashing at a random point, sometimes right on the start, they might be just not compatible.

What really blowed my mind was an old laptop where none of the technically best browsers (webkit) was able to run it, but internet Explorer worked, yes… Internet Explorer.

It rather depends on what target group you have, young people are no issue, but the older the more think their cheap office machine or laptop they bought 5-10 or more years ago should be fine because it was so “expensive” back then. But if they don’t care and don’t understand hardware at least to that point, they rather won’t fall in your audience anyway.

I had a case of a door configurator, in such one that can conflict when it’s about products, so statistics tracked a lot of the worst hardware i’ve ever seen, the cheapest smartphone would outperform them.

But it’s not always the laptop’s fault, Nvidia has something called “optimus” especially on Notebooks causing more issues than helping. It disables the graphics card and switches most apps to onboard graphics, regular users 1. doesn’t know it and 2. doesn’t know how or that they can change it.

1 Like

Performance is one of the many issues, but more than that, it’s just an overall cost-benefit analysis. Most websites don’t have justifiable use for 3D any more than they have use for, say, MathML. I am curious, what kind of websites that don’t already employ 3D, do you think could benefit by incorporating it?

I can’t give you an answer. I was talking about something along the lines of HeroForge or other 3D printing services.

What rough percentage of computer users would have no issue?

I can’t tell you that, but it’s rather a minority and it depends on your target group. If you develop a game you simply can expect the user to have a graphics card, for apps/viewers it might be a little more conflicting but any device not being capable of using WebGL isn’t suited for gaming nor serious work, but you can’t really say anything in general, there are too many scenarios like Laptops with Optimus which are basically capable for example.

The coverage of 98% means it’s supported but doesn’t consider if the hardware does i guess, but it’s safe to develop apps, most will work, mobile especially since GPU’s are standard. These days you can even cover the bad devices by streaming the application for those, basically either completely run it or just render remotely.

1 Like