<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
<div class="moz-forward-container"><br>
<br>
-------- Original Message --------
<table class="moz-email-headers-table" border="0" cellpadding="0"
cellspacing="0">
<tbody>
<tr>
<th align="RIGHT" nowrap="nowrap" valign="BASELINE">Subject:
</th>
<td>[Imports] Introducing OSMLY</td>
</tr>
<tr>
<th align="RIGHT" nowrap="nowrap" valign="BASELINE">Date: </th>
<td>Thu, 19 Sep 2013 17:24:31 -0700</td>
</tr>
<tr>
<th align="RIGHT" nowrap="nowrap" valign="BASELINE">From: </th>
<td>Aaron Lidman <a class="moz-txt-link-rfc2396E" href="mailto:aaronlidman@gmail.com"><aaronlidman@gmail.com></a></td>
</tr>
<tr>
<th align="RIGHT" nowrap="nowrap" valign="BASELINE">To: </th>
<td><a class="moz-txt-link-abbreviated" href="mailto:talk-us@openstreetmap.org">talk-us@openstreetmap.org</a>, <a class="moz-txt-link-abbreviated" href="mailto:imports@openstreetmap.org">imports@openstreetmap.org</a></td>
</tr>
</tbody>
</table>
<br>
<br>
<div>
<p style="margin: 0px; ">The following post is best viewed at <a
moz-do-not-send="true" href="http://osmly.com/"><span
style="color: rgb(0, 106, 227); ">http://osmly.com</span></a>
full text is posted below for posterity.</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; ">========================================</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; ">OSMLY is a simple browser based
importer for OpenStreetMap. It makes importing easy by
presenting each feature one at a time, allowing users to
manually review the item, make any needed adjustments to
positions or tags, and upload directly to OSM. It also allows
for reporting problems that other users can look over and a
quality assurance mode where administrative users can confirm
everything that has been uploaded. The aim is to make simple
imports easier, more cooperative, and less error prone.</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; color: rgb(0, 106, 227); "><span
style="text-decoration: underline"><a moz-do-not-send="true"
href="http://osmly.com/screenshots/example.jpg">http://osmly.com/screenshots/example.jpg</a></span></p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; color: rgb(0, 106, 227); "><span
style="color: #000000">Try the demo: <a
moz-do-not-send="true"
href="http://osmly.com/la-parks.html">http://osmly.com/la-parks.html</a></span></p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; ">OSMLY was born out of a frustration
with the way imports are organized. I was preparing some
imports for Los Angeles County, reading up on past imports and
organized things according to how I see they are being done
today (wiki, spreadsheets, many .osm files, JOSM). I wasn't
into it. The organization and tools involved seems too
complicated and clunky for getting more than a small number of
people involved.</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; ">Even with very simple data we would
have to deal with many .osm files each containing many
features themselves, a central spreadsheet for tracking who is
doing what and the status of each group of items, and everyone
would have to use JOSM. Then editing involves managing
multiple layers in JOSM, downloading the area around each
feature, looking around and resolving any conflicts, uploading
in a small batch, and making sure to tag changesets correctly.
Ideally, someone would then go back, search for the changesets
and confirm everything was done correctly.</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; color: rgb(0, 106, 227); "><span
style="text-decoration: underline"><a moz-do-not-send="true"
href="http://osmly.com/screenshots/overview.jpg">http://osmly.com/screenshots/overview.jpg</a></span></p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; ">That's too complicated for my liking
and the pool of users who know how to do all this without
making mistakes is too small. On the other hand, most of that
complexity is necessary for organizing the people involved and
maintaining some quality to the data going into OSM. I want a
simpler and more automated way of handling the most manual and
repetitive parts for really basic imports. I just want a
simple way for someone with OSM experience and knowledge but
not necessarily a GIS data or programming background to help
out with basic tasks and share their knowledge to get more
data on the map.</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; color: rgb(0, 106, 227); "><span
style="text-decoration: underline"><a moz-do-not-send="true"
href="http://osmly.com/screenshots/QA.jpg">http://osmly.com/screenshots/QA.jpg</a></span></p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; ">I built OSMLY to reduce the complexity
of doing simple imports with many people and many features.
It's just the essentials: editing geometry, fixing tags,
displaying relevant nearby features from OSM, flagging
problems and uploading to OSM. Features are served from a
simple database to keep track of everything/everyone and
different actions are allowed based on an feature's status.
Once an item is submitted it's available for Quality Assurance
where other users can confirm everything was done correctly
and flagged results can get attention from more experienced
users in JOSM.</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; color: rgb(0, 106, 227); "><span
style="text-decoration: underline"><a moz-do-not-send="true"
href="http://osmly.com/screenshots/geojson.png">http://osmly.com/screenshots/geojson.png</a></span></p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; ">Technically, OSMLY takes in GeoJSON
data and makes sure geometry is valid, simplifies, flags
obviously difficult items, adds bounds for each item, and
converts everything to a sqlite database ready to be served up
to the world. A simple server takes care of routing requests
from the browser to database queries and returning results.
Once the user has received a new feature the surrounding area
is download from an OSM server and those results are filtered
for relevant geometry. Then it's all displayed on the map.
From there it gets a bit more complex depending on the user's
actions.</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; color: rgb(0, 106, 227); "><span
style="text-decoration: underline"><a moz-do-not-send="true"
href="http://osmly.com/screenshots/basic.jpg">http://osmly.com/screenshots/basic.jpg</a></span></p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; ">Some key features:</p>
<p style="margin: 0px; "> * Context - nearby relevant
features that may conflict are shown alongside the item being
edited along with complete tags. Context filtering can be set
using regular OSM tags. <a moz-do-not-send="true"
href="http://osmly.com/screenshots/context.png"><span
style="color: rgb(0, 106, 227); ">http://osmly.com/screenshots/context.png</span></a></p>
<p style="margin: 0px; "> * Quality Assurance -
administrative users, specified in the settings, can review
everything that has been submitted and confirm each item has
been done correctly</p>
<p style="margin: 0px; "> * Edit in JSOM - every item can be
remotely opened and completed in JOSM if you prefer. <a
moz-do-not-send="true"
href="http://osmly.com/screenshots/inJOSM.png"><span
style="color: rgb(0, 106, 227); ">http://osmly.com/screenshots/inJOSM.png</span></a></p>
<p style="margin: 0px; "> * Tag Manipulation - depending on
your data source, you might not have to do any tag
manipulation before OSMLY. Tag keys can be renamed, added, and
removed.</p>
<p style="margin: 0px; "> * User Whitelist - specify exactly
which users are allowed on an import or allow everyone
(default)</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; ">Limitations:</p>
<p style="margin: 0px; ">Currently OSMLY only works with
polygons. Eventually, time allowing, I'd like to expand to
other GeoJSON feature types (points and linestrings). OSMLY is
only ment for simple imports so there aren't plans for
implementing multipolygons or anything else too complex. Some
of this is technical but mostly it comes down to ease of use.
Right now if a complex item is found OSMLY pushes the user to
edit in JOSM.</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; ">========================================</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; ">OSMLY has been working great on the OSM
development server for the past month. You can see my test
edits here: <a moz-do-not-send="true"
href="http://api06.dev.openstreetmap.org/user/namdil-testing/edits"><span
style="color: rgb(0, 106, 227); ">http://api06.dev.openstreetmap.org/user/namdil-testing/edits</span></a></p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; color: rgb(0, 106, 227); "><span
style="color: #000000">Source code @ <a
moz-do-not-send="true"
href="https://github.com/aaronlidman/osmly">https://github.com/aaronlidman/osmly</a></span></p>
<p style="margin: 0px; color: rgb(0, 106, 227); "><span
style="color: #000000">Technical bugs @ <a
moz-do-not-send="true"
href="https://github.com/aaronlidman/osmly/issues">https://github.com/aaronlidman/osmly/issues</a></span></p>
<p style="margin: 0px; min-height: 16px; "><br>
</p>
<p style="margin: 0px; ">I'd love to hear your
thoughts/concerns/questions. Just to make it clear, this isn't
live but currently works on the OSM dev server and I'd like to
flush out a discussion here with the eventual goal of doing
real imports. I have a couple imports with ready proposals I'd
like to complete with OSMLY but only after I work through
concerns you may have here. Thanks for your time.</p>
</div>
<br>
</div>
<br>
</body>
</html>