Mark Smit

Session Info

Master Object Consultancy

Mark Smit is owner of Master Object Consultancy (www.masterobject.com), a Dutch company that focuses on development of reusable components for Omnis Studio. Mark has over 23 years of software development experience, ranging from tweaking machine code in industrial automation systems for textile plants to complex client/server enterprise applications. Mark also founded MasterObjects Inc, a company that a sells web-based information retrieval technology called QuestFields.

A frequent EurOmnis speaker, Mark's focus is on maximizing developer productivity and application maintainability through the use of established design patterns and a strict adherence to the "Single Point Of Definition" concept. Mark is the creator of the MasterStudio framework for Omnis Studio and of PlanBoard, a popular scheduling component written entirely in Omnis.

Although PlanBoard can be used without any understanding of the underlying framework, Mark's forte has been helping other Omnis developers learn and understand design patterns and implementing them cleanly in Omnis. Many developers are now using the same proven concepts for building complex, multi-(sub)window applications in less time, with fewer bugs. Understanding OO can be difficult, especially for developers coming from Omnis Classic. But once developers overcome the learning curve, they experience real empowerment. Mark's favorite quote is from an Apple engineer: "A steep learning curve is good. Because it means you learn a lot in a small amount of time." He has experienced this himself, and gets a thrill out of others saying "Wow. I never thought I could do that!"

Session Info:

Topic 1: Multi-(Sub)Window Applications
While it is easy to build a window in Omnis Studio, most applications consist of many windows and "panes" that contain near-identical functionality. While it is possible to create a window superclass that provides common functionality, this superclass has a tendency to grow out of control. And, once we start mixing and matching functions and subwindows more than one level deep, it becomes difficult to manage the relationships between these components.

In this session, we'll talk about using tasks and controller objects to host the "logic" behind your windows, giving window classes only one responsibility: being a View. By linking window components (notably subwindows) to a corresponding controller object, they can suddenly be reused anywhere. And you can easily implement seemingly complex features, such as "open this tab in a new window". By nesting controller objects in a hierarchy, we can use the "chain of responsibility" pattern to manage their relationships.

Session participants will receive working code examples and a MasterStudio-based demo application that shows what can be achieved.

Topic 2: OO Techniques for "Single Point of Definition"
By cleanly applying object-oriented concepts in Omnis Studio, we can avoid writing any logic twice. And thus, we can avoid fixing a bug and having it pop up again anywhere else.

It is not always obvious that code that checks user input behind a field should really be located in a table class. And what if multiple fields do the same thing? In that case, we can create a common object instance to manage their functionality. If we display buttons as well as menus and context menus that allow users to control your application, shouldn't these various "View objects" call the same function automatically? And if a specific function is currently disabled, shouldn't all corresponding buttons and menu lines be disabled as well?

In this session, we'll explore various ways in which the ideal of "Single Point Of Definition" can be implemented in Omnis Studio. Participants will receive working code examples and a MasterStudio-based demo application that shows what can be achieved.

Topic 3: Planboard scheduler
PlanBoard is a collection of Omnis Studio classes that allows visualization and management of time slots in Gantt chart style windows. Typical applications include appointment scheduling, employee planning, project planning, event calendaring, broadcast channel programming, car rental, room rental, resource allocation, machine use planning, advertisement scheduling, frequency allocation and ticket sales.

In this session, together we can build a graphical scheduling application, based on PlanBoard for Omnis Studio. Using a single object instance called a "delegate", we will set the content and terminology. What all PlanBoard applications have in common is that they help users plan something (or someone) at a certain time with a certain goal. If your application does this, we'll be able to develop a solution during this session. Participants will receive a development-only copy of PlanBoard for Omnis Studio.

Thursday evening: QuestFields -- Super-fast Internet retrieval technology
Over the past 8 years, MasterObjects, Inc. developed a groundbreaking technology that enables search fields in web pages to immediately respond to user input. In this session, MasterObjects' founder Mark Smit will demonstrate the awesome power of QuestFields, showing near-instantaneous retrieval from remote content sources using web applications that work in desktop browsers and on mobile devices including iPhone, iPad, and Android. The QuestFields solution is fully open and enables you to practically offer your clients "Google Instant for their own data" and fits in with any content management system and web server.

Mark will also explain a business opportunity for an Omnis external developer: In the web browser, QuestFields currently use AJAX (DHTML) or Adobe Flash. So no plug-ins are required, applications do not need to be downloaded from an app store, and Apple iOS devices are fully supported. However, the power of the QuestFields Server would also be of great benefit for Omnis applications that involve retrieval from large content sources. Such an Omnis application would require an Omnis external that acts as the "QuestFields client". MasterObjects is actively seeking a partner who would be interested in implementing a solution that empowers Omnis developers to enhance their apps with ultra-fast data retrieval. Since the QuestFields Client and Server are licensed separately, this is a lucrative joint business opportunity.

back to top

Back