Replacing SDL with Qt/QML

Size: px
Start display at page:

Download "Replacing SDL with Qt/QML"

Transcription

1 LinuxMCE is an open-source home automation platform based upon Kubuntu. It originated as a closed source commercial offering that was eventually open-sourced by PlutoHome Inc. Its goal was to integrate all aspects of the home into one unified user interface. As technology and design paradigms have changed, the user interface has not, leading to the examination of new GUI development avenues. In this talk, I will explore what it takes to take a project like this, from an old ui paradigm to a new one:qt / QML

2 Getting Started Gather your resources Users, Developers Docs Original design documents. It is key to try and develop a knowledge-base for insights into the existing architecture. Knowing why something was done a certain way can be a great boost when porting feature sets to a new ui technology. Know what the basic application goals are and seek to make sure this functionality is ported over. Users dont always know when something is new, but they always notice when something is gone.

3 Working with the API Figure out what it is you need and how you need it How does the api interaction work? Does it fit into the architecture of the new application? If not, how best to make it work? When dealing with creating a new application on top of an existing api, data structures and methods of communication are the first thing that should be investigated. Are the existing methods compatible with the new Qt / QML application? Is there room for improvement. Are alternate methods availible. The constraints of every system differ, and this is why exploring all options is an important, if time consuming, step.

4 In data driven applications, Qt already has many container classes to utilize for data QAbstractListmodel / QAbstractItemModel / QML Listmodel QList<QObject*> QMap And more! Working with the API Investigate what type will be the best match for the source they are coming from.

5 Subclassing QObject Benefits Can save time by not needing to write new classes. Signals and slots become available from legacy api. More flexibility Drawbacks / Pitfalls Diamond inheritance problems Could break api for legacy applications

6 Subclassing QObject Example: Main application class qorbiter_command : public Command_Impl,public QObject Example: Qml plugin for providing media over the network is a C++ plugin. class qmediaplayer_command : public Command_Impl, public QObject In Both instances, it was necessary to avoid a diamond inheritance problem, so I by examining the base classes, I was able to subclass QObject, giving it all the power of Qt.

7 Explore the different methods of connecting the two pieces together. Dont stop at what seems to be the 1st working solution, but explore different methods and compare the effectiveness of each. Options include Plumbing and more Plumbing Passing the api object by reference to the application Connecting data, commands, and events by signals and slots Other considerations when deciding this include: Who needs access to the api? The main superclass, or its members also? Will there be the need for direct communication. Should the super-class be split into other classes for more flexiblity?

8 Visual Theming Styling the application, and how you plan to do it is an important architectural decision. Will it support one style or multiple? Will these styles only originate from the developers, or will users be able to customize the look and feel as well? These are important questions, because they will ultimately decide how you create, work with, and deploy qml files.

9 Visual Theming QtObject{ id:aeonstyle } objectname: "orbiter_style" //skin description property string skincreator: "Jason Richardson (aka merkur2k)" property string skinname: "Aeon" property string skindir: "aeon" property string skindescription: "Inspired by the XBMC skin of the same name" property string skinversion: "1.0" property string skinvariation: "Desktop 720p" property string maincolor: "aliceblue" property string accentcolor: "lightsteelblue"

10 Visual Theming When employing a theming engine that allows the dynamic manipulation of the styles, its key to remember a few things: Its generally wise to create a fallback page that loads in the case of an unrecoverable QML error. Instead of the user looking at a white screen, they should get input that allows them to report it back to you. Layout a template that includes some form of metadata on the theme itself. In building and deploying for multiple architectures or versions, utilize the Project.pro file to customize your deployment files / current QML files.

11 Visual Theming Create a library of standard api handlers or interfaces, and encourage designers to utilize it. Its a lot easier to add a custom component to an element rather than setting up the mouse area, remembering what function to call, and then adding the parameters. In most cases, data is coming from a datamodel and the parameter names and such are defined in advance. Creating a set of standard components simplifies the functional part of things MouseArea{ anchors.fill:parent onclicked:myslot(param, param2) } MySlotHandler{} is a component based on the mouse area with the params pre-filled in. A user just need to instantiate it to give the button or listview cell life.

12 Client / Server Conversations In the case of dealing with a system that requires interaction with a remote server / datasource, its a wise idea to try and implement the communication part in a manner that doesnt block the GUI. Web based datasources operate asynchronously. You can request data and it will be processed without blocking the main thread, and thusly the gui. C++ datasources however do not make asynchronous calls unless you implement an architecture capable of that. Utilizing QThread can be immensely helpful here, allowing the server object to go at its own (hopefully not to slow!) pace.

13 Qt Class Roll Call Some of the Qt Classes utilized in the LinuxMCE application are: QDeclarativeView / QQuickView QApplication / QCoreApplication QTcpServer QTcpSocket QRegExp QDataStream QList<QObject*> QMap QNetworkManager QObject QAbstractImageProvider / QQmlImageProvider OpenGl Phonon / QtMultimedia Webkit QFile, QDir QProcess QAbstractListmodel

14 Media Integration Media integration can be one of the more complex points of integration of a new user interface. With many ways to consume media from a technical standpoint, planning this integration is key. Will media be incorporated directly into my application What are the capabilities of my target platform Will I need windowing control to place playback windows in the right locations? How am i interacting with the media sources, catalog? How can i abstract the source / catalog integration to make it easier for designers to utilize?

15 Media Integration { pcell= it->second; const char *ppath = pcell->getimagepath(); filepath = QString::fromUtf8(pPath); fk_file = pcell->getvalue(); celltitle = QString::fromUtf8(pCell->m_Text); index = pdatagridtable->covertcolrowtype(it->first).first; if (ppath ) { cellimg = getfilefordg(ppath); } else { cellimg.load(":/icons/icon.png"); } emit additem(new griditem(fk_file, celltitle, filepath, index, cellimg)); }

16 Finishing up Converting a legacy application that utilizes and older ui technology can be quite the undertaking. But with a planned, measured approach, it can be done expeditiously, and done well. Find as many original system designers as you can Spend time examining the existing architecture, and where your new application can fit in This includes the API For web based api's _should_ be less of a challenge For other methods, don't be afraid to experiment with sub-classing QObject Plan your QML architecture from the start. Decide if you are going to use multiple styles, or one

New Qt APIs for Mobile Development. Mobility I Alex Blasche

New Qt APIs for Mobile Development. Mobility I Alex Blasche New Qt APIs for Mobile Development Mobility I Alex Blasche What is Qt Mobility about? Mobile Gap Compatibility Availability QML support Beyond Mobile Mobility API Overview Consumer engagement Data Driven

More information

Solutions for Quality Management in a Agile and Mobile World

Solutions for Quality Management in a Agile and Mobile World Solutions for Quality Management in a Agile and Mobile World with IBM Rational Quality Management Solutions Realities can stall software-driven innovation Complexities in software delivery compounded by

More information

Qt Signals and Slots. Olivier Goffart. October 2013

Qt Signals and Slots. Olivier Goffart. October 2013 Qt Signals and Slots Olivier Goffart October 2013 About Me About Me QStyleSheetStyle Itemviews Animation Framework QtScript (porting to JSC and V8) QObject, moc QML Debugger Modularisation... About Me

More information

20481C: Essentials of Developing Windows Store Apps Using HTML5 and JavaScript

20481C: Essentials of Developing Windows Store Apps Using HTML5 and JavaScript 20481C: Essentials of Developing Windows Store Apps Using HTML5 and JavaScript Course Details Course Code: Duration: Notes: 20481C 5 days This course syllabus should be used to determine whether the course

More information

Best Practices in Qt Quick/QML. Langston Ball Senior Qt Developer ICS, Inc.

Best Practices in Qt Quick/QML. Langston Ball Senior Qt Developer ICS, Inc. Best Practices in Qt Quick/QML Langston Ball Senior Qt Developer ICS, Inc. Topics Introduction Integrating C++ and QML Anchors Are Your Friend Keyboard and Input Handling Closing Introduction (Delete if

More information

Surface and Volumetric Data Rendering and Visualisation

Surface and Volumetric Data Rendering and Visualisation Surface and Volumetric Data Rendering and Visualisation THE Qt TOOLKIT Department of Information Engineering Faculty of Engineering University of Brescia Via Branze, 38 25231 Brescia - ITALY 1 What is

More information

The Most Popular UI/Apps Framework For IVI on Linux

The Most Popular UI/Apps Framework For IVI on Linux The Most Popular UI/Apps Framework For IVI on Linux About me Tasuku Suzuki Qt Engineer Qt, Developer Experience and Marketing, Nokia Have been using Qt since 2002 Joined Trolltech in 2006 Nokia since 2008

More information

Essentials of Developing Windows Store Apps Using C# MOC 20484

Essentials of Developing Windows Store Apps Using C# MOC 20484 Essentials of Developing Windows Store Apps Using C# MOC 20484 Course Outline Module 1: Overview of the Windows 8 Platform and Windows Store Apps This module describes the Windows 8 platform and features

More information

Qt Features for Hybrid Web/Native Application Development

Qt Features for Hybrid Web/Native Application Development White Paper Qt Features for Hybrid Web/Native Application Development Today s computer users live and work in an interconnected world. They always have a network at hand and expect their data to be available

More information

Visual Studio 2008: Windows Presentation Foundation

Visual Studio 2008: Windows Presentation Foundation Visual Studio 2008: Windows Presentation Foundation Course 6460A: Three days; Instructor-Led Introduction This three-day instructor-led course provides students with the knowledge and skills to build and

More information

Philosophy of GIMnet

Philosophy of GIMnet Philosophy of GIMnet Software Modularity and Reusability through Service Oriented Architecture and Hardware Abstraction Introduction GIMnet MaCI GIMnet = tcphub + GIMI Enables communication between distributed

More information

ODROID Multithreading in Android

ODROID Multithreading in Android Multithreading in Android 1 Index Android Overview Android Stack Android Development Tools Main Building Blocks(Activity Life Cycle) Threading in Android Multithreading via AsyncTask Class Multithreading

More information

BogDan Vatra and Andy Gryc. Qt on Android: Is it right for you?

BogDan Vatra and Andy Gryc. Qt on Android: Is it right for you? BogDan Vatra and Andy Gryc Qt on Android: Is it right for you? Coffee and Code sessions Free, three-hour, hands-on session that delves into the internals of Qt on Android. Learn how to: set up the Qt development

More information

Advantage of Jquery: T his file is downloaded from

Advantage of Jquery: T his file is downloaded from What is JQuery JQuery is lightweight, client side JavaScript library file that supports all browsers. JQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling,

More information

http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx

http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx ASP.NET Overview.NET Framework 4 ASP.NET is a unified Web development model that includes the services necessary for you to build enterprise-class Web applications with a minimum of coding. ASP.NET is

More information

A GENERALIZED APPROACH TO CONTENT CREATION USING KNOWLEDGE BASE SYSTEMS

A GENERALIZED APPROACH TO CONTENT CREATION USING KNOWLEDGE BASE SYSTEMS A GENERALIZED APPROACH TO CONTENT CREATION USING KNOWLEDGE BASE SYSTEMS By K S Chudamani and H C Nagarathna JRD Tata Memorial Library IISc, Bangalore-12 ABSTRACT: Library and information Institutions and

More information

Lecture 1 Introduction to Android

Lecture 1 Introduction to Android These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy

More information

Easy configuration of NETCONF devices

Easy configuration of NETCONF devices Easy configuration of NETCONF devices David Alexa 1 Tomas Cejka 2 FIT, CTU in Prague CESNET, a.l.e. Czech Republic Czech Republic alexadav@fit.cvut.cz cejkat@cesnet.cz Abstract. It is necessary for developers

More information

Agile Software Development

Agile Software Development Agile Software Development Lecturer: Raman Ramsin Lecture 13 Refactoring Part 3 1 Dealing with Generalization: Pull Up Constructor Body Pull Up Constructor Body You have constructors on subclasses with

More information

Mobile Development with Qt

Mobile Development with Qt Mobile Development with Qt Developing for Symbian and Maemo Daniel Molkentin Nokia, Qt Development Frameworks 1 Yours Truly Developer and Promoter for the KDE Project since 2000 Author of The Book of Qt

More information

A Short Introduction to Android

A Short Introduction to Android A Short Introduction to Android Notes taken from Google s Android SDK and Google s Android Application Fundamentals 1 Plan For Today Lecture on Core Android Three U-Tube Videos: - Architecture Overview

More information

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

Microsoft 20481 - Essentials of Developing Windows Store Apps Using HTML5 and JavaScript

Microsoft 20481 - Essentials of Developing Windows Store Apps Using HTML5 and JavaScript 1800 ULEARN (853 276) www.ddls.com.au Microsoft 20481 - Essentials of Developing Windows Store Apps Using HTML5 and JavaScript Length 5 days Price $4389.00 (inc GST) Version C Overview In this course students

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Introduction to J2EE Development in NetBeans IDE...1 Configuring the IDE for J2EE Development...2 Getting

More information

Test Automation Architectures: Planning for Test Automation

Test Automation Architectures: Planning for Test Automation Test Automation Architectures: Planning for Test Automation Douglas Hoffman Software Quality Methods, LLC. 24646 Heather Heights Place Saratoga, California 95070-9710 Phone 408-741-4830 Fax 408-867-4550

More information

DotNet Web Developer Training Program

DotNet Web Developer Training Program DotNet Web Developer Training Program Introduction/Summary: This 5-day course focuses on understanding and developing various skills required by Microsoft technologies based.net Web Developer. Theoretical

More information

Microsoft IT Deploys and Manages Office 365 ProPlus

Microsoft IT Deploys and Manages Office 365 ProPlus Microsoft IT Deploys and Manages Office 365 ProPlus Technical White Paper Published: June 2013 The following content may no longer reflect Microsoft s current position or infrastructure. This content should

More information

www.repstor.com Maximise your Microsoft investment to provide Legal Matter Management

www.repstor.com Maximise your Microsoft investment to provide Legal Matter Management www.repstor.com Maximise your Microsoft investment to provide Legal Matter Management Maximise your Microsoft investment to provide Legal Matter Management custodian for legal extends the powerful document

More information

Filtered Views for Microsoft Dynamics CRM

Filtered Views for Microsoft Dynamics CRM Filtered Views for Microsoft Dynamics CRM Version 4.2.13, March 5, 2010 Copyright 2009-2010 Stunnware GmbH - 1 of 32 - Contents Overview... 3 How it works... 4 Setup... 5 Contents of the download package...

More information

USING THE HP UNIVERSAL PRINT DRIVER WITH WINDOWS 8 AND WINDOWS SERVER 2012

USING THE HP UNIVERSAL PRINT DRIVER WITH WINDOWS 8 AND WINDOWS SERVER 2012 USING THE HP UNIVERSAL PRINT DRIVER WITH WINDOWS 8 AND WINDOWS SERVER 2012 CONTENTS Overview... 1 Windows 8 and Windows Server 2012 HP UPD Support... 2 PARK tools... 2 Windows 8 User Interfaces... 2 Windows

More information

Office SharePoint Server 2007

Office SharePoint Server 2007 Top 10 Benefits of WSS 3.0 Office SharePoint Server 2007 1. Improve team productivity with easy-to-use collaborative tools Connect people with the information and resources they need. Users can create

More information

OPEN XML SDK DEVELOPING OPEN XML SOLUTIONS. Zeyad Rajabi

OPEN XML SDK DEVELOPING OPEN XML SOLUTIONS. Zeyad Rajabi OPEN XML SDK DEVELOPING OPEN XML SOLUTIONS Zeyad Rajabi Agenda Open XML SDK overview Open XML SDK architecture + roadmap Demos Q&A Open XML SDK What it is and what it s not? Open XML SDK Overview Allows

More information

Cross-platform software development in practice. Object-Oriented approach.

Cross-platform software development in practice. Object-Oriented approach. Cross-platform software development in practice. Object-Oriented approach. Vitaly Repin Maemo Devices, Nokia Maemo March 25, 2010 (Maemo) Cross-platform software development. March 25, 2010 1 / 20 It s

More information

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code. Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...

More information

Developing Microsoft SharePoint Server 2013 Core Solutions

Developing Microsoft SharePoint Server 2013 Core Solutions Course 20488B: Developing Microsoft SharePoint Server 2013 Core Solutions Course Details Course Outline Module 1: SharePoint as a Developer Platform This module examines different approaches that can be

More information

imc FAMOS 6.3 visualization signal analysis data processing test reporting Comprehensive data analysis and documentation imc productive testing

imc FAMOS 6.3 visualization signal analysis data processing test reporting Comprehensive data analysis and documentation imc productive testing imc FAMOS 6.3 visualization signal analysis data processing test reporting Comprehensive data analysis and documentation imc productive testing www.imcfamos.com imc FAMOS at a glance Four editions to Optimize

More information

Performance Testing Web 2.0

Performance Testing Web 2.0 Performance Testing Web 2.0 David Chadwick Rational Testing Evangelist dchadwick@us.ibm.com Dawn Peters Systems Engineer, IBM Rational petersda@us.ibm.com 2009 IBM Corporation WEB 2.0 What is it? 2 Web

More information

Jive Connects for Openfire

Jive Connects for Openfire Jive Connects for Openfire Contents Jive Connects for Openfire...2 System Requirements... 2 Setting Up Openfire Integration... 2 Configuring Openfire Integration...2 Viewing the Openfire Admin Console...3

More information

Beginning Nokia Apps. Development. Qt and HTIVIL5 for Symbian and MeeGo. Ray Rischpater. Apress. Daniel Zucker

Beginning Nokia Apps. Development. Qt and HTIVIL5 for Symbian and MeeGo. Ray Rischpater. Apress. Daniel Zucker Beginning Nokia Apps Development Qt and HTIVIL5 for Symbian and MeeGo Ray Rischpater Daniel Zucker Apress Contents Contents at a Glance... I Foreword About the Authors About the Technical Reviewers Acknowledgments

More information

Visio Tutorial 1BB50 Data and Object Modeling (DOM) How to make a UML Class Diagram 2004/2005

Visio Tutorial 1BB50 Data and Object Modeling (DOM) How to make a UML Class Diagram 2004/2005 1BB50 Data and Object Modeling (DOM) How to make a UML Class Diagram 2004/2005 Table of Contents 1. Starting up Visio... 1 2. Add a class to your diagram... 2 3. Set the display options for class rectangles...

More information

Building Dynamic Websites With the MVC Pattern. ACM Webmonkeys @ UIUC, 2010

Building Dynamic Websites With the MVC Pattern. ACM Webmonkeys @ UIUC, 2010 Building Dynamic Websites With the MVC Pattern ACM Webmonkeys @ UIUC, 2010 Recap A dynamic website is a website which uses some serverside language to generate HTML pages PHP is a common and ubiquitous

More information

Integrated Open-Source Geophysical Processing and Visualization

Integrated Open-Source Geophysical Processing and Visualization Integrated Open-Source Geophysical Processing and Visualization Glenn Chubak* University of Saskatchewan, Saskatoon, Saskatchewan, Canada gdc178@mail.usask.ca and Igor Morozov University of Saskatchewan,

More information

A Database Re-engineering Workbench

A Database Re-engineering Workbench A Database Re-engineering Workbench A project proposal by Anmol Sharma Abstract Data is not always available in the best form for processing, it is often provided in poor format or in a poor quality data

More information

Noramsoft Inc. Noramsoft Inc. SPT2O1O - Course Description. Developing Solutions with SharePoint Server 2010 SPT2010. Noramsoft Inc. Noramsoft Inc.

Noramsoft Inc. Noramsoft Inc. SPT2O1O - Course Description. Developing Solutions with SharePoint Server 2010 SPT2010. Noramsoft Inc. Noramsoft Inc. SharePoint Specialists and Trainers SharePoint Specialists and Trainers SPT2O1O - Course Description Developing Solutions with SharePoint Server 2010 Tél 1 - DEVELOPING SOLUTIONS SHAREPOINT SERVER 2010

More information

Visionet IT Modernization Empowering Change

Visionet IT Modernization Empowering Change Visionet IT Modernization A Visionet Systems White Paper September 2009 Visionet Systems Inc. 3 Cedar Brook Dr. Cranbury, NJ 08512 Tel: 609 360-0501 Table of Contents 1 Executive Summary... 4 2 Introduction...

More information

Developing and Implementing Windows-Based Applications With Microsoft Visual C#.NET and Microsoft Visual Studio.NET

Developing and Implementing Windows-Based Applications With Microsoft Visual C#.NET and Microsoft Visual Studio.NET Unit 40: Developing and Implementing Windows-Based Applications With Microsoft Visual C#.NET and Microsoft Visual Studio.NET Learning Outcomes A candidate following a programme of learning leading to this

More information

Jitterbit Technical Overview : Salesforce

Jitterbit Technical Overview : Salesforce Jitterbit allows you to easily integrate Salesforce with any cloud, mobile or on premise application. Jitterbit s intuitive Studio delivers the easiest way of designing and running modern integrations

More information

Creating tables of contents and figures in Word 2013

Creating tables of contents and figures in Word 2013 Creating tables of contents and figures in Word 2013 Information Services Creating tables of contents and figures in Word 2013 This note shows you how to create a table of contents or a table of figures

More information

Use of automated workflow systems in virtual teams

Use of automated workflow systems in virtual teams Use of automated workflow systems in virtual teams ZINNOV LLC 138 SOUTH QUEENSCLIFF CIRCLE, THE WOODLANDS, TEXAS - 77382 FAX 1 419 844 2583 PHONE (US) 1 832 326 3854 (INDIA) + 91 80 227 3130 EMAIL: PARI@ZINNOV.COM

More information

XBMC Architecture Overview

XBMC Architecture Overview XBMC Architecture Overview XBMC Media Center Telematics Freedom Foundation - TFF XBMC Media Center is your ultimate multimedia hub. From the stunning interface, down to the helpful and enthusiastic community,

More information

Integrating the Internet into Your Measurement System. DataSocket Technical Overview

Integrating the Internet into Your Measurement System. DataSocket Technical Overview Integrating the Internet into Your Measurement System DataSocket Technical Overview Introduction The Internet continues to become more integrated into our daily lives. This is particularly true for scientists

More information

Using Microsoft Visual Studio 2010. API Reference

Using Microsoft Visual Studio 2010. API Reference 2010 API Reference Published: 2014-02-19 SWD-20140219103929387 Contents 1... 4 Key features of the Visual Studio plug-in... 4 Get started...5 Request a vendor account... 5 Get code signing and debug token

More information

Kentico CMS 5 Developer Training Syllabus

Kentico CMS 5 Developer Training Syllabus Kentico CMS 5 Developer Training Syllabus June 2010 Page 2 Contents About this Course... 4 Overview... 4 Audience Profile... 4 At Course Completion... 4 Course Outline... 5 Module 1: Overview of Kentico

More information

HTML5. Turn this page to see Quick Guide of CTTC

HTML5. Turn this page to see Quick Guide of CTTC Programming SharePoint 2013 Development Courses ASP.NET SQL TECHNOLGY TRAINING GUIDE Visual Studio PHP Programming Android App Programming HTML5 Jquery Your Training Partner in Cutting Edge Technologies

More information

Model Driven Laboratory Information Management Systems Hao Li 1, John H. Gennari 1, James F. Brinkley 1,2,3 Structural Informatics Group 1

Model Driven Laboratory Information Management Systems Hao Li 1, John H. Gennari 1, James F. Brinkley 1,2,3 Structural Informatics Group 1 Model Driven Laboratory Information Management Systems Hao Li 1, John H. Gennari 1, James F. Brinkley 1,2,3 Structural Informatics Group 1 Biomedical and Health Informatics, 2 Computer Science and Engineering,

More information

Programming and Software Development (PSD)

Programming and Software Development (PSD) Programming and Software Development (PSD) Course Descriptions Fundamentals of Information Systems Technology This course is a survey of computer technologies. This course may include computer history,

More information

Monitoring of Tritium release at PTC.

Monitoring of Tritium release at PTC. Monitoring of Tritium release at PTC. Scope of the project From more than 20 projects supported by Equipment Manufacturing Support group this is one of the simplest. What is nice about it is that elegant

More information

Designing a Graphical User Interface

Designing a Graphical User Interface Designing a Graphical User Interface 1 Designing a Graphical User Interface James Hunter Michigan State University ECE 480 Design Team 6 5 April 2013 Summary The purpose of this application note is to

More information

Suggested Application Options Settings for Autodesk Inventor

Suggested Application Options Settings for Autodesk Inventor Suggested Application Options Settings for Autodesk Inventor TEL: 0165 666 24 14 support@envisageuk.com PLEASE NOTE, THIS IS ONLY A GUIDE ANY QUESTIONS AT ALL PLEASE RING The following are suggested application

More information

3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version

3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version Version 3.5 JEFFERSON LAB Data Acquisition Group cmsg Developer s Guide J E F F E R S O N L A B D A T A A C Q U I S I T I O N G R O U P cmsg Developer s Guide Elliott Wolin wolin@jlab.org Carl Timmer timmer@jlab.org

More information

MODERNIZING AND PROCESS-ENABLING YOUR PROGRESS OPENEDGE BUSINESS APPLICATIONS

MODERNIZING AND PROCESS-ENABLING YOUR PROGRESS OPENEDGE BUSINESS APPLICATIONS WHITE PAPER MODERNIZING AND PROCESS-ENABLING YOUR PROGRESS OPENEDGE BUSINESS APPLICATIONS 2 TABLE OF CONTENTS Introduction Why Should You Modernize Your Application? Comparing Business Process Applications

More information

UOFL SHAREPOINT ADMINISTRATORS GUIDE

UOFL SHAREPOINT ADMINISTRATORS GUIDE UOFL SHAREPOINT ADMINISTRATORS GUIDE WOW What Power! Learn how to administer a SharePoint site. [Type text] SharePoint Administrator Training Table of Contents Basics... 3 Definitions... 3 The Ribbon...

More information

lubyk lua libraries for live arts Gaspard Bucher (Buma)! artist, musician, coder

lubyk lua libraries for live arts Gaspard Bucher (Buma)! artist, musician, coder lubyk lua libraries for live arts Gaspard Bucher (Buma)! artist, musician, coder lubyk is not a framework Why lubyk? Reuse code from project to project Accelerate development (live coding) Simple APIs

More information

From the Desktop to the Mobile Cloud: Extending your Qt Widget Desktop Application as a Back-end Service

From the Desktop to the Mobile Cloud: Extending your Qt Widget Desktop Application as a Back-end Service From the Desktop to the Mobile Cloud: Extending your Qt Widget Desktop Application as a Back-end Service Cameron Kiddle Senior Product Manager Calgary Scientific Inc. cameron.kiddle@calgaryscientific.com

More information

Adobe Acrobat 6.0 Professional

Adobe Acrobat 6.0 Professional Adobe Acrobat 6.0 Professional Manual Adobe Acrobat 6.0 Professional Manual Purpose The will teach you to create, edit, save, and print PDF files. You will also learn some of Adobe s collaborative functions,

More information

Planning Successful AnalyBcs Projects

Planning Successful AnalyBcs Projects Copyright 2014 Splunk Inc. Planning Successful AnalyBcs Projects Mackenzie Kosut Director of Technical OperaBons, Oscar Health Pete Sicilia Director Technical Services, Splunk Disclaimer During the course

More information

Cross-Platform Software Considerations for Internet of Things

Cross-Platform Software Considerations for Internet of Things Cross-Platform Software Considerations for Internet of Things Tuukka Ahoniemi Technical Product Marketing Manager tuukka.ahoniemi@theqtcompany.com 10th Central and Eastern European Software Engineering

More information

A Guide To Evaluating a Bug Tracking System

A Guide To Evaluating a Bug Tracking System A Guide To Evaluating a Bug Tracking System White Paper By Stephen Blair, MetaQuest Software Published: October, 2004 Abstract Evaluating a bug tracking system requires that you understand how specific

More information

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. 20486B: Developing ASP.NET MVC 4 Web Applications Course Overview This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. Course Introduction Course Introduction

More information

Creating Forms in Microsoft Word 2007

Creating Forms in Microsoft Word 2007 Creating Forms in Microsoft Word 2007 Introduction In Microsoft Office 2007 Word forms are now listed under Legacy Tools, in the Developer / Controls section. In order to access it you have to elect to

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2009 Vol. 8, No. 2, March- April 2009 Creating Servlets with Intellij V8 By Douglas

More information

Macros in Word & Excel

Macros in Word & Excel Macros in Word & Excel Description: If you perform a task repeatedly in Word or Excel, you can automate the task by using a macro. A macro is a series of steps that is grouped together as a single step

More information

ENZO UNIFIED SOLVES THE CHALLENGES OF REAL-TIME DATA INTEGRATION

ENZO UNIFIED SOLVES THE CHALLENGES OF REAL-TIME DATA INTEGRATION ENZO UNIFIED SOLVES THE CHALLENGES OF REAL-TIME DATA INTEGRATION Enzo Unified Solves Real-Time Data Integration Challenges that Increase Business Agility and Reduce Operational Complexities CHALLENGES

More information

KwikTag for WorkSite Product Description

KwikTag for WorkSite Product Description KwikTag for WorkSite Product Description KwikTag Paper Capture for Worksite 8.X Overview: Matter Centric Support Matter Centric Document Management provides sizable benefits, but for maximum value, paper

More information

Huawei OceanStor Backup Software Technical White Paper for NetBackup

Huawei OceanStor Backup Software Technical White Paper for NetBackup Huawei OceanStor Backup Software Technical White Paper for NetBackup Huawei Page 1 of 14 Copyright Huawei. 2014. All rights reserved. No part of this document may be reproduced or transmitted in any form

More information

DARMADI KOMO: Hello, everyone. This is Darmadi Komo, senior technical product manager from SQL Server marketing.

DARMADI KOMO: Hello, everyone. This is Darmadi Komo, senior technical product manager from SQL Server marketing. Microsoft SQL Server 2012 for Private cloud (Part 1) Darmadi Komo - Senior Technical Product Manager DARMADI KOMO: Hello, everyone. This is Darmadi Komo, senior technical product manager from SQL Server

More information

Automated Software Testing by: Eli Janssen

Automated Software Testing by: Eli Janssen 1. What is automated testing? Automated Software Testing by: Eli Janssen Automated testing is, much like the name implies, getting the computer to do the remedial work of ensuring that inputs yield expected

More information

CTC 4.1 - What's New?

CTC 4.1 - What's New? Digital Experience CTC 4.1 - What's New? WebSphere User Group 24 th Sept - Royal Society Edinburgh Agenda A reminder, What is the Content Template Catalog A reminder, What is the Site Builder Demo! CTC

More information

ORACLE WEBCENTER PORTAL

ORACLE WEBCENTER PORTAL ORACLE WEBCENTER PORTAL A MODERN ENTERPRISE PORTAL WITH INTUITIVE TOOLS FOR COMPOSING CONTENT-RICH SELF- SERVICE PORTALS WITH INTEGRATED SOCIAL AND COLLABORATION SERVICES KEY FEATURES Enterprise-Grade

More information

The VPNaaS Plugin for Fuel Documentation

The VPNaaS Plugin for Fuel Documentation The VPNaaS Plugin for Fuel Documentation Release 1.2-1.2.0-1 Mirantis Inc. January 14, 2016 CONTENTS 1 Document purpose 1 1.1 Key terms, acronyms and abbreviations................................. 1 1.2

More information

OpenLite: a quick tutorial

OpenLite: a quick tutorial OpenLite: a quick tutorial an user friendly GUI tool supporting data transfer between SpatiaLite, PostGIS and MySQL Brief reference: SQLite / SpatiaLite: a lightweight Spatial DBMS fully supporting OGC

More information

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Duration of Course: 6 Months Fees: Rs. 25,000/- (including Service Tax) Eligibility: B.E./B.Tech., M.Sc.(IT/ computer

More information

SME- Mail to SMS & MMS Gateway with NowSMS Quick Start Guide

SME- Mail to SMS & MMS Gateway with NowSMS Quick Start Guide SME- Mail to SMS & MMS Gateway with NowSMS Quick Start Guide One of the typical usage cases for NowSMS is as an E-Mail to SMS & MMS Gateway. E-Mail users can send an SMS or MMS message by sending an e-mail

More information

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support General principles and architecture of Adlib and Adlib API Petra Otten Manager Customer Support Adlib Database management program, mainly for libraries, museums and archives 1600 customers in app. 30 countries

More information

Overview of CS 282 & Android

Overview of CS 282 & Android Overview of CS 282 & Android Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA CS 282

More information

JavaFX Session Agenda

JavaFX Session Agenda JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user

More information

How to create a newsletter

How to create a newsletter How to create a newsletter Why? Creating a newsletter is a valuable way of communicating with a specific audience group. However, its production does take time, energy and resources so it s important to

More information

Building Your EDI Modernization Roadmap

Building Your EDI Modernization Roadmap Simplify and Accelerate e-business Integration Building Your EDI Modernization Roadmap Background EDI Modernization Drivers Lost revenue due to missing capabilities or poor scorecard ratings High error

More information

Programming in Access VBA

Programming in Access VBA PART I Programming in Access VBA In this part, you will learn all about how Visual Basic for Applications (VBA) works for Access 2010. A number of new VBA features have been incorporated into the 2010

More information

Numerator Denominator

Numerator Denominator Fractions A fraction is any part of a group, number or whole. Fractions are always written as Numerator Denominator A unitary fraction is one where the numerator is always 1 e.g 1 1 1 1 1...etc... 2 3

More information

Your guide to DevOps. Bring developers, IT, and the latest tools together to create a smarter, leaner, more successful coding machine

Your guide to DevOps. Bring developers, IT, and the latest tools together to create a smarter, leaner, more successful coding machine Your guide to DevOps Bring developers, IT, and the latest tools together to create a smarter, leaner, more successful coding machine Introduction The move to DevOps involves more than new processes and

More information

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin Development Techniques for Native/Hybrid Tizen Apps Presented by Kirill Kruchinkin Agenda Introduction and Definitions Practices Case Studies 2 Introduction & Definitions 2 App Types Browser Apps Installable

More information

Helping Customers Move Workloads into the Cloud. A Guide for Providers of vcloud Powered Services

Helping Customers Move Workloads into the Cloud. A Guide for Providers of vcloud Powered Services Helping Customers Move Workloads into the Cloud A Guide for Providers of vcloud Powered Services Technical WHITE PAPER Table of Contents Introduction.... 3 About VMware vcloud Connector.... 3 Use Cases....

More information

Workshop on Android and Applications Development

Workshop on Android and Applications Development Workshop on Android and Applications Development Duration: 2 Days (8 hrs/day) Introduction: With over one billion devices activated, Android is an exciting space to make apps to help you communicate, organize,

More information

Evaluation of Xamarin Forms for MultiPlatform Mobile Application Development

Evaluation of Xamarin Forms for MultiPlatform Mobile Application Development Grand Valley State University ScholarWorks@GVSU Technical Library School of Computing and Information Systems 2016 Evaluation of Xamarin Forms for MultiPlatform Mobile Application Development Amer A. Radi

More information

Selenium WebDriver. Gianluca Carbone. Selenium WebDriver 1

Selenium WebDriver. Gianluca Carbone. Selenium WebDriver 1 Selenium WebDriver Gianluca Carbone Selenium WebDriver 1 Contents What is Selenium? History WebDriver High-Level Architectures Architectural themes Non Functional quality Layers & Javascript Design issues

More information

IBM Tivoli Workload Scheduler Integration Workbench V8.6.: How to customize your automation environment by creating a custom Job Type plug-in

IBM Tivoli Workload Scheduler Integration Workbench V8.6.: How to customize your automation environment by creating a custom Job Type plug-in IBM Tivoli Workload Scheduler Integration Workbench V8.6.: How to customize your automation environment by creating a custom Job Type plug-in Author(s): Marco Ganci Abstract This document describes how

More information

# drive SAVE. SECURE. SHARE. DRIVE.HASHROOT.COM #

# drive SAVE. SECURE. SHARE. DRIVE.HASHROOT.COM # # drive SAVE. SECURE. SHARE. DRIVE.HASHROOT.COM # #drive - Your Next-Generation Data Management Solution #drive is the market leading solution to enable digital transformation of your enterprise. It allows

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and

More information

Deep analysis of a modern web site

Deep analysis of a modern web site Deep analysis of a modern web site Patrick Lambert November 28, 2015 Abstract This paper studies in details the process of loading a single popular web site, along with the vast amount of HTTP requests

More information