News about the BIMserver.org initiative

Bug Bounty inspiration

As our previous post suggested, we are getting more confident about the stability of BIMserver. But even more important is that we are getting more passionate about stability. For quite a while the opening phrase on our website is referring to the usage of BIMserver as ‘a stable foundation’ of ‘a strong base to build on’. The team working on and with BIMserver is growing and this certainly improves the stability of the platform.

To get to the next step we need you! That is why we tried to start a Bug Bounty program. The famous ‘find a bug, get a mug’ program is a success for years and it is now time to take it up a notch.

We experimented a bit with bountysource and providing eternal gratitude, but nothing just gives us that warming feeling of an active community.

So…. We need you. We need you ín the bug bountry program, but we also need you to help us setup the program by giving us a push in the right direction. Any help is welcome. Any help is another bit of improving a great open BIM platform.

 

 

Doing one thing very good

opensourcebim.org projects

As the loyal readers of this blog know, we joined the ‘open source BIM collective’ a while ago. There are many practical reasons why this decision was easy: we share a support forum, hosting and bandwidth and we face the same legal issues regarding licensing questions from users. But the main reason why we actually joined is because of the mission and vision of the collective.

At BIMserver.org we have a strong focus on being a stable platform for others to build upon. We aren’t building feature after feature and market it as a product that can do ‘everything’. Our mission is to provide a solid foundation so developers can build fast and reliable niche applications. So we want to focus on our core features, but still be interesting for developers and users. We had many discussions about removing the GUI and if we should incorporate a render engine or not. Luckily we  found other people that find pleasure in building a GUI and are much, much smarter than us when it comes to an IFC render engine. These people faced the same problem of feeling the force to widen the scope of their tools, but really wanting to focus on the core problem.

Thanks to our collaboration with the projects in the open source BIM collective, we are now integrating and interacting with these other projects. Thanks to IfcOpenShell, BIMserver now has the highest IFC rendering quality in the industry. Thanks to BIMserver, IfcOpenShell broadens the user perspective. Similar synergies are being created with bimvie.ws, BCF server and Forum and (very early and experimental) OpenIFD. The COBie plugins and other less famous BIMserver plugins are also part of the collective to give the industry a single point of contact and support.

We are very proud to be part of a team of dedicated and highly intelligent people that have the same passion as we do: Helping the AEC industry forward. Feel free to explore the website opensourcebim.org, or the github organisation page with most of the repositories.

Don’t panic

It is almost May 25th. This means it is almost Towel Day. To honor Towel Day, we created special BIMserver.org towels. You can find them in the open source BIM online shop.  Use the coupon code ‘MAY25’ to claim a free towel!

This shop is just recently online, so our hidden agenda is to have you test the usability of the shop (along the way giving up your privacy to hand us your address). But at least we are open about it.

When you want to buy 42 towels at once, please contact us for special delivery options.

Release 1.3.0 final

The final 1.3.0 release has been build. For those of you who followed the release candidates there is not much new. For those who are still on 1.2 we have some huge changes. The biggest changes are the improved integration of render plugins, and the new plugin type ‘modelchecking’. Download it from our github page and have a look at the introduction video for setup instruction. Other documentation can be found on our wiki. We are very thankful to all the contributors and financers.

Geometry
Our most active users and developers know that we see BIMserver as a server. Not a viewer. We don’t handle rendering, Boolean operations and other geometry calculations. The plugin type ‘render engine’ is introduced in a very early development state of BIMserver to have geometry processed by tools that are specialized to do just that. In the latest versions of BIMserver there were 2 render engine plugins shipped with BIMserver: IFC Engine and IfcOpenShell. IFC Engine used to be set as the default. The biggest change in 1.3.0 is that IfcOpenShell is now our preferred render engine. For those that still want to use the IFC Engine there is no need to panic: the plugin is still in there, it is just nog set as the default render engine anymore. We strongly believe IfcOpenShell has made major stability improvements and is now in front of most closed render engines [update: read their blogpost].
Parallel with improvements of IfcOpenShell, the use of geometry from the engines is also optimized. BIMserver administrators can now set the option to render geometry during check-in of data and store it in the database. This one-time store, multiple read principle creates great performance improvements for users that want to view of download explicit geometry. Just before the final release of 1.3.0 we even added re-use of recurring geometry elements to improve the speed and agility of the model in online viewers like BIM Surfer. All in all some major improvements that we are very excited about. We enjoyed collaborating with the IfcOpenShell team and are proud to have their product in BIMserver.

Modelchecking
Another attractive new feature in this release is the “model checking” capability. We implemented model checking in two places: before data is stored in the database, and before a notification to a remote service is send out (after the creation of a new revision in the database). People who work with modelchecking on BIM know that there are many different standards to define how a model should be checked, and even more discussions about which one is best. At BIMserver we have a reputation to respect opinions of others and seldom choose one direction. We see ‘rulesets’, MVDs, SEMs, XSLTs, just plain code, and lots of other options all as probable directions for modelchecking. Although we see lots of potential in many of these initiatives, but feel that none of them has the combination that is ‘open’ and ‘stable’ enough for an effective implantation in the current release BIMserver. For that reason we created a very general checking plugin, with the intention to create specific checking plugins when the mentioned standards are more stable. At this moment the generic model checking feature only works on java code that is specific for BIMserver. We know, not a good example of open standards, but again: set up to grow into something better along the way, flexible enough to follow different directions depending on the adoption.
To make the model checking feature useful for non-programmers we also added the ability to publish and share snippets of code in an online repository. Again we feel obligated to mention that these snippets only work on BIMserver and are not a good example of interoperability. We hope to connect to other repositories with snippets of model checkers in an(y) open standard.

Small feature improvements
Most of the other changes in this release are “under the hood improvements” (bugfixes, better error messages, e-mail headers, memory use optimization, updates of jetty and berkeleyDB, etc.). Some of them however seem to make our users very happy. With the ‘send notification’ features (find it under settings) an e-mail is send out to project members every time a new revision is checked-in. Another improvement is the ability to configure (remote) SMTP servers more extensively. You can now choose a lot more options such as the protocol (SMTP/SMTPS), username, password and port. This allows for using a 3rd party e-mail service which is probably a good choice (and doesn’t have to cost extra). Examples of these providers are Mailgun, Amazon SES and Sendgrid. The admin interface is also improved. We are happy to have the help of the bimvie.ws team for that.

Coming up
We are also very proud to mention that work on a new version of BIMserver is already started and progressing very nice. Biggest challenge we put ourselves into is to have a project with subprojects that contain data in different IFC versions. First experiments have showed that this might turn out very nice. Combining IFC 2×3 and IFC 4 in one BIMserver would be a major innovation. We’ll keep you tuned.
Another effort we put resources in, is optimization of the EMF core. BIMserver makes intense use of RAM memory. Although prices are dropping rapidly,  the number of objects in IFC models seems to be increasing. This keeps the memory usage in BIMserver to stay an issue for current practice. Therefore we are researching how to use EMF more efficient, or not use it in parts that don’t really need it. Community efforts are also gaining more traction. New to the ecosystem is bimvie.ws as open source commercial initiative that created a GUI for BIMserver. Another initiative is an mvdXML checker plugin for model checking created by Benzcly Zhang from Eindhoven University of Technology. A preview can be found on our github page.

Our main focus at this moment is work on the “Federated BIM” concept and intense collaboration with the projects in the open source BIM collective.

Let us know what you think, or any issues you find, on our support forum.

Why we are involved in BIMSie (and other AEC Hackathon presentations)

As most of our fans know, we are heavily involved in the ‘remote services’ part of BIMSie. During the AEC Hackathon we ‘finally’ had the chance to explain and demo why we spend so much time and effort on this. It is a hackathon presentation, so it is a bit technical.

The other two Hackathon presenations about ‘BIMserver when you first login (as administrator)‘ and ‘introduction to open source BIM tools‘ are also available.

Update: slides now available on slideshare http://www.slideshare.net/berlotti/federated-bim-and-bimsie

AEC Hackathon build

The AEC Hackathon 1.1 starts today/tomorrow and they made a special category for open source BIM tools. For that reason we had a close look to our current codebase and decided to build a new release candidate. This is the latest of the latest (it is still warm), but obviously not very well tested…. Find it on our github page. Best of luck to all the hackers! And thank you AEC Hackathon for this great initiative!

Update: have a look at this wiki page for a short introduction of some popular open source BIM tools.

Release cycle for 1.3.0 started

We just started our new release cycle for 1.3.0. We hope it will be a shorter cycle than the last time, but really can’t promise anything…. At this moment our RC1 is on google code but we intend to move released to github as soon as possible (update: we are now on github with 1.3.0 release)

As you can see on the closed issues a lot of work has been done. The main work was on improving memory use, plugin stability and stability. We also did a lot of work on the BIMSie concept of ‘remote services’. The main new  feature  in 1.3.0 is that we now have the option to generate geometry during checkin. This geometry calculation hás to be done by an IFC rendering plugin. At BIMserver we still want to focus on the server part, nog on the geometry stuff. After calculation, the geometry is  stored (as tessellated triangles) in the bimserver database with the original IFC object. This makes it easy for developers to retrieve IFC object information and geometry from the BIMserver framework. In the previous versions of BIMserver geometry calculation had to be done be the serializers. They could use the IFC rendering plugins, but it had to be done every time a call was made to the server. From now on you have the option to only do it once during checkin and have very fast reliable respons during use. At this moment there are two geometry calculation plugins available in BIMServer: the closed source IFC Engine from RDF, and the open source IfcOpenShell from Thomas Krijnen.

 

BIMserver isn’t BIMserver anymore: 5 years of quality focused BIM innovation

revision In October 2008 we started to build a ‘simple BIMserver’. Everybody told us it was impossible to store IFC in a central database and have multiple AEC project partners connect ‘live’  to that database. But nobody could tell us why that was impossible. In the margin of a research project about Augmented Reality, we decided to do some experiments to find out what the fuzz was all about. We found that indeed due to the nature of IFC (a network structure) it was very difficult, but with lots of creativity and intelligent programmers we managed to have a proof of concept at the end of 2008.

And then something strange happened. We actually published it under an open source license to share the knowledge. Something very ‘undone’ in our industry. We anticipated this would stir up things in the BIM world, but we couldn’t imagine it would have such a huge impact as it has today, almost 5 years later.

Lot’s of things happened in these 5 years and because we had the luxury not to have the requirement to make a profit with BIMserver, we could focus on the quality of the software. Our goal always was, and still is to help others make a profit with BIMserver. Today, BIMserver is seen as a solid start for others to build on. And many others take the benefit of the strong foundation that BIMserver is. There are many people that make a living with BIMserver ‘under the hood’ of their software.

We started with the idea that BIMserver would be the central point of contact of all AEC partners. Thanks to good research and feedback from the industry we now know that working with aspect models and federated data is much more effective. Somewhere along the way BIMserver transformed into a plugin driven framework with lots of other developers hooking in. It is not a surprise that we joined the open source BIM collective to make a strong fist for innovative BIM solutions.  At the moment we feel the good times for open source BIM and BIMserver are yet to come. We have a strong believe in the federated BIM concept and the BIMSie standard. More and more commercial spin offs are starting and we thing we are at the verge of a new business model for BIM and BIM software. We are very excited and look forward to a bright future for the AEC industry!

Moved to github

We’ve decide to move our development to github. As most of you developers saw we were pretty comfortable with Google Code using the automatic build process, issue system, etc. But we noticed more and more evolvement from developers in BIMserver. This raised the insurmountable question how to manage these efforts. After some research we decided to switch from svn to git version control. This allows more ad-hoc developers to create pull requests and lowers the threshold for collaboration. From this decision we rolled from one advantage in the other and finally ended up with github. We also decided a long time ago we want to intensify the collaboration with the guys from the open source BIM collective. Moving to github gives us the opportunity to have our codebase within their organisation profile.

Immediately after the 1.2.0 final release we moved the source code repository. Slowly we will also move the issues and wiki.

Release 1.2.0 final(ly)

At last the final version of BIMserver 1.2.0 is released. You can find it on our google code site.

Some of the new features include the ability to add non-IFC data to the database. Users can now add ‘extended data’ to revisions and projects. Not all data can be added. This is controlled by the server administrator. Every BIMserver administrator has to authorize data schemas first so users, or external services can add extended data according to an authorised schema.

As beta-testers already saw, there is a new plugin type called ‘query plugin’. Wiet Mazairac created a plugin for the open BIM Query Language (BimQL.org) which is included in the BIMserver build. We also added an ‘internal service’ plugin that lowers the threshold for developers to build custom BIMservers for a specific feature.

The reason why it took so long was because we had to change a lot in the interface to make it compliant with the new BIMSie API standard for BIM in the cloud. We are proud to be the first open source project that supports this initiative.