Re: [Tutor] design question (Django?)

2013-04-20 Thread pa yo
It doesn't do everything you want but you might try using the Create Map
function on Google maps.

You can draw lines and mark points in different colours. You cannot count
households - though i am not sure how you plan to do that with python;
where will the nHouseholds data come from?



On Sat, Apr 20, 2013 at 11:00 AM, Albert-Jan Roskam fo...@yahoo.com wrote:



 On Sun, 14 Apr 2013, Don Jennings wrote:
 
 
 
 
 On Apr 14, 2013, at 7:06 AM, Albert-Jan Roskam wrote:
 
 
 
 
  Subject: Re: [Tutor] design question (Django?)
 
 
 On 13/04/13 09:48, Albert-Jan Roskam wrote:
 
 
 I think I have to make a diagram of this. This stuff is quite hard
 
 
 Would it also be a good idea to simultaneously make a paper-and-pencil
 drawing of the UI?
 
 
 Absolutely! Test it with three users. See Jakob Nielsen's brief take on
 the matter:
 
 
 
 
 You might check out Pencil, which I quite like.
 
 
 http://pencil.evolus.vn/
 
 Hi Wayne, Walter,
 
 Thank you! I checked out both Pencil and Balsamiq. Based on the websites,
 Pencil seems to work better for me. It can export to html, among others so
 I could use it as a basis for my Django template. Not sure if Balsamiq can
 do this (I watched the video demo). The following doesn't apply to my case
 (as it is just a hobby project), but is there a potential risk that a mock
 up creates the illusion for clients that the entire job (not just a
 nonfunctional UI) is almost done?
 
 Regards,
 Albert-Jan
 
 ps: sorry about the formatting. Yahoo's rich text formatting won't turn
 of anymore
 
 ___
 Tutor maillist  -  Tutor@python.org
 To unsubscribe or change subscription options:
 http://mail.python.org/mailman/listinfo/tutor

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] design question (Django?)

2013-04-18 Thread Wayne Werner

On Sun, 14 Apr 2013, Don Jennings wrote:



On Apr 14, 2013, at 7:06 AM, Albert-Jan Roskam wrote:




 Subject: Re: [Tutor] design question (Django?)


On 13/04/13 09:48, Albert-Jan Roskam wrote:


I think I have to make a diagram of this. This stuff is quite hard



Would it also be a good idea to simultaneously make a paper-and-pencil drawing 
of the UI?


Absolutely! Test it with three users. See Jakob Nielsen's brief take on the 
matter:



A recommendation - check out Balsamiq Mockups for UI design. If you plan 
to make this project open source they'll provide you a free license (with 
a bit of documentation, e.g. link to project on Bitbucket/Github/etc with 
a OSI approved license).


They also have a free web demo that's pretty powerful and just nags every 
5 (or 15?) minutes. http://www.balsamiq.com/


I've not found a better tool for doing quick and rough UI mockps!

HTH,
Wayne
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] design question (Django?)

2013-04-18 Thread Walter Prins
Hi,


On Sun, 14 Apr 2013, Don Jennings wrote:


 On Apr 14, 2013, at 7:06 AM, Albert-Jan Roskam wrote:



  Subject: Re: [Tutor] design question (Django?)


 On 13/04/13 09:48, Albert-Jan Roskam wrote:

  I think I have to make a diagram of this. This stuff is quite hard


  Would it also be a good idea to simultaneously make a paper-and-pencil
 drawing of the UI?


 Absolutely! Test it with three users. See Jakob Nielsen's brief take on
 the matter:


You might check out Pencil, which I quite like.

http://pencil.evolus.vn/

Walter
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] design question (Django?)

2013-04-14 Thread Albert-Jan Roskam


  Subject: Re: [Tutor] design question (Django?)
 
 On 13/04/13 09:48, Albert-Jan Roskam wrote:
 
  I think I have to make a diagram of this. This stuff is quite hard
 
 You could use a simple UML class diagram (class - table). See the OOP topic 
 in my V3 tutorial for simple examples.
 
 Or you could use a proper entity relationship diagram(ERD) - see wikipedia 
 for 
 details and examples (there are various notational variations)
 
 They all show the same concepts. UML will be best if you plan
 on using OOP in the python code. ERD is better for vanilla database design.

Hi Alan, I am reading it now. Thanks for the suggestion. I have to read more 
about Django to decide whether this is the way to do it. First impression: yes. 
The database abstraction API also implies that I should use OOP. Step #1: 
defining the model ;-) https://docs.djangoproject.com/en/dev/topics/db/models/
Would it also be a good idea to simultaneously make a paper-and-pencil drawing 
of the UI? It seems like a good way to figure out what I really want. For me, 
the hardest part of software construction is the design stage.

Regards,
Albert-Jan
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] design question (Django?)

2013-04-14 Thread Don Jennings

On Apr 14, 2013, at 7:06 AM, Albert-Jan Roskam wrote:

 
 
   Subject: Re: [Tutor] design question (Django?)
 
 On 13/04/13 09:48, Albert-Jan Roskam wrote:
 
 I think I have to make a diagram of this. This stuff is quite hard
 
 You could use a simple UML class diagram (class - table). See the OOP topic 
 in my V3 tutorial for simple examples.
 
 Or you could use a proper entity relationship diagram(ERD) - see wikipedia 
 for 
 details and examples (there are various notational variations)
 
 They all show the same concepts. UML will be best if you plan
 on using OOP in the python code. ERD is better for vanilla database design.
 
 Hi Alan, I am reading it now. Thanks for the suggestion. I have to read more 
 about Django to decide whether this is the way to do it. First impression: 
 yes. The database abstraction API also implies that I should use OOP. Step 
 #1: defining the model ;-) 
 https://docs.djangoproject.com/en/dev/topics/db/models/
 Would it also be a good idea to simultaneously make a paper-and-pencil 
 drawing of the UI?

Absolutely! Test it with three users. See Jakob Nielsen's brief take on the 
matter:

http://www.nngroup.com/articles/paper-prototyping/

Take care,
Don

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] design question (Django?)

2013-04-14 Thread ALAN GAULD

Would it also be a good idea to simultaneously make a paper-and-pencil drawing 
of the UI? Personally I do. At work we call these UI sketches  wireframes 
and they are used to figure 
out the interaction. The focus is on the relative position of controls and the 
workflow for 
the user rather than the cosmetics. There are lots of articles and web sites on 
the science 
of UI design and usability.
the hardest part of software construction is the design stage.It always is and 
the bigger the project the more formal the design needs to be.
Most of the projects discussed on the tutor list can be done with little or no 
design 
(the equivalent of building a dog kennel or garden shed) but as you progress to 
more complex designs (think house extension) you need at least a basic design 
diagram to follow. And as you move into big projects with multiple developers 
or even multiple teams (think skyscraper or airport terminal) you really need 
clear, formally expressed designs to keep everything consistent. One of the 
things 
I like about UML is that it can be used at all levels, just pick the bits that 
are 
relevant to your project.

HTH,

Alan G.___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] design question (Django?)

2013-04-13 Thread Albert-Jan Roskam
Hi,

I am doing volunteer work for a charity. The job is to coordinate money 
collecting activities of people who
raise money with collecting-boxes. I am involved with one postal code  4 (pc4) 
area (our postal codes have the format 1234 AB (postal code 6). So 'one postal 
code 4 area'  means [0-9]{4}[A-Z]{2} (1234AA, 1234AB, etc.). One pc4 area is 
typically divided over a group of 8 people who actually go out there to collect 
the money.

I would like to make a webtool that makes it possible for collectors to select 
what streets they want to visit.
Other collectors of their pc4 area should also be able to see their selection, 
once it's final (it's a BIG no-no that the same street is visited by multiple 
collectors in the same week). Selection would be done by selecting street names 
or pc6 (tick boxes). A selection would be visualized on a map (a different 
color for each collector). The number of households associated with the 
selection is shown to see if the selection is a realistic amount.

Now, this is where Python comes in. Or wait, maybe not quite yet. The problem 
should (I think) be divided into two major steps: (1) database design (2) UI 
design (Python, I hope!)

(1) Database design. Here are the database tables I think are necessary:
tblPostalcode: pc6, streetname, nHouseholds, isVisitable, remarks
tblCollectorSelection: collectorname, streetname, selectiondate

(2) UI design. Ah, finally, Python. ;-) I had Django in mind to create the web 
interface and GeoDjango to display the selection on a map. I am open for other 
suggestions though (D3?). I am not even sure how realistic this is, given that 
I have zilch experience with web programming (and Java script). The whole thing 
should be non-geeky, non-techy for users.

I would love to hear your thoughts about this. Does this make sense? Is Django 
a good choice?

Regards,
Albert-Jan

ps: sorry about the large amount of text. ;-)


~~
All right, but apart from the sanitation, the medicine, education, wine, public 
order, irrigation, roads, a 
fresh water system, and public health, what have the Romans ever done for us?

~~ 
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] design question (Django?)

2013-04-13 Thread Alan Gauld

Some clarification please.


(1) Database design. Here are the database tables I think are necessary:
tblPostalcode: pc6, streetname, nHouseholds, isVisitable, remarks
tblCollectorSelection: collectorname, streetname, selectiondate


streetname is in both so presumably is the link between collector and 
the postcodes? Can a steetname be in multiple postcodes? So if a 
collector selects a street does he implicitly select multiple post codes?


And

Does a postcode only have a single street? (Ours can have several)

I assume isVisitable is a derived field that you are going to calculate 
each time based on the number of collectors who have selected the 
postcode? If so it may be easier and more efficient to have a mapping 
table to manage the relationship of collectors to postcodes and another 
table for the collector data (although you don't appear to be holding 
much collector data, which surprises me... I assume the users will be 
collectors with login credentials etc?)


As always when modelling data the important information is the 
relationships between the entities and I'm not sure I understand

the relationships between street, postcode and collector.

HTH
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] design question (Django?)

2013-04-13 Thread Albert-Jan Roskam
Hi Alan,

Thanks for your reply!


 Subject: Re: [Tutor] design question (Django?)

 
 Some clarification please.
 
  (1) Database design. Here are the database tables I think are necessary:
  tblPostalcode: pc6, streetname, nHouseholds, isVisitable, remarks
  tblCollectorSelection: collectorname, streetname, selectiondate
 
 streetname is in both so presumably is the link between collector and the 
 postcodes? Can a steetname be in multiple postcodes? So if a collector 
 selects a 
 street does he implicitly select multiple post codes?

Yes, a street name can be in multiple postcodes (typically odd and even street 
numbers of long streets have different postcodes). For example, postcodes (pc4) 
of the longest street of the country (in The Hague) are 2517, 2555:
http://www.postcode.nl/index.php?goto=postcoderesultaction=pagepagenum=0address=den+haag%2C+Laan+van+MeerdervoortTreeID=1
 So, yes, the collector may select multiple postcodes when selecting just one 
street. Historically, pc6 is a concept from the mail service. One pc6 is 
(literally) a handful of mail for a mailman. One record in 
tblCollectorSelection = one pc6 selected by that collector. But since most 
people think in terms of street names rather than in pc6, the selection is made 
by ticking boxes with street names.

Come to think of it, I may also need a tblCollectors, with name, adress, postal 
code, phone number of the collector, preferredPostalCode (some collectors want 
to collect in another pc6 than where they live).
 
 Does a postcode only have a single street? (Ours can have several)

It's the same as with you in the UK/Scotland. Often one postcode has just one 
street, but there are exceptions.

 I assume isVisitable is a derived field that you are going to calculate each 
 time based on the number of collectors who have selected the postcode? 

isVisitable would be PO boxes, apartment buildings that do not admit any 
collectors at their main entrance,
industrial zones, dangerous neighbourhoods, and maybe a few more categories.

If so it 
 may be easier and more efficient to have a mapping table to manage the 
 relationship of collectors to postcodes and another table for the collector 
 data 
 (although you don't appear to be holding much collector data, which 
 surprises me... I assume the users will be collectors with login credentials 
 etc?)

yes, collectors are assigned to groups (of about 8 persons) and they should get 
login credentials (which are stored in tblCollectors (?)).

 As always when modelling data the important information is the relationships 
 between the entities and I'm not sure I understand
 the relationships between street, postcode and collector.

I think I have to make a diagram of this. This stuff is quite hard for me, but 
it's important to get the basis right.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] design question (Django?)

2013-04-13 Thread Alan Gauld

On 13/04/13 09:48, Albert-Jan Roskam wrote:


I think I have to make a diagram of this. This stuff is quite hard


You could use a simple UML class diagram (class - table). See the OOP 
topic in my V3 tutorial for simple examples.


Or you could use a proper entity relationship diagram(ERD) - see 
wikipedia for details and examples (there are various notational variations)


They all show the same concepts. UML will be best if you plan
on using OOP in the python code. ERD is better for vanilla database design.

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor