Re: [Genome Informatics] Interested in GSoC 2013 - WormBase iOS App/Mobile web site

59 views
Skip to first unread message

Abigail Cabunoc

unread,
Apr 21, 2013, 6:47:58 PM4/21/13
to antoma...@gmail.com, genome-in...@googlegroups.com, Todd W. Harris
Hi Antonio,

It's great to hear about your interest in the WormBase app idea!

Typical use case: A worm researcher is attending a talk, a gene they're unfamiliar with is mentioned. The researcher will open up the app, type in the name of gene and get a quick summary on this gene.

I'm glad you found our RESTful api documentation - yes, we store a lot of datatypes. The most important would be Gene. Other important types (but not all): variation, protein, sequence, paper, phenotype, anatomy term...  However, our RESTful api has the same url structure between classes. So ideally, building a display for one class would work for all other classes. 

For implementation: I do support the idea of an HTML5 webapp. I don't think our app needs any features that would require it to be a native app. I don't know if you'll necessarily need PhoneGap since we probably won't deal with most of the features its API offers. But I do like this idea.

We still have work to do on documenting our REST api, so please feel free to come to me with any questions.

Thanks,


Abby
Lead developer, WormBase website


On Fri, Apr 19, 2013 at 9:22 PM, Antonio Marino <antoma...@gmail.com> wrote:
Hi everyone.
I am an undergraduate student in the School of Computer Science, University Of Manchester.
I'm very interested in making an app/mobile site for the WormBase project. I need to know some details in order to write a good proposal.

First of all, I'd like to know what will the typical use cases of this app be and what are the main features that it needs to have, which ones will be used more frequently, basically how the app will get used. Having these information will allow me to devise a good application workflow. I had a look to the RESTful API documentation and I've seen that the types of data to provide access to are quite a lot, since I don't know a lot about worm biology, the question is: which ones needs to be accessed more quickly?  

On the project description it says "either iOS app or mobile web site". I can't do an iOS native app since I don't have experience and more importantly, because I don't own a Mac / iPhone. 
My proposal then would be using a framework (PhoneGap) to make an HTML5/CSS3/JS app which can be either installed as a mobile app (phonegap.com apps can be compiled for 7 platforms) and hosted to be run as a mobile website (since it's simply an app not requiring other access to the iPhone APIs). 
Do you think this is a good thing?

Have you already selected a mentor for this project?  

Thanks.
Antonio 

--
You received this message because you are subscribed to the Google Groups "Genome Informatics-Google Summer of Code Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to genome-informat...@googlegroups.com.
To post to this group, send email to genome-in...@googlegroups.com.
Visit this group at http://groups.google.com/group/genome-informatics?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Abigail Cabunoc

unread,
Apr 21, 2013, 8:22:01 PM4/21/13
to antoma...@gmail.com, Todd W. Harris, genome-in...@googlegroups.com
Hey Antonio, 

Offline viewing could be very useful, but may not be feasible with our breadth of data. It might be possible if we identify our most popular genes and only cache those.

I'm glad you're thinking about caching - our current legacy database (acedb) is pretty slow for production use. We actually pre-compile the html for each widget - so heads up: fetching with the content-type 'text/html' may be faster than 'application/json'.

Honestly, any sort of caching is welcome. Either storing previously viewed objects or pre-populating the most popular ones.

For implementation: if you're only thinking of using PhoneGap for storage, HTML5 does have a localstorage api.

Our API mainly stores data sets as widgets - usually several widgets per object. All our gene objects have the following widgets: Overview, Expression, External links, Gene Ontology, Genetics, History... and more. You can see them all on a gene page (http://www.wormbase.org/species/c_elegans/gene/WBGene00006763)
* /rest/widget/[CLASS]/[OBJECTID]/[WIDGET]
Storing /only/ the Overview widget for all genes might be reasonable.

Anyways, I hope this helps!
Abby


On Sun, Apr 21, 2013 at 7:22 PM, Antonio Marino <antoma...@gmail.com> wrote:
Thank you for your reply. 
I agree with your observation about PhoneGap. The APIs it offers are a lot more than we need and add a bit of complexity to the development, but the reason why I'd go for the app idea is that by using phonegap I could make a caching system for offline viewing. 
A couple of questions about this: 
 - Is offline viewing useful at all in this case? 
 - I assume that the database is very big and therefore caching everything is not convenient or not even possible. I think the most simply and convenient way to allow a minimum of offline viewing is caching the elements the user has already downloaded once (and provide access to them through a list). What about a sort of selective caching of data so that the researcher can select some types that will be cached into the device? Could that be useful for our use cases? If it's  not useful to cache them by type, does the API provide retrieval of smaller sets of data based on something else?

Thanks, 

Antonio

To unsubscribe from this group and stop receiving emails from it, send an email to genome-informatics+unsub...@googlegroups.com.
To post to this group, send email to genome-in...@googlegroups.com.

Scott Cain

unread,
Apr 22, 2013, 11:27:25 AM4/22/13
to genome-in...@googlegroups.com, antoma...@gmail.com, Todd W. Harris
Hi Abby and Antonio,

What about just caching recently viewed items (ie, on a individual basis)?  Especially since your use case mentions hearing about a gene at a conference.  Consider this extended use case: I'm at a conference, hear about a list of a few genes that I want to read more about "later".  Now I've got time on the plane on the way home, but no network connection.  If I already opened those gene pages on my phone, I could go back to them without having to refresh (which, for example, Safari and Chrome on the iPhone won't let you do even if you leave the windows open).  If adding the ability to cache doesn't add too much to the weight of the app, it might be a nice win.

Scott

--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     216-392-3087
Ontario Institute for Cancer Research

Abigail Cabunoc

unread,
Apr 22, 2013, 6:21:00 PM4/22/13
to genome-in...@googlegroups.com, Antonio Marino, Todd W. Harris
Hey Antonio,

I think that sounds like a good plan. And Scott - that is a nice use case. Looking forward to your proposal!

Abby



On Mon, Apr 22, 2013 at 3:41 PM, Antonio Marino <antoma...@gmail.com> wrote:
Hi Scott, 
your example makes perfectly sense, I believe recently viewed items caching is a must-do. It also doesn't add too much to the weight of the app, since PhoneGap uses the standard HTML5 localstorage api to do the caching. The difference with the web app are that the webapp won't probably always be working in offline conditions (I'd likely need to download the web page anyway) and that the cache in the case of the app has it's own space (so for example deleting the browser cache / clearing history won't affect the app cache).
My plan so far consists in building a fully working mobile webapp first, then I can wrap that into phonegap making some improvements to the responsiveness of the app, to the graphics and device specific minor changes. With the remaining time, I can make a more complex offline system, for example allowing the user to exactly decide what he wants to download, based on type or widget. 

For the UI I will be sketching some mock-ups at some point this week, my idea is to use JQuery Mobile (possibly with a custom theme) to make something that looks good on both smartphones/tablets.
After that I'll finally submit my full proposal.

Antonio

To unsubscribe from this group and stop receiving emails from it, send an email to genome-informatics+unsubscribe@googlegroups.com.
To post to this group, send email to genome-in...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Genome Informatics-Google Summer of Code Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to genome-informatics+unsub...@googlegroups.com.
To post to this group, send email to genome-in...@googlegroups.com.
Visit this group at http://groups.google.com/group/genome-informatics?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "Genome Informatics-Google Summer of Code Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to genome-informatics+unsub...@googlegroups.com.
To post to this group, send email to genome-in...@googlegroups.com.
Visit this group at http://groups.google.com/group/genome-informatics?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     216-392-3087
Ontario Institute for Cancer Research

--
Reply all
Reply to author
Forward
0 new messages