Welcome to the new Missing Maps

Posted by dkunce on 28 February 2016 in English (English)

In 2014 Missing Maps came into being we realized that we needed a website. On a layover, flying back from field mapping in Africa, I built up the first iteration of the Missing Maps website. It served us well and was great to share our mission and introduce a new generation of mappers to OSM and HOTOSM. However, after a few months we realized we needed a much stronger platform for the project.

Keeping volunteers engaged between disasters is a key focus for humanitarian organizations around the world. Remotely training a large pool of extremely diverse volunteers requires time, proper tools, and coordination. A disaster is not the time to start the process. Instead, it is imperative to have a large body of well-coordinated volunteers that are ready to assist when a disaster occurs. Part of the Missing Maps engagement strategy is to create tools that will help us identify new mappers with little experience and effectively engage them to commit more time and become long term experienced OSM volunteers who are eventually able to build their own local OSM communities.

Missing Maps

Due to the diversity of Missing Maps volunteers, we are able to access a large pool of potential volunteers whose wealth of local knowledge enables them to help map areas that are often overlooked, thereby building stronger communities. The Missing Maps partners have years of experience recruiting and engaging volunteers. A key part of volunteer management is rewarding volunteers for their experience.

As Missing Maps grew we realized that our way of tracking users (excel) and mapping metrics wasn't good enough to effectively manage and reward volunteers. Pascal Neis graciously built a page summarizing all contributions of Missing Maps (7000+) to date. While very useful as a tracking tool for the overall project it was never intended or capable of tracking individual volunteers as they progressed and became better mappers. Pascal's great work did put us on the right path to think about what we could do to better understand Missing Maps mappers and OSM mappers in general. As some research has shown Missing Maps volunteers are highly engaged and have a high retention rate compared to regular OSM and HOT contributors. We leaned into this by thinking through some way we could effectively encourage more people to map a 2nd and 3rd time. Missing Maps volunteers now have their own user page where they can see and earn badges for various mapping and volunteer activities. We also created a leaderboard so users can track where they are for various projects and programs can identify and reward their best mappers more easily.

Last summer we received funding from the Cisco foundation to create an OSM volunteer tracking tool to allow us to both reward volunteers but to identify the best and brightest to receive additional training and mentoring to become local champions and event hosts. Working with Development Seed for the past few months we pioneered a new way to track users participation to Missing Maps and HOT. I'll leave the technical details to them to explain but I think we've arrived at a good solution not just for Missing Maps potentially OSM as a whole. At the moment metrics are only being captured for hashtags mentioning Missing Maps. Once we work out some of the kinks it is our intention to support all hashtags for OSM in the future.

As always with work completed by the Red Cross and Missing Maps all the source code is available under an open license on github.

I wanted to give a special thanks to the many volunteers that have already pointed out bugs, made suggestions, and submitted pull requests. Missing Maps is an open collaboration and we value volunteer time and support.

OSM Stats Diagram

Comment from woodpeck on 29 February 2016 at 00:32

If I strip away the "this helps the vulnerable people" bit and just look at this from the OSM side, what remains is: "An external organisation creates, without discussing this with the OSM community on any meaningful level, a system of organising and rewarding volunteers to contribute data of that organisation's choosing to OSM, in a way and level of detail controlled exclusively by that organisation. The external organisation massively outspends OSM in publicity, has software developed professionally, and thinks of volunteers primarily as 'their volunteers', not OSM mappers."

I think that this sets a dangerous precedent and OSM should not blindly allow such organised influence on what goes into OSM and how. There needs to be a consultation process because otherwise we'll have lots of other interest groups queuing up to send their volunteers (or rewarded volunteers, or employees) our way to map whatever that interest group wants to have mapped.

Also, rewarded mapping activity bears the danger of encouraging over-eager contributions that are precisely geared to maximum reward and not maximum usefulness for OSM. Problems like that have surfaced with nearly every gamified/rewarded mapping in the past, and Missing Maps is not an exception.

We must be very careful not to allow Missing Maps, just because "it is for a good cause", to blaze a trail that others will want to follow.

PS: Is Missing Maps open to the degree that we get to see how much money they spend on what, and who gets to make the decisions? As a member of the OSM Foundation, if some group prides itself in that level of influence on OSM, I'd actually like to know who exactly I am dealing with.

Hide this comment

Comment from mikelmaron on 29 February 2016 at 02:18

hey @woodpeck --- I'm reading your comment and having trouble understanding exactly what you think is an issue here. OSM purposely doesn't spend much on publicity, or develops software -- but makes an API available for anyone to sign up to and use, as long as the community norms of mapping are followed. Missing Maps as a project has not been in an OSM vacuum, and this is far from the first site to share statistics on how we're mapping. If tangible issues develop, there's plenty of room to address -- OSM never stopped from doing something out of fear of what might go wrong, otherwise we'd never have started! In any case, the code for this is open, and I think there's huge potential to apply analysis at scale on OSM for all sorts of purposes -- how else can we make OSM better through infrastructure such as this?

Hide this comment

Comment from SimonPoole on 29 February 2016 at 08:55

@mikelmaron woodpecks transparency concerns are IMHO quite well founded particularly considering the direction MM is going in.

At least some of the funds seem to be funelled through the ARC. Given that the ~$3 billion ARC budget is quite opaque at the level that would interest OSM, it doesn't seem to be unfair to ask for:

  • pro-forma accounts (as I understand MM is not formerly incorporated and as a consequence is essentially not subject to any formal controls financial and other)
  • a list of any donations and associated donors that were earmarked for MM and either given directly or via member organisations.

A further note. MM and the ARC seem to assume that repeatedly spending funds on and talking to the same companies inside the beltway amounts to engaging the OSM community, it doesn't.

Hide this comment

Comment from pedrito1414 on 29 February 2016 at 16:30

Hi @SimonPoole & @woodpeck,

I work for MSF and lead on matters relating to the Missing Maps project.

From a purely MSF perspective, OpenStreetMap has become a hugely impactful tool in an NGO that saves lives and alleviates suffering in some of the worst places in the world. OSM map data has been used for operational decision making and medical interventions in Central African Republic, South Sudan, DRC, Bangladesh and Chad so far, to name but a few. I apologise for leading with the "vulnerable people bit", but I am at a bit of a loss to understand what is left of Missing Maps when you remove that element.

I hope that the fact that OSM makes this work possible is something to celebrate. What the OSM community has built is having a positive impact on the lives of many and it is testament to the way it has been built and maintained...

We work with remote mappers and local mappers, through the tasking manager and in person, whose motivation is to help MSF reach vulnerable people. The reward is implicit in the volunteering they do. They do not start to participate in Missing Maps because there is the opportunity is there to earn a badge for building mapping.

We try to implement tools and processes to help those mappers become good at what they are doing, to keep the OSM database quality as high as possible. This includes developing validators, producing tracing guides, training people in field data collection, producing online training materials, feeding back on how contributions are used in the field (and on how they could be better used), improving OSM editors, and yes, giving people badges when they have mapped X buildings.

You are correct that Missing Maps is not an organisation - it is a project. There is no bank account and, therefore, no pro-forma accounts. Missing Maps is a collection of organisations who think that using and contributing to OSM is a good way to make the work we do in the field more effective.

The remote and local mappers contribute data that enriches OSM in areas where organic community growth is slow or non-existent. Yes, they are encouraged to map the features that MSF needs, but what MSF needs is simply base map data. We need roads, residential areas, admin divisions, health centres, schools, water points etc etc. I do not quite understand where the inferred conflict of interest lies....

I work for MSF and am part of the Missing Maps project and I regularly map with (and, am taught by) long term members of the OSM community. They have guided us in developing the project and are the people that teach our new mappers.

MSF puts up funds for Missing Maps, too. We buy mappers pizza occasionally, we train people in the countries where we work in good data collection techniques, we provide small bits of tech where it's hard to come by. The suggestion that any of this money is spent as part of some sort of OSM power grab would be laughed out of the office. The only reason that money is spent from MSF budgets on any OSM-related work is because a strong OSM is good for MSF field teams...

I understand that there is some bad feeling here, but I don't really understand where it comes from. I am, however, open to the conversation if people are interested in making it constructive...

Hide this comment

Comment from imagico on 29 February 2016 at 19:02

Yes, they are encouraged to map the features that MSF needs, but what MSF needs is simply base map data. We need roads, residential areas, admin divisions, health centres, schools, water points etc etc. I do not quite understand where the inferred conflict of interest lies....

It has been my observation that the failure to recognize that the interests and goals of their organizations and projects do not fully overlap with those of the OSM community is a reoccurring issue with many representatives of organizations in the field of humanitarian mapping. IMO realizing that while there certainly are common interests there are also always significant differences in goals is the key to a successful cooperation.

I think volunteer mapping projects organized from outside the OSM community like this should in many aspects be subject to the same considerations as paid mapping projects by companies, in particular there needs to be an organizational responsibility for the mapping activities of those who map under the instructions of these projects. This also touches the transparency issues brought up by @woodpeck and @SimonPoole since ultimately those who should be accountable are those who pay for these projects.

Side note: you should realize that the slogan putting the world's vulnerable people on the map is quite ambivalent on a number of levels.

Hide this comment

Comment from jonwit on 1 March 2016 at 01:42

free pizza!! I like pizza parties.

On a more serious note, I hope Amazon Web Services is giving you a break being a Non-Profit. I see you already are discussing this on github


Hide this comment

Comment from SimonPoole on 2 March 2016 at 00:57

@pedrito1414 my concerns revolve around a couple of points (and none of them should imply that I'm or others are not supportive of MSF and other MM members)

  • siloization of contributors that have their first and most of the time only contact with OSM through MM and to some lesser degree through HOT activations. In general organized mapping events have very low conversion rates and we only get that one chance to introduce the breadth of OSM. to most of them, it is not clear how much exposure MM event attendees get to other ways of contributing to OSM (and even if they are told that it can be a useful undertaking too) and how many go away to never return with the impression that OSM is only about drawing buildings in underdeveloped countries. See to realize that this is a real issue.

  • contributing to OSM has this wonderful property that you can experience first hand that what you just added is useful. You can see the restaurant you just added on a map within minutes, or navigate to your friends address that you just added and so on. You don't need anybody to tell you that it was useful, you -know-. MM replaces this, admittedly slightly egoistic, intrinsic motivation, with a third party telling you something is good and useful and that the world will be a better place because of it (overstated: with motivation via guilty conscience). I don't believe that this is a recipe for long term success (neither for MM nor OSM). Frederik has already touched on the negative sides of gamifcation as motivation so I'll skip that.

  • overselling of the positive effects (this is less a MM issue, more a general one of humanitarian mapping in the OSM context). People are spending a lot time on mapping things with the impression that they are "saving lives" even though they might actually for example only be improving population statistics which could have been generated in many other ways, using a free and willing work force simply being more convenient and cheaper. In general it would become all to only activate and only ask for an activation when there is a compelling case that spending endless hours of volunteer time will actually make a difference. The overselling (I fully expect to see the next level of humanitarian hard-sell, aka crying babies, popping up on the relevant websites soon) tends to put off people that are willing to help in real emergencies but are not quite so gullible.

  • drowning out of all other aspects of OSM in the media and public perception. Admittedly this is mainly the issue that the non-humanitarian parts of OSM are too quiet, but the net effect is that looking back at 2015 there is no way you can't get the impression that humanitarian mapping is all OSM is about. This clearly impacts our ability to recruit new mappers for "normal" OSM given that the one thing we know is that media reports will drive new signups.

A final note: historically humanitarian mapping in the OSM context was something done mainly by at least moderately experienced mappers that had already mapped at least a couple of things that they could directly relate to (I'm not claiming that net quality was particularly good even then or that there were not other problems with the concept). MM has turned that upside down with the consequence that you need ever more coordination, validation and so on to handle the model of churning through lots of newbies to get comparatively small tasks done. Maybe some rethinking of how to get the tasks done most efficiently or at least trying something else for one target area would be a good idea.

Hide this comment

Comment from MarTintamarre on 3 March 2016 at 08:31

Hi Simon,

Thanks for the very interesting feedback! Just a quick answer on my perception of these elements: * Siloization: I totally agree that would be a bad consequence of Missing Maps and it's precisely something we do our best to avoid. Each time we run a mapathon in France we try to have someone from the local OSM community presenting the whole OSM project and the activities of his local group before the mapathon. Since MM is by definition a humanitarian project we cannot really go further than this (and organize mapping parties on local topics) however I think we are exposing OSM to many people that would have never heard of it else, so as a genuine OSM enthusiast I think it's already a good start! I'm certain if you ask the French OSM chapter they would not complain about MM, in fact several of them are already involved in the project! * Sending feedback to contributors on how their work have been used is one of our key challenge currently, and although we can still certainly improve a lot we have already taken some interesting steps, such as having live intervention from field staff to explain how they'll use the data, or sending messages to task contribution with links with the products we were able to prepare for NGOs thanks to OSM. Feedback are always welcome on this process BTW. Gamificaction is not our specialty so I'll leave other MM members answer to that since I don't really understand the problem. * Overselling the positive effects of our work is always a risk, specially for CartONG since we are the only technical-only member of MM. The only thing we can sell is this tiny bit of support we can bring to NGOs that already did their job very well without us, but we still think it is a worthy element of the humanitarian effort. I encourage you to read the case studies we did with MSF that demonstrates well - I think - the positive impact of GIS and mapping during the Ebola response, on which OSM was instrumental I'd be interested to be pointed out the crying babies on our website, we have a strict policy against it: ;-) * Humanitarian OSM activities have brought a huge spotlight on OSM I think, it adds a nice touch (just like mapping parties on accessibility or bicycles are a great way to communicate on how the vast OSM database can be useful to many purposes) to our overall comm' as an ecosystem. CartONG members are also always keen to communicate on OSM as a whole whenever we have an opportunity and are often members of their local chapter too so this distinction doesn't really make sense to us. In fact, as the comm' person at CartONG I am sometimes frustrated how little exposure we get as an organization compared to our friends of the OSM and HOT communities :-) * As of the efficiency question, it is not really one for us: since bringing new contributors and make them discover OSM is precisely one of our objectives, we are willing to do the effort to support them and train them. I actually find your argument a bit contradictory with item #1? We are also trying to create a process to get our volunteers to more advanced OSM and mapping tasks (validation, data integration, etc.) via our own projects with our partners (not necessarily MM). This is the great strength of OSM in my opinion: we are not facing a limited resource we need to share (will it be volunteers or data), we are expanding together a mutually beneficial for all open ecosystem.

Hide this comment

Comment from MarTintamarre on 3 March 2016 at 08:36

Sorry I messed up the formatting, my message is kind of hard to read! Typical Missing maps OSM newbie actiom :-D

Hide this comment

Comment from joost schouppe on 3 March 2016 at 08:42

to identify the best and brightest to receive additional training and mentoring to become local champions and event hosts

Why should the best mappers be the best event hosts? I'll take myself as an example. I'll be hosting my third MM mapathon soon, but I have hardly mapped with Missing Maps myself. To host, you need to be able to explain the project (both OSM in general and MM), to motivate and to get people started. But my own mapping is guided by what I feel like doing that day, not the tasking manager.

Hide this comment

Comment from joost schouppe on 3 March 2016 at 08:53

I always get a feeling of false dichotomy in these discussions. Sure, it is -possible- for a separate OSM and MM community to arise, but I don't think that is the reality.

Traditionally, OSM has grown from the nerdy circles of open source enthusiasts and geography fanatics. As these people mostly know OSM already by now, I've heard people say that the community can't grow much more. The lack of imagination is impressive. I see MM/HOT as a way to get people interested from a completely different background. My introduction about OSM at MM events is always something like "OSM is this crazy idea that makes unexpected things possible. It started with some people wanting some open data for England, and now you can drive from Alaska to Ushuaia with it. We also discovered that it's the best way to get geodata to NGOs". You cannot explain that MM is a crazy but possible idea without showing how the whole concept of OSM is completely outrageous - and working.

I also don't see the work we do at a Mapathon as the most important. We're just showing people what they can do with a few clicks of their mouse. So next time they use OSM and spot a mistake, they'll be more likely to fix it. So at the next disaster, more experience mappers will be available for a fast response.

Letting your thinking about the (real) issues be guided by the idea of a dichotomy which is not real, makes the problems seem larger than they are.

Hide this comment

Comment from manings on 3 March 2016 at 10:51

Some comments here suggest that MissingMaps and Humanitarian mapping is purely remote mappingand does not build a local community. In some cases the humanitarian mapping is the gateway to build the local community. See recent post here:

Hide this comment

Comment from pedrito1414 on 3 March 2016 at 11:48


I Just wanted to add to what Martin (MarTintamarre) said. The discussion that has been prompted by this post - and other things - is extremely valuable. I think Martin and CartONG are probably the best out of all of us of promoting that link to local OSM contributions and community through their Missing Maps work. Your comments led to a discussion amongst the various Missing Maps members and I think we pretty much unanimously agree that we could and should do more to achieve the kind of cross-pollination Harry refers to in his slides (which, by the way, he presented at a Missing Maps event).

I guess the conversation I would personally like to have now is how do we best do this? @imagico made a good point in a previous comment:

"IMO realizing that while there certainly are common interests there are also always significant differences in goals is the key to a successful cooperation."

How do we best try and bring mappers who have entered the OSM ecosystem via Missing Maps to the local communities' tables?

Interested to hear what people think.....

Hide this comment

Comment from Carnildo on 3 March 2016 at 22:22

The problem with gamification, and with metrics in general, is that you get what you measure. If you reward people for the number of widgets produced, you get hastily-made, low-quality widgets. If you reward the QA team per bug report filed, you get backroom deals where the programmers agree to include easy-to-spot bugs.

In the Missing Maps case, the leaderboard rewards people for number of edits (the default sort order) and to a lesser extent, the number of buildings and length of road mapped.

Edit count is easy to game: submit one edit per building or per road segment. This doesn't have any downside to the finished product, but does have an unfortunate impact on the internal workflow: checking recent changes becomes much harder, because of the increased volume of data.

The other two categories are more problematic. Rewarding for length of road biases people towards finding "roads" that are actually dry riverbeds, or animal trails, or field boundaries, or other things that look similar on an aerial photograph. Rewarding for building count means you'll get "buildings" that are actually rock formations, or off-color dirt patches, or the like.

In the worst-case scenario, you could get people sabotaging each others' efforts in order to maximize their own credit. I don't think a simple leaderboard is sufficient incentive to do this, but given some of the things I've seen people do on Wikipedia, I wouldn't be surprised if it was.

Hide this comment

Comment from d1g on 5 March 2016 at 01:44

A person that checks edits

AFAIK, HOT team have a person that checks how a task was performed with possibility to redo a task by other person.

I don't think we have a dedicated person in OSM that checks say Carnildo edits if they were valid or not and asks other person to implement same data.

At limited scale MM and HOT may perform well (something in data > nothing in data). But of course we don't want feed random data in OSM (but there nothing specific about Missing Maps).

Checker role shouldn't be permanent.

You could use statistics

Take 10 contributors, pay a banana per building. Tell them: you will get a reward ONLY if you draw a true building.

If one draws 10% less or more buildings than others in the group, he gets no reward.

IRL there would be "backroom deals" but with randomized nicknames and Internet you can get 10 persons that never knew each other.

This is exactly how captcha-driven data collection works.

Good thing about it is it scales even more with more contributors.

I never seen an implementation of this in OSM.

Hide this comment

Comment from Polyglot on 11 March 2016 at 00:49

I'm glad to see that Missing Maps is expanding our community here in Belgium. Organise a mapping party and you get 8-15 people. Organise a Mapathon and you get 30+

It's great to see all these people learn about Openstreetmap. It's also great to see so many activities being organised lately. And not only to go and map remotely. We recently had one focusing on facilities for homeless people in Brussels, incorporating data that would otherwise have remained in isolation.

I see what we do remotely as a first step for local groups to build upon and this really works, maybe at a smaller scale than would be desirable (the local mapping happening over there), but at least it's set in motion.


Hide this comment

Comment from seav on 13 March 2016 at 04:03

For some of the issues raised, I believe that a rising tide lifts all boats. While I understand the concern that MM gives the impression to OSM newbies that OSM is only about humanitarian mapping, I believe that this can be alleviated to a large degree by presenting the whole ecosystem of OSM as a short 15-minute lecture at the start of MM mapathons. This is certainly how we do our local events in the Philippines even if the event is focused on humanitarian mapping.

Hide this comment

Comment from IvanGayton on 16 March 2016 at 21:13

Hi all, I'm Ivan Gayton. I work for MSF most of the time, and I've been involved in Missing Maps since the beginning (or maybe even a bit before).

I think I speak for all of us connected to the humanitarian agencies behind the demand for the Missing Maps when I say that we are awed, respectful, and above all grateful for what OSM has created, both as a platform and as a community. We would not be able to do this if OSM hadn't been built.

We acknowledge that the Missing Maps task - the mapping of the poorest and most vulnerable people and places on Earth - is in many ways an uncomfortable fit for the OSM philosophy and community. The Missing Maps is:

  • Sometimes not driven by local people, rather by outside agencies
  • Aligned primarily with the goals of humanitarian agencies
  • Well-financed in pursuit of those goals
  • Bringing a lot of people into the OSM community without necessarily integrating them
  • Not necessarily a sustainable model for community development

I recognize that these are serious concerns for the OSM community! I don't want to minimize the concerns, but perhaps I can start the discussion about them with a bit of our perspective:

I'm generally opposed to externally-driven development. However, emergency response is a bit of a different story. A colleague of mine once responded to the "give a person a fish, they eat for a day, teach them to fish and they eat for a lifetime" aphorism by saying, "The people I'm concerned with already know how to fish much better than I do, but when they go near the river someone shoots them. For now, I'm going to give them a fish". In India and Tanzania, as in the UK and Canada, I hope and expect to see a locally-rooted OSM community map their own world. However, the people of South Sudan and the Congo have other, more pressing concerns right now than making an open map! They're struggling for their lives (and in my opinion their plight is not unrelated to the conduct of our societies with respect to their natural resources), and there's precious little functioning civil society, especially of a nature that can be effective in digital mapping. As much as I hate to "do for, not with" people, there are certain areas of the world where an emergency humanitarian, rather than a development, approach is appropriate.

When we say, "putting the world's most vulnerable people on the map", we mean to emphasize that all people, even those in poor areas, have a right to decent basic infrastructure, including open map data. If anyone can think of a slogan that better captures that, I'm all ears!

Humanitarian agencies have substantial responsibilities to the people we serve. Our mandate is self-chosen, but that doesn't mean we can escape the responsibility it thrusts upon us. We don't always get it right, but we have an obligation to try.

I consider decent maps to be part of fundamental public health infrastructure. WHen they are missing, and people get poorer health care as a result, it's another injustice that demands action. Just as I believe that the people of Haiti should have water and sanitation infrastructure to protect them from cholera, I believe that the people of the Central African Republic should have a map to enable as effective an epidemic response as possible. Basic public health infrastructure is not a luxury or a hobby, it's human right. If the citizens of a country can't build it without help because their country is devastated by violence and oppression, we as humanitarians feel an obligation to pitch in. And, of course, to do so in as collaborative and non-colonial fashion as is feasible in the given context!

Incidentally, I was a bit hurt by the "humanitarian hard-sell, aka crying babies" comment. I'm also horrified by exploitative advertising, and I while it's certainly an ugly feature of some humanitarian action I really don't think we've done it in the context of the Missing Maps. If we have, please tell us so, and say where.

Humanitarian, development, and UN agencies have been making maps for decades, usually poorly, and almost never openly. There are a number of agencies (and companies) vying to be the owners/curators/vendors of the maps of the vulnerable areas, and most of them have, if not a financial interest, an institutional interest in controlling the data. The Missing Maps project was intended to get the humanitarian sector using, contributing to, and sharing open geographical data. Knowing we were mapping anyway, we chose to contribute to OSM, and encourage all others to do so as well, because it is the appropriate place for open geographical data. It's not the only repository we could have used to place our data, but it's the right one, both practically and ethically.

You, the OSM commmunity, built this platform. We, the humanitarian users, are now taking advantage of it for our work. Missing Maps is not an organization (as Pete pointed out), it's a project to bridge the humanitarian and OSM communities to make the best possible use of this platform. Again, we chose OSM because it is the RIGHT place for open geographical data! Please don't take this as a slight to your original vision of locally-driven mapping, it's a respectful acknowledgment that what you have built is an important, even vital, global commons.

We need to work harder to give back to the OSM community, and to involve you (or at least ensure the door is wide open and the tea is on). We also need to ensure a healthy cross-pollination with the new people we are bringing on board, and avoid tipping the boat. Consider your concerns heard, acknowledged, taken seriously, and valid. Let's get to work together!

Hide this comment

Leave a comment

Parsed with Markdown

  • Headings

    # Heading
    ## Subheading

  • Unordered list

    * First item
    * Second item

  • Ordered list

    1. First item
    2. Second item

  • Link

  • Image

    ![Alt text](URL)

Login to leave a comment