Projects and Screenshots
Web-Controls with SVG and Blazor
Interactive Vendor Map
Engine Trend Monitoring
Code- and Schema Generator
VIS - CRM Sales Support System
Generic Test Environment
CONCERT-NT - Urban Traffic Control
Electronic Document Management
3DE - Graphical Configuration Tool
IW3 - Web-Host Connection
Picasso, VB Application Generator
PrimaVista - Presentation Software
WDPA - Image measuring and DOS control
PrintForm - Print Formatting
VPC33 - Viskosimetrie
In the following we are going to present some of the more exciting products,
we have developed in the past.
For every product we will try to show some interesting pictures, followed by a description or an overview of the highlights. (You can use the zoom function of your browser to view more detailed pictures.)
Web-Controls with SVG and Blazor, Medical Software
- Web-Controls for a medical application: Histogram, Range-Slider, Oscilloscope, LinearGauge.
- All controls allow dynamic data display; the application can (using the Blazor interface) provide continuous streams of data to the controls, which they then will visualize immediately.
- The (Range-) Slider is an interactive control; it can be controlled by mouse and keyboard and supports single value or value range selection.
- All controls can be scaled; with or without scaling of the labeling.
Interactive Vendor Map, Fintec
- Map of Germany with a list of all vendors.
- The vendor list is created dynamically from enterprise databases.
- It is implemented as a virtual list, without pagination.
- The map is based on open-source map material, without connection to public online services.
- The map contains SVG overlays. Clicking any of them selects the vendors in the matching area.
- Clicking on a vendor record, displays the vendor's location on the map.
- The system was developed for Carl Zeiss Microscopy GmbH.
- Its main purpose is storage and visualization of high-resolution images.
- It can import and store all kinds of documents and has a very flexible, customizable system for metadata import.
- The metadata is used for dynamic data drill down, as well as various kinds of tables and graphical image overviews.
- Images are shown in the internal high-speed viewer.
- High-speed zooming and panning is possible.
- Collaborative annotations and comments are supported, as well as image correction and channel selection.
- For administrators, the system contains a versatile management area.
- All of the administration and most other functions are also available from smart phones.
- The system is supported on mobile and desktop devices and many operating systems.
- An app has been created for the Apple iPad and is available in the Apple Store.
- The server system is accompanied by two desktop applications: Uploader and Installer.
Premier Support, Distributed Services, Microsoft GTSC EMEA DSW
- Communication with customers throughout Europe.
- Cooperation with some of the best people in the field.
- Working for banks, insurance companies and software producers.
- Using latest technologies to solve customer problems.
- Getting deeply involved in to the Web Services infrastructure.
- Reading and interpreting standard documents, like W3.ORG & OASIS.
- Answering strategical Questions.
- Giving design and architectural advice.
- Solving performance problems.
- Troubleshooting on a low level.
- Analyzing dumps and network monitor traces.
- Stating questions to the product department and cooperating with them.
- WCF, Windows Communication Foundation.
- Microsoft.NET Web Services, WebService interoperability.
- XML, XSD, WSDL, DISCO, Certificates, Kerberos.
- Service-Oriented Architecture, SOA.
- Microsoft Visual Studio.net 2008, C# 3.0, VB.net.
- DCOM, COM, Enterprise Services.
Advanced Debugging Utilities:
CDB, WinDbg, Fiddler, WireShark, Network Monitor.
- Support utilities and information databases.
- Using LiveMeeting, Communicator & EasyAssist.
- ASP.NET 1.1, ASP.NET 2.0, .net Framework, Remoting.
- Interoperability: VB6, COM, DCOM, DLLs, PInvoke.
Engine Trend Monitoring, MTU Aero Engines GmbH, München
Engine Trend Monitoring
- Improvement of an existing application.
- Porting of this application to Visual Studio 2005.
- Workshop about Visual Studio 2005.
Life Consumption Monitoring
- Design of a new application for engine life consumption monitoring.
- Architecture, coordination, GUI design
- Requirements specification, prototypes, feasibility studies.
- Reengineering, Refactoring, Porting.
- Windows Forms 2.0, GUI Design.
- Microsoft Visual Studio 2003, .Net Framework 1.1.
- Microsoft Visual Studio 2005, .Net Framework 2.0.
- Microsoft Office 2003.
- Programming Microsoft Outlook 2003.
- Oracle 18.104.22.168, trigger, stored procedures, table valued functions.
- Embarcadero dbArtisan
- Merant Dimensions 22.214.171.124
- FarPoint FpSpread For Windows Forms 2.0, .net (spreadsheet control)
- IOCOMP WFPlot v3SP2 (graphics and plotting control)
- Microsoft.net Data Access (ADO.NET), SQL
- Custom database access interface.
- BackgroundWorker, XmlReader, System.Configuration, Snippet design.
- Managing application settings. ADS (Alternative Data Streams).
- IMAP e-mail management protocol.
Predictive Dialer Server for ProCenter
- We developed a new dialer application from ground up.
- Right from the beginning we decided to use the Microsoft .NET framework.
- The Dialer was connected to a HiPath ProCenter and this to a HiPath 4000 PBX.
- A CreaLog IVR was used for outbound dialing, touchtone and voice recognition.
- The Dialer server communicated with the ProCenter, the IVR and the agents.
- Besides the Dialer server, three client applications where developed:
- Agent Desktop, Campaign Control and Campaign Manager.
- The Dialer Manager is used to manage campaigns, timing factors, dialing strategies and phone number lists.
- Within the CreaLog IVR, scripts like the above can control the interaction with the called person or answering machine.
- The Dialer controller can be used by administrators to start and stop campaigns.
- Besides that, it can adjust the dialing mode and the campaign pace.
- Visual Studio.NET 2003, Windows Forms, C#, Csharp, ADO.NET, SQL, Microsoft SQL Server, XML, XSD, UML, MDA, Oracle 10g, Oracle .NET Interface, IBM Informix .NET Interface, Gemini Issue Tracking, HiPath ProCenter Administration, Visual SourceSafe, Remoting, Socket Interfaces, Multi-Threaded Programming, CreaLog CreaVoice Server, Softphone, Call-Center, VMware.
Code- and Schema Generator for .NET
This generator was developed across multiple projects. It is used to generate databases, database schemes, database tables as well as XSD files, corresponding typed datasets and source code to access the database or dataset.
- Based on the meta data table, the following structures will be generated: - database schema; all tables, indexes and constraints. - XML schema (XSD); all tables, indexes and constraints. - graphical representation of the data model. - documentation of the data structures.
- Besides that substantial C# code can be generated which wraps and manages the data structures. This code consists of based classes, thread-safe data classes and thread-safe collections of based classes. The code contains generated SQL statements to insert, change, delete or query the database, taking into account the primary keys, constraints and timestamps.
- Optionally the Generator can generate SQL code and wrapper classes for ADO.NET and .NET DataSets.
- The basic approach of the generator is similar to the Model Driven Architecture (MDA); but without its disadvantages especially in combination with complex algorithms.
- It performs a kind of object-relationship-mapping (ORM) but with a very low runtime overhead, because the necessary logic has been generated in advance.
- Visual C# .NET 2003, Windows Forms, C#, Csharp, ADO.NET, SQL, Microsoft SQL Server, XML, XSD, UML, MDA, Oracle 10g.
CRM Sales Support System
This application is used by a wholesale company to manage sales activities.
It consists of a CRM core, with customer information, visit reports and
a very detailed reclamation management.
The project started with reverse engineering of its predecessor, an application written in-house. The database layout and the application procedures were largely undocumented and had to be reconstructed from the existing Microsoft Access tables and source code.
Its implementation involved the following tasks:
- Port of a Microsoft Access® Application.
- Design and implementation of the new system.
- Design of the new database schema.
- Design and implementation of a generic claims-based authentication process, based on roles and reusable algorithms.
- Development of a cryptographic solution for the login.
- Development of User Controls.
- Integration of reporting by using Crystal Reports® .NET.
- Development of a reusable table editor.
- Integration of email workflow features.
- Substantial work with ADO.NET and Data Binding.
Initial search page
Reclamation page, showing a choice selector.
Reclamation page, showing a date selector.
- Visual C# .NET 2003, Windows Forms, C#, Csharp, ADO.NET, Crystal Reports.
- Reverse-Engineering, Data Analysis, Workflow Analysis.
GTE, XML based generic test environment, Siemens Med, Erlangen
5.05.2003 until 31.10.2003.
I was given the task to design and implement a demanding generic test environment
for the internal product regression testing.
After the initial analysis and review phase, we decided to base this tool on XML and DTD. The complete configuration and workflow description was contained within these XML files. The following picture shows one example of such a file.
- Requirements analysis with UML.
- XML datastructure design with DTD and XSD.
- Design of an encompassing integrated runtime environment including tracing-, logging-, exception handling and assertions.
- Development of XML reading and verifying modules.
- Development of an XML based programming language for control and analysis of testrun workflows across process and host computer boundaries.
- Realization of the designs with Visual C++ and STL.
- Dynamic configuration and runtime control of SYNGO components. Control of the Component Manager with RTI.
- Distribution of parallel test software on different processes, components and hosts.
- Visual C++ .NET 2003, MFC, STL, UML, Rational Rose, DTD, XSD, XPath, XML Spy, MSXML, DOM, C#, Csharp, Perl, Rational ClearCase, ClearCase API.
- Prozessanalyse, XML Design, XML Parsing, SYNGO.
CRM System for insurance company, Call-Center, Munich
29.07.2002 until 31.3.2003.
- Reengineering, redesign and enhancement of an existing CRM application.
- Technical and organizational refinement of the user interface. Design of ergonomic and standard complying user interfaces.
- Design and realization of a source code style guide. Automatic formatting of all sources.
- Consulting and coaching in the areas of debugging and development with C++, ATL and MFC.
- Analysis of the existing Computer Telephony Integration. Design of a new CTI with UML and Visio. Design of an interactive, graphical user interface. Implementation of the new CTI with Genesys SDK und ASPECT ACT.
- Visual C++, MFC, VBA, STL, ATL, UML, Rational Rose, Oracle, Oracle DBA Studio, Lotus Notes, PVCS, Genesys, Aspect ACT, CRM, CTI, UML, Visio, Call Center.
- Process analysis, reengineering, refactoring, GUI design, usability studies, usability design.
International Internet Sales Software, Siemens AG I&S ITS, Munich.
15.04.2002 until 20.06.2002.
- Substantial performance improvements on client and server.
- Design and implementation of a base system for the server, including an HTML pre-processor and solid error handling.
- Infrastructure: Microsoft IIS (Internet Information Server) and Windows 2000 Server, MTS, COM+.
- Development environment: Visual Interdev, Visual Source Safe, Terminal Server and CodeWright.
CONCERT-NT - Urban Traffic Control, Siemens AG - I&S ITS, Munich.
April 2000 until April 2002
- Development of an ActiveX control to display traffic related messages within the Internet Explorer.
- Development of a base system (a toolkit and library) for the whole team, to make implementation of similar tasks easier and faster.
- Development of an automatic e-mail and fax distribution system for traffic related messages.
- The messages of this system were generated with Microsoft Word, using Automation. They could contain mail merge elements depending on database conditions, triggers and user interaction.
- Some document types were generated by transforming SOAP based XML messages with XSLT into HTML and reading this into Microsoft Word.
- These messages could be delivered as email by SMTP, Simple MAPI or MAPI. FAX transmission was made possible with Microsoft FAX Server or the Fritz!Fax Software. And a Videotext (VTX) interface with FTP transmission was also implemented.
- As a sideline I tracked and solved tenacious bugs in the whole system by using Power-Debugging methods.
- Another task was the development of a generic preview and printing system for StdPicture based images.
- Using Java, I developed Servlets which display traffic situations graphically. These did run on Tomcat / Catalina, and contained SOAP connections, multiple threads and live graphics. The data model was build with XML DTD and JAVA Data Binding (JAXB).
- Java Servlet, Visual C++, MFC, XML, XSL, HTML, SOAP, VBA, SMTP, STL, ATL, UML, Visual Basic, Servlet, ObjectManager, Outlook, Office 2000, Microsoft Word, Windows NT 2000, Rational ClearCase. Teamwork.
1999 through 2002
- Cobasoft Clock 3.0 is a nice and compact time management tool. It can show multiple digital or analog clock control panels, and it has a sharp analog clock in the Windows taskbar. Timers and alarms can be set with only 2 mouse clicks. The Cobasoft Clock keeps an automatic activitiy log, supports simple project billing, and shows the moon phase.
- The Cobasoft Clock is fully world-time enabled. It can show analog or digital clocks for different time zones, with customizable name and daylight time saving options. Alarms and Timers can be set relative to the time zone of one clock; this can be handy when travelling or when calling relatives in other time zones.
- The Cobasoft Clock is used by self-employed and home-office workers to track their working time automatically. It runs in the background and writes a report of the currently open window and the time spent in it. Additionally, one can choose a current project manually. This is also logged in the report and its times are accumulated. The automatic tracking can be turned off. The Clock can also be switched to Private mode, making it invisible for other users of the computer.
- The Cobasoft Clock is distinguished by the fast and easy way to set alarms or timers - one just takes a marker and drags it to a time, that's all. The alarms and timers can also launch programs and play sound and video files. They can be limited to certain days of the week.
- The moon phase icon is shown in the task bar, too, and has a tooltip that shows the exact moon age and time of the next full or new moon.
POET-EA - Electronic Document Management, HypoVereinsbank AG, Munich.
April 1997 until March 2000
- My task was the development of an Electronic Document Management system for the real estate department of a big bank. This system integrated scanned documents, existing office documents (WinWord, Excel...) with customer and account information.
- We used WANG and KOFAX imaging software and professional document scanners from Fujitsu and HP.
- Initially I developed requirements and design in close contact with our customers; the EDP and specialist departments. We developed specifications and prototypes.
- We mastered the year 2000 conversion and the fusion with Hypo Bank.
- My main task were the development of the user interface, the coordination of the team programmers, the development and assignment of their work packages, some part of the version management and some installation and rollout coordination.
- The project used Documentum and IBM VisualInfo as document storage and Microsoft SQL Server as database.
- Microsoft Outlook and Exchange served were used for the workflow implementation.
- I developed a business objects design which served us very well and which survived some very encompassing restructurings. It proved as indispensable for successful maintenance of the software.
This image shows a tree view of all accounts of a single customer. Under each account it shows the documents, grouped by document categories. Below the tree is a window with overview information for the selected object. On the right hand side, the details of the selected object are shown; for example a scanned image.
This image shows the scanning application. It was optimized for easy and efficient usage and allowed direct control of a variety of connected professional image scanners.
- Visual Basic, Visual C++, Outlook, Office 97, Exchange, SQL-Server, Documentum, Scanning, Imaging, Windows NT 4, Visual Source Safe.
- Teamwork, Coordination, Motivation.
SHRE - Syntax Highlighting Rich text Editor, Josef Keller Verlag, Starnberg
- A parser controlled module which implements dynamic highlighting of keywords and special phrases during user input. Clean C++ class design. Replaceable parser and control modules.
KDBL -- ActiveX Database Login Control, Josef Keller Verlag, Starnberg
- A Customer specific Login Dialog, controllable via Visual Basic. Dynamic instantiation of DAO objects. Configurable hook for ActiveX objects.
3DE - Graphical Configuration Tool, INTRA-SYS GmbH, Hannover
1996 until 1997
- An interactive and graphical editor for a proprietary data structure. It is written with VisualC++ 4.0 and is optically very appealing and easy to handle. It is like an electronic, living handbook that through visualization reduces the amount of details that a user must remember. Toolbars and ToolTips are used as well as PropertySheets, PropertyPages and an elaborate TreeView.
- The tool describes sets of transformations for advanced screen scraping of IBM or Siemens 3270 or 9750 terminals. So it contains rules which are applied to the original screen and transform it to the target display. The left-hand side image shows some of these rules. The right-hand side image shows the font selector.
IW3 - CGI Web-Host Connection, INTRA-SYS GmbH, Hannover
1995 until 1996
- IW3 is a WWW connectivity toolkit that can connect VisualBasic and Host applications with users in the Internet. It allows the interaction of self-developed applications with normal WWW browsers. These applications can use the full power of VisualBasic to implement custom server functionality on an NT host and, as an options, connect users to legacy host applications on a Siemens or IBM host. A build-in HTML generator generates new forms on the fly.
Picasso, VB Application Generator, INTRA-SYS GmbH, Hannover
1995 until 1996
- A graphical design and code generator tool that produces complete VisualBasic applications. It contains a screen painter, a form editor and a VB code generator. The generated source gives legacy host applications a new user interface and the source are immediately ready-to-run.
PrimaVista - Presentation Software, Bicom GmbH, Hannover
1993 until 1995
- A complete drawing and presentation application, written with the Microsoft Foundation Classes. It contains pen support including hand-writing recognition, a WYSIWYG text editor, extensive bitmap support as well as uncovering, annotation and presentation support.
WDPA - Image measuring and DOS control, AICON GmbH, Braunschweig
1994 until 1995
- An application for picture processing. It uses some high- tech tricks to completely control a legacy, DOS-based picture processing application and enable it to cope with 18 MB large bitmap files. The DOS program is controlled completely and all its memory could be read and written to. The pictures were taken from disk or a PhotoCD. Later on I helped to build a Windows-only version.
PrintForm - Print Formatting, Cobasoft GmbH, Braunschweig
A modular Reporting-System for C, C++, Visual Basic and other languages.
Preview and print support.
- Distribution of this software as shareware.
- Marketing and sales.
- Visual C++, Visual Basic, MFC, Windows NT 4.
VPC33 - Viskosimetrie-PC, Schott Geräte GmbH, Hofheim
1992 until 1993
- A large windows program, written for and sold by Schott Geräte, Hofheim. It reacts on the inputs of a balance, controls up to 5 burettes and prints 3 protocols on 2 printers. All this is accomplished without any multi- threading support from the OS, runs in parallel and is so secure that even a power glitch would delete not more than the most recent, incomplete data record.
WindowsTools - Versions 1.0 and 2.0, Gedys GmbH, Braunschweig
1989, 1990, 1992.
- The WindowsTools are a collection of utilities for the Windows user. They were invented and marketed by GEDYS GmbH in Braunschweig. Some of the larger applications were written by me, including some parts of the newer Windows Tools-FileManagement. And I ported them to OS/2.
Porting of SAP Terminal from OS/2 to Windows, SAP, Walldorf
1991 until 1992
- The terminal application of SAP in Walldorf was ported from OS/2 and Motif to Windows. I worked on the R2 and R3 revisions. This was a sophisticated job because compared with OS/2, Windows 3.x was a very limiting environment.
Hypercard Clone - Port from OS/2, Format AG, Cologne
- Porting of an Hypercard clone from OS/2 and Macintosh to Windows.
- C, Windows 2.x, Windows 3.x, OS/2.
Import and export filters for StarWriter; Start Division; Lüneburg and Dürscheid
- I wrote import and export filters for Star-Division. This involved reading and writing the internal, binary format of MS-Word, including stylesheets as well as reading and writing StarWriter, Lotus 1-2-3 and WordStar documents. It was (in 1989) my first large C++ project.
Registration As Freelancer, KWG Software, Dürscheid
- Registration as a freelancer in Dürscheid near Cologne.
PROMOD System Development, GEI AG, Aachen
17.07.1988 until 31.01.1989
- Working as employee in the CASE department, I learned to program and use the Promod CASE Tool.
- During this time I got trained in CASE methodologies.
- C, C++, VAX-VMS, SQL Datenbank, MS-Chart.
IPDMS - Integrated Patient Data Management System, ADImens GmbH, Karlsruhe
September 1986 until June 1988
- An integrated patient data management system, using an MS- Network and the ADImens database, written in C. It was my first big project, it started during my study and I was responsible for technical implementation and coordinated 3 further programmers. My thesis was based on the central dialog management of this application. As a technical project manager I was responsible for much of the software architecture and the good part of the implementation.