ContextNote At Web Scale

Saturday 16th of March 2013 07:49:49 PM

  Toggle Advanced Options

Initial idea

ContextNote At Web Scale: an application that allows users to attach notes to any web site that they visit by means of a browser extension (Chrome extensions and Firefox extensions). When a user visits a web page, the extension (the one-click content creation widget) retrieves the user's notes for the (current) page. Furthermore, any notes that have been attached to the page by other users as publicly visible notes will also be visible to the user. Notes can be tagged; so a user will also be able to browse a page's (public) notes by means of their accompanying tags.

ContextNote At Web Scale - Browser extension

Furthermore, each note will include all of the usual ContextNote artifacts like related images, videos, links, and associations. In addition, the platform will also include a Delicious-like UI to manage and browse your own notes and other people's public notes.

All of the usual sharing options (between users of the application and Facebook, Twitter, etcetera) will be available. In addition, when a user adds a note it becomes part of their feed to which other people can subscribe and which would be part of (central) application where all of the notes are aggregated for browsing (by tags, topic map associations), editing, and other content management-related purposes.

Additional thoughts

  • With this approach the whole "learning resources" issue is turned on its head: each and every page on the web becomes a potential learning resource which ties in nicely with the trends within the learning space. That is, what people are looking for is shorter and more modular learning materials that are visually rich, focused on key concepts and principles and interactive. Often this means that the above needs can be (at least, partially) satisfied with relevant blog articles, Wikipedia articles, screen casts and (YouTube) videos. What this means is that people are looking for resources to assist them in their learning process and not courses. That is, people want to be able to pick and choose from a range of learning materials that can contribute to their (evolving) learning goals. Tie this in to the Tin Can API (The Experience API) and this becomes a compelling product.
  • Note taking plays a central role in the effective transmission of knowledge (that is, learning). Furthermore, note taking is to mobile what word processing is to PCs, i.e., if done well... a massive market.
  • Instead of using proprietary browser extensions the application could be implemented within an iframe and use the easyXDM cross-domain library (perhaps, too many security-related issues with this approach).
  • If up and down voting is added to notes (and the accompanying web pages) the best (or at least the most popular) learning resources would "bubble up" for each subject.
  • When a note is attached to a web page, the user has to tag the note including what subject (for example, History, Biology, Chemistry, etcetera) it pertains to... that way, a body of learning resources is built up which at the same time is nicely categorized by, among others, specific (academic) subjects. Furthermore, individual tags could be turned into feeds for subscription purposes. A list of predefined subject tags will ensure that the note / web page is appropriately tagged by subject.

Important considerations

  • The Lesson, that is putting personal value before network value, selfish use comes before shared use. Even though we’re definitely benefitting from the value of networked software, we’re still not doing so unless the software is valuable to us on a personal level first.
  • Learning portfolio
  • Platform thinking
  • Connection First vs. Content First (social products) strategy
Connection First Strategy Content First Strategy
Strategy Connect users then enable content creation Enable content creation and then connect users
Success Factors Low sign-up friction and viral invitations Ease of content creation and viral content
Growth Tools One-click contact list integration One-click content creation widget
Launch Plan Launch as multi-user product Launch as single-user product
  • Content First strategy success factors:
    • Removal of barriers to the creation of content
    • Growing the creator base, not just the user base
    • Strong curation models
    • Incentives; that is, the platform needs to encourage users to build out the connections. This works best when the platform encourages an innate motivation (self-expression or self-promotion) in the user to spread the word about her content.

Database schema

  • Tables
    • urls
    • notes
    • tags
    • resources
    • notes_tags (link table)
    • metadata
    • users (namespace)
  • Entity-Relationships
    • urls 1:M notes
    • urls 1:M resources
    • urls 1:M metadata
    • resources 1:M metadata
    • notes 1:M metadata(?)
    • users 1:M metadata
    • users 1:M urls
    • urls M:M tags

Initial RESTful API URL structure (HTTP GET)

  • URLs plus notes, resources, meta data, and tags (sub-resources)
    • /urls
    • /urls/{url-hash}
    • /urls/{url-hash}/notes
    • /urls/{url-hash}/resources
    • /urls/{url-hash}/metadata
    • /urls/{url-hash}/tags
    • /urls/{url-hash}/notes/{note-id}
    • /urls/{url-hash}/notes/{note-id}/metadata(?)
    • /urls/{url-hash}/resources/{resource-id}
    • /urls/{url-hash}/resources/{resource-id}/metadata(?)
  • Notes plus resources, meta data, and tags (sub-resources)
    • /notes
    • /notes/{note-id}/resources
    • /notes/{note-id}/resources/{resource-id}
    • /notes/{note-id}/resources/{resource-id}/metadata(?)
    • /notes/{note-id}/metadata
    • /notes/{note-id}/tags
  • Tags
    • /tags
    • /tags/{url-hash}
  • Users plus URLs, tags, and meta data (sub-resources)
    • /users
    • /users/{user-id}
    • /users/{user-id}/urls
    • /users/{user-id}/tags
    • /users/{user-id}/metadata(?)

Sample MongoDB document

    url: '',
    title: 'ContextNote At Web Scale',
    createdAt: 'Sun Mar 31 2013 11:27:42 GMT+0200 (CEST)',
    updatedAt: 'Sun Mar 31 2013 11:27:42 GMT+0200 (CEST)',
    namespace: '6ba7b810-9dad-11d1-80b4-00c04fd430c8',
    tags: ['web', 'note', 'knowledge', 'learning', 'platform'],
            url: '',
            caption: 'ContextNote at Web Scale mock-up 1',
            type: 'png',
            size: 100000,
            data: 'Binary'
            user: '6ba7b810-9dad-11d1-80b4-00c04fd430c8',
            caption: 'A fantastic note',
            data: 'Lots and lots of text and more text.'
            user: '6ba7b810-9dad-11d1-80b4-00c04fd430c8',
            caption: 'Another fantastic note',
            data: 'Lots and lots of text and more text.'