OpenAerialMap/Meeting Feb 12, 2015
OAM Weekly Meeting Thurs, Feb 12, 2015
People present (lines said)
- Cristiano (83)
- wildintellect (68)
- nhv (21)
- BlakeGirardot (23)
- dodobas (57)
Links mentioned in meeting
- LINK: AGENDA https://docs.google.com/document/d/1_MpmyP3XJpREeDGIwUaZQ7OHoPYf6eua0FV5NZKHuh8/edit?usp=sharing
- LINK: https://2015.foss4g-na.org/session/ossim
- LINK: https://code.google.com/p/icode-mda/wiki/GettingStartedOMAR
- LINK: ftp://ftp.remotesensing.org/livedvd/data/ossim/docs/pdfs/OMAR_WhitePaper.pdf
- LINK: https://github.com/hotosm/OpenAerialMap
- LINK: [tiny url not supported] OMAR Users Guide pdf
- Coming soon....
- Stay tuned....
Feb 12 19:01:23 Cristiano: Hello everyone!
Feb 12 19:01:43 Cristiano: We're about to start the OAM weekly meeting
Feb 12 19:01:55 Cristiano: who's around?
Feb 12 19:01:58 BlakeGirardot: me
Feb 12 19:02:03 wildintellect: yes
Feb 12 19:02:24 Cristiano: Hi Blake, wildintellect
Feb 12 19:02:57 Cristiano: dodobas should be joining us
Feb 12 19:03:46 dodobas: hi
Feb 12 19:03:48 BlakeGirardot: I can do the summary and log
Feb 12 19:04:00 Cristiano: cool, thanks Blake
Feb 12 19:04:11 Cristiano: here's the link to the agenda: https://docs.google.com/document/d/1_MpmyP3XJpREeDGIwUaZQ7OHoPYf6eua0FV5NZKHuh8/edit?usp=sharing
Feb 12 19:04:35 Cristiano: mainly discussing the tech challenge call and approve it for publication
Feb 12 19:05:22 nhv: waves
Feb 12 19:05:27 Cristiano: But one thing that I just realized it that I sent the link to the survey to HOT and not the OAM list
Feb 12 19:06:06 Cristiano: so, I'll forward it and then please do the same to your channels
Feb 12 19:06:20 Cristiano: Hi nhv!
Feb 12 19:06:21 wildintellect: are you going to send it to OSGeo-Discuss?
Feb 12 19:07:56 Cristiano: Sure I can do that, but I was thinking that since you are more familiar with that community it would be good if it came from you
Feb 12 19:08:32 wildintellect: you are the person running the show, so I think it's better from you
Feb 12 19:08:58 wildintellect: I will forward it to smaller side communities I know
Feb 12 19:09:12 Cristiano: OK, whatever works.
Feb 12 19:09:16 Cristiano: thanks
Feb 12 19:10:11 Cristiano: Now, about the tech challenge, it would be good to put it out by Monday
Feb 12 19:10:40 Cristiano: so, I would like to finalize it by today and tomorrow
Feb 12 19:11:41 Cristiano: There's some good feedback from dodobas already, and from from others on GitHub and the list
Feb 12 19:12:15 Cristiano: I just want to clarify that this is only for the catalog part of OAM
Feb 12 19:12:44 Cristiano: and then we'll publish another one for the server/tile server part
Feb 12 19:13:23 Cristiano: considering the discussion about virtualization, is there any requirement for that to add to the call?
Feb 12 19:13:42 dodobas: Cristiano: i don't think so
Feb 12 19:14:06 dodobas: it's just another deployment option
Feb 12 19:14:47 BlakeGirardot: I would make sure it gets included in the testing
Feb 12 19:14:58 Cristiano: so, we just assume that someone familiar with the other technologies listed will also know how to design for virtualization
Feb 12 19:15:49 BlakeGirardot: Ya, it should not matter too much, but if we test and for some reason the code is making it difficult we give feedback to the dev on that
Feb 12 19:16:11 nhv: anyone attending FOSS4GNA should go to this talk https://2015.foss4g-na.org/session/ossim
Feb 12 19:16:38 wildintellect: You don't really need to design for virtualization
Feb 12 19:16:43 Cristiano: I'm not familiar with docker and other containers, so anything specific for that?
Feb 12 19:16:44 dodobas: nhv: it's only 'processing'
Feb 12 19:16:49 wildintellect: you just use that as the dev platform to begin with
Feb 12 19:17:10 wildintellect: and as the target deployment, so you don't bother writing Windows and Mac installers
Feb 12 19:17:33 dodobas: Cristiano: simply... if you can run it... it will work anywhere
Feb 12 19:17:41 wildintellect: right
Feb 12 19:17:56 Cristiano: OK, just just wanted to make sure. So no need to explicitly mention it in the call
Feb 12 19:17:58 wildintellect: so you can say we want it deployable to AWS, rackspace, etc..
Feb 12 19:18:05 wildintellect: and desktop/laptops
Feb 12 19:18:25 wildintellect: understanding the performance will obviously be reduced on local machines
Feb 12 19:18:29 wildintellect: but so will load
Feb 12 19:18:44 nhv: dodobas afaik they will be discussing OSSIM Mapping and ARchive System (OMAR) is developed and supported by RadiantBlue Technologies. OMAR integrates OSSIM, OpenLayers, MapServer, Postgres, PostGIS, GDAL, PROJ4, GeoTrans, and GRAILs to provide web based discovery and processing of geo-spatial and video assets
Feb 12 19:19:00 Cristiano: OK, I'll need to look into some examples to understand it better, but I trust you :-)
Feb 12 19:19:29 wildintellect: nhv, likely way to heavy for this use case
Feb 12 19:19:59 wildintellect: heavy being too techincally complicated for laptop deployments by AID volunteers/orgs
Feb 12 19:20:04 nhv: it is reasonably heavy but is a great project to learn from
Feb 12 19:20:46 Cristiano: nhv: is this the main page for OMAR? https://code.google.com/p/icode-mda/wiki/GettingStartedOMAR
Feb 12 19:20:51 nhv: as they have been in essence OAM to the DOD for several years
Feb 12 19:21:20 nhv: I have never seen that project interesting
Feb 12 19:23:04 Cristiano: Well if it's all open source and documented somewhere we should def look into it
Feb 12 19:23:34 Cristiano: at least to get some inspiration for architecture and technology used
Feb 12 19:24:19 dodobas: Cristiano: one thing to note, and i haven't read through OMAR/OSSIM docs...
Feb 12 19:24:44 dodobas: that system might not be distributable/distributed
Feb 12 19:25:04 dodobas: or have a way to share data between OAM nodes
Feb 12 19:25:25 dodobas: and that's something we 'need' to have
Feb 12 19:26:03 Cristiano: OK good point. We should check it out anyway
Feb 12 19:26:12 Cristiano: OK, back to the OAM design. The other main thing that came out of the discussion is the API
Feb 12 19:26:54 Cristiano: is this also something implicit or should we specify requirements for someone to know how to implement it?
Feb 12 19:29:08 dodobas: Cristiano: maybe preapre a rough specification
Feb 12 19:29:28 dodobas: what would the API actually do...
Feb 12 19:29:55 wildintellect: sure a diagram of what it's supposed to do is good, not sure if anything more than rough is needed now
Feb 12 19:30:08 wildintellect: depends on if the person being hired is supposed to work out the details
Feb 12 19:30:13 dodobas: and that's something a developer would use to base his work
Feb 12 19:30:15 Cristiano: Sure, we can do that, dodobas: I would need your help with it
Feb 12 19:30:33 dodobas: Cristiano: ok, we don't need it for th actual call
Feb 12 19:30:48 Cristiano: if we get someone by March, then we have time to draft it in the meantime
Feb 12 19:30:56 Cristiano: Ok
Feb 12 19:31:40 dodobas: then again... maybe a developer could write a spec in the proposition
Feb 12 19:32:32 dodobas: or at least address some of the points, that would show if he/she at least read about some similar systems...
Feb 12 19:32:53 dodobas: and understands how they function
Feb 12 19:33:21 dodobas: generic ... API will be based on SOAP/REST/... is not something we want to see
Feb 12 19:34:03 Cristiano: OK. Now, for the scalable aspect, what are the skills that a developer should have for developing something scalable?
Feb 12 19:34:33 dodobas: scalability comes from the design
Feb 12 19:34:41 Cristiano: and I'm thinking scalable, horizontally, spreading the load to multiple instances
Feb 12 19:34:55 dodobas: and we already have that ... as the components will consume APIs
Feb 12 19:36:22 dodobas: the other thing is ... there will probably need to be a main NODe which would have the most recent information about the whole ecosystem
Feb 12 19:37:00 Cristiano: right, that is like the mother-OAM
Feb 12 19:37:01 dodobas: simply, a main index... that every other intance can 'consult' and find out
Feb 12 19:37:12 dodobas: where is the data, and how to get it ...
Feb 12 19:37:36 wildintellect: well the main catalog should be multi-core capable to start
Feb 12 19:37:52 dodobas: there is an issue with instances behind firewalls, on personal computers
Feb 12 19:38:12 wildintellect: well that depends on the local network
Feb 12 19:38:17 dodobas: you can't really push anything to them, but they can pull data from the main instance
Feb 12 19:38:42 dodobas: and they can push data to the main instance
Feb 12 19:38:49 wildintellect: it should be pull
Feb 12 19:39:22 dodobas: wildintellect: yes,but the main instance, or any other 'public' instance can't push information
Feb 12 19:39:29 wildintellect: the main catalog should take data in, and allow instances to query data out
Feb 12 19:39:30 dodobas: to 'local' instance...
Feb 12 19:39:53 wildintellect: if you want your local instance to update you should trigger it locally, to query the online catalog and download some stuff
Feb 12 19:39:55 dodobas: or at least know who has the data...
Feb 12 19:39:58 Cristiano: Are you saying a local webserver serving to the same machine or LAN Web broswer?
Feb 12 19:40:57 dodobas: wildintellect: multi-core... why, you can simply run more single-threaded local instances...
Feb 12 19:41:21 wildintellect: the main oam catalog
Feb 12 19:41:35 wildintellect: needs to scale to handle load
Feb 12 19:41:49 dodobas: Cristiano: so a local network is any network behind a firewall/router that your internet service provider has...
Feb 12 19:42:10 dodobas: so you can't get in, but you can get out...
Feb 12 19:42:20 wildintellect: think corporate or gov agency
Feb 12 19:42:30 wildintellect: they have all sorts of weird blocks on net traffic
Feb 12 19:42:31 dodobas: wildintellect: no need, just run more insances on the same server
Feb 12 19:42:45 wildintellect: the main catalog is only 1 instance
Feb 12 19:42:58 wildintellect: well I suppose that depends on how you define it
Feb 12 19:43:03 Cristiano: right. I was just trying to understand if there are any restrictions to access a local (as in same machine or same LAN) Web server
Feb 12 19:43:07 wildintellect: yes under wsgi containers you have many workers
Feb 12 19:43:19 wildintellect: we want to make sure the catalog is compatible with that
Feb 12 19:43:45 wildintellect: it does present an issue when working with say, sqlite
Feb 12 19:43:46 dodobas: wildintellect: isn't that like... the normal thing for the last 15 years...
Feb 12 19:43:58 Cristiano: anyway, the main catalog should def be multi-thread to handle the load. Not necessarily the local ones
Feb 12 19:44:32 wildintellect: the code really shouldn't have to change between the two, just the settings file
Feb 12 19:44:47 Cristiano: local ones should also reserve resources for the actual tile serving
Feb 12 19:45:02 Cristiano: agree, it should be a config switch
Feb 12 19:45:09 nhv assumes: the main catalog will be in a DB of some kind that is used to multiple clients
Feb 12 19:46:06 dodobas: well, simply use a DAL (database abstraction layer) and you don't really care what database is used (assuming that DAL actually supports that databae provider)
Feb 12 19:46:18 nhv: exactly
Feb 12 19:46:23 dodobas: that's like normal today :)
Feb 12 19:46:59 dodobas: local instances might use sqliite, as it requires no install...
Feb 12 19:46:59 wildintellect: you still have to specify
Feb 12 19:47:16 wildintellect: you mean no setup
Feb 12 19:47:23 dodobas: public and main instance might use postgresql... or something else
Feb 12 19:47:37 dodobas: wildintellect: it comes built in python...
Feb 12 19:47:45 wildintellect: if we're using python
Feb 12 19:47:53 dodobas: or java...
Feb 12 19:47:59 dodobas: even node.js ...
Feb 12 19:48:22 nhv: even C :-)
Feb 12 19:48:38 wildintellect: sure but if you use it directly, then you can't necessarily swap db's in the config
Feb 12 19:48:56 wildintellect: anyways we're probably in the weeds
Feb 12 19:49:01 dodobas: wildintellect: DAL handles that
Feb 12 19:49:03 nhv: good point we were just getting funny
Feb 12 19:49:12 wildintellect: Cristiano, what's next?
Feb 12 19:49:46 Cristiano: OK. The challenge "prize"
Feb 12 19:49:52 dodobas: as i understand, candidtes will have to prepare 2 page proposition...
Feb 12 19:50:11 Cristiano: and if think one developer full time is better than 2 part time
Feb 12 19:50:19 dodobas: so they should explain what and why they want to use it
Feb 12 19:50:58 Cristiano: Yes, that will help us to see the options
Feb 12 19:51:20 wildintellect: I wonder if HOT should pick the license now
Feb 12 19:51:36 wildintellect: to avoid that debate
Feb 12 19:52:07 Cristiano: well, we'd have to make sure it's compatible with those of other software/code we integrate, right?
Feb 12 19:52:29 wildintellect: if you have to change later and the original coders hired by HOT retain IP then you have to get them to agree to the change
Feb 12 19:52:30 nhv: tinurl to an older pdf on OMAR http://[tiny url not supported].com/ldjjnnx
Feb 12 19:52:33 Cristiano: so, maybe something for later once we have that laid out?
Feb 12 19:53:00 wildintellect: sure
Feb 12 19:53:18 Cristiano: Oh, OK. So, what do you recommend wildintellect?
Feb 12 19:53:42 wildintellect: it's probably going to end up MIT or Apache for compatibility
Feb 12 19:54:22 wildintellect: really the choices are MIT, BSD, Apache, Mozilla, GPL (probably won't fly)
Feb 12 19:55:16 Cristiano: OK. Is there a way to define it now? Or should we rather include in the contract that IP is shared with HOT until the license is defined?
Feb 12 19:56:45 wildintellect: OSI approved
Feb 12 19:57:11 dodobas: Cristiano: just add one to the https://github.com/hotosm/OpenAerialMap :)
Feb 12 19:57:17 dodobas: and that is :)
Feb 12 19:57:21 wildintellect: that generally excludes the super weird licence options
Feb 12 19:57:33 wildintellect: and ensures it's actually open source
Feb 12 19:57:54 wildintellect: the GPL compatible bridge can be crossed when we/if we get to it
Feb 12 19:58:32 Cristiano: OK, but I don't want to be the one to decide, especially because I don't have the experience you guys have
Feb 12 19:58:48 Cristiano: so, I'd rather go with your recommendations
Feb 12 19:59:20 Cristiano: but anyway, we can continue that discussion later or through the list. What's your opinion about hiring one vs two devs?
Feb 12 19:59:21 dodobas: as long as it one that's OSI approved, we'll be fine
Feb 12 19:59:55 dodobas: im more inclined towards permissive licenses .. MIT/BSD/APL ...
Feb 12 20:00:14 wildintellect: ya just put OSI approved on the doc
Feb 12 20:00:22 wildintellect: thats a nice safe way to go
Feb 12 20:00:46 nhv: that works
Feb 12 20:01:16 Cristiano: OK, I just did
Feb 12 20:01:30 nhv: is also more inclined towards the permissive licences
Feb 12 20:01:54 Cristiano: tell me from your experience if two part time coders are generally more efficient that one full time
Feb 12 20:01:58 nhv: a link to a newer OMAR Users Guide pdf http://[tiny url not supported].com/lrkqeax
Feb 12 20:02:10 nhv: that all depends on the coders
Feb 12 20:02:11 wildintellect: Cristiano, depends on who they are
Feb 12 20:02:25 wildintellect: so know way to know ahead of time
Feb 12 20:02:27 Cristiano: and if you think we would get the same amount of interest with part time positions vs full time
Feb 12 20:02:49 wildintellect: I'm fine leaving the options on there
Feb 12 20:02:57 dodobas: it does add a bit of overhead... but at least two peopel will need to communicate and discuss ideas/approaches
Feb 12 20:02:58 wildintellect: and evaluating the actual applications
Feb 12 20:03:29 Cristiano: right, and it may be more flexible for someone who can't commit full time for 6 months
Feb 12 20:03:34 wildintellect: as is you wont get less applications, if you cut an option out you might miss
Feb 12 20:03:40 dodobas: the problem with one coder is that he can have everything in his head...
Feb 12 20:03:54 wildintellect: right having 2 forces documentation
Feb 12 20:04:34 dodobas: and have issues communicating ... and we might end up with a working OAM-C that noone else can actually contrbute
Feb 12 20:04:50 wildintellect: needs to leave
Feb 12 20:04:53 Cristiano: OK. So we should probably re-phrase the call to say that it's for two part time devs
Feb 12 20:05:08 wildintellect: I would leave it
Feb 12 20:05:13 wildintellect: so you get max applications
Feb 12 20:05:18 BlakeGirardot: I agree about the benefits (and challenges) of 2 devs and think any additional overhead is worth it.
Feb 12 20:05:27 wildintellect: during the review you can decide about it
Feb 12 20:05:45 wildintellect: you might get a well known single person who has an excellent track record
Feb 12 20:05:45 Cristiano: OK, but then people apply thinking to get a full time gig and then end up with part time
Feb 12 20:05:59 BlakeGirardot: I don't know, making it clear up front it is for part time work with another dev is more fair to applicants.
Feb 12 20:06:05 BlakeGirardot: if that is what we are going to do anyway.
Feb 12 20:06:54 BlakeGirardot: Better to say "part time, 2 devs, might consider 1 dev if the candidate is right"
Feb 12 20:07:11 dodobas: BlakeGirardot: yeah
Feb 12 20:07:26 Cristiano: Right. What do you guys think in terms of compensation? Would $20k still be enough to attract good devs for 6 months?
Feb 12 20:08:58 BlakeGirardot: 20k for part time for 6 months?
Feb 12 20:09:28 Cristiano: We have more dev budget too that will go for the OAM-Server challenge, and it will partly contribute to this work too
Feb 12 20:09:50 Cristiano: yes, $20k each for 2 part time devs
Feb 12 20:10:14 BlakeGirardot: That sounds like good wages to me.
Feb 12 20:10:24 BlakeGirardot: So I would hope will attract good devs
Feb 12 20:10:39 BlakeGirardot: It will attract a lot of devs for sure :)
Feb 12 20:11:28 Cristiano: OK, just wanted your opinion. There's also some sysadmin budget which will probably conttribute to the development, or at least the testing part of it
Feb 12 20:11:41 Cristiano: another $22k for sysadmin
Feb 12 20:12:00 Cristiano: anyway, the numbers are inthe agenda, let me know your thoughts
Feb 12 20:12:50 Cristiano: the $15k reaserch is for working with students to write a paper or white paper about OAM
Feb 12 20:13:13 Cristiano: and some use cases for humanitarian work
Feb 12 20:13:21 BlakeGirardot: I don't see any documentation/training materials in there
Feb 12 20:13:39 BlakeGirardot: Or didn't, sorry, let me look again.
Feb 12 20:14:14 Cristiano: The budget is on the agenda doc, not the tech challenge
Feb 12 20:14:54 Cristiano: documentation will be part of each of those hires' work
Feb 12 20:14:56 BlakeGirardot: I think you might consider some budget for good docs
Feb 12 20:15:36 Cristiano: OK, some student or intern?
Feb 12 20:15:39 BlakeGirardot: Oh, I would consider someone dedicated to that who has experience in it. Devs writing docs is not the best in my expereience.
Feb 12 20:16:19 dodobas: BlakeGirardot: yeah, so ideallythat would be a three person team :)
Feb 12 20:16:27 nhv: I agree IMO best Docs are written by a newbie with access to a dev
Feb 12 20:17:14 BlakeGirardot: It might be part of the QA or QA/Testing could be part of document writing
Feb 12 20:17:38 BlakeGirardot: It is a small team so there might be some overlap
Feb 12 20:18:03 Cristiano: OK, so we should propose an idea position for Outreachy or similar program, then eventually hire some intern with QA budget if we don't get him/her that way
Feb 12 20:19:30 Cristiano: OK, I think we covered everything. Let's wrap up and I will send you the final version of the call for last minute comments before I publish it on Monday
Feb 12 20:20:15 dodobas: Cristiano: gr8
Feb 12 20:20:17 Cristiano: I'll specify that it's for 2 part time devs at $20k or one if he/she has a very excellent proposal :)
Feb 12 20:20:17 BlakeGirardot: Cool
Feb 12 20:20:45 Cristiano: thank you guys, have a great rest of the day!
Feb 12 20:22:15 BlakeGirardot: Thank you Cristiano
Feb 12 20:27:46 nhv: thanks all