<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[MiniDonkey101 - Medium]]></title>
        <description><![CDATA[Mini Donkey carries your messages securely &amp; secretly ;) - Medium]]></description>
        <link>https://medium.com/minidonkey101?source=rss----c15e390f28c9---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>MiniDonkey101 - Medium</title>
            <link>https://medium.com/minidonkey101?source=rss----c15e390f28c9---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 31 May 2026 18:22:52 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/minidonkey101" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Looking for a Flutter App to Build?]]></title>
            <link>https://medium.com/minidonkey101/looking-for-a-flutter-app-to-build-c9595a426174?source=rss----c15e390f28c9---4</link>
            <guid isPermaLink="false">https://medium.com/p/c9595a426174</guid>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[ios]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <category><![CDATA[android]]></category>
            <dc:creator><![CDATA[Jackson MZ]]></dc:creator>
            <pubDate>Sun, 05 Apr 2020 11:26:00 GMT</pubDate>
            <atom:updated>2020-04-05T11:26:00.803Z</atom:updated>
            <content:encoded><![CDATA[<h4>Improve resume/profile and help protect our privacy by becoming a Mini Donkey project contributor</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FXbJtVAqOBTX-H-Y64oAiQ.jpeg" /><figcaption>Photo by <a href="https://unsplash.com/@nate_dumlao?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Nathan Dumlao</a> on <a href="https://unsplash.com/s/photos/team?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><h4><a href="https://medium.com/minidonkey101">Mini Donkey</a> is a platform-independent encryption app</h4><p>Mini Donkey is an app that encrypts and hides messages using AES encryption and steganography.</p><p>Since Mini Donkey itself is not a service, it works with all social media apps that support sending images.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2FeyQEh4m36G1fG%2Ftwitter%2Fiframe&amp;display_name=Giphy&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2FeyQEh4m36G1fG%2Fgiphy-downsized.gif&amp;image=https%3A%2F%2Fi.giphy.com%2Fmedia%2FeyQEh4m36G1fG%2Fgiphy-downsized-large.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="243" frameborder="0" scrolling="no"><a href="https://medium.com/media/650025b41eaa7d66a5eebb0b39e820f4/href">https://medium.com/media/650025b41eaa7d66a5eebb0b39e820f4/href</a></iframe><h4>Motivations</h4><p>It all started when a couple of friends complained that they couldn’t send important messages to friends and families without being under surveillance due to regional restrictions.</p><p>Unfortunately, privacy-preserving services aren’t available in those regions for obvious reasons.</p><p>I thought “wow, that’s not cool”, especially in 2020 where social media has become an essential part of our lives.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2Fl46C60OIRyCXVYAM0%2Ftwitter%2Fiframe&amp;display_name=Giphy&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2Fl46C60OIRyCXVYAM0%2Fgiphy.gif&amp;image=https%3A%2F%2Fi.giphy.com%2Fmedia%2Fl46C60OIRyCXVYAM0%2Fgiphy.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="243" frameborder="0" scrolling="no"><a href="https://medium.com/media/763764f5d81ea07af2af87adcefd9494/href">https://medium.com/media/763764f5d81ea07af2af87adcefd9494/href</a></iframe><p>After researching a few privacy-preserving messaging apps, I found:</p><ul><li>They are easily blocked because they still rely on services/internet access.</li><li>They present heavy vendor-lockin and it’s hard to convince others to move away from popular social media platforms.</li></ul><p>Due to the two issues above, few people end up using those apps and, as a result, privacy is wildly exposed.</p><p>Is it possible to properly address the issues above? What if there is an app that:</p><ul><li>Works completely offline.</li><li>Attaches to any popular social media platform.</li></ul><p>The answer I worked out was Mini Donkey and let me use two diagrams to demonstrate the main idea:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*b4WW0hLh0JBM6Jxk4OWxYA.png" /><figcaption>Mini Donkey hides/encrypts a message that can go through any social media platforms</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*L57sCFRGeHKR09-QK3jjgA.png" /><figcaption>Mini Donkey decrypts message that came from any social media platforms</figcaption></figure><p>I know you might be thinking “that’s a lot of effort to send a message”. I totally agree, but, in fact, only 1% of our communication (e.g. my password is XXX) needs this kind of encryption, so use it only as a secret weapon.</p><h4>Mini Donkey focus on privacy and nothing else</h4><p>To make sure Mini Donkey fulfills its purpose to protect privacy, I built it to be:</p><ul><li>Open-source so that everyone can audit and improve it.</li><li>Ads-free to reduce distractions and focus on the mission.</li><li>Works 100% offline to avoid censorship.</li><li>Works on as many social media platforms as possible.</li></ul><p>Achieving the goals isn’t easy, so I will need help from the community:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2FOCUGGr7KBKAgM%2Ftwitter%2Fiframe&amp;display_name=Giphy&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2FOCUGGr7KBKAgM%2Fgiphy.gif&amp;image=https%3A%2F%2Fi.giphy.com%2Fmedia%2FOCUGGr7KBKAgM%2Fgiphy.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="227" frameborder="0" scrolling="no"><a href="https://medium.com/media/0546b2d95f2d6e471140607d206693a5/href">https://medium.com/media/0546b2d95f2d6e471140607d206693a5/href</a></iframe><h4>What can you get by contributing?</h4><p>The things to get out of contributing to Mini Donkey includes but definitely not limited to:</p><ul><li>Add an interesting production-grade cross-platform app to your resume.</li><li>Help secure privacy for people who need it.</li><li>Level up your Flutter skills.</li><li>Level up your Android/iOS dev skills.</li><li>Level up your GitHub Actions skills.</li><li>Level up your JavaScript skills.</li><li>Level up your Fastlane skills.</li><li>Hands-on project management experience.</li><li>Hands-on open-source contributing experience.</li><li>Know the open-source project workflow better.</li><li>Many more…</li></ul><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2FyDYAHbqe5DfyM%2Ftwitter%2Fiframe&amp;display_name=Giphy&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2FyDYAHbqe5DfyM%2Fgiphy.gif&amp;image=https%3A%2F%2Fi.giphy.com%2Fmedia%2FyDYAHbqe5DfyM%2F200.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="244" frameborder="0" scrolling="no"><a href="https://medium.com/media/b7325c6e8e7aec92be09037f3f869363/href">https://medium.com/media/b7325c6e8e7aec92be09037f3f869363/href</a></iframe><h4>What technologies are used?</h4><p>The Mini Donkey tech stack:</p><ul><li>App: Flutter/Dart</li><li>App platform-specific integrations: Swift/Kotlin/Objective-C/JavaScript</li><li>App automation: Fastlane/Ruby</li><li>CI/CD: GitHub Actions</li><li>Documentation: Vue.js/VuePress/JavaScript</li></ul><h4>What are some ways to contribute?</h4><p>The ways to contribute include but, again, definitely not limited to:</p><ul><li>Implement a feature</li><li>Fix a bug</li><li>Refactor code</li><li>Propose a feature</li><li>Report a bug</li><li>Add clarifying comments</li><li>Add documentation</li><li>Improve CI/CD workflows</li><li>Fix typos</li><li>Brainstorm ideas</li><li>Triage issues</li><li>Clean up issues</li><li>And, of course, many more…</li></ul><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2F26u4nJPf0JtQPdStq%2Ftwitter%2Fiframe&amp;display_name=Giphy&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2F26u4nJPf0JtQPdStq%2Fgiphy.gif&amp;image=https%3A%2F%2Fi.giphy.com%2Fmedia%2F26u4nJPf0JtQPdStq%2F200.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="166" frameborder="0" scrolling="no"><a href="https://medium.com/media/84a316611911c3292eff2e213c43c53d/href">https://medium.com/media/84a316611911c3292eff2e213c43c53d/href</a></iframe><h4>How to get involved?</h4><p>To get involved in the project, please follow the steps (for more details, see the <a href="https://github.com/tianhaoz95/photochat/blob/master/CONTRIBUTING.md">contribution guideline in the repository</a>):</p><ol><li>Pick an issue (if the one you want to work on doesn’t exist, feel free to open one).</li><li>Comment on the issue with a plan to claim ownership.</li><li>Work on it.</li><li>Open a pull request and make sure tests are passing.</li><li>Request a review.</li><li>Resolve the suggestions from the reviewer.</li><li>Wait for a bit. The pull request will merge within a day.</li><li>Have a cup of coffee. Hooray! You just contribute to the project!</li></ol><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2F3ohhwzCKbM4lLImCVG%2Ftwitter%2Fiframe&amp;display_name=Giphy&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2F3ohhwzCKbM4lLImCVG%2Fgiphy-downsized.gif&amp;image=https%3A%2F%2Fi.giphy.com%2Fmedia%2F3ohhwzCKbM4lLImCVG%2Fgiphy.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="231" frameborder="0" scrolling="no"><a href="https://medium.com/media/a77d8a7722727324479762d01bf20fc0/href">https://medium.com/media/a77d8a7722727324479762d01bf20fc0/href</a></iframe><h4><strong>Thanks for reading and happy hacking! ;)</strong></h4><p>If you like the idea of the Mini Donkey project, please make sure to:</p><ul><li>Give the <a href="https://github.com/tianhaoz95/photochat">Mini Donkey repository</a> a star.</li><li>Follow the <a href="https://medium.com/minidonkey101">Mini Donkey publication</a>.</li></ul><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2FYQitE4YNQNahy%2Ftwitter%2Fiframe&amp;display_name=Giphy&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2FYQitE4YNQNahy%2Fgiphy-downsized.gif&amp;image=https%3A%2F%2Fi.giphy.com%2Fmedia%2FYQitE4YNQNahy%2Fgiphy-downsized-large.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="244" frameborder="0" scrolling="no"><a href="https://medium.com/media/d217c2089234797ae7505cca48f1d91b/href">https://medium.com/media/d217c2089234797ae7505cca48f1d91b/href</a></iframe><h4>References</h4><p>Mini Donkey project home:</p><p><a href="https://medium.com/minidonkey101">MiniDonkey101</a></p><p>Mini Donkey repository:</p><p><a href="https://github.com/tianhaoz95/photochat">tianhaoz95/photochat</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c9595a426174" width="1" height="1" alt=""><hr><p><a href="https://medium.com/minidonkey101/looking-for-a-flutter-app-to-build-c9595a426174">Looking for a Flutter App to Build?</a> was originally published in <a href="https://medium.com/minidonkey101">MiniDonkey101</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[New Features in Mini Donkey v1.0.6]]></title>
            <link>https://medium.com/minidonkey101/new-features-in-mini-donkey-v1-0-6-80707a9726a?source=rss----c15e390f28c9---4</link>
            <guid isPermaLink="false">https://medium.com/p/80707a9726a</guid>
            <category><![CDATA[mobile-apps]]></category>
            <category><![CDATA[steganography]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[flutter]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <dc:creator><![CDATA[Jackson MZ]]></dc:creator>
            <pubDate>Wed, 11 Mar 2020 06:10:26 GMT</pubDate>
            <atom:updated>2020-03-11T06:12:34.068Z</atom:updated>
            <content:encoded><![CDATA[<h4>A faster and more accurate message composing experience</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*edyoVBIaWp-WI-9mb1kiKw.png" /></figure><p><a href="https://medium.com/minidonkey101">Mini Donkey</a> v1.0.6 is the first release after the alpha which focuses on improving message composing experience.</p><p>Note: for people who don’t know what Mini Donkey is, please read the introduction: <a href="https://medium.com/minidonkey101/hooray-mini-donkey-is-here-82161aa948c9">Mini Donkey 101</a>.</p><h3>Image Capacity Indicator</h3><p>Steganography is the practice of hiding data in images.</p><p>Every image can only carry a certain amount of data.</p><p>Without monitoring, if the image is of low resolution, the data can easily exceed the capacity of the image.</p><p>To make sure data overflowing doesn’t happen, Mini Donkey v1.0.6 introduced a real-time capacity usage indicator:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FRECRdWyBwBE%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DRECRdWyBwBE&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FRECRdWyBwBE%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/2c3bf5f179e7f2c7aeeaa410469dc042/href">https://medium.com/media/2c3bf5f179e7f2c7aeeaa410469dc042/href</a></iframe><h3>Random Carrier Image Generator</h3><p>Uploading your own images have a couple of drawbacks:</p><ul><li>It’s time-consuming.</li><li>It can compromise your privacy if certain photos are picked accidentally.</li></ul><p>To offer a better experience, Mini Donkey v1.0.6 introduced the random carrier image generator:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F-YD2DTkhFj4%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D-YD2DTkhFj4&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F-YD2DTkhFj4%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/104685c8b30130f7c375e768bb3b4ede/href">https://medium.com/media/104685c8b30130f7c375e768bb3b4ede/href</a></iframe><h3>Happy Hacking!</h3><p>If you like the idea of Mini Donkey, please make sure to:</p><ul><li>Follow Mini Donkey blog:</li></ul><p><a href="https://medium.com/minidonkey101">MiniDonkey101</a></p><ul><li>Star the Mini Donkey repository on GitHub:</li></ul><p><a href="https://github.com/tianhaoz95/photochat">tianhaoz95/photochat</a></p><ul><li>Follow me on Medium, maybe ;)</li></ul><p><a href="https://medium.com/@jacksonz666">Jackson Zhou - Medium</a></p><ul><li>Subscribe to the YouTube channel for more feature updates:</li></ul><p><a href="https://www.youtube.com/channel/UCY13XGU7-3mYz2n1NzV4oGw">The SWE II</a></p><ul><li>Subscribe to my newsletter for the latest updates/content:</li></ul><p><a href="https://jacksonz.substack.com/">The latest knowledge in Tech.</a></p><p>Thanks for reading ;)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=80707a9726a" width="1" height="1" alt=""><hr><p><a href="https://medium.com/minidonkey101/new-features-in-mini-donkey-v1-0-6-80707a9726a">New Features in Mini Donkey v1.0.6</a> was originally published in <a href="https://medium.com/minidonkey101">MiniDonkey101</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Hooray! Mini Donkey is Here!]]></title>
            <link>https://medium.com/minidonkey101/hooray-mini-donkey-is-here-82161aa948c9?source=rss----c15e390f28c9---4</link>
            <guid isPermaLink="false">https://medium.com/p/82161aa948c9</guid>
            <category><![CDATA[android]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <category><![CDATA[mobile-apps]]></category>
            <category><![CDATA[privacy]]></category>
            <category><![CDATA[ios]]></category>
            <dc:creator><![CDATA[Jackson MZ]]></dc:creator>
            <pubDate>Tue, 18 Feb 2020 01:08:52 GMT</pubDate>
            <atom:updated>2020-02-18T01:08:51.950Z</atom:updated>
            <content:encoded><![CDATA[<h4>An app that helps encrypt your messages securely &amp; secretly</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*pUcGbL73E6HcLePSYQiutg.png" /><figcaption>credit: the MiniDonkey repository</figcaption></figure><p>As social media is growing to be an essential part of our daily communication, privacy issues have become concerning.</p><p>However, existing privacy-preserving messaging apps are:</p><ul><li>Vulnerable to service blocking (What if the app/server is banned?)</li><li>Alerting (Attention please! I am encrypted!)</li></ul><h4>Mini Donkey is an app that encrypts messages with camouflage</h4><p>By contrast, Mini Donkey aims to be:</p><ul><li>Service independent (completely offline and produces encrypted messages that are compatible with all platforms).</li><li>Camouflage (produces encrypted messages that appear deceptively public).</li></ul><p>With the restrictions above in mind, I designed Mini Donkey to first encrypt messages with a one-time password and then encode the message into an image as camouflage.</p><p>Here is a diagram showing how the encoding flow works:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*b4WW0hLh0JBM6Jxk4OWxYA.png" /><figcaption>credit: encoding flow diagram from the Mini Donkey repository</figcaption></figure><p>The decoding path is more straightforward, and here is a diagram illustrating how decoding message from image works:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*L57sCFRGeHKR09-QK3jjgA.png" /><figcaption>credit: decoding flow diagram from the Mini Donkey repository</figcaption></figure><h4>Let’s see it in action</h4><p>Here is how the encoding flow works in action:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zexjO2aoTQyOSBpXysYAQg.png" /><figcaption>credit: encoding flow demo from the Mini Donkey repository</figcaption></figure><p>Here is how the decoding flow works in action:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VS6fI5mX4Xhfx9tuzuBZkg.png" /><figcaption>credit: encoding flow demo from the Mini Donkey repository</figcaption></figure><h4>Thanks for reading!</h4><p>The Mini Donkey app is available on Google Play Store:</p><p><a href="https://play.google.com/store/apps/details?id=com.jacksonz.photochatapp">MiniDonkey - Apps on Google Play</a></p><p>If you like the idea of Mini Donkey, please:</p><ul><li>Follow the <a href="https://medium.com/minidonkey101">Mini Donkey publication</a> and the <a href="https://medium.com/@jacksonz666">author</a> (maybe? haha)</li><li>Give the <a href="https://github.com/tianhaoz95/photochat">Mini Donkey repository</a> a start ;)</li><li>Give Mini Donkey a review on <a href="https://play.google.com/store/apps/details?id=com.jacksonz.photochatapp">Google Play Store</a></li><li>Subscribe to <a href="https://jacksonz.substack.com/">newsletter</a> for the latest updates</li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=82161aa948c9" width="1" height="1" alt=""><hr><p><a href="https://medium.com/minidonkey101/hooray-mini-donkey-is-here-82161aa948c9">Hooray! Mini Donkey is Here!</a> was originally published in <a href="https://medium.com/minidonkey101">MiniDonkey101</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>