Skip to content
This repository was archived by the owner on Jul 25, 2024. It is now read-only.

Commit 0da26e5

Browse files
committed
Commit Zulip Android strategy plan to markdown docs.
1 parent 1add2bf commit 0da26e5

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed

android-strategy.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Zulip Android plan
2+
3+
We are merging the Zulip Android and iOS development communities, to
4+
focus on the React Native app codebase (zulip-mobile.git). We’ve
5+
found with the iOS React Native project that we’ve been able to build
6+
an app that performs well using the platform, and the benefits of
7+
being able to share a codebase (so that we only have to implement each
8+
feature and design each detail once) are huge, and outweigh the
9+
advantages of continuing to invest in the existing, more mature Java
10+
Android app.
11+
12+
So, in preparation for Google Summer of Code applications opening on
13+
March 20th, we’re planning to merge the communities now so that we can
14+
direct students interested in Android to propose projects for the
15+
React Native app. Our goal is to have the best possible Zulip Android
16+
app by the end of the summer, and we think the best way to achieve
17+
that is to combine the efforts of both the Zulip iOS/React Native
18+
developers and the Zulip Java/Android development team on a single app
19+
codebase. This will also as a side effect benefit both the iOS app
20+
and potential future apps for other React-Native supported platforms
21+
like Windows Phone.
22+
23+
Here’s how this will work practically:
24+
25+
- The Java Android app will remain in the app store until the React
26+
Native app is good enough to completely replace it. This probably
27+
means 3-6 months, depending how quickly RN development goes. We’ll
28+
continue doing releases both to fix bugs and to roll out features
29+
that are already partially implemented, but want to avoid putting a
30+
lot of work into totally new features for the Java app.
31+
- Folks who have open PRs on the Java Android app should work on
32+
finishing them so that we can close out those features. It’s still
33+
super valuable.
34+
- The goal is to get the React Native app to be better than the Java
35+
Android app as fast as possible (probably by end of August at the
36+
latest), so that we can minimize total work.
37+
- This Android strategy means it doesn’t make sense for us to have
38+
GSoC projects working on the Java Android app; those students would
39+
be able to help Zulip more working on the React Native app. So
40+
students who were planning to do GSoC with the Java Android project
41+
should write their proposals for improvements to the React Native
42+
app instead. A few important details are worth highlighting:
43+
- Zulip’s GSoC selection process is focused more on general
44+
engineering skills and approach than specific language knowledge, so
45+
good work done on the Java Android app is just as valuable for your
46+
application as work done on the React Native app.
47+
- Good engineers can learn new tools and languages, so if you’re shown
48+
your skills well on the Java project, we’re confident you’ll be able
49+
to effectively contribute to the React Native project after a bit of
50+
learning time. Students are encouraged to start learning React
51+
Native and contributing to the React Native app now to help prepare
52+
for a successful summer.
53+
- Proposals should highlight any work done on either app as well as
54+
describe a plan for the improvements they want to make to the React
55+
Native app over the summer.
56+
57+
58+
Logistical details checklist for migration:
59+
60+
* [x] Make sure all existing Java contributors understand the plan and
61+
can give feedback on it and this plan.
62+
* [x] Announce on chat.zulip.org
63+
* [ ] Update GSoC ideas page to clarify the plan
64+
* [ ] Update zulip/zulip-mobile README.md
65+
* [ ] Update zulip/zulip-android README.md
66+
* [ ] Update zulip/zulip README.md
67+
* [ ] Email zulip-devel@ and zulip-ios@ and zulip-android@ with the
68+
announcement
69+
* [ ] Announce on Twitter @zuliposs, linking to email
70+
* [ ] Use @zulipbot to update open PRs and issues for Android app with
71+
a heads-up about the plan
72+
73+
Logistical details that can be follow-up items but are important to
74+
making the transition successful:
75+
76+
* [ ] Get the Zulip RN app working on Android (main issue is
77+
implementing the scrolling extension)
78+
79+
* [ ] Attempt to clear out Java Android open PRs and open bugs to buy
80+
us 3-6 months of time without major development to the Java Android
81+
app, since it may take a while for the React Native app to achieve
82+
feature/quality parity.
83+
84+
* [ ] Audit features of Java Android app and open issues for them in
85+
the RN app project.
86+
* [ ] Audit open issues for feature ideas in the Java Android app and
87+
open corresponding ones in the RN app project.
88+
* [ ] Add a bunch of links to JS, React, and RN tutorials to the RN app docs
89+
* [ ] Create good onboarding docs for RN for developers who only have Linux (and no Mac).
90+
* [ ] Move/rename/merge, as appropriate, the Zulip mobile mailing lists
91+

0 commit comments

Comments
 (0)