Tuscany, Italy

4 days / 20 talks
Awesome and great speakers

October 16-21

Lars Scharer

Lars Schaerer – University Hospital Freiburg & CNM Systemhaus GmbH

Lars fell in love with the first version of Omnis 5 running on Windows 3.0 some 23 Years ago, when he needed software to run the System-House, which he founded with his brother in 1987.
After finishing med school, Lars acquired a PhD in medical informatics, specializing in clinical research databases.

Lars wrote his first mobile app in 2001. Since 2005 he contributed sessions on mobile computing to several Euromnis Conferences, helping to push our community into this ever growing market.
The first Javascript Client success story on the Omnis/TigerLogic Website featured one of his apps.
Since the first ßeta of the Javascript Client his main project is a christian social network app.

Lars enjoys living in Freiburg, the warmest city in Germany, with Steffi and 4 boys. He never understood the difference between work and fun – so he is always and everywhere trying to change the world to what it was meant to be.

Pimping the Java Script Client;
Getting a more complete and convenient Notation tree … and more

Hands on session enabling you to pimp the Omnis jsClient, modifying the original Omnis code, using and finding non-documented features, adding to its core functionality and improving debugging.

For good and for bad: the code of the JSClient is open. This session will provide you with a sample app showing how to:

• Get additional notation features like $cwind, $iwindows and a notation tree is accessible in the debugger, allowing you to improve the debugging process

Do you remember learning notation for omnis fat client? Maybe a steep learning curve, but very rewarding: So much more control, easy and speed for development.
Omnis JS client does offer only a limited subset of the notation tree of the fat client.
But as the code for JSClient is open, we can add to it.
This will allow e.g.:
o Showing multiple forms at once (in one task)
o Communication between subwindows – good for widgets
o Communication between forms – removing the need for a “desktop-window” – allowing for more complex apps – allowing for window instances

• Escape from callback hell, by adding your own stack for survival in an async world

• Bypassing build in communication
Full control, what is sent and what is not. Run multiple server methods simultaneously.

• Reconnect lost JSC Sessions.

• Set up a lightweight and convenient widget Framework
Use the many js & css widgets out there in omnis, without coding javascript, often without coding at all

• Customize an IndexDB

• Add custom functions to smartlist

Which technique to explore to what extend is decided by the group.

A secondary aim of the session is to foster the building of groups of developers collaborating in writing open source code for the best implementation of these components.

Improper use of some techniques demonstrated might violate you licence agreement. This is not encouraged.

$martlists for Java Script Client;
Fast and convenient local DB – without wrapper

Hands on session enabling you to easily boost your jsClient apps with fast local data storage.
With a sample app superclass we will make sure that each participant gets basic local database operations running in his app using convenient smartlist functions. More advanced issue decided by group.

Smartlists were one of the major enhancements of Omnis Studio right from the first version.
Smartlists simplify data handling a lot, allowing to handle a complex data structures easier.

This hands on session enables you to easily boost your jsClient apps with fast local data storage (Indexed DB) using the convenience of familiar $smartlist syntax.
With a sample app superclass we will make sure that each participant gets basic local database operations running in his app. If and which advanced issues are pursued is decided by the group.

Using a sample library we will practice :
• Local Database Setup
• Smartlist functions (executed on client)
o $insert, $update, $dowork, $undo, $filter,
• Cursor functions
o $next, $previous
• => stacking dependent asynchronous calls
• Triggers
• Defining Lists EOC
• Caching
• Simple $sync with server
• Handling relational data
• Handling complex data types incl. Pictures
• CRB setup

We will focus on USING an open source superclass providing both IndexedDB and $martlist function. The aim is to implement it into your app, with very little parametrization required.
To get into depth in UNDERSTANDING how the superclass works internally, please join session “Pimping the JavaScript Client”



Follow Lars




About workshops


You’ll sign up for the session you want to attend on a first-come, first-served basis. Up to 6 participants may attend a session, if full, you can sign up for the same topic at a different time. During the session, the speaker will guide the audience through the main topic but you will be able to ask him/her to deviate and cover related areas. Sometimes participants offer new ideas and solutions to a problem.

Check the


Pursue any question or area not directly related to the core topic. Every speaker hosts at least 4 sessions which means there are about 11 to 12 simultaneous sessions running all the time with an average of 5 or 6 participants

Meet the Speakers

Check the


Flexible conference format means you can choose the best classes for you and at the best time. Some sessions will be repeated, so when you miss one, you can attend the same session later in the day or the week.

Check the Schedule