Work (Excerpts)X

NeMo Monitor / NeMoDevices AG / 2011 - today

NeMo Monitor

Task

Develop NeMo Monitor, software component of NeMoDevices' NeMo System.

NeMo System is a solution for minimally-invasive (NeMo Probe) as well as non-invasive (NeMo Patch) multi-parameter neuromonitoring in a single system.

The interface of NeMo Monitor is designed for user-friendly, simple and intuitive operation. Connected NeMo Probes and NeMo Patches are automatically detected. The software actively guides through measurement procedures, while clearly representing trend curves as well as current measurement values. Customizable views enable the usage of NeMo Monitor in various clinical situations.

NeMo Monitor is designed and implemented as a hybrid application, embedding a Chromium WebPage into a desktop application via CEF (Chromium Embedded Framework). GUI and business logic are implemented as a HTML5/CSS3/JavaScript app running inside Chromium whereas core components, such as collecting metrics from input devices, computing measurement parameter algorithms, storing measurement data on disk and transferring measurement parameters to external medical systems, are provided by a native C++ application. Both parts of the system are connected via JavaScript/C++ bridge.

Runtime environment

Windows 7, Windows 8, Medical PC

Development stack

JavaScript, Visual C++, Chromium, CEF (Chromium Embedded Framework), WebStorm, Visual Studio, Git, Subversion, Photoshop

Kreditsicherheiten / Fiducia & GAD IT AG / 2014 - today

KSI

Task

Support further development of subproject 'Kreditsicherheiten'. 'Kreditsicherheiten' is an integral part of BAP (Bankarbeitsplatz) which is based on Java Based Banking Framework (JBF). Design and implement new packages and modules. Redesign, Refactor and optimize existing classes and components.

Runtime environment

Windows 7

Development stack

Java EE, Swing, Tomcat, XML, Eclipse, Subversion

CCO-Track And Trace / planfocus GmbH / 2014

CCO-Track And Trace - Startup view
CCO-Track And Trace - Container list view
CCO-Track And Trace - Location view
CCO-Track And Trace - Container details view
CCO-Track And Trace - Communication status view
CCO-Track And Trace - Settings authorization view

Task

Design and Develop CCO-Track And Trace, an important solution component for process optimization within planfocus' CCO Solution Suite.
It provides for end-to-end track & trace of all cash shipments, be it ATM cassettes or other packages or shipments, together with transparent monitoring.

  • Workflows for efficient package commissioning
  • Complete package track & trace for shipments across the entire supply chain
  • Tracking with stationary or mobile scanners
  • Support for bills/coins/other values/products
  • Securely traceable delivery of packages
CCO-Track And Trace is implemented as a Cordova (PhoneGap) app for Android mobile and tablet devices using SpongyCastle / BouncyCastle for strong encryption/decryption of data transfers.

Runtime environment

Android, Mobile, Tablet, Barcode Scanner

Development stack

JavaScript, Cordova (PhoneGap), Java SE, JBoss, BouncyCastle, SpongyCastle, OpenSSL, WebStorm, Eclipse, Git, Subversion, Photoshop

Omar / AJ Management Consulting, MBC Group / 2012

Omar - Timeline view
Omar - List view
Omar - Map view
Omar - 3D perspective view

Task

Design and develop a visually appealing companion web and mobile app for MBC Group's TV series "Omar".

In 2012 MBC Group decided to multiply the viewing experience for the biggest production in Arab entertainment history by launching a companion web and mobile app for the TV series.

The production of the series "Omar" is the largest TV production in the history of Arab television to date and comes in several languages​​. With the TV series, comes this app to complete this initiative and provide value-add content to viewers around the World via their mobile devices.

The Omar application is a nicely visualized interactive timeline (supporting parallax scrolling) that covers the history of Islam and Second Caliph of Islam Omar Bin Al-Kattab through events. The TV series is going to cover around 300 events that happened during the life of Omar from social events to battles and political transformations. The application extends the series content and covers around 1000 events in that era in details.

The application gives users the option to navigate content through different views; Timeline view, List view, Map view, and 3D perspective view, and Episodes view. The second screen experience is mainly delivered through the episodes view where users can watch the full episodes after it runs on TV, read the synopsis of the episode, and learn more information about the events that a specific episode covers.

One great feature to highlight is that for the first time an application covers all events in history on a map. It shows where each of these events took place using Google Map Coordinates which requires a lot of research and editorial efforts.

The application allows users to choose between Gregorian and Hijri calendars to navigate the timeline. This feature can help them put the events Hijri dates in context with the Gregorian dates.

The application features different social actions like sharing an event to social networks, check-in into a location of an event on the map, and the ability to go through the social stream of the series on Twitter.

"Omar" is built in HTML5/CSS3/JavaScript technology using Cordova (PhoneGap) for mobile devices support.

Runtime environment

Android, iOS, Browser, Mobile, Tablet

Development stack

JavaScript, Cordova (PhoneGap), Java SE, ObjectiveC, WebStorm, Xcode, Eclipse, Git, Photoshop

JBF / Fiducia & GAD IT AG / 2009 - 2014

JBF

Task

Support further development of Java Based Banking Framework (JBF). Design and implement new packages and modules. Redesign, Refactor and optimize existing classes and components.

Runtime environment

Windows XP, Windows 7

Development stack

Java EE, Eclipse, Swing, Tomcat, XML, Subversion

jTweetsAnywhere / thomasbillenstein.com / 2010 - 2012

jTweetsAnywhere

Task

Develop jTweetsAnywhere, a jQuery Twitter Widget with @Anywhere support that simplifies the integration of Twitter services into any website. The Widget is implemented as a jQuery plugin.

Runtime environment

Browser

Development stack

Javascript, Eclipse, jQuery, Twitter API, @Anywhere API, Git

XML based configurations editor / BMW AG, Cirquent GmbH / 2008 - 2009

XML based configurations editor

Task

Design and implement several components and parts of XML based configurations editor to handle complex software logistics entities.

Runtime environment

Windows XP

Development stack

Java SE, Eclipse, CUF, Swing, XML, Subversion

Intellegio / UP-MED GmbH / 2007 - 2008

Intellegio

Task

(Re)Implement and further extend Intellegio Panel Monitor - tablet based device - responsible for graphical presentation of realtime medical measurement data, like temperature, pressure, etc.

Runtime environment

Linux (Ubuntu), LFS (Linux from Scratch)

Development stack

C++, Python, Eclipse, wxWidgets, wxSQLite3, Subversion, TCP, UDP, IP, WLAN, SQLite

magoona.de / thomasbillenstein.com / 2007

magoona.de

Task

Develop, launch and operate http://magoona.de/, ajax based web application featuring personalized webDesktop, productivity tools, entertainment and community support.

Runtime environment

Linux (SuSE), Windows XP

Development stack

PHP5, HTML, XML, JavaScript, AJAX, Eclipse, PHPEclipse, Script.aculo.us JavaScript Library, Prototype JavaScript Library, Smarty Template Engine, XAMPP, LAMP, Photoshop, Subversion, MySQL 5

SA3 / BMW AG, Softlab AG / 2006 - 2007

SA3

Task

Enhance and internationalize (taxes, discount variants, etc.) automobile sales system for the european market (SA3), supporting car configuration, ordering, quotation and contract management. Extend and implement interfaces to existing applications.

Runtime environment

Windows XP, Solaris, Linux

Development stack

BEA WebLogic, Java (J2EE, J2SE), Eclipse, Swing, XML, Subversion, Oracle

BI / Telefónica Germany GmbH & Co. OHG / 2006

BI

Task

Develop campaign administration tool to support the Business Intelligence Center with customer campaign management, configuration, analysis and reporting.

Runtime environment

Windows 2000

Development stack

Java (J2EE, J2SE), JavaScript, Eclipse, Spring, JSP, AJAX, HTML, XML, Subversion, Oracle

QA / Fiducia & GAD IT AG / 2006

QA

Task

Support quality assurance procedures for the rollout of banking self-service software platform:

  • Defect analysis and extensive support for defect correction and bugfixing
  • Development, implementation and execution of standard and special test cases
  • Design and implementation of tools and programs to support execution and analysis of automated test procedures
  • Design and implementation of tools to support automated software installation of banking self-service devices

Runtime environment

Windows XP, Windows NT

Development stack

Java (J2EE, J2SE), C++, Perl, Eclipse, Microsoft Visual Studio

OPT / Stadtsparkasse München / 2005

OPT

Task

Implement OPT functionality (Online personalization of Terminal-HSM) for 'Application for Banking Self-Service Devices'.

Main objective is secure online contribution of cryptographic keys into Terminal-HSM based on existing procedures and methods provided by ZKA-certified, external providers.

  • Extending system interface to EPP (Encrypted Pin Pad)
  • Supporting generation and validation of ISO data records
  • Enhancing HOST communication software modules to support exchange of ISO data records

Runtime environment

Windows XP, Windows 2000

Development stack

Java (J2SE), Eclipse, WebSphere MQ, J/XFS, CSCW32, OpenSSL, Subversion, CVS

cheRSS / objectware GmbH / 2004

cheRSS

Task

Develop RSS/RDF/ATOM news aggregator for mobile devices (SmartPhone, PDA, etc.).

Runtime environment

Windows XP, Nokia mobile

Development stack

MIDP, CLDC, Java (J2ME), Sun Wireless Toolkit, Nokia Developers Suite, Motorola J2ME SDK, Subversion

Application for Banking Self-Service Devices / Stadtsparkasse München / 2003

Application for Banking Self-Service Devices

Task

Port of 'Application for Banking Self-Service Devices' to Wincor-Nixdorf device platform running Windows 2000 / Windows XP.

  • Rewrite C/C++ modules in Java
  • Port all HOST communication software modules from SNA protocol to WebSphere MQ

Runtime environment

Windows XP, Windows 2000

Development stack

Java (J2SE), Eclipse, WebSphere MQ, J/XFS, CVS

CIM86 / Gunnebo Deutschland GmbH / 2003

CIM86

Task

Develop C++ library supporting access to CIM86 boxes via RS232. CIM86 box is used for authentication of EC cards.

Runtime environment

Windows XP, Windows NT

Development stack

C++, Microsoft Visual Studio .NET

HOST communication / Reis Eurosystems / 2003

HOST communication

Task

Develop C++ library supporting connection of coin deposit machines to mainframe systems via SNA LU0 protocol.

Runtime environment

Windows NT, Windows 2000

Development stack

IBM Communication Server, IBM Personal Communications, SNA, Ethernet, TokenRing, C++, Microsoft Visual Studio .NET

BUM / Stadtsparkasse München / 2000 - 2003

BUM

Task

Develop web based intranet solution to support monitoring and remote administration of banking self-service devices for financial institution.

The management system consists of SBM Agent (running on each device), SBM Server (responsible for communicating with the agents, delegating commands to agents, collecting state information and handling events) and SBM Web application supplying the user interface.

Runtime environment

Windows XP, Linux, TCP/IP, Ethernet, TokenRing

Development stack

Java (J2SE, J2EE), JavaScript, C/C++, Eclipse, JSP, HTML, XML, LDAP, CVS

Application for Banking Self-Service Devices / Stadtsparkasse München / 1996 - 2000

Application for Banking Self-Service Devices

Task

Develop Application for Banking Self-Service Devices (Account Statement Printer: IBM 4725, Service Terminals: IBM 5994, IBM 4737).

Solution consists of the following components:

Application (Integration of typical banking self-service functionality, written in Java)
  • Payment Transactions (bank transfer, standing order, account transfer)
  • Account and Portfolio Services (acount balance, abstract of accounts, portfolio report, account statement)
  • Bonds
  • Financial Investments
  • Additional Offers (estate services, assurance services)
Services (Written in Java and C/C++)
  • System Loader
  • System Kernel
  • Configuration Server
  • Log Server
  • HOST Communikation via SNA
Device Drivers (Written in C/C++)
  • Magentic Stripe Reader/Writer
  • Document Printer
  • Encrypted Pin Pad
  • External Contacts

Runtime environment

OS/2, SNA, TCP/IP, Ethernet, Token Ring

Development stack

Java (J2SE), C/C++, SUN JDK 1.x, IBM C/C++, LANDP, CVS