Should BF hire a part time dedicated Import/Export coder?

Hi, I just wanted to put this out there. I think given the increased acceptance of Blender into mainstream 3d it’s important that the Import/Export scripts be in top working order. From small to large studios, Import/Export is an important part of the workflow. I think it would be a good thing for the BF to hire a part time coder to handle this. The job of this person would be testing, fixing, handling bug reports. Ideally they would be high level Python and c developers. They would also need to be flexible given that different formats often need to be handled in different ways.
The benefits of this should lead to an increased Blender presence in both higher end studios and smaller independent studios alike. I would like to think this could lead to some extra support from studios. If we have solid I/O, time is saved, debugging i/o, waiting for fixes and finding workarounds all takes time out of a deadline.
Studios that need to process their files in a couple of other programs would be more likely to use Blender with the knowledge that they can do this hassle free.
Currently Import/Export bugs account for 50% of bugs in the addons Bugtracker, this level is way too high and seems to me to represent a real need for a dedicated coder.
Thanks

21 Likes

Hi @BrendonMurphy,

I don’t know the status of hiring, but I do think it is definitely worth considering this.

/Nathan

this sounds like an awesome idea. because there are so many things going on at the same time it is hard for us how is supposed to be hired next.

An additional info is that now more formats like USD and ITIO are coming that are formats for exchanging information in a bigger scope. These things are quite new at the time but since Siggraph more bigger studios and software packages are jumping on the train as well.

Any major software that cannot support obj or blend I wouldn’t call major. If vendors choose the ignore open formats then theyre on a deadroad. Strategically I don’t think that it is blender here that should change.

1 Like

Well, there´s a difference between the real world and your utopic vision, being that the latter is unrealistic and counterproductive…

1 Like

I would prefer those resources go to undo and other performance issues.

1 Like

Blend is blender’s interial format and shouldn’t be supported by any other program that is not based on Blender.
Otherwise it would be second fbx. It is not meant to be standard or transmission format.

1 Like

Blend files are open source already some programs can use it, the future is opensource open standards. Open formats are key to empower users. It took EU rulings to enforce open office standards. Now we have OpenOffice Google docs etc lots of editors understand the doc xls pdf format.
Companies can keep using their own formats. And it will work till at some point people would like to open exchange data.
So for the industry I hope it realizes that it’s about customers what they want.
It’s an old discussion though

1 Like

Blend files are not intended to be an interchange format, @Zuorion was right about that. A better solution to that problem is USD. There are a few other apps that can load .blend, and that is great, but it’s not the intent of the format.
A lot of studios already use USD internally for a lot of their work, including obviously Pixar, its creators. The future is bright for this format, and it’s already being worked into Blender for a near-future release.

But you’re right, too. More apps should adopt open standards. Blender has some work to do in this regard (USD, VDB), too.

Here, take a look at this: https://code.blender.org/2019/07/first-steps-with-universal-scene-description/

4 Likes

Just to add on as to why Blend files are a poor interchange format:

  • They are very tied to Blender’s internal data structures and the best way to make code to read them is to copy a big hunk of Blender code – which itself is hard to do because of all the dependencies on other parts of Blender that it was not a goal to minimize because this is not intended to be an interchange format
  • They change constantly, as new features are added to Blender. Blender itself puts in backward compatibility code so that it can read multiple versions; but again, that code is very specific to Blender and intertwined with it, so hard to pull out for an external .blender reader. It would be an enormous headache to try to keep up with the ever-changing .blend format. At the very least, you’d need a new importer/exporter for every Blender release.
6 Likes

Hi, my thoughts on this were simple, i/o needs major maintain. Whilst some have good author and dev support, others are starting to fall behind. A part time dev to help with i/o clean up and issues, a go to guy for studios having issues and needing fixes to meet deadlines, before long, that guy could pay for himself through potential donations gained. If a studio needs solid i/o support to switch to Blender and save $1000’s, there’s potential for donations. Better i/o, more professional studios, more donations. I could be dreaming here of a perfect world but I’m just putting it out there.

2 Likes

To me this sounds like a great idea. And regardless of all the who-should-do-and-adopt-what discussion, the reality is oftentimes very simple. A client comes along and throws a file at you. Let it be FBX, OBJ, or whatever,… and maybe they can’t get anything else. It’s all they have. It’s just amazing when you can import it and it just works. No conversions, no extra tools needed. That’s what powerful software does. It saves you so much hassle and time.

1 Like

yup, this alone would make it a non-starter for any major third party that is not GPL (IE: unity/ue4/etc), complexity aside

What is not helping is the fact that each format has its own import/export addon, each with its own set of features and of differing quality and performance. For simple formats that don’t support advanced features like animation, hierarchies, skinning, etc, like OBJ/PLY/STL, it might make sense to use a library like assimp. By creating a single multi-format addon based on assimp one can then provide a consistent set of features and options for those formats, with fairly good performance (as the library is written in C++). Some of the advanced things are even supported by it. Advanced formats, like FBX, X3D, USD then could still be separate addons, each with their own focus and perhaps more optimized.

2 Likes

I think this data expresses some of what I have felt switching to Blender. Blender in and of itself, with a few addons is easily the equal of the industry incumbents and I also prefer how it feels to work in. But we’re at a disadvantage when it comes to IO and standards.

I went on a bit of an odyssey trying to get good exports going to UE4 and luckily, there is an addon maker that has somewhat solved the problem but I think the tendency to offload responsibility for IO to other parties only serves to make life more difficult for Blender users.

I think there is a stubbornness in the Blender community that views change, especially change related to different workflows and other software with suspicion and hostility. It seems like there is a strange desire to make Blender into a walled garden.

I would really appreciate better IO since I am trying to make Blender into one part of a multi-program workflow and the IO was by far the most frustrating part of changing for me.

Also since the Blender Foundation got such a stack of cash from Epic and UE4 is also open source, maybe in that case .blend support wouldn’t be such a bad idea no?

I didn’t see anyone actively building a walled garden

In this thread, you mean? I didn’t mean it so specifically, it is just a generalised sense I get from reading and listening to interactions between some users and devs sometimes.

I think the stubbornness you’re encountering is the FLOSS absolutists (of which I am proud to count myself a member). A lot of us believe in a future where all software (or at least all the software we, as individual artists) is free/libre. So of course there’s some hesitance to support proprietary software projects that don’t support software freedom. That, and the GPL license just makes it a lot harder to do. Because the GPL license ensures software freedom, Blender is only able to fully support open standards (that’s why the fbx implementation is reverse engineered, not the Autodesk SDK).

That being said, the Blender community is united in our hopes of seeing Blender reach and exceed the capabilities of the proprietary sector. I/O is of course a critical part of this. The trouble is getting other software vendors to accede to interfacing with free and open source software. The best way to do it is to make the free software so good that they don’t have a choice but to hop on the bandwagon with us. That’s why USD and VDB are so widely adopted- they’re just good.

Ultimately, as long as Autodesk have a stranglehold on the 3D industry, they’re gonna pursue their own goals. We can’t get them to publish the .fbx specification or open source its SDK. Reverse-engineering it is the best we can do. So maybe it is a good idea to fund a developer specifically for this. Or maybe one of the existing developers should switch to tackle this problem only, and a new developer could help out with the other tasks. With the new funding this week from Nvidia, there’s good reason to be optimistic about Blender’s development and continued breakneck speed.

And when Blender is so good that people can’t afford not to use it, we’ll start to see software freedom overwhelm the 3D arts industry.

1 Like

I take your point on FLOSS but from a pragmatic perspective, there will certainly be a period, possibly an infinite one, until the ideal comes to pass. Nevertheless, I think the strategy of making Blender too attractive to pass up has certainly been working, it has in my case, I prefer it to 3ds Max purely on its merits.

FBX has always been garbage, I hope that either the new Pixar or Khronos formats take hold so that we can ditch it entirely. I think there is work on supporting glTF for UE4 but animation isn’t there yet.

It might be a bit of a stretch, but perhaps there ought to be usergroups set up for every major software that Blender is interfacing with and this might focus things on where users with interchange heavy workflows are having issues.

Speaking of the GPL, I know the Unreal Engine is open source but not GPL, so I have no idea what that would mean regarding building a bridge between them but it is the stuff of dreams to imagine.

1 Like

That’s precisely why people make a big deal over Free/Libre Open Source Software instead of just saying open source. It makes no difference to the GPL whether the code is available- if there are restrictions on its use then it isn’t free.

It might be a bit of a stretch, but perhaps there ought to be usergroups set up for every major software that Blender is interfacing with and this might focus things on where users with interchange heavy workflows are having issues.

This is a good idea. That would help measure the need of various sorts of I/O and provide the developers with focused test cases.

I take your point on FLOSS but from a pragmatic perspective, there will certainly be a period, possibly an infinite one, until the ideal comes to pass. Nevertheless, I think the strategy of making Blender too attractive to pass up has certainly been working

My goal is to personally play a hand in making it happen. I want to start a business and use free software, and give back with the earnings I don’t spend on licenses and lawyers. It’s a big goal, but I think I can make it happen. Computer graphics is less than 30 years old (this is an oversimplification), so it isn’t unreasonable to think I can achieve any goal within my lifetime. But I’m off-topic now!