<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
<div>Hello Everyone,<br></div><div><br></div><div>Recently, I haven't really been developing the app at all. My mental health has been deteriorating, and I don't think I can spend time developing this app (or contributing to OSM) in my current condition.<br></div><div><br></div><div>If anyone wants to continue the development of the app, feel free to fork it and continue. Someone could also publish their forked version to Google Play Store and F-droid as well. Note, the latest published binary is out of date. I have made lots of changes to the app since then. If anyone wants to continue using it or developing it, download Android Studio and build the app yourself.<br></div><div><br></div><div>Note: there are some troubles building the app too. In android studio, the "Run" button builds the app and deploys it to your phone fine. However, if you don't want to deploy it to your phone and instead create an APK, the "Build" button fails, so you will have to build the app in your terminal.<br></div><div><br></div><div>The command is : <br></div><div>./gradlew :app:assembleDebug<br></div><div>or<br></div><div>./gradlew :app:assembleRelease<br></div><div><br></div><div>You can then follow this app to sign the apk in the terminal so that you can release it to the world:<br></div><div><a href="https://developer.android.com/studio/build/building-cmdline">https://developer.android.com/studio/build/building-cmdline</a><br></div><div><br></div><div>Currently there is lot that isn't finished in the app. For example, it still can't upload data to OSM.<br></div><div><br></div><div>Another feature that I really wanted to do was a "Russia" specific UI, since they have a different housenumbering system. Russia has housenumbers such as<span class="font" style="font-family:menlo,consolas,"courier new",monospace"> 48А к2 с1</span>, which means housenumber 48A, building number 2 and construction number 1.<br></div><div><br></div><div>You would have to create a layout with multiple entry boxes for these different numbers (and increment and decrement buttons for each one). On top of this you want to be able to enter street names. Note: In russia some housenumbers have multiple streetnames or multiple I'm pretty sure there is more informatino about Russian Addresses on the talk page of the Ru:addresses or something. Someone can consult the Russian OSM community if they want to follow this through. I'm pretty sure there are many different ways that house numbers are represented in Russia, so again you should consult their community on how this could be implemented into an app (if someone wants to continue developing it).<br></div><div><br></div><div> <a href="https://wiki.openstreetmap.org/wiki/Addresses#Letters_in_house_numbers_.28for_example_in_Russia.29">https://wiki.openstreetmap.org/wiki/Addresses#Letters_in_house_numbers_.28for_example_in_Russia.29</a><br></div><div><br></div><div>My app has some comments here and there, but it isn't the most thoroughly documented, so someone probably needs some prior knowledge of Android development to understand what is going on.<br></div><div><br></div><div>Thanks,<br></div><div>IpswichMapper<br></div><div><br></div><div>-- <br></div><div> <br></div><div><br></div><div><br></div><div>Apr 8, 2021, 00:53 by ipswichmapper@tutanota.com:<br></div><blockquote class="tutanota_quote" style="border-left: 1px solid #93A3B8; padding-left: 10px; margin-left: 5px;"><div data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; color: rgb(48, 48, 48); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; --darkreader-inline-outline:currentcolor; --darkreader-inline-color:#cac5be; --darkreader-inline-bgcolor:#181a1b;">Hello Everyone,<br></div><div data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; color: rgb(48, 48, 48); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; --darkreader-inline-outline:currentcolor; --darkreader-inline-color:#cac5be; --darkreader-inline-bgcolor:#181a1b;"><br></div><div data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; color: rgb(48, 48, 48); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; --darkreader-inline-outline:currentcolor; --darkreader-inline-color:#cac5be; --darkreader-inline-bgcolor:#181a1b;">It has been quite a while since this original post, and I have implemented many of the features that I hoped to add. (for example there are three ways of adding housenumbers: pressing on the arrow keys in MainActivity, long pressing on the arrow keys and swiping up on the arrow keys. They all serve different purposes and two of then allow you to add housenumbers in one tap)<br></div><div data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; color: rgb(48, 48, 48); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; --darkreader-inline-outline:currentcolor; --darkreader-inline-color:#cac5be; --darkreader-inline-bgcolor:#181a1b;"><br></div><div data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; color: rgb(48, 48, 48); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; --darkreader-inline-outline:currentcolor; --darkreader-inline-color:#cac5be; --darkreader-inline-bgcolor:#181a1b;">I might even consider adding it to app stores such as F-droid, now.<br></div><div data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; color: rgb(48, 48, 48); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; --darkreader-inline-outline:currentcolor; --darkreader-inline-color:#cac5be; --darkreader-inline-bgcolor:#181a1b;"><br></div><div data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; color: rgb(48, 48, 48); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; --darkreader-inline-outline:currentcolor; --darkreader-inline-color:#cac5be; --darkreader-inline-bgcolor:#181a1b;">There are a few questions I still have though.<br></div><div data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; color: rgb(48, 48, 48); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; --darkreader-inline-outline:currentcolor; --darkreader-inline-color:#cac5be; --darkreader-inline-bgcolor:#181a1b;"><br></div><ol data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; color: rgb(48, 48, 48); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; --darkreader-inline-outline:currentcolor; --darkreader-inline-color:#cac5be; --darkreader-inline-bgcolor:#181a1b;"><li data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; --darkreader-inline-outline:currentcolor;">How would I upload data to OSM? The<span> </span><span data-darkreader-inline-outline="" style="outline: currentcolor none medium; user-select: text !important; --darkreader-inline-outline:currentcolor;" class=""><span class="" style=""><span style="font-family:sans-serif, sans-serif" class=""><a data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; color: inherit; user-select: text !important; overflow-wrap: break-word; --darkreader-inline-outline:currentcolor; --darkreader-inline-color: inherit;" target="_blank" rel="noopener noreferrer" href="https://wiki.openstreetmap.org/wiki/Upload">upload</a> page does not mention anything about automatic uploads, and the<span> </span><a data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; color: inherit; user-select: text !important; overflow-wrap: break-word; --darkreader-inline-outline:currentcolor; --darkreader-inline-color: inherit;" target="_blank" rel="noopener noreferrer" href="https://wiki.openstreetmap.org/wiki/API_v0.6">API v0.6 page</a><span> </span>which seems to outline how to create and add data to changesets does not seem clear at all (not to mention I have no idea how to add notes).</span></span></span><br></li><li data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; --darkreader-inline-outline:currentcolor;"><span data-darkreader-inline-outline="" style="outline: currentcolor none medium; user-select: text !important; --darkreader-inline-outline:currentcolor;" class=""><span class="" style=""><span style="font-family:sans-serif, sans-serif" class="">If I were to upload data to OSM, how would I do verification checks (like JOSM). Currently the best solution I can think of is premptively downloading housenumber nodes/ways using Overpass API so that users can see when a housenumber has already been added (preventing duplication).</span></span></span><br></li><li data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; --darkreader-inline-outline:currentcolor;"><span data-darkreader-inline-outline="" style="outline: currentcolor none medium; user-select: text !important; --darkreader-inline-outline:currentcolor;" class=""><span class="" style=""><span style="font-family:sans-serif, sans-serif" class="">How do I implement Bing imagery? Looking in the JOSM imagery layers, it seems that Bing imagery does not have tms URL, but it has it's own "bing[22]:" url (which I have no clue how to parse into a slippy map). I have gotten other TMS imageries such as esri or mapbox working, however.</span></span></span><br></li></ol><div data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; color: rgb(48, 48, 48); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; --darkreader-inline-outline:currentcolor; --darkreader-inline-color:#cac5be; --darkreader-inline-bgcolor:#181a1b;"><br></div><div data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; color: rgb(48, 48, 48); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; --darkreader-inline-outline:currentcolor; --darkreader-inline-color:#cac5be; --darkreader-inline-bgcolor:#181a1b;"><span data-darkreader-inline-outline="" style="outline: currentcolor none medium; user-select: text !important; --darkreader-inline-outline:currentcolor;" class=""><span class="" style=""><span style="font-family:sans-serif, sans-serif" class="">Thanks,</span></span></span><br></div><div data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" data-darkreader-inline-outline="" style="outline: currentcolor none medium; box-sizing: border-box; user-select: text !important; color: rgb(48, 48, 48); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; --darkreader-inline-outline:currentcolor; --darkreader-inline-color:#cac5be; --darkreader-inline-bgcolor:#181a1b;"><span data-darkreader-inline-outline="" style="outline: currentcolor none medium; user-select: text !important; --darkreader-inline-outline:currentcolor;" class=""><span class="" style=""><span style="font-family:sans-serif, sans-serif" class="">IpswichMapper​</span></span></span><br></div><div><br></div><div>-- <br></div><div><br></div><div>22 Jan 2021, 11:25 by talk@openstreetmap.org:<br></div><blockquote class="tutanota_quote" style="border-left: 1px solid #93A3B8; padding-left: 10px; margin-left: 5px;"><div>Hello openstreetmap community, <br></div><div><br></div><div>I have been writing an android application that should make it significantly easier to collect housenumbers. <br></div><div><br></div><div>Now, finally, I have released an apk on Github (you'll find it under the "assets" tab):<br></div><div><br></div><div><a href="https://github.com/IpswichMapper/SwiftAddress/releases" rel="noopener noreferrer" target="_blank">https://github.com/IpswichMapper/SwiftAddress/releases</a><br></div><div><br></div><div><div>Make sure you check the releases page because I'll be releasing updates that improve functionality and fix bugs.<br></div><div><br></div></div><div>I have written about the app in more detail in my diary entry:<br></div><div><br></div><div><a href="https://www.openstreetmap.org/user/IpswichMapper/diary/395413" rel="noopener noreferrer" target="_blank">https://www.openstreetmap.org/user/IpswichMapper/diary/395413</a><br></div><div><br></div><div>The app starts up as a simple OSMdroid map. The way you place housenumbers is by moving the crosshair (which is in the middle of the screen) above the building outline of the housenumber you are trying to map. You then add the housenumber using the keypad.<br></div><div><br></div><div>The advantage of this is that the housenumbers are already in the right place when surveying. There is no need to clean up the messy data (like with Keypad Mapper 3) or draw housenumbers (like with Streetcomplete). All that needs to be done is to load the data into JOSM and then upload. (In the future direct upload might be supported). <br></div><div><br></div><div>Of course, most times building outlines aren't drawn in OSM, so you can't tell from OSM imagery where the postition of the building/house is. For this I plan on implementing satellite background imageries into the app, so that you can use that to find the position of the house. (I need to know how to implement that first, however, and what imagery/tms I can use)<br></div><div><br></div><div>You can also has a few more features, for example, auto-incrementing, and the ability to take notes. I have described the app in more detail in the diary entry. <br></div><div><br></div><div>Thanks,<br></div><div>IpswichMapper<br></div></blockquote><div><br></div></blockquote><div><br></div>  </body>
</html>