README.md 3.82 KB
Newer Older
Wilko Manger's avatar
Wilko Manger committed
1 2
# Pattle

Wilko Manger's avatar
Wilko Manger committed
3 4 5 6
  :warning: [**Pattle is now being developed on Flutter!**](https://git.pattle.im/pattle/app) :warning:
  
  **This repository does not receive updates anymore!**

Wilko Manger's avatar
Wilko Manger committed
7 8 9
  ![First preview](/images/screenshots-1.png)
  ![Second preview](/images/screenshots-2.png)

Wilko Manger's avatar
Wilko Manger committed
10
  Pattle is an easy to use Android app for Matrix, with
Wilko Manger's avatar
Wilko Manger committed
11 12
  design inspired by other popular IM apps.

Wilko Manger's avatar
Wilko Manger committed
13 14 15 16 17
  The goal of Pattle is to create an app that behaves similiary
  (and almost exactly) like many modern popular chat apps of today,
  like WhatsApp, Telegram and Signal. This is not the only goal,
  however: the primary goal of Pattle is to be a Matrix app that
  everyone can use, in terms of simplicity.
Wilko Manger's avatar
Wilko Manger committed
18

Wilko Manger's avatar
Wilko Manger committed
19 20
  For more details, see the
  [design philosophy](https://docs.pattle.im/design/philosophy/).
Wilko Manger's avatar
Wilko Manger committed
21

Wilko Manger's avatar
Wilko Manger committed
22 23 24 25
## Get Pattle
   
   Pattle will be available on F-Droid and Google Play when
   the first stable version has been released.
Wilko Manger's avatar
Wilko Manger committed
26

27 28 29 30 31
   In the meantime, you can download fresh, *unstable* APKs
   [here](https://git.pattle.im/pattle/android/pipelines). To
   the right of every pipeline there is a download button, giving
   you a zip file with the APK.

Wilko Manger's avatar
Wilko Manger committed
32 33 34
   Pattle supports all Android version from 4.1 and up. Please note
   that there are currently some problems with the older versions of
   Android, but these will be fixed.
Wilko Manger's avatar
Wilko Manger committed
35

Wilko Manger's avatar
Wilko Manger committed
36 37 38 39 40 41 42 43
## Design

   All design decisions are documented on
   [docs.pattle.im](https://docs.pattle.im),
   [Design](https://docs.pattle.im/design/philosophy/).

## Contributing
   
Wilko Manger's avatar
Wilko Manger committed
44
   Contributions are encouraged! See [CONTRIBUTING](CONTRIBUTING.md) for
Wilko Manger's avatar
Wilko Manger committed
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
   details on how to contribute! 

### Building

  Building can be done in either Android Studio or the
  command line.

  For debug mode:
  `./gradlew assembleDebug`,

  and for release mode:
  `./gradlew assembleRelease`.

  If you want to update
  [Trace](https://git.pattle.im/pattle/library/android/trace), run
  `./update_trace.sh`, which will clone the most
  recent version of Trace and build it.
Wilko Manger's avatar
Wilko Manger committed
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88

### Future

  Currently Pattle is a native Android app made purely in Kotlin
  and using the official [Matrix Android SDK](https://github.com/matrix-org/matrix-android-sdk).

  This might change in the future. I'm not very satisified with how the current
  Android SDK is designed and documented (barely at all). I have been working on
  [my own SDK in the past](https://git.pattle.im/pattle/library/trace), but because
  the Matrix spec is still incomplete, this deemed to be a hard task.

  When Matrix 1.0 lands, the plan is to create a new, better SDK[^1] for a tech stack where
  code sharing across multiple platforms is possible, such as React Native. Which brings me
  to the second reason for this, which is that Pattle aims to be supported on Android, iOS, web
  and possibly desktop. To prevent having 3 seperate codebases, something like React Native will
  be used, or something else in the same vein.

  Pattle will then be rewritten[^2] using the chosen tech stack. However, I still wanted to create
  Pattle and see what it would turn out to be, and the fact is that although the Matrix SDK does
  not have the best design, it does work. That's why development does not wait for 1.0. Don't be
  afraid to contribute because of this!

  [^1]: Note that I am aware of the RiotX SDK, which I do have interest in. I still leave the option open
  for using that SDK. However, because multiplatform is also a goal, it's unlikely that SDK will be used.
  Not because the RiotX SDK is not multiplatform, but because Pattle code sharing aims to be more than
  just the SDK, but also UI components, etc.

Wilko Manger's avatar
Wilko Manger committed
89
  [^2]: The current app will be supported until the new multiplatform app is stable. The current app serves
Wilko Manger's avatar
Wilko Manger committed
90
  as a reference implementation for future Pattle apps, and still aims to be used by normal users in daily use.
Wilko Manger's avatar
Wilko Manger committed
91
  When Pattle '2.0' will be released, the upgrade process from 1.0 will be seamless.
Wilko Manger's avatar
Wilko Manger committed
92
  That's why development still continues as normal!