Developing Tango mobile application @HZG

Igor Khokhryakov
Igor KhokhryakovSoftware Architector at TANGO Controls Collaboration
Igor Khohkriakov, Felix Beckmann, Lars Lottermoser
Developing Tango Mobile Applications at
HZG
Acknowledges
This project is a contribution of the Helmholtz Association Centres and Technische Universitaet
Muenchen to the ESS Design Update Phase.
The project's funding reference is FKZ05E11CG1.
We are using:
UFO library C++ NeXus API
Developing Tango Mobile Applications
Agenda
• Motivation
• Solution overview
• Implementation details
• Tango mobile applications SDK
• Demonstration (creating Hello World)
• Conclusions
Motivation. The Big Picture.
Software protocol for high throughput tomography
Recap. What is StatusServer?
• Lightweight Java Tango server
• Collects data from remote
servers implemented in
different systems (Tango, TINE)
• Acts in a non-disturbing way
• Forms a continuous timeline
of the experiment
• Configured in a single simple
.xml file
• High performance in terms of
giving data (processes
requests in less than 1 ms)
Motivation. The Big Picture. Part 2
Software protocol for high throughput tomography
Motivation. Mobile StatusServer client
• Monitor the ongoing experiment from a mobile device
• Review experiment when device is offline
• Configure easily for a variety of different instruments
Idea:
Goals:
The client architecture overview
Our Mobile Tango Application is an ordinary web application developed
using HTML+JavaScript+CSS.
Client: Server:
• Cordova (PhoneGap) Platform(s)
• JavaScriptMVC application
• Jquery mobile
• HTML + JavaScript + CSS
• Apache TomCat
• Java Tango Proxy Servlet(s)
• Remote Tango server(s)
n..n
Mobile Tango Application
Software Development Kit
To simplify integration of all the mentioned frameworks and to give
developers a convenient way to implement mobile applications.
We developed a
Mobile Tango Application SDK
• Provides everything in a single package
• Provides a number of command line utilities that generate and manage
jmvc application, generate Tango js stubs, add Tango Proxies,
build everything and deploy
• Contains mTangoTest application that demonstrates several techniques
and examples of what and how can be done
• Open source and freely available at https://bitbucket.org/hzgwpn/mtango
Developing a “Mobile Hello
World” application
Conclusions
In a hand we have the mobile StatusServer client which
gives users a great experience of monitoring and
reviewing the experiment*.
In another hand we have a mobile Tango applications
SDK which can be used for developing applications
based on communication with Tango servers.
* Not yet finished. Aprox. release date – end of June’13
QUESTIONS?
THANK YOU!
Integrating 3D models
Project at bitbucket.org
The client architecture pros and cons
Pros
Cons
• Pure JavaScript+HTML+CSS solution
• JMVC organizes development cycle – development, testing, production
• Apache Cordova provides API to native functions
(aka read/write to device’s file system)
• Single codebase for many platforms
• Dedicated proxy servlets may optimize communication
with Tango devices
• Security
• No need to adjust server side
• High complexity
• Overall performance may suffer
Status report on SDK development
1. First release have been made (supports only android development)
2. mTangoTest application demonstrates basic possibilities
3. A number of ant tasks implemented
4. Basic documentation is available on the projects wiki
5. Several tasks are defined for future release
6. Feedback is required to define further improvements
What is in the nearest future?!
1. Port to Linux
2. Additional platforms will be included (WebOs, WinPhone)
3. Cordova API wrappers for JMVC (Device lifecycle, simulate native API etc)
4. JMVC integration with logging framework
Currently done:
mTangoTest – a sample application
1. Tango attributes read/write operations
2. Tango commands execution
3. Sample application (read attribute and draw plot
accordingly)
4. Read/write file into device’s file system
5. 3D graphics integration
mTangoTest demonstrates the following possibilities:
1 of 18

Recommended

X-Environment Metadata Management by
X-Environment Metadata ManagementX-Environment Metadata Management
X-Environment Metadata ManagementIgor Khokhryakov
1 view7 slides
Observability of the SCADA Systems Using Elastic APM, Reactive Streams and As... by
Observability of the SCADA Systems Using Elastic APM, Reactive Streams and As...Observability of the SCADA Systems Using Elastic APM, Reactive Streams and As...
Observability of the SCADA Systems Using Elastic APM, Reactive Streams and As...Igor Khokhryakov
1 view15 slides
Waltz-Controls presentation for Canadian Light Source by
Waltz-Controls presentation for Canadian Light SourceWaltz-Controls presentation for Canadian Light Source
Waltz-Controls presentation for Canadian Light SourceIgor Khokhryakov
104 views32 slides
Waltz presentation at ASU and ANL by
Waltz presentation at ASU and ANLWaltz presentation at ASU and ANL
Waltz presentation at ASU and ANLIgor Khokhryakov
194 views32 slides
TangoWebapp insights by
TangoWebapp insightsTangoWebapp insights
TangoWebapp insightsIgor Khokhryakov
622 views41 slides
1st Tango Users Group Russia meeting, overview by
1st Tango Users Group Russia meeting, overview1st Tango Users Group Russia meeting, overview
1st Tango Users Group Russia meeting, overviewIgor Khokhryakov
452 views22 slides

More Related Content

Recently uploaded

DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h... by
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...Deltares
5 views31 slides
Ports-and-Adapters Architecture for Embedded HMI by
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMIBurkhard Stubert
6 views19 slides
Programming Field by
Programming FieldProgramming Field
Programming Fieldthehardtechnology
5 views9 slides
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDeltares
8 views17 slides
FIMA 2023 Neo4j & FS - Entity Resolution.pptx by
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptxNeo4j
7 views26 slides
HarshithAkkapelli_Presentation.pdf by
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdfharshithakkapelli
11 views16 slides

Recently uploaded(20)

DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h... by Deltares
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
Deltares5 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 views
FIMA 2023 Neo4j & FS - Entity Resolution.pptx by Neo4j
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptx
Neo4j7 views
Myths and Facts About Hospice Care: Busting Common Misconceptions by Care Coordinations
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common Misconceptions
Sprint 226 by ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ5 views
SUGCON ANZ Presentation V2.1 Final.pptx by Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor22 views
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares14 views
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action by Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok5 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm14 views
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... by NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi28 views

Featured

ChatGPT and the Future of Work - Clark Boyd by
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
23.4K views69 slides
Getting into the tech field. what next by
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
5.6K views22 slides
Google's Just Not That Into You: Understanding Core Updates & Search Intent by
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
6.3K views99 slides
How to have difficult conversations by
How to have difficult conversations How to have difficult conversations
How to have difficult conversations Rajiv Jayarajah, MAppComm, ACC
4.9K views19 slides
Introduction to Data Science by
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data ScienceChristy Abraham Joy
82.2K views51 slides
Time Management & Productivity - Best Practices by
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
169.7K views42 slides

Featured(20)

ChatGPT and the Future of Work - Clark Boyd by Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd23.4K views
Getting into the tech field. what next by Tessa Mero
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero5.6K views
Google's Just Not That Into You: Understanding Core Updates & Search Intent by Lily Ray
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray6.3K views
Time Management & Productivity - Best Practices by Vit Horky
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky169.7K views
The six step guide to practical project management by MindGenius
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius36.6K views
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright... by RachelPearson36
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson3612.6K views
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present... by Applitools
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools55.5K views
12 Ways to Increase Your Influence at Work by GetSmarter
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter401.7K views
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G... by DevGAMM Conference
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference3.6K views
Barbie - Brand Strategy Presentation by Erica Santiago
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago25.1K views
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well by Saba Software
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software25.2K views
Introduction to C Programming Language by Simplilearn
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
Simplilearn8.4K views
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr... by Palo Alto Software
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
Palo Alto Software88.4K views
9 Tips for a Work-free Vacation by Weekdone.com
9 Tips for a Work-free Vacation9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation
Weekdone.com7.2K views
How to Map Your Future by SlideShop.com
How to Map Your FutureHow to Map Your Future
How to Map Your Future
SlideShop.com275.1K views

Developing Tango mobile application @HZG

  • 1. Igor Khohkriakov, Felix Beckmann, Lars Lottermoser Developing Tango Mobile Applications at HZG
  • 2. Acknowledges This project is a contribution of the Helmholtz Association Centres and Technische Universitaet Muenchen to the ESS Design Update Phase. The project's funding reference is FKZ05E11CG1. We are using: UFO library C++ NeXus API
  • 3. Developing Tango Mobile Applications Agenda • Motivation • Solution overview • Implementation details • Tango mobile applications SDK • Demonstration (creating Hello World) • Conclusions
  • 4. Motivation. The Big Picture. Software protocol for high throughput tomography
  • 5. Recap. What is StatusServer? • Lightweight Java Tango server • Collects data from remote servers implemented in different systems (Tango, TINE) • Acts in a non-disturbing way • Forms a continuous timeline of the experiment • Configured in a single simple .xml file • High performance in terms of giving data (processes requests in less than 1 ms)
  • 6. Motivation. The Big Picture. Part 2 Software protocol for high throughput tomography
  • 7. Motivation. Mobile StatusServer client • Monitor the ongoing experiment from a mobile device • Review experiment when device is offline • Configure easily for a variety of different instruments Idea: Goals:
  • 8. The client architecture overview Our Mobile Tango Application is an ordinary web application developed using HTML+JavaScript+CSS. Client: Server: • Cordova (PhoneGap) Platform(s) • JavaScriptMVC application • Jquery mobile • HTML + JavaScript + CSS • Apache TomCat • Java Tango Proxy Servlet(s) • Remote Tango server(s) n..n
  • 9. Mobile Tango Application Software Development Kit To simplify integration of all the mentioned frameworks and to give developers a convenient way to implement mobile applications. We developed a Mobile Tango Application SDK • Provides everything in a single package • Provides a number of command line utilities that generate and manage jmvc application, generate Tango js stubs, add Tango Proxies, build everything and deploy • Contains mTangoTest application that demonstrates several techniques and examples of what and how can be done • Open source and freely available at https://bitbucket.org/hzgwpn/mtango
  • 10. Developing a “Mobile Hello World” application
  • 11. Conclusions In a hand we have the mobile StatusServer client which gives users a great experience of monitoring and reviewing the experiment*. In another hand we have a mobile Tango applications SDK which can be used for developing applications based on communication with Tango servers. * Not yet finished. Aprox. release date – end of June’13
  • 16. The client architecture pros and cons Pros Cons • Pure JavaScript+HTML+CSS solution • JMVC organizes development cycle – development, testing, production • Apache Cordova provides API to native functions (aka read/write to device’s file system) • Single codebase for many platforms • Dedicated proxy servlets may optimize communication with Tango devices • Security • No need to adjust server side • High complexity • Overall performance may suffer
  • 17. Status report on SDK development 1. First release have been made (supports only android development) 2. mTangoTest application demonstrates basic possibilities 3. A number of ant tasks implemented 4. Basic documentation is available on the projects wiki 5. Several tasks are defined for future release 6. Feedback is required to define further improvements What is in the nearest future?! 1. Port to Linux 2. Additional platforms will be included (WebOs, WinPhone) 3. Cordova API wrappers for JMVC (Device lifecycle, simulate native API etc) 4. JMVC integration with logging framework Currently done:
  • 18. mTangoTest – a sample application 1. Tango attributes read/write operations 2. Tango commands execution 3. Sample application (read attribute and draw plot accordingly) 4. Read/write file into device’s file system 5. 3D graphics integration mTangoTest demonstrates the following possibilities: