mirror of
https://github.com/status-im/wiki.status.im.git
synced 2025-02-25 10:45:17 +00:00
279 lines
12 KiB
HTML
279 lines
12 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
|
||
|
||
<link rel="canonical" href="https://wiki.status.im/proposals/discover/">
|
||
<link rel="shortcut icon" href="../../img/favicon.ico">
|
||
<title>Discover (WIP) - Status Wiki</title>
|
||
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
|
||
<link href="../../css/font-awesome-4.5.0.css" rel="stylesheet">
|
||
<link href="../../css/base.css" rel="stylesheet">
|
||
<link rel="stylesheet" href="../../css/highlight.css">
|
||
<link rel="stylesheet" href="../../css/custom.css">
|
||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||
<!--[if lt IE 9]>
|
||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||
<![endif]-->
|
||
|
||
<script src="../../js/jquery-1.10.2.min.js"></script>
|
||
<script src="../../js/bootstrap-3.0.3.min.js"></script>
|
||
<script src="../../js/highlight.pack.js"></script>
|
||
<script>
|
||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||
|
||
ga('create', 'UA-79146816-1', 'wiki.status.im');
|
||
ga('send', 'pageview');
|
||
</script>
|
||
</head>
|
||
|
||
<body>
|
||
|
||
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||
<div class="container">
|
||
|
||
<!-- Collapsed navigation -->
|
||
<div class="navbar-header">
|
||
<!-- Expander button -->
|
||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||
<span class="sr-only">Toggle navigation</span>
|
||
<span class="icon-bar"></span>
|
||
<span class="icon-bar"></span>
|
||
<span class="icon-bar"></span>
|
||
</button>
|
||
<a class="navbar-brand" href="../.."></a>
|
||
</div>
|
||
|
||
<!-- Expanded navigation -->
|
||
<div class="navbar-collapse collapse">
|
||
<!-- Main navigation -->
|
||
<ul class="nav navbar-nav">
|
||
<li >
|
||
<a href="../..">Welcome</a>
|
||
</li>
|
||
<li class="dropdown">
|
||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Getting Started <b class="caret"></b></a>
|
||
<ul class="dropdown-menu">
|
||
|
||
<li >
|
||
<a href="../../getting-started/mission-and-core-values/">Mission & Core Values</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../getting-started/user-guide/">User Guide</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../getting-started/faq/">FAQ</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../getting-started/code-of-conduct/">Code of Conduct</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../contributing/development/introduction/">Developer Introduction</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="dropdown">
|
||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Contributing <b class="caret"></b></a>
|
||
<ul class="dropdown-menu">
|
||
|
||
<li class="dropdown-submenu">
|
||
<a href="#">Developers</a>
|
||
<ul class="dropdown-menu">
|
||
|
||
<li >
|
||
<a href="../../contributing/development/introduction/">Introduction</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../contributing/development/building-status/">Building Status</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../contributing/development/adding-dapps/">Adding DApps</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../contributing/ux-and-design/">UX & Design</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../contributing/testing-and-feedback/">Testing & Feedback</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../contributing/documenting/">Documenting</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../contributing/marketing/">Marketing</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../contributing/translations/">Translations</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="dropdown">
|
||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Community <b class="caret"></b></a>
|
||
<ul class="dropdown-menu">
|
||
|
||
<li >
|
||
<a href="../../community/slack/">Slack</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../community/newsletter/">Newsletter</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../community/blog/">Blog</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../community/tell-a-friend/">Tell a Friend</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../community/development/">Development</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="dropdown active">
|
||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Proposals <b class="caret"></b></a>
|
||
<ul class="dropdown-menu">
|
||
|
||
<li >
|
||
<a href="../contact-sharing/">Contact Sharing (WIP)</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../chat-api/">Chat API (WIP)</a>
|
||
</li>
|
||
|
||
<li class="active">
|
||
<a href="./">Discover (WIP)</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../messaging/">Status Messaging (WIP)</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../erc20-exchange/">Exchange (WIP)</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../sticker-market/">Sticker Market (WIP)</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../visual-programming/">Visual Programming (WIP)</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../moments/">Moments (WIP)</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="dropdown">
|
||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">License <b class="caret"></b></a>
|
||
<ul class="dropdown-menu">
|
||
|
||
<li >
|
||
<a href="../../licenses/mpl2/">MPL2</a>
|
||
</li>
|
||
|
||
<li >
|
||
<a href="../../licenses/lgpl-v3.0-static/">LGPLv3-static</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="repo-link">
|
||
<a href="https://github.com/status-im/wiki.status.im/">
|
||
<i class="fa fa-github"></i>GitHub
|
||
</a>
|
||
</li>
|
||
<li class="search-link">
|
||
<a href="#" data-toggle="modal" data-target="#mkdocs_search_modal">
|
||
<i class="fa fa-search"></i>
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="container">
|
||
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary">
|
||
<ul class="nav bs-sidenav">
|
||
<li class="main active"><a href="#discover">Discover</a></li>
|
||
</ul>
|
||
</div></div>
|
||
<div class="col-md-9" role="main">
|
||
|
||
<h1 id="discover">Discover</h1>
|
||
<p>This document describes the Discover feature of Status. Ethereum is its community, and with Discover we want to connect other Ethereum users with other Ethereum users - to trade and exchange ideas. Ultimately this will reduce transaction costs and increase the utility of ETH.</p>
|
||
<p>Discover is done through a users Status (hence the application name). This status is a 140 char sub-headline to a users profile which can be seen on <a href="https://zpl.io/22nSfB">my profile</a>, <a href="https://zpl.io/CFBa8">user profile</a> and <a href="https://zpl.io/Z1p9XlV">discover</a> screens.</p>
|
||
<p>A status is private and not shared with anyone except their immediate contacts, unless a <strong>#hashtag</strong> is introduced. These #hashtags are locally searchable on the discover screen.</p>
|
||
<p>The Discover application protocol is built ontop of Whisper, possibly utilising our messaging protocol and is implemented in <a href="https://github.com/status-im/status-lib/tree/master/src/cljs/status_im/protocol">status-im/status-lib</a></p>
|
||
<p>Periodically the client should request from it's contacts, a package of statuses that is an aggregate compilation of discoverable statuses (created using the specifications below), this package should contain no more than 100-500 statuses and the period in which the client requests the package is after when the user is back online and/or after waiting X hours has elapsed. Whisper penalizes larger payloads so we may have to chunk this. <code>140chars × 4bytes (utf-8) × 100 contacts = 54kb</code></p>
|
||
<p>The 100 contacts the user decides to return is weighted by;
|
||
- the newest available information (latest status from that user),
|
||
- the most seen contact statuses by other contacts. (that user who has seen the same contact status from all his contacts)
|
||
- and actual interactions with contacts, favor contacts that the user has actually messaged themselves.
|
||
- if contact is online</p>
|
||
<p>The Discover screen then takes this aggregate search space
|
||
<code>100-500 statuses × users in contact list</code> and organise them by #hashtags, the hashtags that have more than X contacts are put into the carousel under that #hastag category.</p>
|
||
<p>Below it the statuses are listed by most recent.</p>
|
||
<p>On tapping one of these messages a chat session is attempted with that user.</p>
|
||
<p>Each user should cache no more than 1000 statuses</p></div>
|
||
</div>
|
||
|
||
<footer class="col-md-12">
|
||
<hr>
|
||
<p>Documentation built with <a href="http://www.mkdocs.org/">MkDocs</a>.</p>
|
||
</footer>
|
||
<script>var base_url = '../..';</script>
|
||
<script data-main="../../mkdocs/js/search.js" src="../../mkdocs/js/require.js"></script>
|
||
<script src="../../js/base.js"></script><div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="Search Modal" aria-hidden="true">
|
||
<div class="modal-dialog">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||
<h4 class="modal-title" id="exampleModalLabel">Search</h4>
|
||
</div>
|
||
<div class="modal-body">
|
||
<p>
|
||
From here you can search these documents. Enter
|
||
your search terms below.
|
||
</p>
|
||
<form role="form">
|
||
<div class="form-group">
|
||
<input type="text" class="form-control" placeholder="Search..." id="mkdocs-search-query">
|
||
</div>
|
||
</form>
|
||
<div id="mkdocs-search-results"></div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</body>
|
||
</html>
|