I spent some time thinking whether to write a reaction to older discussions) about MicroStation SDK availability and recent steps leading to closing of “a world of MicroStation programming”. Originally, I thought about “What is Bentley long term strategy for 3rd party developers” theme, but at the end it seems to be the tangle of problems / issues that is not easy to describe. So, I use this slightly more general and provocative subject and try to express my feelings.
At first, a disclaimer: This post represents my subjective opinion and is based mostly on my experiences (small and mid, typically engineering but also utility, companies) from Czech Republic, and partially also what I heard from my friend from other European countries. Maybe my arguments are not valid for long term complex projects delivered to big asset operators in telco or power distribution and less fragmented markets (European Union represents one from 3 biggest economies in the world but comparing to US and China it’s fragmented to many local markets).
At second, I’d like to apologize for lengthy text.
And at third, I also probably should apologize for black and white and maybe too strict evaluation. I guess a combination of winter depression with a contradiction between MicroStation CONNECT Edition with rich (even no too much documented) API and steps against people who like to use this API. On the other hand I will repeat what other people wrote in other discussions already: Limiting access to SDK and API is another bad Bentley decisions complicating using Bentley products.
Ok, let’s return to my original question: “What is Bentley strategy for 3rd part developers and related ecosystem formed by any extensions from simple macros to complex applications?” I assume there will be an answer like “We have (great) BDN program and we carefully listen and take care about 3rd developers”, but despite of it sounds nice, this is far from reality. And BDN itself is not my focus (I appreciate information provided by Bob, Arthur and YonganFu), because it’s about the development in general.
For many years Bentley have closed MicroStation programming and limiting the access to it step by step. I remember all tools (MDL) were delivered with MicroStation automatically. Later the separate SDK was created, but still accessible to everybody. And last year, it was closed to BDN members only. No information about such change, no information about how to start with development available on web (“ask us” / “fill form” is not information but annoying obstruction).
If I compare it with other solutions, both commercial (AutoCAD, Revit, ArcGIS, Allplan, ArchiCAD…) and open-source l(PostgreSQL + PostGIS, GeoServer, Open Layers): Do you want to develop anything? Download it, it’s simple, just click “Download” button, typically even registration is not required (and when it’s required like in ArchiCAD case, the whole process and requirements are clearly, without marketing fuzzy formulations, described). The route between idea / requirements to dev tools installed and start coding is straightforward and fast.
In my opinion Bentley also failed in teaching developers and motivating new ones. This applies both to the area of education (schools and universities) and existing users. Bentley has close to zero presence in (Czech) schools and I know about plenty of people stopped to try to teach MicroStation or other products simply because it’s so complicated and costly and Bentley don’t care to support them. Especially when compared with so many events, educational programs (often created in Czech language) and competitions organized by local offices, local partners (when no company has office) or local communities sponsored by the company.
And when somebody (a student because of seminary work or dissertation, current user because of company internal requirement or just for joy or manager looking for solution of specific problem) need to develop anything: No chance. Even for existing SELECT users, as was mentioned already in some discussion, to extend agreement to BDN SELECT is not acceptable, because it’s slow (does not allow to start immediately) and requires legal acts (which is tough process often).
What about consequences? As Stuart wrote in the mentioned discussion, he lost his enthusiasm for Bentley products and has resigned to a role of “MicroStation advocate”. What I have seen for last several years at different conferences and talking with customers, is even worse: Bentley, MicroStation or other products are less and less presented there or discussed as the used tools. Bentley products are dismissing from market.
For me long term business strategy is like a table with more legs. When all are durable, and suddenly some breaks, it’s not an emergency. But when more legs are weak, the sensitivity is higher, and stability is low. Using this picture, many table legs are rotten I guess, but moreover the legs related to programming were effectively severed by Bentley itself.
One from “removed leg” is about how to fulfill local specifics and requirements. I assume all software companies are persuaded their software is genius piece and will solve anything and everything. Nothing can be more distant from everyday reality in any project: There are so many local rules, country or industry standards or even company specific procedures that no software is able to handle them all well.
When the software allows to be extended / customized and at the same time there are people capable to do it, the problem is solved. The first condition is solved, MicroStation-based (but also ProjectWise and other software) provides rich API. Great! But … there are lack of people. Bentley are responsible that there are no new ones and if anybody is interested in CAD development, he will probably choose other platform (even simple tasks like preliminary study whether API supports a feature cannot be done, because contrary the others, nothing is available publicly). Bang, first leg crashed and removed.
Because there are no individual and internal developers (of course commercial developers exist), no tools exist. I assume many users will agree there were quite a lot MDL apps available in time of MicroStation 95 or J. Many from them were simple and developed by individual in their spare time, but they were valuable. Today? Just a few. Even Bentley have not been able to migrate own tools available for free (tool library) to CONNECT Edition. The situation is worse because there is no “application central point”. Compare it with other platforms, where plenty of macros, tools, applications are available, often for free and available in different lists. I remember many situations when in community or at conferences some problem was discussed (data import, drawing output generation…) and somebody told “I developed own macro and can share it with you”. No chance for MicroStation. Crack, second leg broken.
Unfortunately, it’s even worse. In Europe Bentley have ignored INSPIRE for many years (for people don’t familiar with INSPIRE, it’s EU directive aiming environmental spatial data, mandatory for all EU countries and all subjects anyhow related to environment and nature protection like utilities, network operators, of course government and cadaster etc.). One from results is that INPISRE data must be published, so they are available to people, usually in OGC formats (Open Geospatial Consortium) like GML or WFS (I think sometimes local formats are used also). After 10 years of existence of INSPIRE, Bentley products are not able to handle these data at all (e.g. WMS-T or WFS in MicroStation) or had reported but not corrected problems (WFS in Bentley Map). What competitors? For last few years, at least in Czech Republic, the problem is solved. Quite often through local developers and in some cases the local solution was good enough that international company don’t develop own one (which I think is great example of possible synergy, where local developers solve the problem how to “act locally”).
Because environmental data is part of literally every engineering project, inaccessibility of INSPIRE data is competitive disadvantage and I know several companies that migrated (or are in such process) from Bentley platform, because to don’t be able to access all necessary data easily is more expensive than the migration itself. Now, very loud crash, another leg broken.
The last consequence relates to the development itself: Because there are no students with MicroStation knowledge, and how to develop application skills are quite low between users (because there are no good resources and it’s impossible to access even API description), the development is more expensive than a development to other platforms. To hire new MicroStation developer means to find general developer and to teach him MicroStation and API. It requires at least a half of the year to work independently and after one year he will be come productive. As I wrote, expensive. To find somebody with e.g. AutoCAD, Sketchup or whatever else knowledge who has at least basic experience with development (e.g. he tried to create a macro as student or as employee) is substantial easier. So, this is 4th leg broken.
Is there any “final question” or conclusion? I am not sure, probably not. It was just about to express my feeling that things get worse and that to have technically above average product is not enough and there are areas where competitors are far more active, open and friendly, which possibly will help them to win in future. History is full of such examples: Microsoft won with Windows over OS2 and other OSs because at this time great VisualC and availability of other dev tools from Borland, recently he failed with Window Phone because bumbling API and developer support. And so many open-source projects survived early stages not because of its their quality, but because of great community providing support, learning materials and documentation, so other developers were interested in to commit and use it.
But maybe it would be enough to only clearly describe on web what Bentley strategy and priorities are and that Bentley decision is to provide access to any API under BDN agreement and for anybody else only VBA is available. But I don’t find any such information.
With regards, a bit depressed,
I think they could at least create some OnDemand MDL courses. Long time overdue !!
and in so doing document , how , where you get BDN status (free for Select users if for personal use).
Which compilers you can use and where you get the right version from.
Also if they do not want CONNECT to be another XM, they should sort out the BDNExamples and get them to recompile on CONNECT. To me it seems as if the 'knowledge is leeching out of Bentley.. Many times I've been told features I have taken for granted have been lost due undocumented functionality. Ctrl Z on manipilation commands, copy paste in message dialog, tentative xyz in message dialog..
Sometimes they get put back in, sometimes not.
I think Bentley systems should apply the brakes and slow down.. and remember the passengers ... falling off, out the back.
I remember the comp.cad days when everyone helped each other.. and the initial concept/idea behind Ask Inga... and not least behind 101 MDL..
Robert Aish was all for people programming.. so was Phil C..
Bentley should be too.. they should check out https://code.org/ and get a few tips on how to promote programming among their users. MDL and MDL Forms made Microstation.. without it I'd still be using I/Microstation/Greenhill C and I/Forms.
In the original CSP agreement.. MDL courses were guaranteed free for CSP members.That was the Bentley spirit, not this half arsed secretive M$ biased protection racket.My views are my own, of course and all ment in the best possible way.. :-P
Karsten Evans said:they should sort out the BDNExamples and get them to recompile on CONNECT
There is a number of both C++ and C# examples provided with the CONNECT SDK. I have tested them with each update of CONNECT, and they build successfully. Or, did you mean something different by 'BDN Examples' (if so, please start a new thread)?
Karsten Evans said:In the original CSP agreement
That was a long, long time ago!
Regards, Jon Summers LA Solutions
Greenhill C compiler and I/Forms on the CLIX platform, now that really takes me back! Don't forget about the MicroStation UCM's with the TSK statements to call the I/Forms .exe programs.
I have to program in both the MicroStation and AutoCAD environments.
I'll give credit to Bentley about their VBA model and documentation in the Help file. It is superb with the example code. The AutoCAD VBA model and documentation is quite poor by comparison.
For .Net development it's another matter.
Kean Walmsley of Autodesk Research has a blog with many different AutoCAD programming examples, from the very basic to the complex. I can google just about any type of AutoCAD .NET programming question and one of his blog entries usually pops up, like this one, a three part series on different ways to create polylines ....
For Civil 3D development they have a separate developer's guide.
No special developer network membership is required for either. Open examples and documentation from Autodesk for anyone who wants to promote and extend these applications.
It would be great if Bentley could do something similar. Removing the restrictions on the SDK would be a step in that direction.
Rod WingSenior Systems Analyst
If our "non-Bentley" experts (Jan/Jon) are having difficulties with the documentation and understanding the CONNECT implementation from a developers perspective, just imagine how hard it is for us mere mortals....
Thanks to both Jan and Jon for all their help over the years. You guys deserve a medal....
Bruce Reeves SRNS said:You guys deserve a medal...
Thanks! The Bentley Systems equivalent of a medal is to be appointed a Knowledge Executive. Bentley Systems have yet to tell us whether that accolade has any practical value.