Clara.io


As you may or may not know that has been an explosion of web technologies lately. WebGL , HMTL5 , CSS3D and Canvas have been only the start followed with loads of libraries and of course 3d software that runs inside the web browser and thus can be run in any OS and even in your favorite tablet and smartphone.

Clara.io has been so far the most impressive example of such technology I have found. Instead of being a proof of concept or a set of limited features , Clara.io is a full blown 3d app. And if that is not impressive its also open source and promises to even support the blender file format in the future. The day that you dreamed about , editing your 3d files inside your web browser has finally come.

Clara.io has already the following features:

  • Hierarchical scene graph.
  • Lights and cameras.
  • Robust support for Polymeshes, including indexed UV, Normal and Color maps.
  • Flexible operators (known as ‘modifiers’ in 3DS Max.)
  • Keyframe-based animation.
  • Powerful sub-object editing.
  • Renderer and pass management.
  • Extensive materials.
  • Sharing system.
  • Rudimentary bones and skinning.
  • Real-time multi-user collaborative editing.
  • Automatic versioning with history.
  • Plugin model.
  • Script log.
  • FBX, Collada, OBJ, ThreeJS and STL file format support.

add to that support for V-Ray and you already have a very tempting package. And all that just for the open beta which anyone can apply for in the main website here -> http://clara.io/

Make sure you add the code “Blender” this way the developing team knows how many people are using blender and give more priority to blender file format support the more people use the code.

If you want more information you can find blog post here -> http://exocortex.com/blog/introducing_claraio and here -> http://exocortex.com/blog/vray_and_claraio and there is also a facebook page here -> https://www.facebook.com/Exocortex

I don’t get it. Why would I want to severely limit myself in terms of performance, flexibility and reliability by building on these web technologies? So that users don’t have to download and install a program?
Either there’s something wrong with the way I think, or there’s something wrong with the way these companies think.

I was going to try it out, but I really didn’t want to start setting up another social media account.

The draw is in emergent web technologies with a focus on accessibility, thats why. While it wont be a replacement for the user who has Maya, max or blender, it still has a role to play, even if its just to prove a technical point.

Another key aspect is that:

“Made by professionals for professionals
Clara.io is the latest innovation from the trusted and experienced team at Exocortex.
Exocortex’s suite of products are trusted by hundreds of creative teams at studios around the world.
Exocortex’s tools have been used to create these recent Hollywood blockbuster films: Avengers, Harry Potter, Ironman, Titanic…ect”

These people would create these kinds of tools if there wasnt a need or a perk to doing so. Compared to Blender’s developers, it creates a start contrast, just saying, lets not bash it until its tried and vetted.

This is essentially “people don’t have to download and install software” expressed in a more technobabble-like fashion.
I won’t say that this isn’t a benefit, but we’re not talking about a target audience which is technically inept and has a very low attention span. It’s not worth sacrificing any of the things I mentioned, for this little bit of convenience - if you ask me.

While it wont be a replacement for the user who has Maya, max or blender, it still has a role to play, even if its just to prove a technical point.

What role is that, exactly? Proving that it “can be done”? I could’ve told them that for free.

Made by professionals for professionals

Find me the “professional” that is going to use this thing for anything serious.

These people would create these kinds of tools if there wasnt a need or a perk to doing so.

There’s this fantasy that everything is going to move to the browser. If you’re afraid of being left behind, you better start developing something there now.
However, any developer with a sober view on things will have to admit that HTML5, Javascript and WebGL are terrible technologies. “Look ma, it runs in the browser!” is about the only “perk” that you get. If you want to build a house on sand, invest into web technology of the future past, today!
On the other hand, asm.js or PNaCl allow for “native” code in the browser and they aren’t really supported much worse. You could just develop your native application and have a somewhat crappier version of it, for those people who actually want to run things in the browser.

Performance is no longer relevant , 3d graphics have been made , of top quality, since the time computer were 100 times weaker. Sure its always optimal to take advantage of 100% of the CPU and GPU of a computer but not necessary to create top quality graphics. What is necessary is to have really useful tool that help the artist create great art.

Why move your workflow to web ? I think for me a big advantage is that you can use these tools anywhere. Take a look at blender for example, quite performant, fast and efficient. But what happens when you want to edit things from your tablet or your smartphone ? Porting Blender to Android or iOS is NOT a walk in the park, once you choose C/C++ to code because you want super fast code you kiss portability goodbye cause the language maybe be very much portable but the libraries themselves may not be available for all platforms.

With web technologies thats not so much a concern because there portability is super crucial, so immediately its easy for a developer to make apps that run exactly the same on all platforms with close to zero changes to the code. That means projects that are alot easier to maintain and so they are more stable, more flexibile and more useful to the end user.

When you compare desktop to the web, one of the positive things about the web is that there is this unification , everything is coded for Javascript and hmtl. Thats it ! No war of Programming languages or Operation Systems. The developer can concetrate on the software itself and give the user the exact same experience on all platforms.

Also its easier for web apps to target web technologies, take a look at dropbox and its sucess, the ability to sync your files all over the world through any device with just a single acount is no small feet. Why we need that ? Especially if you work with large teams such feature is absolutely crucial. The Cloud and the Web is the future.

And then there is the huge web market. Why use a 3d web app, well thats easy to answer , because you can edit your web content in your web browser without braking the continuity of your workflow. Load of people making web games , web sites and web apps that use 3d graphics for visualisation of data. There is simply no company which can afford to ignore then popularity of the web.

And most importantly an app like this can work hand in hand with blender. You could use for example Ciara.io for a quick editor and blender for doing the heavy stuff that will tax your CPU.

GPU wise there is no much of a diffirence WebGL is a port of Opengl es 2 which give you all core functionality of opengl and since its all computed by the gpu and not javascript you dont get any performance hit. There are bunch of benchmarks that show WebGL perform at same speed as desktop opengl. Of course there are bugs and faulty drivers but things are constantly improving with high speed. Of course its unrealistic to expect javascript to run as fast so there is going to be a performance hit but then we come back to the argument that performance does not equal usability and usefulness, it takes a lot more than a fast app to make a good app.

Did you check out to see if the open beta requires a social media account ?

Zalamander… why do you have to be so utterly bitter about everything?

Had similar kind argument at music forums about iPad when it first appeared. I belonged to a tiny minority of people that believed that iPad would be largely embraced by pro musicians against the argument of “why oh why a pro musician would limit himself on a device that would only run the simplest form of sound synthesis and music apps that are not more than few tracks in capacity , compared to large desktops that can utilize complex software synthesizers and music apps using even more than 100 tracks at the same time with a large chain of audio effects”

Few year then all these people have disappeared and pro music apps for ipad have been raining from the sky , ipad is very popular for the average pro musician though power wise has not bridged the large gap with the average cheap desktop computer.

So I can tell you right now, that there is definitely a future.

There’s this fantasy that everything is going to move to the browser. If you’re afraid of being left behind, you better start developing something there now.
However, any developer with a sober view on things will have to admit that HTML5, Javascript and WebGL are terrible technologies. “Look ma, it runs in the browser!” is about the only “perk” that you get. If you want to build a house on sand, invest into web technology of the future past, today!

Actually the truth is that Web is devouring desktop technologies, opengl and svg was just the start there a lot more to come. People live inside the browser, its only natural that the desktop will move to the web because it needs access to this huge market. When money talk , bs walks. Simple economics.

On the other hand, asm.js or PNaCl allow for “native” code in the browser and they aren’t really supported much worse.

thats not what asm.js is doing. What asm.js is doing is to take your C++ code , using LLVM it converts it to javascript. However the javascript code produced is using only a substet of js features to make sure that optimal performance is produced. The end result is just a strange look Javascript code , but its still 100% javascript and can be run by any browser. Its a failure that is named “asm” since it has nothing to do with assembly.

The Web is certainly very messy, deeply fragmented, in some cases with awful performance. But its moving forward very fast , and it is the future. The Web you knew 6 years ago has little to do with the web you know today and the web you know today will be vey diffirent to the web you will know in a few years.

I’m not bitter about everything. It’s just that the things I am not bitter about, I don’t post about. I’m mostly bitter about ignorance. So, let’s go ahead…

I’m sorry, but this is just stupid. If you believe that is true, please go use a computer from 1999 to create all your graphics.

Why move your workflow to web ? I think for me a big advantage is that you can use these tools anywhere. Take a look at blender for example, quite performant, fast and efficient. But what happens when you want to edit things from your tablet or your smartphone ?

What happens if you try using Clara.IO on your smartphone? It will be unusable. Web technology is particularly slow on mobile devices, and that’s not going to change any time soon (at least with Javascript). This is a lesson Facebook had to learn the hard way, and they’re not even making a particularly taxing application.

Porting Blender to Android or iOS is NOT a walk in the park, once you choose C/C++ to code because you want super fast code you kiss portability goodbye cause the language maybe be very much portable but the libraries themselves may not be available for all platforms.

Some of the dependencies Blender has are impossible to implement in Javascript efficiently, or at all (because of browser limitations). Then again, Blender has been ported to Android. On the other hand, the expectation that web code is portable is laughable, as any seasoned web developer will tell you.

With web technologies thats not so much a concern because there portability is super crucial, so immediately its easy for a developer to make apps that run exactly the same on all platforms with close to zero changes to the code. That means projects that are alot easier to maintain and so they are more stable, more flexibile and more useful to the end user.

Are you from some sort of parallel universe where these things you speak of are actually true? Or are you speaking from the hypothetical standpoint in the future where all the problems of today are solved?

GPU wise there is no much of a diffirence WebGL is a port of Opengl es 2 which give you all core functionality of opengl and since its all computed by the gpu and not javascript you dont get any performance hit. There are bunch of benchmarks that show WebGL perform at same speed as desktop opengl.

Yes, there is little difference because you’re calling into a native API. WebGL is one of the most limited versions of OpenGL you can get. The data you feed it has to come from somewhere, which means doing things in slow, single-threaded Javascript. This is ok for toy applications or just presenting data, but not for anything serious.

And lastly, the eternal mantra:

The Cloud and the Web is the future.

I’ll believe it when I see it.

EDIT:

Few year then all these people have disappeared and pro music apps for ipad have been raining from the sky , ipad is very popular for the average pro musician though power wise has not bridged the large gap with the average cheap desktop computer.

I get your point, however these audio programs are a good example for my point of view as well: Such applications would be impossible on Javascript. They’re probably also impossible on Android (unless you can somehow completely get around the GC on there). They’re possible on iOS because there is a good, native API for it. In fact, the whole iOS ecosystem is an example for the triumph of native development over web technology.

thats not what asm.js is doing. What asm.js is doing is to take your C++ code , using LLVM it converts it to javascript. However the javascript code produced is using only a substet of js features to make sure that optimal performance is produced. The end result is just a strange look Javascript code , but its still 100% javascript and can be run by any browser. Its a failure that is named “asm” since it has nothing to do with assembly.

It converts to Javascript, but the point is to make this kind of JS parseable so that the “native” aspect of it can be reconstructed. The interpretation is just a fallback. That’s why it’s called asm.js. PNaCL on the other hand is native code.

The Web you knew 6 years ago has little to do with the web you know today and the web you know today will be vey diffirent to the web you will know in a few years.

Exactly. Had you believed the web was the future, investing in the current technolgies at the time, you’d end up with a pile of silverlight, java or flash code today. If PNaCl or asm.js are the future, you can have a portable native codebase today, while still being set for the future.

Zalamander, perhaps it’s also important that people experiment with this thoroughly, so that the adoption of 3d into the webbrowser goes more smoothly. That is to say, that someone has already figured out how to make a 3d suite in the browser will help developers convince their funders of the capability of the technology, allowing more easily for interactive 3d models or even whole videogames to be placed on a website.

Imagine being the guy who wants to convince an archeologist that you could make 3d replicas of his models to be shown to the wider public. Or a museum including the typical 3d vase puzzle game on the children’s section of their site.

Let’s not make it have the same problems as svg did.

The beta is closed - it wanted me to set up a forum account as part of the set up.

yeah I hear you loud and clear, especially serious stuff like MMORGs of the size and complexity of ( http://www.runescape.com/ ) , I mean thats well… stupid … right ?

but then I am ignorant so what do I know ?

Had no such issue with my registration , it had the option to set up a forum account but did not use that option. Email sent normally that second email with an invitation to the beta will arrive.

From the e-mail:

Hello !

Thank you for your interest in Clara.io. We are currently closed beta and as a result our capacity is limited. Over the coming weeks we will be issuing invitations to join the beta.

Wow, what a rebuttal! You certainly dismantled all my points! Games are, for the most part, presentation. If you have little game logic and just a bunch of data to display, sure, webgl may be enough. Runescape always capitalized on being easy to access, so it’s only natural for them to switch from a terrible technology like java plugins to another terrible technology like WebGL. For them, the trade-off seems worth it (and they may very well be right).

Furthermore, some of the other points you make, like collaboration or cloud data are in no way inherent to browser technology. In fact, browser technology severely complicates and limits the way you can (portably) transfer data in and out. There’s really no benefit to web technology besides making it “accessible” to everyone who only can (or wants to) run browser apps. (And being to hire all those “genius” web developers that are so common these days)

Just because Java + WebGL may limit this app’s performance now doesn’t really mean that things will never improve to where the performance is at the required level for production.

Internet speeds are getting faster, machines are getting faster, the technology that involves streaming the data from the app. to the user is improving. The idea that this concept will never work kind of reminds me of the people who questioned the viability of the computer in the mid 20th century and why a person would ever want or need one.

I do agree that Zalamander has produced some good points, but I can’t help but think that his style of debate is at times too aggressive (even using name-calling in instances). I’ve seen similar tactics used here in the past by people who argued that Blender did not need Ngons, GI, GLSL, and other features important for production work, which makes me wonder if he was affiliated with anyone behind those accounts back then.

Here is a video showing modeling with it. Looks decent, but it’s a pretty simple mesh example. Since it apparently has real-time multi-user collaboration, I could potentially see it being useful in the way Google Docs is depending on how well it works.

yeah thats my email too, so all went well. You just now wait for the invitation.

I also registered to the forum, again it did not ask for any social media account, just your usual registration. But I am in contact with one of the developers so I will keep you posted.

Yeah Runespace certainly classifies as little game logic, afterall its only a Massive Multiplayer Online Rpg Game , and we all know how really simple those are to make, especially game logic wise , full blown 3d graphics in contest with modern MMORGs and only 10 million register users and up to 400 thousands online at any given time. Really terrible stuff. Pretty pathetic if you ask me.

I wish I could continue this conversation but it does not seem we occupy the same physical universe you and I. But if you meet the other Kilon at your universe make sure you tell him to stay away from web technologies.

First of all, it’s JavaScript, not Java. (fundamental difference here!) If you speculate that at some point Javascript will catch up close to native speed (which isn’t all that unrealistic, at least on the desktop) you will still have a lot of limitations that are the reality today and for the foreseeable future. And what if it doesn’t? What if the future web technologies are different?

Internet speeds are getting faster, machines are getting faster, the technology that involves streaming the data from the app. to the user is improving. The idea that this concept will never work kind of reminds me of the people who questioned the viability of the computer in the mid 20th century and why a person would ever want or need one.

Yes, machines are getting faster, but why would you want to travel back in time to have the kind of performance you had 5 or 10 years ago? Why is it that a lot of websites require powerful computers merely to render a bunch of animated text and images?

I do agree that Zalamander has produced some good points, but I can’t help but think that his style of debate is at times too aggressive (even using name-calling in instances). I’ve seen similar tactics used here in the past by people who argued that Blender did not need Ngons, GI, GLSL, and other features important for production work, which makes me wonder if he was affiliated with anyone behind those accounts back then.

Don’t be paranoid. I don’t become aggressive until somebody itches me. A statement like “Performance is no longer relevant” is about as ignorant and dismissive as it gets, towards my entire profession. And I’m certainly not taking that form somebody who lives in a fantasy world with obviously very little experience in real-world web technology.

Yeah Runespace certainly classifies as little game logic, afterall its only an MMORG RPG really simple to make , full blown 3d graphics in contest with modern MMORGs and only 10 million register users and up to 400 thousands online at any given time. Really terrible stuff. Pretty pathetic if you ask me.

I didn’t say it was simple to make. Game logic tends to not take up too much processing power, that’s why a lot of games already use slow, interpreted languages for logic scripting. Whatever millions of users are supported in the backend is really irrelevant. Try implementing a physics engine or a raytracer (no, not a toy GLSL raytracer) in javascript, then we can talk about real world performance differences (although to be fair, even a slow physics engine may be fast enough for a game).

And again, for a 3D authoring application the tradeoffs are much larger. Would you want to explain to your users that your application can’t come close to being competitive in certain areas, because they chose convenience of distribution (and possibly development) over efficiency in usage?

The simple answer is that you don’t have to limit yourself at all. This doesn’t have to be an all or nothing proposition.

I agree that if you replace your 3D program with a web-based one then you will be limiting yourself. And if you stay with a desktop app you will not. But if you use a desktop app when appropriate, and a web application when that is your best (or only) choice then you are much better off overall.

In so many ways a bicycle cannot replace a car. That is why I have a car AND a bicycle.