Skip to content
This repository has been archived by the owner on Dec 29, 2021. It is now read-only.

Benefits of slight repositioning, expanding of vision #63

Open
aschrijver opened this issue Jul 19, 2017 · 2 comments
Open

Benefits of slight repositioning, expanding of vision #63

aschrijver opened this issue Jul 19, 2017 · 2 comments

Comments

@aschrijver
Copy link

aschrijver commented Jul 19, 2017

Current positioning

(NOTE This post is part 1 of Positioning, vision and future direction of the Dat Project)

Dat et al - in its current state - is actually a generic technology framework for creating decentralized solutions of any kind. But it is not presented nor positioned as such!
The landing page on datproject.org quickly states: "Powerful data sharing from your desktop" and later "Dat is the package manager for data. Share files with ..."

If I would want to use Dat for a different use case, say an event collaboration framework, and not distract you from your science community focus, then I would have to seriously untangle and recompose current modules, add different glue and logic. This because your focus is on file exchange, including hyperdrive, etc. No problem, but it would lead to extra work if later on you would like to incorporate the cool modules I have created.

I might have missed Dat Project altogether in my technology research given its application focus, just like I may have missed another viable candidate because it was positioned solely as an IRC app.

Broader vision

Broadening your horizon and calling it a technology framework (or platform, or whatever is fitting) and explicitly positioning as such will cost you nothing in terms of how the core modules are developed and the pace in which that occurs. You can still have the dedicated core team you have now.

And it would alleviate the feeling spin-off initiatives might have of being more or less out in the cold, taking big risk in diversifying from the overall direction.

On your landing page you would have to extract the application parts and place them somewhere separately, but more on that later..

Benefits

There are a number of benefits to be gained:

  1. Spin-off (legitimate) decentralization initiatives that are using Dat have - by the nature of the technology - usually a similar set of high moral, ethical values and goals. While they can operate completely independently and not burden your team, they will also have an inclination to fund you, or make donations

  2. These spin-offs will broaden the ecosystem and bring unexpected additions that are useful to your cause (e.g. in security, mobile, networking, social, deep learning, etc.)

  3. More (useful) contributions to the core, like documentation, more contributors. More ability to delegate support to the community

  4. Having a successful technology in the field of Decentralized Computing (instead of a successful application) will be much more of an incentive for newcomers, competing technologies and players to emerge, which is a healthy thing, leads to cross-pollination, more creativity, etc.

Current threats

That last point is especially important. As @joehand already pointed out there are unusual forces out there against the success of decentralized computing solutions, which you don't find in other technology areas. Besides oppressive governments there is the commercial aspect. The field is not only not so commercially attractive (a good thing probably), but could also become a threat to current status quo (internet monopolists, etc.). And if applied to local sharing communities any government is not so happy about the taxes the miss out on with all the non-intrinsic bartering and doing each other favours.

From about 2001 the internet is strewn with the corpses of 'the decentralized web is coming'- and 'we must act now before regulation strikes'-type initiatives. They did not survive, but I think for most of them it was their positioning, not the 'evil' forces that led to their demise.
But these forces are steadily growing and will become more and more truly felt.

Repositioning ideas

Just doing a bit of brainstorming and ideation here, since restructuring needs a well thought-out plan. Names are just indicative.

  • I would make the main entry point / landing page to 'Dat world' be targeted to the community ecosystem at large

  • The main entry could be: datfoundation.org (or with a dash)

    • Has better findability in search engines than 'project'
    • Comparable to dat-awesome, but much better structured
      • (PS. Remove second, outdated awesome list that exists, confusing)
    • Both technical and non-technical information source
    • Support, but not necessary provided by you, but also by the trusted community members
    • Introduction, reference to partners and affiliate initiatives
      • Affiliates operate completely independently, but now have a central focus point, a base
    • Blog, News, Articles, Video, Forums, Community, About, etc.
  • The datfoundation.org goals:

    • Bring awareness, attract people to protocol, technology and ecosystem
    • Foster the community, central community hub
    • Attract funding! --> now broadly positioned/exposed to everyone involved
  • Have datproject.org be a sub-site of the foundation

    • Explain Vision, Mission and Values, Philosophy
    • Explain importance of Funding, Sponsoring, Donations
    • Present your Sponsors in more detail
    • Present the Team and major co-operators
    • But nothing else ...
  • Have datprotocol.org as another sub-site

    • Remove the datprotocol.com or have it as a mirror (why did you choose .com?)
    • Sections like 'Using Dat from the command line` do not belong here. No deep-dive in code, implementation details
  • The datprotocol.org goals:

    • Protocol specification, technical concepts explained, architectural guidance
    • Insurance to developers regarding compatibility, quality of their own projects and contributions
    • And thus avoid having developers doing reverse-engineering on scattered code to find their way, waste time
  • Have a dattechnology.org sub-site (or datplatform.org or similar)

    • Provides the 'deep-dive' information for Dat core technologies
    • Has pointers to core modules (hypercore, hyperdrive, discovery-swarm, etc.)
  • The dattechnology.org goals:

    • Explain module structure and philosophy
    • User and API documentation
    • Tech-stack, versions, release notes, breaking changes, known issues
    • Technical in-depth articles, howto's, implementation details
    • Technology roadmap, plans, hurdles, technical challenges
    • Coding guidelines, licensing, contributing, code of conduct
  • Have a datecosystem.org sub-site (or datcommunity.org)

    • Only for community contributors to present their works (compare 'marketplace')
    • Has no forums, articles, etc. These are accessible from the central foundation hub
    • (It would be really cool if this was a Dat application itself, e.g. a Blendle- or twitterboard-like dashboard where presentation cards automatically pop up when a contributor creates a local Dat with some html and then syncs it)
  • Have a datsharing.org or whatever fittingly named sub-site

    • For your desktop-based file sharing solution that is now prominently advertised as 'the Dat'
    • Fine to target it exclusively to scientific community
    • Fine to hide the underlying technology for reasons of sensitivity (tip: also choose an unrelated name altogether)
    • Could position it as an officially 'supported' application in the Dat ecosystem
  • Have similar branding and style on all sites and pages that constitute the dat foundation (not the community ones, of course)

    • Visual consistency is very comforting to people. It radiates trust, professionality and stability.
  • Sanitize the repositories that exist in github.com/datproject

    • Only have relevant repositories that correspond to foundation concepts, structure and/or modules
    • Remove orphaned, irrelevant and outdated repositories like
    • Rename repositories where it improves consistency, findability and branding (public branding, not commercial)
    • You could create a new datfoundation organization and use datproject as your 'attic' for old projects
  • Have at least the core module repositories under one github organization

    • Really this would be so much better!
    • It took me hours to figure out how you are structured, what was important or related, and - more importantly - what was 'supported', considered part of the core rather than a 3rd party lib dependency
  • Consider hosting a private Gitlab instance to which trusted community members can enter to work on the more 'sensitive' parts of the technology base

Required effort

Now this looks like a lot of work, and part of it will certainly be. But most changes can be adopted gradually on a clean migration path.

  • The high-level restructuring can be done without too much effort.
  • The foundation website can be wholly, or mostly community maintained
    • But it probably requires a different setup (e.g. some CMS) to achieve ease of maintenance
  • The protocol and datproject sites should be entirely controlled by you
    • But they are static and do not frequently change
  • The technology site is controlled by you and trusted community members
    • Alleviating you of much of the burden in merging documentation improvements, etc.
    • Site is also static

Next part: Analysis of dat community culture and development approach

@benrogmans
Copy link

Although I think the structure you propose is good I don't think there should be that many websites.

I'd put everything on just one website. On the homepage I would promote the consumer/scientists product(s) / or most accessible software (everything you would put on datsharing.org)

And have three subsections on the site:

  • Foundation (including project)
  • Technology (including protocol)
  • Community (can be a subdomain, would be awesome indeed if this was built and hosted by the community)

NB. Good move to split your thorough analysis into smaller chunks @aschrijver

@aschrijver
Copy link
Author

Yes, you are right. When I created it I started from current Dat, which also has a multi-site design.
Later I added the case study of vert.x, which is organized in the way you suggest.

(Am also happy on the split-up, was significant work. Thank @joehand for closing the other issue 😉)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants