You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@taverna.apache.org by Harsha Siriwardena <ha...@gmail.com> on 2015/03/05 12:41:27 UTC

GSoC: Android app Taverna Mobile

Hi everyone,

My name is Harsha Siriwardena from Colombo, Sri Lanka - I am a masters
student pursuing Msc in Enterprise applications from Sheffield Hallam
university. I also work as a Mobile engineer specialised in android
development & altogether I had experience in Android development over 2
years now. So I'm really interested on Taverna Android App enhancement
project idea and would like to work on it this summer.

Currently I have able to checkout the android source
<https://github.com/ianwdunlop/tavernamobile> code and successfully ran the
app in my android device.

From: https://issues.apache.org/jira/browse/COMDEV-123

The code relies on some APIs from google and apache which have moved on
> since then eg the https libraries which needs updated.
> The project would be to:
> 1) fix the ssl/https parts and use the latest version of taverna server
> 2) update the code to remove some legacy dependencies and use the latest
> APIs
> 3) improve the UI and responsiveness

1) & 2) are the most important bits with 3) being a bit extra depending on
> how the first bits progress.


I understand the objectives slightly, but could you please elaborate more
about the project goals; may be about the deliverables, objectives & things
like that, so that would helpful for me in getting started & also to write
a good proposal.

Thank you,
Harsha

Re: GSoC: Android app Taverna Mobile

Posted by Harsha Siriwardena <ha...@gmail.com>.
Hi Ian,

That would be very helpful, thanks!

Thank you,
Harsha

On Thu, Mar 5, 2015 at 7:42 PM, Ian Dunlop <ia...@manchester.ac.uk>
wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
> Hello,
>
> Thanks for the interest. We'll have a think about the goals and
> objectives and update the original proposal soon. It's good to know
> that the current code can be run in an Android device.
>
> Cheers,
>
> Ian
>
> On 05/03/2015 11:41, Harsha Siriwardena wrote:
> > Hi everyone,
> >
> > My name is Harsha Siriwardena from Colombo, Sri Lanka - I am a
> > masters student pursuing Msc in Enterprise applications from
> > Sheffield Hallam university. I also work as a Mobile engineer
> > specialised in android development & altogether I had experience in
> > Android development over 2 years now. So I'm really interested on
> > Taverna Android App enhancement project idea and would like to work
> > on it this summer.
> >
> > Currently I have able to checkout the android source
> > <https://github.com/ianwdunlop/tavernamobile> code and successfully
> > ran the app in my android device.
> >
> > From: https://issues.apache.org/jira/browse/COMDEV-123
> >
> > The code relies on some APIs from google and apache which have
> > moved on
> >> since then eg the https libraries which needs updated. The
> >> project would be to: 1) fix the ssl/https parts and use the
> >> latest version of taverna server 2) update the code to remove
> >> some legacy dependencies and use the latest APIs 3) improve the
> >> UI and responsiveness
> >
> > 1) & 2) are the most important bits with 3) being a bit extra
> > depending on
> >> how the first bits progress.
> >
> >
> > I understand the objectives slightly, but could you please
> > elaborate more about the project goals; may be about the
> > deliverables, objectives & things like that, so that would helpful
> > for me in getting started & also to write a good proposal.
> >
> > Thank you, Harsha
> >
> -----BEGIN PGP SIGNATURE-----
> Comment: GPGTools - https://gpgtools.org
>
> iQEcBAEBCgAGBQJU+GRZAAoJEPK45GBX+Cy5exUH/09aj6RXq7gnFNCASu4NPwQQ
> UVPaIEdiwgxL3jkf3L+9SFEx2TIBCbz3W5ZJf3tVjJIV2EjcxDv6LY3bkLeARVQ3
> K9T4suKD4qFity5zXLVenxJQL7+e8G7Y1mNm6t9Z18w6yN2fTjw83P3xewX70Kmq
> 3GNPrVcJrgqhIeFYaco4xBeVfxijMb3P08JQGZiNxROxGiryUQPeaIHQAid5PyNM
> 1m5bAb6bpzYq7N/aYc7mv+Gl6IyEvYnojIUgue+G+cy1ZDEU/FdsOSSzGR3oFWLX
> UaFwOTPc5DjEQAlmIRc2pnNzZ7B3PVKpvkqLtp9QoksB3F2II+/1zIpEcD+50kU=
> =krpp
> -----END PGP SIGNATURE-----
>

Re: GSoC: Android app Taverna Mobile

Posted by Ian Dunlop <ia...@manchester.ac.uk>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hello,

Thanks for the interest. We'll have a think about the goals and
objectives and update the original proposal soon. It's good to know
that the current code can be run in an Android device.

Cheers,

Ian

On 05/03/2015 11:41, Harsha Siriwardena wrote:
> Hi everyone,
> 
> My name is Harsha Siriwardena from Colombo, Sri Lanka - I am a
> masters student pursuing Msc in Enterprise applications from
> Sheffield Hallam university. I also work as a Mobile engineer
> specialised in android development & altogether I had experience in
> Android development over 2 years now. So I'm really interested on
> Taverna Android App enhancement project idea and would like to work
> on it this summer.
> 
> Currently I have able to checkout the android source 
> <https://github.com/ianwdunlop/tavernamobile> code and successfully
> ran the app in my android device.
> 
> From: https://issues.apache.org/jira/browse/COMDEV-123
> 
> The code relies on some APIs from google and apache which have
> moved on
>> since then eg the https libraries which needs updated. The
>> project would be to: 1) fix the ssl/https parts and use the
>> latest version of taverna server 2) update the code to remove
>> some legacy dependencies and use the latest APIs 3) improve the
>> UI and responsiveness
> 
> 1) & 2) are the most important bits with 3) being a bit extra
> depending on
>> how the first bits progress.
> 
> 
> I understand the objectives slightly, but could you please
> elaborate more about the project goals; may be about the
> deliverables, objectives & things like that, so that would helpful
> for me in getting started & also to write a good proposal.
> 
> Thank you, Harsha
> 
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJU+GRZAAoJEPK45GBX+Cy5exUH/09aj6RXq7gnFNCASu4NPwQQ
UVPaIEdiwgxL3jkf3L+9SFEx2TIBCbz3W5ZJf3tVjJIV2EjcxDv6LY3bkLeARVQ3
K9T4suKD4qFity5zXLVenxJQL7+e8G7Y1mNm6t9Z18w6yN2fTjw83P3xewX70Kmq
3GNPrVcJrgqhIeFYaco4xBeVfxijMb3P08JQGZiNxROxGiryUQPeaIHQAid5PyNM
1m5bAb6bpzYq7N/aYc7mv+Gl6IyEvYnojIUgue+G+cy1ZDEU/FdsOSSzGR3oFWLX
UaFwOTPc5DjEQAlmIRc2pnNzZ7B3PVKpvkqLtp9QoksB3F2II+/1zIpEcD+50kU=
=krpp
-----END PGP SIGNATURE-----

Re: GSoC: Android app Taverna Mobile

Posted by Ian Dunlop <ia...@manchester.ac.uk>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hello,

Quite happy for the app to remain Android but I think that using some
of that 'cool native android experience' caused us some issues in the
first place. I'm happy as long as long term support is a consideration
and isn't forgotten in the name of 'cool' :) .

Cheers,

Ian

On 08/03/2015 20:46, Harsha Siriwardena wrote:
> i have some exposure with cordova, but i think we wouldn't be
> getting that cool native android experience for the end user if we
> develop the app using cordova. so IMHO redesigning the Android app
> would be the way to go. is that ok
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJU/cJSAAoJEPK45GBX+Cy5cZEH/0nwoW0GlVNqjaTZNBLGGxK5
ajZyAZInXc7jWeaiB9ktTYlltrdLna2Oy79e+A6EEQ35QaSs0If3DUq+z4uLpJG+
hXUFUn20Sa15cnYJxayAYO4d6rYwI4ykm6rQyqCEJrOb6K9RsiX+OZRAZ4ejzJlY
eZvL1zZ7K79v2JvAeMe0RbvZHGchG/awMU8I48cGicgKhHdW/AGkSVKCGAo8AJ9d
S5sRklXVCkJhssqtlcB8V20u+BFqgGrwx+SVrJjcrCemCphwW5PYoQ7vVymQy5bV
xVTr587CKKPA59w/85eBpn74YLiuoXoawCYB4NFELnDv3DXg/07nmM0X1StQQXA=
=YYxL
-----END PGP SIGNATURE-----

Re: GSoC: Android app Taverna Mobile

Posted by Harsha Siriwardena <ha...@gmail.com>.
Hi Ian,

Please see my inline comments. Thanks!

The original app was designed for Android 18 although there are now
various SDK levels mentioned in various manifest files. Minimal
testing on other API levels was done, pretty much just the developers
phone. Targeting as low an SDK version as possible would be desirable.
Obviously not way back to Android 2 but something which allows a
reasonable percentage of devices to use the app
(http://developer.android.com/about/dashboards/index.html). 4.1 (SDK
16) may be a good target.

No problem, My office's Mobile dev team has got some variety of Android
devices (from low end to high end ranges) which we use to QA/Test our app
releases. I would make the app support for minimum SDK as possible and test
it on different resolutions and platforms for an smoother release.

The app uses various dependencies, listed in the build files. However,
these dependencies may be out of date and in fact may be unused by the
code. They need to be cleaned up.

ok

The original app used a modified version of the apache http libraries
to talk to the taverna server code because the android sdk did not
include an up to date version and the latest versions clashed with the
android package namespaces. Android compatible versions of recent
versions of the apache http libaries are now available
(https://hc.apache.org/httpcomponents-client-4.3.x/android-port.html)
and I tried to use them in my 'fork' although testing was minimal.

alright

The mygrid taverna server library
(https://github.com/myGrid/t2-server-jar) is used to access the
taverna server API. This library is not actively supported and in fact
may be too heavyweight for the app. It is not even clear what branch
is used. The taverna server API is just a REST based API over HTTP
(http://dev.mygrid.org.uk/wiki/display/tav250/REST+API) so some
refactoring is a good idea. It has to be able to handle talking to a
taverna server over HTTPS with a username/password that is not the
default taverna/taverna one. The HTTPS may have a user created
certificate which is not from a CA.

ok

Some of the UI relies on the sliding menu library by Jeremy Feinsten
which is included directly in the src rather than via gradle. The
provenance of the code is unclear, possible from
https://github.com/jfeinstein10/SlidingMenu. There may be a more
modern Android way to do that kind of UI design but I am not convinced
that the app needs it.

ok

The PullToRefresh library by Chris Baines (possibly
https://github.com/chrisbanes/Android-PullToRefresh) is used via
gradle but again there may be a modern Android way to do things.

ok

One of the important tasks is to ensure that the app can be supported
beyond the project end and that means relying on 3rd party libs that
are actively supported.

ok

Think of the current app as a demonstrator. I would be happy for the
it to be developed from scratch. There is no need for it to even be an
Android app, a web app would be just as good as long as the
functionality is there. In fact, that is a good way to target multiple
mobile platforms perhaps using some apache cordova
(http://cordova.apache.org/) for any native functionality required.

i have some exposure with cordova, but i think we wouldn't be getting that
cool native android experience for the end user if we develop the app using
cordova. so IMHO redesigning the Android app would be the way to go. is
that ok?

The basic app functionality required (not an exhaustive list):
View workflows from http://www.myexperiment.org
Log in to http://www.myexperiment.org and view your workflows
Talk to required parts of taverna server API over HTTPS.
Run a workflow. Requires upload of input data and the workflow to a taverna
server instance.
Monitor workflow run.
View workflow run results.
Download results.

Also from JIRA -


> Secondary requirements:

Favourite workflows
> Link to dropbox and save workflow results there.


ok

Thank you,
Harsha

On Fri, Mar 6, 2015 at 6:52 PM, Harsha Siriwardena <ha...@gmail.com>
wrote:

> Hi Ian,
>
> Thanks lot for the detailed information, I will go through this and let
> you know if i need any clarifications. Thanks!
>
> Thank you,
> Harsha
>
> On Fri, Mar 6, 2015 at 5:50 PM, Ian Dunlop <ia...@manchester.ac.uk>
> wrote:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA512
>>
>> Hello,
>>
>> Here is some more background info on why the app needs updated and
>> what I think is the main functionality required.
>>
>> The original app was designed for Android 18 although there are now
>> various SDK levels mentioned in various manifest files. Minimal
>> testing on other API levels was done, pretty much just the developers
>> phone. Targeting as low an SDK version as possible would be desirable.
>> Obviously not way back to Android 2 but something which allows a
>> reasonable percentage of devices to use the app
>> (http://developer.android.com/about/dashboards/index.html). 4.1 (SDK
>> 16) may be a good target.
>> The app uses various dependencies, listed in the build files. However,
>> these dependencies may be out of date and in fact may be unused by the
>> code. They need to be cleaned up.
>> The original app used a modified version of the apache http libraries
>> to talk to the taverna server code because the android sdk did not
>> include an up to date version and the latest versions clashed with the
>> android package namespaces. Android compatible versions of recent
>> versions of the apache http libaries are now available
>> (https://hc.apache.org/httpcomponents-client-4.3.x/android-port.html)
>> and I tried to use them in my 'fork' although testing was minimal.
>> The mygrid taverna server library
>> (https://github.com/myGrid/t2-server-jar) is used to access the
>> taverna server API. This library is not actively supported and in fact
>> may be too heavyweight for the app. It is not even clear what branch
>> is used. The taverna server API is just a REST based API over HTTP
>> (http://dev.mygrid.org.uk/wiki/display/tav250/REST+API) so some
>> refactoring is a good idea. It has to be able to handle talking to a
>> taverna server over HTTPS with a username/password that is not the
>> default taverna/taverna one. The HTTPS may have a user created
>> certificate which is not from a CA.
>>
>> Some of the UI relies on the sliding menu library by Jeremy Feinsten
>> which is included directly in the src rather than via gradle. The
>> provenance of the code is unclear, possible from
>> https://github.com/jfeinstein10/SlidingMenu. There may be a more
>> modern Android way to do that kind of UI design but I am not convinced
>> that the app needs it.
>> The PullToRefresh library by Chris Baines (possibly
>> https://github.com/chrisbanes/Android-PullToRefresh) is used via
>> gradle but again there may be a modern Android way to do things.
>> One of the important tasks is to ensure that the app can be supported
>> beyond the project end and that means relying on 3rd party libs that
>> are actively supported.
>>
>> Think of the current app as a demonstrator. I would be happy for the
>> it to be developed from scratch. There is no need for it to even be an
>> Android app, a web app would be just as good as long as the
>> functionality is there. In fact, that is a good way to target multiple
>> mobile platforms perhaps using some apache cordova
>> (http://cordova.apache.org/) for any native functionality required.
>>
>> The basic app functionality required (not an exhaustive list):
>> View workflows from http://www.myexperiment.org
>> Log in to http://www.myexperiment.org and view your workflows
>> Talk to required parts of taverna server API over HTTPS.
>> Run a workflow. Requires upload of input data and the workflow to a
>> taverna server instance.
>> Monitor workflow run.
>> View workflow run results.
>> Download results.
>>
>> Cheers,
>>
>> Ian
>>
>> On 05/03/2015 11:41, Harsha Siriwardena wrote:
>> > Hi everyone,
>> >
>> > My name is Harsha Siriwardena from Colombo, Sri Lanka - I am a
>> > masters student pursuing Msc in Enterprise applications from
>> > Sheffield Hallam university. I also work as a Mobile engineer
>> > specialised in android development & altogether I had experience in
>> > Android development over 2 years now. So I'm really interested on
>> > Taverna Android App enhancement project idea and would like to work
>> > on it this summer.
>> >
>> > Currently I have able to checkout the android source
>> > <https://github.com/ianwdunlop/tavernamobile> code and successfully
>> > ran the app in my android device.
>> >
>> > From: https://issues.apache.org/jira/browse/COMDEV-123
>> >
>> > The code relies on some APIs from google and apache which have
>> > moved on
>> >> since then eg the https libraries which needs updated. The
>> >> project would be to: 1) fix the ssl/https parts and use the
>> >> latest version of taverna server 2) update the code to remove
>> >> some legacy dependencies and use the latest APIs 3) improve the
>> >> UI and responsiveness
>> >
>> > 1) & 2) are the most important bits with 3) being a bit extra
>> > depending on
>> >> how the first bits progress.
>> >
>> >
>> > I understand the objectives slightly, but could you please
>> > elaborate more about the project goals; may be about the
>> > deliverables, objectives & things like that, so that would helpful
>> > for me in getting started & also to write a good proposal.
>> >
>> > Thank you, Harsha
>> >
>> -----BEGIN PGP SIGNATURE-----
>> Comment: GPGTools - https://gpgtools.org
>>
>> iQEcBAEBCgAGBQJU+ZtxAAoJEPK45GBX+Cy5VhwH/0kwtEgOdZ1CaMw9nh/zMwzZ
>> lrQItNZgg3SknZqq6GV27zif9nNlh+wrYLdyu+Ms+bhy/TKSlzsAYtTHL40pg3qU
>> MB4tbib5TYxLa8vYOWs12NpMAHtQ7DiD6upoOJRtUMvWmkSneqvlD8sjEVeC4768
>> a2BbI8nRoKFPI7WawPU8EgfX1JEo+i5+CVJ4Qe2cDG5fPs1CJ9IAqQp1bpi9i6ql
>> LO9KhYQo/vninCnDRT9mMb6ve2szKZpMMqmMVh/VMjyyVEt5RCgwZsFs55sWN0L/
>> ih6n4TCeHr8XqcW4o7HpJtm3x4Yiwp5PYW4HjhH4lsaJFLKllroMIGreCkw2YIc=
>> =CZsf
>> -----END PGP SIGNATURE-----
>>
>
>

Re: GSoC: Android app Taverna Mobile

Posted by Harsha Siriwardena <ha...@gmail.com>.
Hi Ian,

Thanks lot for the detailed information, I will go through this and let you
know if i need any clarifications. Thanks!

Thank you,
Harsha

On Fri, Mar 6, 2015 at 5:50 PM, Ian Dunlop <ia...@manchester.ac.uk>
wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
> Hello,
>
> Here is some more background info on why the app needs updated and
> what I think is the main functionality required.
>
> The original app was designed for Android 18 although there are now
> various SDK levels mentioned in various manifest files. Minimal
> testing on other API levels was done, pretty much just the developers
> phone. Targeting as low an SDK version as possible would be desirable.
> Obviously not way back to Android 2 but something which allows a
> reasonable percentage of devices to use the app
> (http://developer.android.com/about/dashboards/index.html). 4.1 (SDK
> 16) may be a good target.
> The app uses various dependencies, listed in the build files. However,
> these dependencies may be out of date and in fact may be unused by the
> code. They need to be cleaned up.
> The original app used a modified version of the apache http libraries
> to talk to the taverna server code because the android sdk did not
> include an up to date version and the latest versions clashed with the
> android package namespaces. Android compatible versions of recent
> versions of the apache http libaries are now available
> (https://hc.apache.org/httpcomponents-client-4.3.x/android-port.html)
> and I tried to use them in my 'fork' although testing was minimal.
> The mygrid taverna server library
> (https://github.com/myGrid/t2-server-jar) is used to access the
> taverna server API. This library is not actively supported and in fact
> may be too heavyweight for the app. It is not even clear what branch
> is used. The taverna server API is just a REST based API over HTTP
> (http://dev.mygrid.org.uk/wiki/display/tav250/REST+API) so some
> refactoring is a good idea. It has to be able to handle talking to a
> taverna server over HTTPS with a username/password that is not the
> default taverna/taverna one. The HTTPS may have a user created
> certificate which is not from a CA.
>
> Some of the UI relies on the sliding menu library by Jeremy Feinsten
> which is included directly in the src rather than via gradle. The
> provenance of the code is unclear, possible from
> https://github.com/jfeinstein10/SlidingMenu. There may be a more
> modern Android way to do that kind of UI design but I am not convinced
> that the app needs it.
> The PullToRefresh library by Chris Baines (possibly
> https://github.com/chrisbanes/Android-PullToRefresh) is used via
> gradle but again there may be a modern Android way to do things.
> One of the important tasks is to ensure that the app can be supported
> beyond the project end and that means relying on 3rd party libs that
> are actively supported.
>
> Think of the current app as a demonstrator. I would be happy for the
> it to be developed from scratch. There is no need for it to even be an
> Android app, a web app would be just as good as long as the
> functionality is there. In fact, that is a good way to target multiple
> mobile platforms perhaps using some apache cordova
> (http://cordova.apache.org/) for any native functionality required.
>
> The basic app functionality required (not an exhaustive list):
> View workflows from http://www.myexperiment.org
> Log in to http://www.myexperiment.org and view your workflows
> Talk to required parts of taverna server API over HTTPS.
> Run a workflow. Requires upload of input data and the workflow to a
> taverna server instance.
> Monitor workflow run.
> View workflow run results.
> Download results.
>
> Cheers,
>
> Ian
>
> On 05/03/2015 11:41, Harsha Siriwardena wrote:
> > Hi everyone,
> >
> > My name is Harsha Siriwardena from Colombo, Sri Lanka - I am a
> > masters student pursuing Msc in Enterprise applications from
> > Sheffield Hallam university. I also work as a Mobile engineer
> > specialised in android development & altogether I had experience in
> > Android development over 2 years now. So I'm really interested on
> > Taverna Android App enhancement project idea and would like to work
> > on it this summer.
> >
> > Currently I have able to checkout the android source
> > <https://github.com/ianwdunlop/tavernamobile> code and successfully
> > ran the app in my android device.
> >
> > From: https://issues.apache.org/jira/browse/COMDEV-123
> >
> > The code relies on some APIs from google and apache which have
> > moved on
> >> since then eg the https libraries which needs updated. The
> >> project would be to: 1) fix the ssl/https parts and use the
> >> latest version of taverna server 2) update the code to remove
> >> some legacy dependencies and use the latest APIs 3) improve the
> >> UI and responsiveness
> >
> > 1) & 2) are the most important bits with 3) being a bit extra
> > depending on
> >> how the first bits progress.
> >
> >
> > I understand the objectives slightly, but could you please
> > elaborate more about the project goals; may be about the
> > deliverables, objectives & things like that, so that would helpful
> > for me in getting started & also to write a good proposal.
> >
> > Thank you, Harsha
> >
> -----BEGIN PGP SIGNATURE-----
> Comment: GPGTools - https://gpgtools.org
>
> iQEcBAEBCgAGBQJU+ZtxAAoJEPK45GBX+Cy5VhwH/0kwtEgOdZ1CaMw9nh/zMwzZ
> lrQItNZgg3SknZqq6GV27zif9nNlh+wrYLdyu+Ms+bhy/TKSlzsAYtTHL40pg3qU
> MB4tbib5TYxLa8vYOWs12NpMAHtQ7DiD6upoOJRtUMvWmkSneqvlD8sjEVeC4768
> a2BbI8nRoKFPI7WawPU8EgfX1JEo+i5+CVJ4Qe2cDG5fPs1CJ9IAqQp1bpi9i6ql
> LO9KhYQo/vninCnDRT9mMb6ve2szKZpMMqmMVh/VMjyyVEt5RCgwZsFs55sWN0L/
> ih6n4TCeHr8XqcW4o7HpJtm3x4Yiwp5PYW4HjhH4lsaJFLKllroMIGreCkw2YIc=
> =CZsf
> -----END PGP SIGNATURE-----
>

Re: GSoC: Android app Taverna Mobile

Posted by Ian Dunlop <ia...@manchester.ac.uk>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hello,

Here is some more background info on why the app needs updated and
what I think is the main functionality required.

The original app was designed for Android 18 although there are now
various SDK levels mentioned in various manifest files. Minimal
testing on other API levels was done, pretty much just the developers
phone. Targeting as low an SDK version as possible would be desirable.
Obviously not way back to Android 2 but something which allows a
reasonable percentage of devices to use the app
(http://developer.android.com/about/dashboards/index.html). 4.1 (SDK
16) may be a good target.
The app uses various dependencies, listed in the build files. However,
these dependencies may be out of date and in fact may be unused by the
code. They need to be cleaned up.
The original app used a modified version of the apache http libraries
to talk to the taverna server code because the android sdk did not
include an up to date version and the latest versions clashed with the
android package namespaces. Android compatible versions of recent
versions of the apache http libaries are now available
(https://hc.apache.org/httpcomponents-client-4.3.x/android-port.html)
and I tried to use them in my 'fork' although testing was minimal.
The mygrid taverna server library
(https://github.com/myGrid/t2-server-jar) is used to access the
taverna server API. This library is not actively supported and in fact
may be too heavyweight for the app. It is not even clear what branch
is used. The taverna server API is just a REST based API over HTTP
(http://dev.mygrid.org.uk/wiki/display/tav250/REST+API) so some
refactoring is a good idea. It has to be able to handle talking to a
taverna server over HTTPS with a username/password that is not the
default taverna/taverna one. The HTTPS may have a user created
certificate which is not from a CA.

Some of the UI relies on the sliding menu library by Jeremy Feinsten
which is included directly in the src rather than via gradle. The
provenance of the code is unclear, possible from
https://github.com/jfeinstein10/SlidingMenu. There may be a more
modern Android way to do that kind of UI design but I am not convinced
that the app needs it.
The PullToRefresh library by Chris Baines (possibly
https://github.com/chrisbanes/Android-PullToRefresh) is used via
gradle but again there may be a modern Android way to do things.
One of the important tasks is to ensure that the app can be supported
beyond the project end and that means relying on 3rd party libs that
are actively supported.

Think of the current app as a demonstrator. I would be happy for the
it to be developed from scratch. There is no need for it to even be an
Android app, a web app would be just as good as long as the
functionality is there. In fact, that is a good way to target multiple
mobile platforms perhaps using some apache cordova
(http://cordova.apache.org/) for any native functionality required.

The basic app functionality required (not an exhaustive list):
View workflows from http://www.myexperiment.org
Log in to http://www.myexperiment.org and view your workflows
Talk to required parts of taverna server API over HTTPS.
Run a workflow. Requires upload of input data and the workflow to a
taverna server instance.
Monitor workflow run.
View workflow run results.
Download results.

Cheers,

Ian

On 05/03/2015 11:41, Harsha Siriwardena wrote:
> Hi everyone,
> 
> My name is Harsha Siriwardena from Colombo, Sri Lanka - I am a
> masters student pursuing Msc in Enterprise applications from
> Sheffield Hallam university. I also work as a Mobile engineer
> specialised in android development & altogether I had experience in
> Android development over 2 years now. So I'm really interested on
> Taverna Android App enhancement project idea and would like to work
> on it this summer.
> 
> Currently I have able to checkout the android source 
> <https://github.com/ianwdunlop/tavernamobile> code and successfully
> ran the app in my android device.
> 
> From: https://issues.apache.org/jira/browse/COMDEV-123
> 
> The code relies on some APIs from google and apache which have
> moved on
>> since then eg the https libraries which needs updated. The
>> project would be to: 1) fix the ssl/https parts and use the
>> latest version of taverna server 2) update the code to remove
>> some legacy dependencies and use the latest APIs 3) improve the
>> UI and responsiveness
> 
> 1) & 2) are the most important bits with 3) being a bit extra
> depending on
>> how the first bits progress.
> 
> 
> I understand the objectives slightly, but could you please
> elaborate more about the project goals; may be about the
> deliverables, objectives & things like that, so that would helpful
> for me in getting started & also to write a good proposal.
> 
> Thank you, Harsha
> 
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJU+ZtxAAoJEPK45GBX+Cy5VhwH/0kwtEgOdZ1CaMw9nh/zMwzZ
lrQItNZgg3SknZqq6GV27zif9nNlh+wrYLdyu+Ms+bhy/TKSlzsAYtTHL40pg3qU
MB4tbib5TYxLa8vYOWs12NpMAHtQ7DiD6upoOJRtUMvWmkSneqvlD8sjEVeC4768
a2BbI8nRoKFPI7WawPU8EgfX1JEo+i5+CVJ4Qe2cDG5fPs1CJ9IAqQp1bpi9i6ql
LO9KhYQo/vninCnDRT9mMb6ve2szKZpMMqmMVh/VMjyyVEt5RCgwZsFs55sWN0L/
ih6n4TCeHr8XqcW4o7HpJtm3x4Yiwp5PYW4HjhH4lsaJFLKllroMIGreCkw2YIc=
=CZsf
-----END PGP SIGNATURE-----