how cell biosciences uses eclipsewiki.eclipse.org/images/9/93/cellbioeclipseday.pdf · how cell...

20
Confidential revolutionizing cell protein research How Cell Biosciences uses Eclipse Daniel Coupal [dcoupal at universia.com] Ken Swartz Ph.D. [kswartz at cellbiosciences.com]

Upload: phamque

Post on 02-May-2018

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

Confidential

revolutionizing cell protein research

How Cell Biosciences uses Eclipse

Daniel Coupal [dcoupal at universia.com]Ken Swartz Ph.D. [kswartz at cellbiosciences.com]

Page 2: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

2

Instruments for studying proteins (Cancer Research)

Scientific Instruments

Gel ImagingProtein separation by pH

Page 3: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

3

Architecture for an Instrument and Application

Embedded SBC – Linux (Ubuntu)– Python, Django

Remote Control Client– Windows and Mac OS X– Eclipse RCP, Java

Soap, Rest, Zeroconf

Robotics and Imaging System

Page 4: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

4

Customer network

Imaging System and Data Web Server

WiFi

Architecture for an Appliance Instrument

Embedded SBC – Linux (Ubuntu)– Python, Django

Touch screen– Chrome kiosk mode

Page 5: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

5

Who we are:

Company: ~100 employees

1 manager, (UI design)

2 engineers (Java, Python, JavaScript)

1 engineer (legacy .NET)

1 contractor (coding and …builds, tests, installers, tools.)

1 SQA person

Software Group: ~6 people

Page 6: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

6

Software development at a small company

Not many resources– Everyone does many tasks – Little time to learn– Tasks should add immediate value

Use known tools where one can– Need to use a specialized tool for a week

Page 7: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

7

Our software tool needs

Embedded Computers – Linux, Python, Django, (C++ for drivers)

Desktop applications – Windows, Mac OS X, Java (Eclipse RCP)

Instruments usually require diverse technologies.

On a good day one can work on Java, Python and JavaScript…on a bad day, it includes C++

The abstraction failed looks like I need to C the cause

Page 8: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

8

Eclipse IDE for small teams and diverse products

Eclipse

LanguageOS Great=Java.refactor()

[Python for debug in code]

Aptana=JavaScript.pluginWindows

Linux

<HTML/>Mac OS X

Use one IDE across many technologies

C++-=

Don’t need to move the F3 key!!!

Page 9: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

9

Eclipse plugins we use

Eclipse for RCP Developers, version 3.5 PyDev Subclipse EGit JUnit SWT Bot TPTP Test and Performance SOAP WSDL editing Aptana

Page 10: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

10

Easy to setup development environment

Easy to publish our Eclipse environment– Install Eclipse– Install all plug-ins– Zip it!– Push to server

Easy to install for all engineers– unzip

The coolest…– A breeze to install on any lab machine to debug– Install remotely with a USB key

Registry

License

Page 11: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

11

Eclipse RCP for scientific applications

Cross platform desktop application for Windows and Mac OS X– Native looking application

Leverage existing Framework– Perspectives map to different steps in data acquisition and analysis

Did I mention cross platform?– We have to support ubiquitous Windows– There are many users in academia who love their Macs

RCP: Using the framework of Eclipse for something entirely different

Page 12: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

12

Compass: an Eclipse RCP

Graphs Images Different data

slices Colored coded

data features

Page 13: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

13

Application Perspectives ->Experiment Stages

Setup

Data Run Progress

Analyze Data

Page 14: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

14

Eclipse RCP Custom Views

Images

Pseudo Gel

Graph (JFreeChart)

Page 15: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

15

Builds– Used PDE when we started, works OK– Currently many solutions available: PDE, Athena, Buckminster, B2– Not able to investigate them all

Updates– Use basic updates– Tried an early version of P2, did not succeed

Installers– Require complete installation: shortcuts, dependencies, …– Use 3rd party tool: Advanced Installer

Where Eclipse RCP could do better

Page 16: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

16

Other tools we use

We use hosted services where we can– Fogbuz, defect tracking, project management– Wush.net (SVN hosting)

Firebug (JavaScript debugging)

bpython, great Python shell – Can have your ssh and auto-completion too.

In the Cloud,if it rains, will ourbugs float or get squashed?

Page 17: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

17

Things we love about Eclipse

Low entry cost, in time and money, to try new technologies

Framework to leverage for our UI

Easy to deploy

Fast refactoring of Java Code

Debugging of Python

Page 18: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

18

Take Aways

Great when using diverse technologies– One IDE for multiple platforms and languages– Easy to reproduce development environment

RCP is well suited for desktop scientific applications– Leverage Framework for UI– RCP application installer and build system are hurdles

Eclipse works well for our a small group

Page 19: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

19

Shameless advertisement (Job Opening)

Software Engineer for our new imaging product line• Like working in a small team wearing many hats.• Eclipse• Python, Java, JavaScript, Django • Real time/Instrument control• Being a runner is a plus (some of us run at lunch)

for ( i=0; i<distance; i++ ) { left += step; right += step;}

I need an Android app for this!

Page 20: How Cell Biosciences uses Eclipsewiki.eclipse.org/images/9/93/CellbioEclipseDay.pdf · How Cell Biosciences uses Eclipse ... – Chrome kiosk mode. 5 Who we are: Company: ~100 employees

20

Contact Information

Further questions– Ken Swartz

kswartz at cellbiosciences.com– Daniel Coupal

dcoupal at universia.com

Job opening– Steve Gallagher

sgallagher at cellbiosciences.com

Thank you for all the great work on Eclipse !!!