HTML mode with email integration


For many people throughout the world, income levels are a barrier to internet access. Unless individuals use free or cheap products they won’t be able to gain the benefits of the technology revolution.



Allow people to participate in a Discourse forum while using a cheap phone with the lowest possible data costs. The user should be able to browse the site and decide to reply to a topic, or to create a new topic in a chosen category. This should be possible without ever having to visit the javascript version of the site.

###Possible solution:

####Enabling html mode

Html mode could be enabled on a forum by having the administrator provide a subdomain to access it on. For example, if the main forum is accessed at, the html version could be accessed through When a request is made through the subdomain, a different layout and some slightly altered view files could be used. A starting point for developing this could be to not include any of the Discourse javascript or stylesheets.

####Replying to a topic

Instead of having a ‘Reply’ button, there could be an email address input, and a button that asks the user to ‘Join’ the conversation. Entering an email address and clicking the button would stage the user if they were new to the forum, and send the user an email to which they could respond to join the conversation. From that point on, the user could participate in that particular topic entirely through email. If they wished to see the entire thread of the conversation, or join a new topic, the could navigate back to the website.

####Creating a topic

Clicking a ‘Create Topic’ button in the header could open a form that asks the user to choose a category and supply a topic title and their email address. Clicking a ‘Send Email’ button on that form would stage the user’s account if it didn’t already exist, and send the user an email to which they could reply to create the topic. Having done that, they could participate in the topic entirely through email.

####The view

Use a simple, one column view that is designed to collapse the width of a mobile phone.

####Javascript and css

The site could use a minimal amount of javascript and css for progressive enhancement. This could be used to:

  • hide/show forms to clean up the UI
  • preload pages for faster loading

The site should function well with javascript enabled and be usable on devices with limited support for css.

####Visiting the main forum

To log into the main, javascript enabled, Discourse forum, the the staged user should be requested to supply a username and a password to go along with their email address.

###Use case

A hypothetical use case is a forum for translating Persian text into European languages. Users who wish to have text translated can create a topic on a Discourse forum. Translators in Afghanistan can browse the forum in html mode on their phones. When they see a topic that they wish to translate they can join the conversation by email. Ideally, multiple translators will work on each topic. When agreement is reached between the translators and the client that the text is properly translated some money can be sent to pay for the work.

###Related topics


I’m not sure how the scales balance on the
“choose the best app for your target audience”
“make the app do everything”
decision, but I am probably missing your point.

You’re wanting a way to tie in the no-js with the email API ?.

The target audience would be forums where the is a mix in terms of how the members access the internet. This could include cases where the cost of accessing the internet is the limiting factor. It could also include the case of forums where some members are biased against javascript applications and prefer to browse the web with Emacs and use Mutt as an email client. It could also include the case of forums where some members like to save money - they have computers and internet access at home, but for mobile browsing would prefer to use an older phone and limit their data costs.

Under the hood Discourse is a really good Rails app. The reply-by-email functionality already exists. By hooking into that, it’s possible to create a no-js site without having to recreate the user signup, login, and preferences pages.