A work in progress. See http://cry.li for details
Ruby JavaScript Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


devsphere is collaborative networking software. It combines the social networking facets you know with innovative linking features to create a platform where the process of an entire project can be aggregated and easily documented in one place.

1. Topbar
    a. search
    b. command symbols (#,?, !, @, $, *)
2. Knowledge Base (utilizing permissions to control editing)
3. Wiki (utilizing permissions to control editing)
4. File hosting and playback
    a. documents (converted so it can be rendered natively by site, re-encoded upon download)
    b. images
        i. galleries
        ii. slideshows
    c. audio
    d. video
5. Messages
    a. private
    b. multi-user/group
6. Scheduling
    a. calendars
    b. deadlines
7. Newsfeed
    a. commits
    b. status updates
    c. uploads
    d. notes
8. Member roles
    a. grade (admin, etc) permissions
    b. group (mapping, texturing, engine, network, etc) abilities
9. Ticket Tracker
    a. multiple users can claim items, permissions for multi or solo can be set
    b. subfocusing for collaboration
10. Feedback
    a. comments
    b. polls
11. Pensieve

"Global means global, for both columns"
As I understand, we want the homepage or landing page to give us an overall, "global" view, where the left column shows available Tickets/Tasks, Projects? etc, and the right column shows the global newsfeed.

devsphere, blending development and community

"Friends" don't exist. All users are visible and can contact other users in the network -- just like in forums. 

Pensieve -- one writes down a thought, which is put into a collection of thoughts from that user (or grouped in some other fashion). That thought can be referenced in future activity like file uploads or documents. (brainchild)

Documents (notes) can be edited collaboratively or solo

Private Messages

Scheduling -- calendars, deadlines



Support for polls

Issue Tracker, Todo
    - multiple users can claim these items
        a. have subfocusing (comment threads, teamspeak rooms, git branches, etc)

Newsfeed (filter by role, hashtag)
1. Commits
2. Status updates (comments)
3. hashtags
4. other activity (uploads, notes)
5. File upload (can be hashtagged)
    A. Uploader
        - have easy uploading like imgur's drag and drop
    B. Files Index (shows all the files, filterable by hashtag/category)
        - behavior determination per file extension (e.g. videos are embedded/playable, audio, etc)

hints require two things to happen
1. the activity item has a hashed word (they can view or create/edit a hint via a link in a predictable location)
    a. Scenario: A user is looking at some #map and a commenter asks a question relevant to #mapping (aliased to #map, even) and another commenter knows the answer, knows it applies to some relevant tag including #mapping, and creates a Hint object)
2. the user clicks on the activity item and a knowledge base item appears to the right (ala twitter)

?mapping is a "Hint" or KnowledgeBaseLink (hashlink) that autobinds to #mapping and other aliased #hashtags

Knowledge Base

superset hash ($)
    a. hashtag (#)
    b. hashlink (?)

1. search
2. command symbols
    a. hashlinks (?texture goes straight to knowledge base for texture)
    b. @ shows users
    c. prefixing ! posts the words following as a status
    d. * denotes actions or opens interfaces. (*upload opens the uploading, *note opens note writing, *open displays all saved items that haven't been publically released)
    e. sometimes, they can be combined ("!We need to fix the UI *save" -- this will save the status)

Name? Bazzah, DevSphere, devhouse

For this project I would want to use BDD (Behavior Driven Development) in which we describe features and scenarios in plain english (also called "tests"), and build the project by means of implementing the code the makes these tests pass, resulting in a robust application.
http://cukes.info/ Example follows:

Feature: Addition
    In order to avoid silly mistakes
    As a math idiot
    I want to be told the sum of two numbers
    Scenario: Add two numbers
        Given I have entered 50 into the calculator
        And I have entered 70 into the calculator
        When I press add
        Then the result should be 120 on the screen
        Ideas to explore later
        command line interface
        project/group/house organization --Projects, however, can be formed (save this for later stage of development when multiple subsets of people will be using a single network).

Figure out what the hell this is~Shadow