The MIM Visual Development Environment simplifies software programming by turning it into an intuitive visual environment for novice and experienced programmers. Maz Lab claims this is a huge innovation. They sent us –exclusively– three mockups of their upcoming product (shot 1, shot 2, shot 3). Read more for the full press release.
MAZ LABORATORY’S INNOVATIVE VISUAL DEVELOPMENT ENVIRONMENT
MONTREAL, May 29, 2003 – Maz Laboratory, a leading edge software development company with extensive experience in Artificial Intelligence, Real-time simulation and Graphic User Interface design, today announced their breakthrough visual development environment, the Modular Intelligence Machine (MIM)TM . This Visual Development Environment (VDE) has as its goal, to simplify software programming through a visually animated authoring environment that covers all phases of software development through a single user interface.
Maz Laboratory’s MIM is an intuitive and highly visual open programming environment that enables individuals and corporations to drastically reduce programming time, therefore increasing productivity, efficiency and cost savings. MIM’s patent-pending technology proposes a revolutionary new way of programming computers while retaining complete access to legacy systems and interfaces. The MIM does not replace other programming languages (for example Visual Basic, C, C#, C++ and Java). Rather, it integrates seamlessly and complements them, thus making new software programs faster and easier to create and manage, while securing current investments in legacy systems.
Among MIM’s unique and innovative features are a completely visual and visually animated environment covering all phases of software development including planning, creation, editing and debugging, fully integrated software project management from within the visual environment, scalable environment allowing novices as well as experts to develop software, a collaborative environment allowing many developers to work on the same project at the same time, only one user interface to learn for all aspects of software development, a complete connectivity to external devices, programming languages, databases and tools, extendible through software development kits at all level of functionality, and full portability achieved through user interfaces entirely based on OpenGL.
MAZ Laboratory’s MIM software development platform:
Drastically reduces software development time and costs through a sophisticated visual user interface;
Unifies, under one single user interface, all aspects of software development;
Integrates seamlessly with legacy systems to take full advantage of existing software built with other tools and technologies;
Provides all necessary high-level features required to implement professional applications.
MAZ Laboratory’s advanced 3D visual programming technology (MIM) seamlessly integrates with existing technologies (such as Operating Systems APIs, Language Libraries, Run-time Engines and Hardware devices) to create a visually dynamic and intuitive programming environment for both novice and experienced programmers.
MAZ Laboratory’s Modular Intelligence Machine (MIM) will be available in BETA release in the last quarter of 2003 either as a standalone technology (through a MIM Platform Player) or as a customizable environment (through MIM Software Development Toolkits).
The MIM Visual Development Environment (VDE) is made of various modules combined to provide a unique, user-friendly 3D visual interface. It is via this universal platform that software can be created, managed, and executed, all within a fully collaborative multi-user environment. Through an extensive set of Software Development Toolkits (SDK), the MIM provides the flexibility of easily integrating legacy code, specific hardware drivers, optimized routines, AI algorithms, so that users can create their own libraries from C/C++ code or other programming languages.
MAZ Laboratory’s Modular Intelligence Machine (MIM) environment is ideally suited for companies, laboratories and individuals who lack programming expertise, but possess field-specific knowledge that must be translated into software programs relevant to their specific domains.
MAZ Laboratory is currently expanding its technology partner base. For more information on MAZ Laboratory’s partnership programs, please write to [email protected].
More about MIM
MAZ Laboratory’s Modular Intelligence Machine (MIM) technology is a breakthrough visual programming environment. Its innovative, open platform simplifies software development and brings sophisticated, easy-to-use visual tools to the hands of programmers as well as to less technically experienced field experts and professionals.
This translates into massive reductions in programming time, and increased savings, productivity and efficiency for the corporation.
About MAZ Laboratory, Inc.
MAZ Laboratory Inc. has as its core mission, to ease the task of programming computers through new intuitive interfaces, tools and technologies. MAZ Laboratory is a leading edge software development company with extensive experience in Artificial Intelligence, Real-time simulation and Graphic User Interface design. The company is dedicated to simplifying software programming by designing and bringing to market advanced visual programming technologies. MAZ Laboratory offers its own proprietary software technology called the Modular Intelligence Machine (MIM®), a Visual Development Environment (VDE) for rapidly developing, integrating and deploying complex software solutions.
For more information on MAZ Laboratory, please visit the website at http://www.mazlab.com.
MIM, IDE are registered trademarks of MAZ Laboratory. All other trademarks are the properties of their owners.
# # #
For more information, contact:
Maz Laboratory, Inc
[email protected]
Even if I don’t understand their approach, those are some pretty screenshots! Their website seems kinda slim still. What OS does this run on? And how did they get it to look so pretty? Programmers deserve a pretty IDE to work in too! At least I like one, and this seems to fit the bill. Still can’t get over how pretty it looks.
>And how did they get it to look so pretty?
With Photoshop, an artist and a manager above his head.
As I write in the story, these are their mockups. I don’t know in which stage their software is still.
I absolutely disagree with you. An IDE is nearly exclusively used by people who know computers very good. And especially for them it is very important, that it uses standard behavior of the operating system it runs on.
And what about prettyness? And judging by these shots, I also don’t think it takes up the user’s system colors. And I don’t consider *any* “big” program nice which doesn’t at least fit in my color scheme.
Some more info here:
http://www.mazlab.com/Texte/PressReleaseMb1-21-04-03.htm
As for the OS it would run, it might be Windows, but if that says something, Maz Lab are already an SGI partner:
http://www.sgi.com/products/appsdirectory.dir/apps/app_number835304…
And how exactly is maz3.jpg easier for anyone than
R = ( OP==’+’ ? A+B : A-B )
Or even
R = eval( (%s%s%s) % (A,OP,B) )
?
It says it will have “full portability achieved through user interfaces entirely based on OpenGL.”
And considering they mention Visual Basic and C#, it is likely it will be available for Windows.
-he
I use OpenDX (http://www.opendx.org) to do visualization work.
It uses a similar visual programming paradigm, and it pretty damn good at what it does.
However, this is not revolutionary, If you are at all interested in 3D graphics, I suggest you take OpenDX for a spin.
How is this set apart from Java Beans enviroment or even one thats supposeduly better, G by National Instruments (An Example of G is Lego Mindstorm software).
VisualAge anybody? I tried it, thought it was cool, but the moment you got beyond “hello world” it became ridiculously hard and complicated.
I still hope somebody can crack visual programming. Computers shouldn’t be hard to program, but they are. Maybe these guys can open the doors to the masses.
I just don’t see the benefit of this particular application. Look at the complexity of things on the screen on the third screenshot considering the simplicity of the code it is referencing. A pretty interface and looking at loops and code blocks in virtual 3d views does not make a visual coding miracle. Pretty does not equal functional.
I’ve seen 4GL and visual interfaces come and go over the last 15 years on so many platforms I’ve lost count (AS400, OS2, x86, etc.). Funny thing is that the general idea of an IDE remains. Since they have real *use* — and the xGL app no doubt will not do all the tasks you need (model in it but compile via text editor and commandline, etc.). They mostly (90% of the time) defeat their own purpose.
Computers are complex beasts. Therefore they are hard to program. If you want to make them easy to program you must be prepared to put in the effort and climb the learning curve. If not, Deal.
Oh yeah, I’m one of those people that writes the code and uses the code to generate the UML to feed the cluebies who wouldn’t otherwise understand it.
National Instruments has a patent infringement suit against The MathWorks (makers of MATLAB) over their Simulink package. From what I understand, one of the items in dispute is this type of interface. The drag/drop data-flow connection diagramming UI stuff. IANAL of course, and i haven’t been following too closely, so i’m not up on the finer points.
Back in the early 90s, Novell sold a product called Appworks, or something like that, that was very similar to this product.
Novell’s program made it very easy to do a set of programming tasks, but it couldn’t do much outside of the prefabricated offerings. This limitation limited its use to small scripting-like tasks, or small, simple window based programs, but not much else.
I would be interested in taking MAZ Lab’s product for a spin, but I don’t expect their offering to ever gain widespread use based on my previous experiences with a “Visual Development Environment”.
As a programmer for years, I must say the view of those screenshot are disgusting. There’s *NO* way this kind of point and click interface can let us code better and easier, and most of all, faster.
I’m all for intuitive GUI design tools (Delphi, Visual Basic), but to think about replacing actual line of codes but a VISIO-like interface is just a fool idea.
Hope I’m not close-minded here, but don’t count on me to advocate for that … “thing”.
“And how exactly is maz3.jpg easier for anyone than
R = ( OP==’+’ ? A+B : A-B )
”
Agree. How can this full-screen mess (shot #3) can be easier in ANY way than one single, clean, line of code ?
As someone who has spent the last 10 years researching visual programming, publishing papers on the subject, and having been involved in the design and development of 3 seperate VPLs I can say that eye candy is no match for sound design principles that take into account the cognitive requirements of developers.
I’m sorry to day that the “claims” of “new and improved” don’t fly why it’s time to use the language. From my initial assesment of these screen shots I can easily see that this system will be difficult to scale to larger programs. There is too much visual information in the syntax that does not seem relavant to the semantics, making the semantics difficult to interpret.
I wish them luch as a company, but I fear that this has been designed by a graphic designer rather than a specialist in this field.
If anyone is interested in learning about visual programming visit Marget Burnett’s Bibliography http://cs.oregonstate.edu/~burnett/vpl.html or visit our research lab at http://www.cs.dal.ca/~vivid/ or go to the IEEE annual conference on VPL here http://www.cs.dal.ca/HCC03/
Or, if you’re into BeOS check out the VPL I’m working on here:
http://www.cs.dal.ca/~gauvins/images/screen1.png
Cheers.
A full-screen diagram to acheive what can be accomplished with a single line of code. Its ridiculous. And this sort of stuff is so tied up in patent disputes that you’d never be able to safely release it anyway.
I agree with you, the screenshots are pretty, but they doesn’t seems to scale very well with large programs …
Personnally, I’m quite interessted with visual programming (or other “design” possible advances for programming such as AOP for that matters) … but one of the problem I see with many “visual” tools is that they try to be a “complete” visual langage, describing everything — which turns to be overcomplicated at some point (a single “normal” line of code will be far faster to write and easier to read than this whole #3 screnshot … which kinda defeats the purpose of a visual tool). Yet I believe that this approach could bring very interessting results …
The BeOS VPL (Reactograph) seems interessting 🙂
Do you plan to release it under GNU GPL or other free software licence ? are you planning a linux port ? and does it uses some “proprietary” runtime or does it generate source code (and thus, which language ?
This looks very much like Labveiw and Matlab Simulink. Both let a user program something using a graphical interface and connecting funtional blocks. Matlab Simulink can be compiled and run on embedded computers to be used as controllers from basic machines to automobiles. Maybe they are trying to create a more open system and one that doesn’t cost a fortune. Will be interesting to see how they make out
Laugh if you want, but a good example of this sort of thing is the game MindRover.
I can tell you from experience that this sort of thing doesn’t scale at all. Also, in MR the visual environment is 2D. These mockups look 3D which helps for scaling purposes, but then again, makes things more complicated.
There’s a reason books are huge strings of text. Complicated ideas are complicated to create. I can’t see this sort of thing ever really working well mostly because of the way you have to connect each node or module. Pretty soon you have spaghetti all over the place, and that’s way harder to conceptualize or debug than plain old code.
Just my opinion.
This concept has already been done with the Eiffel programming language. Eiffel has been around for 15 years and still only has a presence in major finance and some scientific endeavors; how they can implement the same concept with C++ will be interesting to see.
That being said, I think a visual programming interface of that sophistication is a pretty good idea. I particularly loved the yutzes who put up that line of code and wrote “Hey, what could be simpler than that?” Hell, E=MC(squared) is a simple formula too but few people understand it. However if I say “The faster an object moves, the greater its mass increases, therefore the more energy is needed to keep that object moving at a relative speed.” Sometimes more is better.
The BeOS VPL (Reactograph) seems interessting 🙂
Do you plan to release it under GNU GPL or other free software licence ? are you planning a linux port ? and does it uses
some “proprietary” runtime or does it generate source code (and thus, which language ?
Thanks. Yes, plans are to release the language under GPL. As for a Linux Port, that may happen, but it’s not a priority atm. The reason is that noone really uses Linux for graphical apps, that ReactoGraph is designed to create. Noone uses BeOS either, but it’s just more fun to program in than Linux using C++.
As for the runtime engine, there will be one written in C which will be portable. ReactoGraph is also component-based and these components are created in C or C++ and linked into the language to allow it to be expandable and access other code during run-time. This will be integrated into the IDE.
ReactoGraph is a “complete” language, in that it is Turing-Complete, and can be used to build anything. It is designed primarily as a visual language for GUI development. It uses direct manupulation, prototype objects, data flow operators, and message passing for inter-component communication. The use of messages also provides a concurrency model that is being investgated in the area of distributed computing by passing messages between computers, rather than only GUI components as it does now.
As for when this will be released… it’s in the works now and should be released some time next year.
Thanks.
Thanks. Yes, plans are to release the language under GPL. As for a Linux Port, that may happen, but it’s not a priority atm. The reason is that noone really uses Linux for graphical apps, that ReactoGraph is designed to create. Noone uses BeOS either, but it’s just more fun to program in than Linux using C++.
Ok … yes the BeOS toolkit is quite good 🙂 (but I’m now totally on the Objective-C side and no more C++ — using GNUstep, not Cocoa..)
ReactoGraph is a “complete” language, in that it is Turing-Complete, and can be used to build anything.
Interessting. To be more specific about my rant on “complete” visual language, what I find odd is to use a visual thing for very low level operations which could be better done via classic languages. But I’m still interessted in Visual languages because, as prototyping tools or for connecting existing components, they obviously provide a better approach than a hundred of headers files …
By curiosity, what’s your experience about that ? because theses are my opinions, but it’s not my main research topic 😉 and I could be totally wrong 🙂
In fact I think a visual representation could be helpful even for “low level ops” but that coding them classically is easier/faster; a parser able to generate a visual representation from source code seems a solution. Or better, a bijective language, graphical but also with a textual representation, thus you could easily switch from the best representation you need at a moment.
The use of messages also provides a concurrency model that is being investgated in the area of distributed computing by passing messages between computers, rather than only GUI components as it does now.
Yes that’s the expected next step with messaging; ideally it will be totally transparent (objects could be moved on different computers not only explicitely but automatically, following certains rules (maximising speed, or net load, etc.))
Anyway ReactoGraph seems promising, but I guess I must wait for a linux version.. 😉
Interessting. To be more specific about my rant on “complete” visual language, what I find odd is to use a visual thing for
very low level operations which could be better done via classic languages. But I’m still interessted in Visual languages
because, as prototyping tools or for connecting existing components, they obviously provide a better approach than a
hundred of headers files …
If by “low level” mean semantics like mathematic operations for creating expressions research has shown that such things are better left to ‘math-like’ textual language usage since most people are familiar with math from education. The problem when you try to do this with a VPL is that you now introduce another level of abstraction from the users original mental model by which they are now required to translate their knowledge of math into some visual semantics and back again. Formally this is called a “Hard Mental Operation” and causes an increase in cognitive load, thus making the use of graphics in this instance harder than non-graphical representations.
If by “low level” you mean accessing less abstract parts of a computer program and its operation, such as pointers, functions, arrays, and other such “low level” language constructs then VPL can be of benefit. The reason is that all these low level abstractions are just that, abstractions. Arrays and pointers are not really arrays and pointers, they are electrical changes on transistors in chips, but we create abstractions for programmers to understand them in context of a programming language. Therefore, we can also build visual abstractions for these concepts that are simpler. Take LabView for example. This language deals with data-aquisition and performs low-level operations on data in a data flow graph. It’s appropriate since engineers think of data flowing along wires and transformation through nodes in the graph. It does low-level things, but the mapping is correct to the audience.
Simpler means two things: usability and usefulness. Usability answers: Is the language easier to use, can I figure it out by looking at it, does it map well to my understanding of the problem, does it provide affordances letting me know how to modify it. If all these questions are answered by the visual design of the language, then the language is usable. Usefulness answers: Can I do operation X in the language, can I achieve my goals, does it provide the functionality I need. If you want to do matrix math, but the language has no concept of a matrix, or array, or any way to randomly access memory, then it’s not useful, and probably should not be used for this goal, not matter how usable the language may be.
The point in the end is that a language is designed with two constraints, 1) the cognitive limitations of human perception, 2) the target problem domain the language addresses. Any language you create should deal with both of these issues directly. The problem is that 99% of all textually based languages completely ignore the first constraint, humans. We simply have not, in the last 30+ years, spent any significant amount of time building languages for people to use. They are primarily designed for compilers to read and they don’t take advantage of the human perceptual system in any real way. As an example, take the fact that humans process 2D graphics much faster than sequential series of characters. It takes a human a LONG time to read through code such as C++ and understand it, even if you’re the author. Why? Because humans are not really designed for sequential processing of text in an efficient way. We can do it, but it’s slow.
We try to compensate by using 2D information in textual languages by constructing geometric patterns in the code using indenting. This make a BIG difference to our ability to interpret the code. Have you ever tried to read a program on a single line? Try it, you’ll see what I mean. All the “Visual” information you get from indenting is gone and your brain has to rely totally on the content of the string alone, much harder. So you can see how graphics can help even textual programming. As Confusious says, “A picture is worth a thousand words”. The trick is to get tge “right” picture for “right” thousand words =)
Cheers
Very interessting article ! thanks for taking the time to explain a bit more VPL.
It amazes me that whenever OSNews posts an article on some really obscure aspect of computer science, there always seems to be at least one qualified expert on the subject among the readership able to give everyone the scoop.
Thanks.
nothing beats Emacs as a serious software engineering environment. 25 years of tweaking makes it the best tool written for programmers, by programmers. Sorry IDE lovers, but the graphics limit you to what the GUI designer had in mind. Text based editing may be harder, but it poses no restrictions on WHAT YOU TELL THE COMPUTER. And that is what programming is all about, or not? How would a user of an application or an embedded system care about my programming environment – he/she doesn’t care. As long as I can edit code in a convenient way, GUI gimmicks don’t matter.
So I can put a flowchart into a graphic format and have it ‘generate’ some code.
Yawn…
BTDT