Files
simplex-chat/blog/20201022-simplex-chat.html
T
2022-09-05 15:08:44 +00:00

197 lines
7.6 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" />
<title>Simplex Chat</title>
<link rel="icon" type="image/png" sizes="96x96" href="/img/favicon.ico" />
<link href="/css/tailwind.css" rel="stylesheet" />
<link rel="stylesheet" href="/css/blogs.css" />
<link rel="stylesheet" href="/css/blog.css" />
<script async defer src="https://buttons.github.io/buttons.js"></script>
</head>
<body class="sm:bg-gray-100">
<header>
<nav class="container">
<div class="flex items-center gap-[16px] h-full">
<a href="/">
<img alt="simplex logo" class="logo" src="/img/simplex.svg" />
</a>
<div class="hidden lg:flex gap-[16px]">
<a class="tracking-[1px] rounded text-[1.4rem] font-medium white-paper-nav-btn"
href="https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md"
target="_blank">Whitepaper</a>
<a class="tracking-[1px] rounded text-[1.4rem] font-medium comparison-nav-btn"
href="/#comparison">Comparison</a>
<a class="tracking-[1px] rounded text-[1.4rem] font-medium blog-nav-btn" href="/blog">Blog</a>
</div>
</div>
<div class="flex gap-4">
<div class="nav__buttons">
<div class="github">
<a class="github-button" href="https://github.com/simplex-chat/simplex-chat" data-size="large"
data-show-count="true" aria-label="Star simplex-chat on GitHub">Star</a>
</div>
<div class="donate d-none-576">
<a href="https://opencollective.com/simplex-chat" target="_blank">
<span class="button">Donate</span></a>
</div>
</div>
<div class="toggle self-stretch">
<label class="toggle-btn"><span></span></i></label>
</div>
</div>
</nav>
<div class="w-full fixed top-[60px] z-[99] bg-[#fbd561] mobile-nav">
<a class="flex-1 flex justify-center text-[1.2rem] tracking-[1px] font-medium text-base px-3 py-4 border-x-0 border-y-0 border-t-[1px] border-solid border-yellow-200 white-paper-nav-btn"
href="https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md">Whitepaper</a>
<a class="flex-1 flex justify-center text-[1.2rem] tracking-[1px] font-medium text-base px-3 py-4 border-x-0 border-y-0 border-t-[1px] border-solid border-yellow-200 comparison-nav-btn"
href="/#comparison">Comparison</a>
<a class="flex-1 flex justify-center text-[1.2rem] tracking-[1px] font-medium text-base px-3 py-4 border-x-0 border-y-0 border-t-[1px] border-solid border-yellow-200 blog-nav-btn"
href="/blog">Blog</a>
</div>
</header>
<script>
const toggleBtn = document.querySelector(".toggle-btn")
toggleBtn.addEventListener("click", () => {
if (toggleBtn.classList.contains("active-toggle-btn")) {
console.log("unchecked")
document.querySelector(".mobile-nav").classList.remove("mobile-nav-active")
toggleBtn.classList.remove("active-toggle-btn")
} else {
console.log("checked")
document.querySelector(".mobile-nav").classList.add("mobile-nav-active")
toggleBtn.classList.add("active-toggle-btn")
}
})
</script>
<style>
header {
overflow: hidden;
}
/* ====== NAV TOGGLE BUTTON ====== */
.toggle {
display: none;
}
.toggle-btn {
height: 100%;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
}
.toggle-btn span {
width: 20px;
height: 2px;
background-color: #062d56;
position: relative;
}
.toggle-btn span::after,
.toggle-btn span::before {
content: "";
width: 100%;
height: 100%;
background-color: #062d56;
position: absolute;
left: 0;
}
span::before {
top: -8px;
}
span::after {
top: 8px;
}
/* ====== Styles Applied AFTER the CLICK of TOGGLE BUTTON ====== */
.active-toggle-btn span {
background-color: transparent;
}
.active-toggle-btn span::before {
top: 0;
transform: rotate(45deg);
background-color: #062d56;
}
.active-toggle-btn span::after {
top: 0;
transform: rotate(-45deg);
background-color: #062d56;
}
.mobile-nav {
display: none;
transform: translateX(-100%);
transition: transform 0.5s ease-out;
}
.mobile-nav-active {
display: block;
transform: translateX(0%);
transition: transform 0.5s cubic-bezier(0.02, 0.48, 0.59, 1.48);
}
@media (max-width: 1024px) {
.toggle {
display: inline-block;
}
}
</style>
<section class="container">
<div class="bg-white py-6 sm:py-12 sm:px-8 md:px-16 lg:px-20"><h1 id="simplex-chat" tabindex="-1">Simplex chat</h1>
<p><strong>Published:</strong> Oct 22, 2020</p>
<p><a href="https://simplex.chat">https://simplex.chat</a></p>
<p>I'd really appreciate your feedback, criticism and suggestions on the open-source idea I was slowly working on since early 2020. I recently made the demo server for the low-level message queue protocol (&quot;simplex messaging protocol&quot;) and the website to try to explain the chat idea that would use this protocol.</p>
<p>Haskell protocol implementation: <a href="https://github.com/simplex-chat/simplexmq">https://github.com/simplex-chat/simplexmq</a></p>
<p>In short, the protocol defines a minimalist set of commands and server responses (just 7 commands and 5 responses sent over TCP) to operate encrypted message queues with in-memory persistence - the implementation uses STM.</p>
<p>If anything, it was definitely helping to get to know Haskell types etc. much deeper than before :)</p>
<p>Any criticism would be great - thank you in advance!</p>
<p>Originally published at <a href="https://www.reddit.com/r/haskell/comments/jg6uh4/simplex_chat/">https://www.reddit.com/r/haskell/comments/jg6uh4/simplex_chat/</a></p>
</div>
</section>
<footer>
<div class="container">
<img alt="simplex logo" class="logo d-none-992" src="/img/simplex.svg" />
<p class="copyright">
&#169; 2020-22 SimpleX | Open-Source Project <span class="d-none-576">|</span>
<a class="d-none-576" href="https://github.com/simplex-chat" target="_blank"><img
src="/img/icons/github.svg" /></a>
<a class="d-none-576" href="https://www.reddit.com/r/SimpleXChat/" target="_blank"><img
src="/img/icons/reddit.svg" /></a>
<a class="d-none-576" href="https://twitter.com/simplexchat" target="_blank"><img
src="/img/icons/twitter.svg" /></a>
<a class="d-none-576" href="https://www.linkedin.com/company/simplex-chat/" target="_blank"><img
src="/img/icons/linkedin.svg" /></a>
<a class="d-none-576" href="mailto:chat@simplex.chat" target="_blank"><img src="/img/icons/email.svg" /></a>
</p>
<div class="github d-none-992">
<a class="github-button" href="https://github.com/simplex-chat/protocol" data-size="large"
data-show-count="true" aria-label="Star simplex-chat on GitHub">Star</a>
</div>
</div>
</footer>
<script src="/js/article.js"></script>
</body>
</html>