Mockups, further explanations and asking for help

7 views
Skip to first unread message

Rafa D. Latorre López Villalta

unread,
May 23, 2011, 8:41:11 AM5/23/11
to Real Democracy
Hi to everyone!

I'm glad to see how this group is getting followers little by little,
so it's time to do some work.

I've made a few Mockups to help understanding how the portal should
work. Here we have the index view:

http://www.flickr.com/photos/sauco82/5750643946/sizes/l/in/photostream/

As you can see the main element on this view are Government Areas, and
succesful proposals on those areas.

As a user, with a little glance you can read both the title and the
intro and get an idea of what it's wanted to achieve.
With just this, the user is able to support (sorry forgot to draw the
support button), ignore o get deeper into the proposal, supporting
it's pros, cons or features.

Some proposals would be hard to write directly, that's why is there a
"Lastest Discussions" area, to decide wich topics should be treated.

If you get deeper on the Proposal view this is what you get:
http://www.flickr.com/photos/sauco82/5750643836/sizes/l/in/photostream/

As a user you could only suppor either the proposal or a single
problem affecting with this support to the score. At any moment you
could change your chosen option or simple choose not to support any.
(Obviously I forgot to show the buttons here too)

We can see three different states of problems: Pending, Solved and
Unsolvable

* Pending is the initial state of every problem, if an user support it
the score will be substracted from the main proposal. It's labeled as
pending because adding modifications to the proposal text could solve
the problem.

* Solved problems, are those which have modified the original text,
the way to do this would be a bit tricky but I believe it would be the
most fair: In the problems discussions the modifications would be
submitted to voting by the problem supporters, if enough (How should
we decide how many is "enough"?) people vote it positively many things
would happen:
-> The negative effect of the supports to the problem on the score
would be nullified
-> The only remaining negative effect would be the ones who voted
negatively the modification
-> People who voted positively the modification would support the new
proposal
-> People who supported the original proposal could agree or disagree
with the modifications, rejecting them and making the problem pending
again, with all it takes

* Unsolvable problems would be those which because of their nature
can't be solved by changing the proposal. In any case they could be
discussed

Finally we can see "Sub Issues" section. It would describe how to
solve/carry on the proposal itself, they would work exactly like a
proposal and could have problems, supports and nested issues

So, what do you think? Should we begin with this or do you have a
better idea?
How should we decide how many votes are enough to add amendments to
proposals?
Any suggestions?

Gonzalo Rodríguez-Baltanás Díaz

unread,
May 23, 2011, 10:31:17 AM5/23/11
to real-de...@googlegroups.com

Random thoughts on the first page:

Do not hardcode the areas. Make it just tag, a la StackOverflow. You can tag a proposal with 'ecology', 'culture', etc. So remove that area from the view and instead use a tag search box. 

Make all the web a tabbed application. With tabs: Latest discussions, Last proposals(notice that I changed the name), Hot proposals, Rejected, New Proposal.

Instead of 'More' say 'Details'. 

What is the latest discussion area?


Random thoughts on the first page:


We can see three different states of problems: Pending, Solved and
Unsolvable

* Pending is the initial state of every problem, if an user support it
the score will be substracted from the main proposal. It's labeled as
pending because adding modifications to the proposal text could solve
the problem.

So if a proposal have many problems but still it has many people supporting it it would appear with low score. The same score of proposals which have few problems but few people supporting it. 

So in essence problematic measures get penalised in score.

That get me thinking. Users want to know what is 'hot'. What is being very actively discussed. We cannot base that on score. As you see, the score measures how good a proposal is at the moment, but not how popular a discussion is. Maybe we could measure it using the number of votes, problems, solutions and users participating and scale it with the time.

So we would have two magnitudes: Score and Activity. The Score shows how people value a proposal. The Activity shows how much interesting a proposals is.


* Solved problems, are those which have modified the original text,
the way to do this would be a bit tricky but I believe it would be the
most fair:  In the problems discussions the modifications would be
submitted to voting by the problem supporters, if enough (How should
we decide how many is "enough"?) people vote it positively many things
would happen:
-> The negative effect of the supports to the problem on the score
would be nullified
-> The only remaining negative effect would be the ones who voted
negatively the modification
-> People who voted positively the modification would support the new
proposal
-> People who supported the original proposal could agree or disagree
with the modifications, rejecting them and making the problem pending
again, with all it takes

Let me ask this: Is a proposal an anonymous document or is it owned by an user?

I think we could do this: 

1. A user sends a new proposals. A proposal is a text. 

2. Other users – the creator too – can then create problems. Problems are texts that be given solutions, commented and voted up and down. If a user votes up it means he feels that the problem is indeed a problem. If he votes it down it means he doesn't regard it as a problem. So the score of a problem measures how big a problem is according to people thoughts. 

3. The problems can be given solutions. The solutions can be commented, vote up and voted down. Comments are used to discuss a solution. A vote up means the user think the solution is good. A vote down means that the solution is not good.


So that would be the structure of the discussion.  People post new proposals. People read the proposal and highlight problems. People read the problems and give solutions. No all problems would be really problems and not all solution would be real good solution. The vote system is used to discriminate good from bad.

Now we have to think the system for accepting a solution. What does it means to accept a solution? I personally accept a solution when I am given enough reasons to believe that the solution is going indeed to solve the problem. But in Real Democracy there is no and 'I' there is 'we'. So how do we decide that a solution is good?

In the actual democracy he who has more than 50% of votes is right. Now, that sucks. Because 50% of the votes means there is 50% of people who disagree. So we can have an arbitrary number. Say 70% agree. If 70% of the people agree that a solution is right, then is right. Seems a good deal. 

Truth is not that simple. 7 of 10 is not the same as 70 of 700. The foremost is just too few people to make a valid decision. So we can set an arbitrary number of votes and ponder with the total of people participating in the Discussion – notice I say Discussion, not Problem.  

So let say there is a discussion about wether it should be allowed for europeans to travel freely in europe. The proposal text describes the advantages of that and how it could be implemented. It receives 500 votes up, so 500 people are interested in that discussion. We can say that the population on that discussion is 500.

Then people creates problems. 2 problems: 'Terrorist will be difficult to spot' and 'Inmigrants increment criminality'. The foremost receives 400 votes up. The later receives 100 votes up. So the first problem is deem to be more problematic than the second one. For simplicity, I haven't considered votes down.

The first problem 'Terrorist will be difficult to spot' is given 2 solutions. The solution are A and B. A receives  350 votes up and B receives 50 votes up. Again, for simplicity I am not considering votes down. The solution A is good in the mind of the majority and so is B. But A is more good than B. 

In that situation 87% – 350 of 400 – of the people who participated on the problem is in favour of solution A. That represents 70% – 350 of 500 – of the people participating on the Discussion, as a whole.

Let us think. Should a solution be seem as a solution when the people participating in that problem consider it a good solution or do we need to consider the whole population participating on the Discussion?

The second problem gives us the answer. The second problem is not regarded as a severe problem – it has 100 votes up of 500. But let there is just one solution there and everybody participating in that problem agreed. It has 100 votes. Full support.

Should we redeem the problem as solved and apply that solution, even if there is just 100 of 500 people interested in that problem.

Let say yes. Why? because people has the right to participate in that discussion. If they don't do it, it means they don't care. If we clearly state that, then people will be  fast to participate in all the problems of a discussion. That is good. In theory..

What happen if a problem is just simply stupid? Stupid problem and stupid solution. Just a troll. What would happen? The problem will have low score and the solution will have low score or negative one.


So the problems have all been discussed. Solution has been given and people has voted. What happen next?

What happen is that solutions should be accepted and integrated to the discussion's text. There is no question about the people agreeing to that solution. But the question is, when can be say that the discussion has really ended?

Theoretically the discussion ends when all the people in the world has voted. But it will be naive to think that all the people in the world is going to vote to all discussions, to all problems.

So when? 

Rafa D. Latorre López Villalta

unread,
May 23, 2011, 11:15:17 AM5/23/11
to Real Democracy
Wow, that's the kind of reply I like, sadly I don't have enough time
to answer it today, but don't worry I'll take my time and answer point
by point

On 23 mayo, 16:31, Gonzalo Rodríguez-Baltanás Díaz <siot...@gmail.com>
wrote:

Rafa D. Latorre López Villalta

unread,
May 23, 2011, 6:38:38 PM5/23/11
to Real Democracy
> Do not hardcode the areas. Make it just tag, a la StackOverflow. You can tag a proposal with 'ecology', 'culture', etc. So remove that area from the view and instead use a tag search box.
> Make all the web a tabbed application. With tabs: Latest discussions, Last proposals(notice that I changed the name), Hot proposals, Rejected, New Proposal.

The areas are not meant to be hardcoded but to be set by the Site
Admin and to make them the same as the areas of the goverment to be
participated (councils in townhalls or ministeries on national
goverment)

On the other hand the main goal of the plattform wether to create a
collective or participate on a existent one. The occasional visitor
would only like to take a look to the general measures in the areas of
his interest. (And remember the rule of the 80/20 our main public
would be occasional visitors)

Tagging would be great, but I wouldn't make it the main navigation
mode, since many proposals could be incorrectly tagged, people would
use sinonyms and have incomplete results, and there is a lot of people
that doesn't know how to use tags.

Making all tthe web tabbed application again hits on the same point,
it would make things easier to very active users and confusing to
occasionals

> Instead of 'More' say 'Details'.

Yep, you're right


> What is the latest discussion area?
I'm not really sure, I think that there would be something like a
forum to discuss necesary proposals before posting them or where to
analyse issues that should be adressed with proposals. For example:
"How to deal with poverty" could be a possible discussion that would
lead to a few proposals.


> So if a proposal have many problems but still it has many people supporting it it would appear with low score. The same score of proposals which have few problems but few people supporting it.

Well, not exactly. People only can choose wheter to support the
proposal or one problem (and if it get solved they can easily chose
other), So both proposals with many problems and a few would be
equally penalized.

Nevertheless, you are very right about including most active
discussions.


> Let me ask this: Is a proposal an anonymous document or is it owned by an user?

I think that everything should be annonymous so it would prevent ego
fights. In the discussions every participant would have an unique id
for that discussion.

> I think we could do this:
>
> 1. A user sends a ne....

That's why I have proposed such a weird system in wich said the user
should support only the proposal or one problem and change his vote
whenever he wants, that would clearly separate what people consider
bigger problems of minor issues.

To me, as I said the main problem is to decide wich percentage of
support should be enough to consider a problem solved ¿50%?
Like I have said, people who disagree the proposed solution would
still negativize the score, the only problem would be the remaining
people who wouldn't be agree but passed on participating wich would
have their vote nullified (not positive nor negative)

If this is too weird maybe I might do some mock-ups to explain it
better


Rafa D. Latorre López Villalta

unread,
May 26, 2011, 7:23:55 AM5/26/11
to Real Democracy
Sorry I'm late a presentation explaining and justifiying the proposal/
problem system:

https://docs.google.com/present/edit?id=0AS3xv4x1LDLwZGR3OWZwNWtfMjhncTk1Nm1mdA&hl=en_US


On 24 mayo, 00:38, Rafa D. Latorre López Villalta <sauc...@gmail.com>
wrote:

Rafa D. Latorre López Villalta

unread,
May 26, 2011, 7:32:08 AM5/26/11
to Real Democracy
And here another presentation explaining how the general system works

https://docs.google.com/present/view?id=ddw9fp5k_40d4hzvrf2&revision=_latest&start=0&theme=blank&cwj=true

Seems I posted the wrong link on the previous mail, this is the one,
sorry:

https://docs.google.com/present/view?id=ddw9fp5k_28gq956mft&revision=_latest&start=0&theme=blank&cwj=true

I hope, they will make you better understanding the project.

I would like to begin as soon as possible, so of there aren't any
complaints I'll begin coding and creating tasks on pivotal this week.
Let me know your toughts!

Gonzalo Rodríguez-Baltanás Díaz

unread,
May 26, 2011, 9:48:26 AM5/26/11
to real-de...@googlegroups.com

Some issues I see:

1. How is exactly a problem marked as solved? What are the exact conditions that should be meet for that to happen?

2. I read that the condition to include a solution to a problem within the proposal is just that it has more positive votes than no. That means that a solution with 1 positive vote and 0 negative vote will be accepted?

Rafa D. Latorre López Villalta

unread,
May 26, 2011, 10:31:08 AM5/26/11
to Real Democracy
Sorry if I didn't explained myself. On slide 12 I say "Acceptance of
the solution is decided by the votes of the problem supporters (at
least a part of them, since full participation is almost impossible)"

I mean that to make a pending problem there must be granted 2
conditions:
1. Yes must be greater than No (pretty obvious)
2. At least a certain percentage of supporters vote "Yes".

For example and supposing a 40% percentage and a problem with 100
supporters, the problem would only be solved if it managed to get 40
or more YES voters. With 51 voters on YES the question would be
automatically solved.
All this without forgetting that NO voters would still have a negative
effect on the score.

What I'm still not sure is how large should that percentage be. We
could obviously send messages to users saying "Hey, the problem you
supported its about to be solved, give your opinion" but still tough
not everyone would like to keep participating.
Maybe multi testing with different percentages on beta launching could
be the solution.

> 2. I read that the condition to include a solution to a problem within the proposal is just that it has more positive votes than no. That means that a solution with 1 positive vote and 0 negative vote will be accepted

Yes it would be acepted (supposing a problem with only 1 supporter),
but original supporters would be able to sink it again almost
instantly changing its state to pending again.

On 26 mayo, 15:48, Gonzalo Rodríguez-Baltanás Díaz <siot...@gmail.com>
wrote:
> Some issues I see:
>
> 1. How is exactly a problem marked as solved? What are the exact conditions that should be meet for that to happen?
>
> 2. I read that the condition to include a solution to a problem within the proposal is just that it has more positive votes than no. That means that a solution with 1 positive vote and 0 negative vote will be accepted?
>
> El 26/05/2011, a las 13:32, Rafa D. Latorre López Villalta escribió:
>
>
>
>
>
>
>
> > And here another presentation explaining how the general system works
>
> >https://docs.google.com/present/view?id=ddw9fp5k_40d4hzvrf2&revision=...
>
> > Seems I posted the wrong link on the previous mail, this is the one,
> > sorry:
>
> >https://docs.google.com/present/view?id=ddw9fp5k_28gq956mft&revision=...

Gonzalo Rodríguez-Baltanás Díaz

unread,
May 26, 2011, 11:01:24 AM5/26/11
to real-de...@googlegroups.com

The population that the percentage is measuring is just the people who has voted the Problem, right

rafael latorre lopez villalta

unread,
May 26, 2011, 11:10:02 AM5/26/11
to real-de...@googlegroups.com

The population that the percentage is measuring is just the people who has voted the Problem, right



I'm not sure if that was a question. 

The percentage is measured over the people who voted the problem. 
Lets say a proposal has 1200 supports and the problem has 110. The percentage would be applied over 110

Gonzalo Rodríguez-Baltanás Díaz

unread,
May 26, 2011, 11:20:10 AM5/26/11
to real-de...@googlegroups.com

Yes, it was a question, i missed the '?' :)

Ok, I see the idea clearly. I think we should start to develop a prototype. What do you think?

rafael latorre lopez villalta

unread,
May 26, 2011, 11:56:28 AM5/26/11
to real-de...@googlegroups.com
I agree.
I believe that until this weekend won't have enough time, but it's time to get started.

Gonzalo Rodríguez-Baltanás Díaz

unread,
May 26, 2011, 1:00:41 PM5/26/11
to real-de...@googlegroups.com

Maybe we can do online pair programming is this early stage. Are you free this weekend then?

rafael latorre lopez villalta

unread,
May 26, 2011, 1:26:00 PM5/26/11
to real-de...@googlegroups.com
We can do something on Sunday, but, online pair programming? How?
Chatting or is there any reasonable cloud enviroment I missed?

Gonzalo Rodríguez-Baltanás Díaz

unread,
May 26, 2011, 7:56:48 PM5/26/11
to real-de...@googlegroups.com

I took a look for pair programming options, but I didn't find something that could for us – ruby on rails. Cloud9ide seems pretty cool though :)

So then we chat by Irc, Skype or something else. 

Canx

unread,
May 27, 2011, 1:20:54 PM5/27/11
to Real Democracy
I think that the parameters to accept o deny an ammend/solution/
proposal could be dynamic and dependent of the decision group a user
pertains. It's difficult to select the best parameters so it's better
to delegate on the users.
A user could freely create or join to a decision group. A decision
group could have different acceptance parameters, and when a user
joins must accept those parameters.

rafael latorre lopez villalta

unread,
May 27, 2011, 1:31:39 PM5/27/11
to real-de...@googlegroups.com
Interesting solution, but wouldn't users with too much predjuice to a proposal impose almost impossible parameters? Shouldn't we at least put an upper and lower limit such as 60% and 10%?

2011/5/27 Canx <canc...@gmail.com>

Canx

unread,
May 29, 2011, 5:14:05 PM5/29/11
to Real Democracy
Hi Rafa,

Group acceptation parameters would be fixed at group creation, and
when you enter a group you must read and accept them.

By the way, I'm a beginner RoR developer and I don't know if I will be
able to help too much, but I'm eager to learn!
Which tool are you using to do the mockups? Maybe I could try doing
other screens... Could you upload mockups at github?
Are you going to do TDD, BDD? Which tools?

I hope you recover soon!
Ruben.

On 27 mayo, 19:31, rafael latorre lopez villalta <sauc...@gmail.com>
wrote:
> Interesting solution, but wouldn't users with too much predjuice to a
> proposal impose almost impossible parameters? Shouldn't we at least put an
> upper and lower limit such as 60% and 10%?
>
> 2011/5/27 Canx <canch...@gmail.com>

rafael latorre lopez villalta

unread,
May 30, 2011, 1:49:04 AM5/30/11
to real-de...@googlegroups.com
I'm doing the mockups with Inkscape, altough not beign a mockup tool is very confortable to use a have a good load of useful features in web development (p.e. I really love right click to copy color and then pasting in a text editor in HEX automatically)

I'll upload a few things includings mockups on Thursday, sadly I'm not able to use Git on the mornings and have this afternoon busy.

BDD seems right to me, but I don't know what tools, if any, should we be using. Also, many test should be done with Rails own tools.

There are still a few non development tasks to do, for example we should show what the app does and how to non-techies to make them able participate and improve it in further steps. I suppose that presentations could achieve that, altough seeing the doubts arised by mine, they should be conciser and clearer.

Thanks for your considerations! I'm almost recovered now and ready to work!

2011/5/29 Canx <canc...@gmail.com>

Canx

unread,
May 30, 2011, 2:28:52 AM5/30/11
to Real Democracy
I got flashed with your answer :). I've been searching for other
people using Inkscape to do mockups and I even found a tutorial!

http://fedoraproject.org/w/uploads/5/5f/FUDCon-Toronto_2009-Presentations-DesigningUIMockupsinInkscape.pdf

I agree that first we must understand what we want and what we
reasonably can do. It's interesting define which public we are aiming
for. For example, could Real Democracy be used to organize 15M
assemblies? That requirement was made this weekend in Agora dev group:

http://groups.google.com/group/pdi-aplicacion2/browse_thread/thread/3ae8050f2e60098a


On 30 mayo, 07:49, rafael latorre lopez villalta <sauc...@gmail.com>
wrote:
> I'm doing the mockups with Inkscape, altough not beign a mockup tool is very
> confortable to use a have a good load of useful features in web development
> (p.e. I really love right click to copy color and then pasting in a text
> editor in HEX automatically)
>
> I'll upload a few things includings mockups on Thursday, sadly I'm not able
> to use Git on the mornings and have this afternoon busy.
>
> BDD seems right to me, but I don't know what tools, if any, should we be
> using. Also, many test should be done with Rails own tools.
>
> There are still a few non development tasks to do, for example we should
> show what the app does and how to non-techies to make them able participate
> and improve it in further steps. I suppose that presentations could achieve
> that, altough seeing the doubts arised by mine, they should be conciser and
> clearer.
>
> Thanks for your considerations! I'm almost recovered now and ready to work!
>
> 2011/5/29 Canx <canch...@gmail.com>

rafael latorre lopez villalta

unread,
May 30, 2011, 3:29:39 AM5/30/11
to real-de...@googlegroups.com
Yes, in fact the app was tought as a tool to deal with weak points of assemblies but to use its strong points.

One example of use could be this:
* The main points of the assembly manifest are set as the areas, you know, instead of its usual areas such as economics, culture, etc we would have cease of corruption, open lists, direct democracy, etc.
* In each area we would have proposals to deal with the area, proposals that could be supported, declined by problems and improved as we saw before and could be participated without too much problem by thousands of users.
* Proposals could open their way out to tangible actions to be carried out.

PD: Simple but cool tutorial, I didn't knew about 1 & 5  shortcuts but always missed them. I would add Ctrl+Scroll for zooming tough.

2011/5/30 Canx <canc...@gmail.com>

Gonzalo Rodríguez-Baltanás Díaz

unread,
May 30, 2011, 10:19:36 AM5/30/11
to real-de...@googlegroups.com

Hi,

BDD is best done in Rails with:   RSpec, Steak, Capybara and Spork. A good book about BDD is The RSpec book by the Pragmatic programmers.

The other tools we can use are:

* Mongoid: ORM for the MongoDB database.
* Rails 3.1 RC
* JQuery
* CoffeScript
* HAML
* SASS


The code at https://github.com/DemocraciaReal/propotype is configured to use all these tools already. 

Please upload the mockups here https://github.com/DemocraciaReal/mockups

I think that instead of presentations, we should just build the prototype. That is the best presentation we can do :) Once we have the prototype up and running we should be pretty confident of the scope, objectives and future plans of the project. At that point I can do an awesome presentation with Keynote. I am sort of a Keynote wizard :)

I have created a IRC char room. At freenode #realdemocracy

rafael latorre lopez villalta

unread,
May 30, 2011, 3:23:04 PM5/30/11
to real-de...@googlegroups.com
Wow, great bunch of technologies. I hope not to get lost :D

I heard that Jquery, HAML and SASS integrated on rails 3.1, am I right? 

Do using Mongoid/MongoDB implies any changes in doing things in "rails way"? You know, different migrations or something like that.

Yeah I believe we should proceed with the prototype too. With presentations I was talking about something able to make it viral or to easily understand what it's wanted to achieve. PD: Keynote = Awesomeness (Ubuntu envious user)

Gonzalo Rodríguez-Baltanás Díaz

unread,
May 30, 2011, 6:30:58 PM5/30/11
to real-de...@googlegroups.com

I am glad you like the mixture :)

Well, there are a couple of differences. MongoDB is a non relational database so we get a lot of agility. For example, there are no migrations. You just set the attributes that the models have and that's it, the next model saved will be saved with the new attributes. There is no complaining for having documents – models saved in the database – with different attributes.

Nonetheless, it support active record so it is pretty much the same DSL. 

Yes, JQuery and SASS are the new default in Rails 3.1 But HAML it is not.  I find that it makes very clean views so I added it to the mix :)
Reply all
Reply to author
Forward
0 new messages