My GUI Framework, EZGUI, is being used to build some important industry software. In this post I will be highlighting some examples of this you may find interesting. But why would anyone use a GUI framework like EZGUI to build commercial software ?
EZGUI was designed specifically for use with the PowerBasic line of compilers. PowerBasic produces fast executing applications with a small footprint. For more information about PowerBasic, why not visit their web site: http://powerbasic.com
EZGUI itself was also created using PowerBasic, so when you build applications with it using the PowerBasic compiler, your application can still be said to be built 100% using PowerBasic. EZGUI was designed with a number of goals. The first is ease of use. EZGUI makes coding faster and easier. While it has its own drag and drop Visual Designer/Code Generator (which itself is an EZGUI app), some of my customers actually like to hand code their applications. Imagine hand coding an entire commercial application with no visual designer ? EZGUI was designed so this is also possible and it actually offers some advantages.
EZGUI is a RAD tool so development is faster. Yet, EZGUI is also a powerful GUI engine with many useful features in it. Where EZGUI gets its power from is its ability to tap into core features of the Windows WIN32 API. It can dynamically change itself based on which version of Windows it is running on, so the runtime will work on all versions of Windows from Windows 95 to Windows 8 (desktop). Because it taps into the WIN32 API’s without the use of objects and COM, it runs fast and is very lean. For example, consider the classic Visual Basic runtime DLL’s. The core DLL is 1.4 meg in size and you have to add a number of extra OCX’s just to support controls like the listview, treeview and richedit. You have use another OCX just for the common dialogs. The total can end up as much as 3 1/2 megabytes just for an average program. EZGUI on the other hand uses no OCX controls and talks directly to the WIN32 API. Its core runtime is only 700 Kilobytes in size and the main set of runtime DLL’s comes to be about 1 megabyte in size. But what do you get in a 1 megabyte runtime ?
Not only do you get all the core Form and controls, including most of the common controls (ie. treeview, toolbar,listview) and the richedit control, but you also get many low level features you won’t find in classic visual basic. There is a subclassing engine, superclassing engine and even a thread engine for building worker threads which can commuincate with the primary GUI thread. EZGUI supports MDI (multiple document interface), tray icons, the common dialogs and more. It also has its own print engine built in with a feature to help build a print preview. But it is also designed for advanced customization using ownerdraw and customdraw. You can create totally new controls simply by customizing existing ones. Even the common dialogs can be customized. But there is more ! It has a low level graphic engine which can be used for ownerdraw and drawing directly into any Windows or memory DC. You can draw in memory or on screen. You can draw low level during ownerdraw events for controls. But there is more. EZGUI has a number of its own custom controls built in, which I built from scratch. It has a masked edit control, Shape/Hot spot/splitterbar control, files listbox control, a real property listbox control and an MCI control for multimedia.
But there is more ! EZGUI has its own drag and drop engine for building real drag and drop Visual Designers. EZGUI’s own visual designer was built using EZGUI. Building a Form editor is not an easy task, but with EZGUI it is easy to do. EZGUI even has its own drag handle control, which makes adding drag handles easy. The drag and drop engine can easily display hundreds of drag rectangles at one time on drag mode.
But there is more ! One of EZGUI’s most powerful features is its Canvas control. It supports double buffers in DDB (device dependent bitmap) format or in 16,24 or 32 bit DIBs (device indpendent bitmap) format. You can can access pixels directly when using DIB’s without the need to use the Windows GDI. EZGUI 5.0 Professional can draw images with 360 degree rotation or alphablend them. But one of the most powerful features of the Canvas control is its built in 2D Sprite engine. No directX required. EZGUI uses a proprietary sprite engine which works on any version of windows (95 to Windows 8) with no special hardware required (no DirectX or OpenGL).
But not done yet ! EZGUI 5.0 introduces the new glCanvas control which is a hybrid control based on the regular Canvas control but with a 3D OpenGL based scripting language on top. OpenGL 2.0 is quite universal and EZGUI’s 3D engine was not designed for games, but instead was designed for real business use. It is embeded into a real Windows control class, so you can put as many instances of a 3D control on a Form as you like (no need for full screen or a single window app). It was designed for real 3D animation, but instead of being designed for games, it was designed for business use. For example 3D game model formats are designed for low polygon count models with high quality texture maps for fast speed and the appearance of realism. EZGUI was designed for high polygon 3D models with no texture maps, but they get their realism from the high detail of the model. It supports the rapid prototyping industry standard 3D model format which is STL. EZGUI can quickly load 3D models with millions of polygons (triangles) with amazingly high detail. This is all built into the EZGUI runtime.
There is more than I have mentioned here in EZGUI, but the real question is: “Is EZGUI really being used in important industry software ?”.
Let me show two examples:
The first is a company called Fathom Systems (see: http://www.fathomsystems.co.uk/ ). Their software developer sent me some info about an interesting video online of a underwater project developed by Chevron. Fathom Systems developed some of the hardware for their system, including software to go with it. Watch this video and at about 4 minutes and 33 seconds in, you will see a laptop computer used in this system which is running the hardware created by Fathom Systems, which was developed using my GUI framework (EZGUI) and PowerBasic:
Another company develops wireless intercom systems, both hardware and software, which is currently sold by ClearCom. The Tempest systems they develop has a software package called TDesk, which was developed using PowerBasic along with EZGUI. Some very big name companies use the Tempest systems, which means they are also using software created using my GUI engine. In this video about 2 minutes and 5 seconds in it discussed the software which comes with the Tempest systems and that software was created using my GUI framework, EZGUI, and PowerBasic. When you consider how many businesses and industries are using the Clearcom Tempest systems, the number of actual companies which depend upon EZGUI running as the backend is signficant.
Now some of my customers are just independent developers who designed software for their own use, some hobby programmers, some for small businesses and some for a variety of inhouse software, but the above examples demonstrate that EZGUI can even be used to build software for big companies too. Applications designed using EZGUI don’t need a large footprint either. Unlike some modern development tools which produce software which usually require faster and more powerful PC’s, EZGUI (and PowerBasic) allow you to build software which can run on low power PC’s or Tablets, with minimal memory, minimal CPU’s like Atom and which will run on legacy PC’s running Windows XP with minimal memory just as well as on current PC’s running Windows 8.
Yes, EZGUI is capable of being used for some important commercial software and it has many advantages.