Skip to content

Latest commit

 

History

History
140 lines (119 loc) · 5.48 KB

IDEAS.org

File metadata and controls

140 lines (119 loc) · 5.48 KB

Components

Here is a list of the main components desired. Details for each component are in the following subsections.

  • user accounts
  • wiki
  • documentation
  • list of libraries
  • searching email lists
  • site statistics
  • blog
  • FAQ
  • list external resources
  • aesthetic functional design
  • management structure

Many features require new code to be written (current plan is to implement the site in Ocsigen), and several require well written content.

User Accounts

Allow authentication via trusted 3rd party sites:

  • OCaml Forge
  • Google
  • LinkedIn
  • Facebook
  • Twitter
  • Yahoo
  • OpenID

Maintain minimal profile data to:

  • help us understand community
  • know which institutions have OCaml programmers
  • create map showing where OCaml programmers are based

Wiki

IMPORTANT GOALS: support writing tutorial with ease. A comment system per paragraph is a plus.

It will be important to have an editor who monitors the structure and quality of the writing on a long-term basis. Else the wiki risks being a collection of incoherent text.

Desired features:

  • Choice of markup (define an abstract interface, implement several concrete syntax). This is VERY URGENT in order to be able to develop content while the code is being written.
  • should allow to define external anchors.
  • support structured documentation with sections, subsections, etc.
  • syntax highlighting
  • comment system
  • history of changes
  • export to several formats, e.g. LaTeX, PDF (low priority).
  • It should be easy to merge/move/split pages through the provided interface.
  • comments per paragraph, as in Real World Haskell

Documentation

There are many forms of documentation. The wiki feature is meant to enable user contributed documentation. On the other hand, there is much documentation that already exists. At first, we can simply link to these other sources, but a better goal is to seamlessly integrate into the main site. For example, PDF books should be available in html format to help search engines, and possibly provide enhanced features like user comments.

Existing Documentation

List of Libraries

  • something like hackage
  • may require also automatically pulling information from github

Desired features

  • provide download links to latest and previous versions of library
  • list methods by which library can be installed, e.g. source, godi, debian package, etc.
  • link to API documentation, oasis project will help here
  • support star ranking like Amazon, each user can assign number of stars and comment on the library, average starts are shown
  • search, like in Hoogle, there is already a version of this for OCaml somewhere…
  • have permanent links to libraries [pages] so we can safely refer to them from other pages (e.g. comparing libraries for web programming).

Search Email Lists

The main OCaml List and Beginner’s list are both difficult to search over. An improved interface would be nice.

Make it easy to subscribe to mailing lists. Simply check a box in your account settings page.

Site Statistics

  • on the paths (list of links) that people follow would be interesting to optimize the site after it is launched
  • register with Google
  • any software that should be installed on web server?

Blog

  • aggregate related blogs, already provided by planet but we would like to display headlines only on the front page of the site.
  • one new blog where major announcements are made, show this one on front page

FAQ (Frequently Asked Questions)

  • should be in sections

List External Resources

  • IRC, create links directly to #ocaml channel via various clients.

    mibbit might be interesting for newcomers. Firefox proposes it when one clicks on the URL in index.html. Freenode does not seem to be available though.

  • Reddit
  • Stack Overflow

Design

  • get funding for professional designer
  • clean design but not austere
  • should support dynamic features where appropriate, but work gracefully when javascript not enabled
  • should also look good and be functional on mobile devices (lower priority)
  • examples of sites for inspiration: PostgreSQL, mongoDB, Drupal, Perl
  • random eye-catching ideas: word clouds, charts

Management Structure

  • site is managed by a non-profit organization to be created
  • site content is enriched by the community with a mediation on the content by managers