Request for Proposals
Website Development
Journalism for Change, a US-based not for profit, seeks bids for a website development project to modify a Persian language news site to add new functionality, as detailed below. Bidders do not need to know Persian but must be able to program for Right to Left languages.
Bidders shall submit proposals by January 13, 2023 to rfp@journalismforchange.org. Request for deadline changes can be sent to the RFP email. Any extensions granted shall be extended to all bidders.
Interested parties may submit questions to the email above. We will post answers to all relevant questions on www.journalismforchange.org.
Responsive bids shall include:
Cost estimate that includes:
Only essential items below
Essential and potential additions
Cost and terms of ongoing service for the new features
Timeline for implementation
Detailed discussion of solutions, including any use of off the shelf software
Discussion of team that will work on the project, including roles and experience
Three references of similar website development work
Discussion of guarantees and length of debugging service offered
Project aims:
IranWire.com currently has a regularly updated database of officials’ contacts in this area of the website: iranwire.com/bios (the White Pages / کتاب اول further in this text).
We wish to develop a more functional and user-friendly interface that will make it easier for users to search by issue and location, and initiate petitions, emails, social media posts to authorities in charge.
Content will be in Persian in the first instance (with a possibility of developing localised versions in Arabic, Kurdish and Azeri at some point in the future).
The key features we seek to add include:
Ability for the users to generate anonymous email messages to specific authorities in the database
Ability to generate shareable petitions to specific government authorities on an issue
Improved and faster user interface for accessing via map or search function
Improved search by region, branch, level of government, and issue
Ability to access in low bandwidth and through a variety of devices
Ability to easily download key campaign tools for off-line campaign design
Short primers on citizen’s rights and government responsibilities in key issue areas in text, video, graphic format.
A vast majority of our users currently access our content on mobile devices. The current site is built on Django and hosted on AWS.
Details:
1 Modification of the White Pages landing page
To allow other content, in addition to the existing database contact cards. Content examples:
Essential
A brief blurb about what White Pages area is all about at the top (a very short paragraph, TBD).
Petitions, Email and Social Media (Advocacy) How-To, including a digital security guide; general anonymity encouraged in the sign-up page for general users.
Call-to-action buttons or links: to send email, start a petition or explore/sign petitions.
Primers on good governance and accountability of authorities (short primers on citizen’s rights and government responsibilities in key issue areas e.g. education, employment, media, arts and sport; in text, video and graphic format)
Regular webcasts on accountability (Insta Live recordings - linked or embedded)
Low bandwidth versions accessible through a variety of devices; option to download and use offline How-To Petitions, Primers on Accountable Governance and Petition Initiation Form (mirroring the Design the Petition Page). If initiators have problems completing their design online they can send the form to the moderator, with a request to initiate the petition on initiator’s behalf.
Link to Moderation Principles/Rules page
Potential additions
A searchable map of Iran with all petitions in each city/province
List of existing petitions / a counter to show number of total campaigns and the rate of their success; the admin/moderator team needs to be able to switch this counter off and on as needed. Petition campaign status will be of predefined values (exact wording TBC).
2 Emails:
Audiences land here from the Call to action: “Send anonymous email to request that they act” (or similar text) from each database card, and also a call-to-action link/box on the news pieces, and the White Pages landing page.
Essential
Sent mail is anonymised (e.g. via third party platforms such as MailChimp or SalesForse).
Moderators need to be able to check and approve email text before it is forwarded to the authorities.
To: field in emails is a searchable box which allows users to search authorities by their region, title, responsibilities, area of work, keyword; or they can select to contact the IranWire team/moderator. The purpose of it is to enable anonymous contact with the authorities, so messages can only be addressed to one of the listed authorities, or the IranWire team.
Ability to see response
User sign-in required so that a messaging area can be created for them; creating an ‘inbox’ on users’ profile so they can see the previous emails sent and the responses right there (a proxy for the third party emailing service) and can respond from there as well
Potential Additions
Optional: If the user selects a combination of authority and keyword for which there is an existing petition, the end screen that confirms their email has been sent also suggests that they check out the petition with the link to the petition.
A hoverable How-To pop-up window next to the email text box
3 Petitions:
3.1 Petition initiator dashboard
Users arrive here from the call to action button/link on the landing page, or inserted in other parts of the website (e.g. stories). They need to be a registered user in order to be able to initiate petition.
Essential
Design a petition:
Search existing petitions by region, branch, level of government and issue/keyword as a first step to avoid duplication
Set Petition title
Add Petition Keyword/s (a drop-down list + Other free text)
Select Petitioned authority/ies: search the existing database and select which contacts to use, or leave blank
Write Petition text
Write Petition “Ask”
Set Signing deadline
Set goal for number of signatures
Submit button followed by a notification that a moderator will review the petition and once it’s been approved, the initiator will receive notification to return to the petition dashboard to share it on social media if they like.
Manage a petition:
See the counter to petition goal
Change the goal for the number of signatures or the deadline for achieving that goal. (Petitions will be time-bound (min: 2 weeks) but can be extended indefinitely.)
Box to add updates on petition / issue status or close the petition, with the date automatically captured and displayed.
Users’ capability to get in touch / request support from the IranWire team, or report an issue facility to report errors / malfunction / unacceptable comments etc.
Potentional Additions
Button/link/hover-popup to Petitions How-To
Email area from which anonymous emails can be sent to the authorities; initiators will be directed here by triggered anonymised email when they need to action things on their petition; this is to protect their security by not sending them iranwire branded emails with details of their petitions. Messages in the email area will contain more detailed information on what needs to be actioned. A lot of this will be automated.
Users ability to draft campaign materials: e.g. amend automated text inviting signatories to share the petition with their network on social media
3.2 A specific Petition page: general audience
Audiences can arrive here from call to action box /link on white pages landing page, petitions search, petitions list, embedded petitions links elsewhere on the website or on social media.
Essential
Petition information:
Petition title
Petition text
Petitioned authority
Signing deadline
Goal for the number of signatures, and a simple counter/bar indicating progress to that goal
Search existing petitions
Members of the audience can sign petitions without having to sign in but a pop-up or similar informs them that if they don’t sign in they won’t be able to receive updates.
Captcha, but signatories do not have to be registered users signed in, in order to sign a petition. Flag that if they want to receive updates they need to sign in and that Iranwire won’t request or share personal / private data.
Capability for signatories to share petition on social media
Capability for moderator / initiator to publish updates on the progress / result of the campaign (moderator approves updates; updates can be initiated by either moderator or petition initiator).
Capability to report an issue facility to report errors / disfunction / unacceptable comments etc
Potential Additions
A sidebar with links to IranWire.com stories related to this issue
Box to leave a comment on why users are adding their signature to the campaign; comments need to trigger the moderator to check for profanities and other offensive or inflammatory content, and consideration of user safety, and approve comment publication; option to hide all comments by moderator and/or petition owner.
4 Moderator / admin dashboard
Essential
Button/link to to Moderation Principles
Search petitions by location, authority and keyword
Notifications area where to-do tasks/actions are listed:
Review drafts of new petitions submitted by initiators; moderators should be able to search existing petitions by region, branch, level of government and issue/keyword and compare them with new proposed petition drafts; they need to be able to amend components of petitions (e.g. petition title, text, authority, ask, campaign materials), to approve or decline petitions; to feed back to initiators if they’re suggesting to start a new petition for which a campaign exists (very similar with very similar geographic area). Moderators should be able to merge queries if they are identical in topic, ask and geographic area covered.
Review comments left by signatories
Review updates to petition status by initiators or make status updates themselves.
Once the number of signatures as specified in a petition’s goal is reached, notification is sent to the moderator to send the petition to the authority (or change status to goal achieved, if there is no specific authority to send the petition to).
A hand-brake capacity for Moderator / Admin to close / extend a petition in extreme cases.
Downloadable version of the database, option to select which segments or whole database of officials as a PDF and email on.
Potential Additions
Button/link to Petitions How-To
5 Other back-office requirements
Essential
Moderation should cover both content of petitions, comments left by signatories, emails and any duplication of initiatives (e.g. if the same or very similar initiative is brought for the same geographic area).
Site admins to manage petition keywords (like Project Tag/Subtag system)
The admin team needs to have the facility to run surveys of signatories and initiators.
Signed-up signatories to receive updates on changes of petitions on the system (survey completed / sent / succeeded / not succeeded)
Define triggers for automated reminders to initiators (e.g. “your survey is about to expire, you need to promote it or extend the deadline for signing”); the notification text sent to the initiators’ external emails to be neutral so they’re protected, and say something like “You have updates on XY platform, please sign back in to check.” Ditto for messages from moderators.
A comment box under the petition on the petition design/management page, that is only visible to initiators and IranWire teams. This box is for the petition initiators to feed back on the success of the particular petition. The box can be called “Status of the problem/petition”, allow drop down + free text responses, capture the date of the response, and any future updates to the box (e.g. If Status of the Problem/Petition is overwritten in the future, we need to be able to keep both the original and the subsequent updates along with dates they were made.).
The Admin team needs to be able to draw reports from the petitions platform that at a minimum capture data as defined in this file.
Google Analytics is set for “events” to track link clicks, emails sent, messages checked by users and initiators, downloads of useful material.
Potential Additions
On the signup page, users may need to be asked to consent to being contacted by email notification, and there should be text to set up their expectation they may be contacted by email. The consents need to be captured and stored, and automated into future communications.
Option to embed particular petitions alongside IranWire's core reporting; the choice to embed a petition has to be editorial, not automatic.
Capability to show petitions next to any related authority or website content.
Petition initiators to be able to update signatories on the progress of the petition in more detail; these updates need to be moderated before being approved for distribution.
Examples of Petitions Sites
iPetitions - FA petitions