[Ankidroid] Account's centralization

5 views
Skip to first unread message

Edu Zamora

unread,
May 10, 2010, 9:25:52 AM5/10/10
to AnkiDroid
Dear all,

Like I said in other thread (http://groups.google.com/group/anki-
android/browse_thread/thread/55a1de39bc4c3be5) one of the most
important things right now is to improve the organization of the group
and the information available for users and developers.

One of the most pressing points of that list it is the centralization
of the accounts of the project, because if we wait it is going to be
more difficult to carry on with it in the future.

Let me explain the situation: Right now, we have some accounts (Google
Developer Account and Crowdin Account, for now) that are used for the
project but are linked to individual accounts. That is far from ideal,
for many reasons, so I propose:
1) Create a gmail account for the AnkiDroid group (something like
ankidr...@gmail.com, but we can vote for the name)
2) Create an Android Developer Account linked to this gmail account,
with name AnkiDroid Team, and release the new versions of the app
under this account
3) Create a Crowdin user with this account too and make it the owner
of the project
4) Give access to the gmail account, Android Developer Account and
Crowdin account to the people that needs it

And here you have a list of the advantages and disadvantages I thought
of:
Cons:
- We already have a lot of downloads and comments and we are going to
lose them
Yes, probably they are going to be deleted. But, specially for this
reason, the sooner we do the transition the better it would be,
because if we let this change for the future it is going to be even
more difficult. Anyway, we don't have to worry so much about this
because AnkiDroid users will find and download the app anyway. So, it
is a matter of time we reach again and surpass the quota of users we
have. And furthermore, we can take advantage of the fact that the
comments of users are quite sure going to be reseted to start from
scratch, with a more polished version. Having these so much improved
version has two main advantages: it will easily attract the users to
make the change and download the new app and, in other hand, will get
better comments and ratings, so our overall rating will be better and
this will in turn get more downloads/users.

- How users will know that we changed the app?
A lot of our users keep track of the forum so we could announce it
there and even on the comments of the app. Also, we could upload the
new app with the same package name and doing that I am quite sure all
users would receive an upload notification from Android Market. In
every case, the same users are going to spread the word and if the
others see that no uploads are happening for a long time, they will
eventually look for "anki" on Android Market and find the new app.

- Is sharing the key secure enough?
I did not investigate but there is people around the world sharing
keys, so some way to do it in a safe way has to exist. But well, this
does not worry me so much, if we don't know how to do it in a secure
way we don't have to share it for now.

Pros:
- Flexibility and efficiency
In an Open Source project is usual to change and rotate roles and
responsibilities. Having the accounts associated to a group account
(with a different password for every service) gives us the ability to
change roles and delegate tasks easily, giving people access to the
needed services. In that way, it is also more efficient to do (and
less annoying for the people involved) because they can do the changes
for themselves right in the moment, without having to wait for the
permission and time of a third person. In the future this could be
very useful in case of changing roles inside the community, people
leaving the project, the project growing so big that we can't handle
all the work, periods with scarce time and pressing responsibilities,
accidents...
That is not possible right now, because the people it is not going to
share his individual account (with his password included).

- Faster development and improvements
Derived from above. If the right people (and only the right people)
have access to the services they need in order to get things done it
is clear that everything it is going to be faster. And reducing the
steps to accomplish something, will annoy less people, making it more
likely that they will participate more.

- Better image and perception for developers
From "Producing Open Source Software":
"If the unpaid volunteers get the feeling that design decisions or
feature additions are simply available to the highest bidder, they'll
head off to a project that seems more like a meritocracy and less like
unpaid labor for someone else's benefit."
Unpaid labor for someone else's benefit: This is totally the opposite
we want developers to perceive. We want them to know and feel that
they are a central and really important element on the community
(because they really are, without developers there is no app and no
community). And these little details, like releasing the app under
your name or under a group name representing the entire community,
means a lot. It can be perceived like the difference between saying
"This is my app" and "This is our app". The second is the message we
should transmit and that will attract more developers.

- Better image and perception for users
Also, there is a different perception for the user part between
releasing under an individual name or a group name. People perceives
that the latter is better, because a whole group could do more work,
release new versions and solve the bugs faster than an individual
alone and the discussion inside the group it is going to discard bad
ideas and keep good ones. Furthermore, seeing the accounts of the
community spread over and without any organization does not give a
good image of the project.

I already talked to the people involved, but we would like to know
your opinion on that.

So, we'll be waiting for your opinions!

Cheers,

Edu Zamora

--
You received this message because you are subscribed to the Google Groups "AnkiDroid" group.
To post to this group, send an email to anki-a...@googlegroups.com.
To unsubscribe from this group, send email to anki-android...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/anki-android?hl=en-GB.

Nicolas Raoul

unread,
May 10, 2010, 10:17:06 PM5/10/10
to anki-a...@googlegroups.com
I don't know exactly what to think, so I am waiting for everybody's
opinions and ideas.

Personally, I tend to be a bit wary of centralization.
AnkiDroid's development process is currently performing well, even though:
- Jan is our forum's first admin
- Casey is the root of our Git repositories
- Damien owns our wiki
- I send APKs to the Google market
- Various other people send APKs on various other markets
- Valerie Wang seems willing to send APKs to Chinese markets
- Diogo administrates our translations.

A lot of people administrate a lot of different aspects of the
project, and nobody is really indispensable.
Even if someone dies, not a big problem for AnkiDroid.
For my part: Damien Elmes (Anki's creator) has my keys anyway, with
instructions to give them to Edu and Daniel if I disappear or if I go
against the community consensus.
So I am not worried about the current situation.

That being said, I totally agree that we must always be looking for
ways to enhance things.

Maybe the ideal would be to find a foundation similar to Apache or
Kuali Foundation, that we can trust 100% and that would accept to
administrate AnkiDroid.

Cheers!
Nicolas

Edu Zamora

unread,
May 12, 2010, 4:03:30 AM5/12/10
to AnkiDroid
Nicolas, the examples you gave together with the ones of the accounts
are not the same case: that Jan is our first forum admin, Casey the
root of our Git repositories and Damien the owner of the wiki, does
not prevent anyone to perform any task in any way. Everybody can (and
is encouraged to) participate in the forum, create threads and posts,
fork the project from GitHub and update and edit the wiki.

They don't depend on only one person. They depend on the whole
community. And like the project belongs to the whole community, not to
only on person, I think the accounts related to the project should
belong to it too.

If that is not the case, some tasks cannot be performed by the people
that needs to. For example, if you add some new strings you cannot
accept it like valid ones on Crowdin, you have to wait until the only
owner has some time to do it. Not efficient, even more when the person
that knows better if the translation is correct is likely the one that
proposed the translation (it's difficult the owner knows so many
languages :P). Another example: when I entered the project we decided
I would be the Release Manager and funny thing, I can't do the
releases by myself because I can't access the account. This is an
example of how inflexible the current model is against changing roles.

The only concern I detect in your mail is around the word
"centralization". Maybe it was a bad choice for my part: instead of
"centralization" it would be better to say to have a "unique account"
representing all the community working on AnkiDroid in order to
"share" it with the right people, when they really need it.

Do you have any more concerns or reasons that maybe we did not
consider?

> Maybe the ideal would be to find a foundation similar to Apache or
> Kuali Foundation, that we can trust 100% and that would accept to
> administrate AnkiDroid.

How that would work? Maybe it is a good idea.

Cheers!

Diogo V. kersting

unread,
May 13, 2010, 1:53:44 PM5/13/10
to anki-a...@googlegroups.com
Well, for crowdin account no much harm can be done, so a shared account would be OK for me... We just have to remember to make backups frequently.

But for the code and release part, I think only a few people should have access for security reasons. What can I say? I trust Edu, Nicholas, Damien... but I don't know the rest.
If someone wants something in the main project it will have to be review by someone of trust.
Less people with power to "screw up" on our main project, less likely is to be a new "screw up".

Hey, this is all free. In the worst situation all we(the community) gotta do is fork.
Well, I guess I'm OK with the way thinks are now.

Johannes Jarbratt

unread,
Jun 13, 2010, 7:59:50 AM6/13/10
to AnkiDroid
I think this would be up to you who develop the android client. Have a
vote to decide how to do this more quickly.

On 10 Maj, 15:25, Edu Zamora <edu.z...@gmail.com> wrote:
> Dear all,
>
> Like I said in other thread (http://groups.google.com/group/anki-
> android/browse_thread/thread/55a1de39bc4c3be5) one of the most
> important things right now is to improve the organization of the group
> and the information available for users and developers.
>
> One of the most pressing points of that list it is the centralization
> of the accounts of the project, because if we wait it is going to be
> more difficult to carry on with it in the future.
>
> Let me explain the situation: Right now, we have some accounts (Google
> Developer Account and Crowdin Account, for now) that are used for the
> project but are linked to individual accounts. That is far from ideal,
> for many reasons, so I propose:
> 1) Create a gmail account for the AnkiDroid group (something like
> ankidroidt...@gmail.com, but we can vote for the name)
Reply all
Reply to author
Forward
0 new messages