Feed Sign in with OpenID OpenID

Simon Willison’s Weblog

Django People

I’m constantly surprised by the number of people I run in to at conferences (or even in one case on the train) who are using Django but are completely invisible to the Django community. It seems that this is the downside of having good documentation: many people just read it and start building, without ever showing their face on the mailing lists or IRC.

So, Natalie and I have just launched djangopeople.net—a site that encourages Django developers to create a profile and stamp themselves on a map. Every country in the world gets its own page, as does every US state (for the moment; I may add other country’s regional subdivisions in the future). The focus of the site is firmly on location, and I’m hoping to add features in the future that encourage people to get involved with local Django user groups and meet like-minded developers.

So, if you develop sites in Django head over there and create yourself a profile. If possible, upload a photo too—it makes the site look nice! Please leave any feedback or bug reports as comments on this post.

This is Django People by Simon Willison, posted on 23rd January 2008.

Tagged , , ,

View blog reactions

Next: Django People: OpenID and microformats

Previous: Yahoo!, Flickr, OpenID and Identity Projection

81 comments

  1. This is the very thing I *LOVE* about Django: the People. The site is absolutely brilliant! :)

    After browsing the site a while, I have two suggestions:

    1) Please add OpenID support. I was actually quite suprised that I couldn't log in with OpenID already.

    2) I know this is potentially a slippery slope if everyone has same kind of requests, but as a Jaiku user and lover, I'd very much like to see Jaiku ( http://jaiku.com ) in the profile as an alternative to Twitter. (After all, there are two popular bookmark services, too.)

    Ville Säävuori - 23rd January 2008 02:39 - #

  2. Not wishing to, y'know, whine, but shouldn't I be able to sign in with an OpenID? :)

    sil - 23rd January 2008 02:39 - #

  3. Hello, just wanted to let you know that when I was registering, the registration page just gave me a generic error above the username/password fieldset "Enter a valid value." This wasn't terribly helpful but I guessed correctly that it didn't like my first name as a username.
    Anything in particular against hyphens? ;)

    John-Scott - 23rd January 2008 02:42 - #

  4. Hah, I know OpenID would come up pretty quickly. I definitely want to get it on there, but in the end it was one of the features that ended up on the "do it later, ship the thing already!" list.

    Simon Willison - 23rd January 2008 02:49 - #

  5. Are you guys using geodjango for it?

    Alex - 23rd January 2008 02:50 - #

  6. Awesome job. This is a great resource for the community and a great way to get connected.

    Empty - 23rd January 2008 03:01 - #

  7. The thin strip of map on the profile page looks gorgeous! Nice work, Simon.

    Scott Johnson - 23rd January 2008 03:03 - #

  8. Another feature request: in addition to Django-powered sites people have worked on, let them list Django-based apps they've publicly released. It's hard sometimes to get a feel for that, even with all the handy searching on Google Code ;)

    James Bennett - 23rd January 2008 03:04 - #

  9. OpenID support would be a big plus. If it'd be supported now I'd be on the map already ;-)

    Nicolas - 23rd January 2008 03:12 - #

  10. Thanks!! :-)

    semente - 23rd January 2008 03:31 - #

  11. Nice work --- the design is great, particularly the Google Maps integration. However, note that some of us don't maintain blogs, but do have web sites. The "Blog URL" profile field should probably be named to be a bit more general-purpose.

    Side note: it would be nice if your XHTML validator understood entities like —. — gave me a 500 error, and the Unicode character produced an ASCII decoding error.

    Tom Most - 23rd January 2008 03:47 - #

  12. Achingly beautiful site. Well done!

    {% unsolicitedsuggestion %}
    A view at http://djangopeople.net/us/
    {% endunsolicitedsuggestion %}

    John Heasly - 23rd January 2008 05:17 - #

  13. Hi Simon,

    I couldn't find the United Arab Emirates in the country list on the site.

    Ben Walton - 23rd January 2008 05:33 - #

  14. Please, don't ruin uploaded images. They're so overprocessed that my uploaded photo (I resized it to 83x83 before uploading) looks really ugly. Like from some horror movie! Please, stop doing this. If the photo is 83x83 just use it and apply no cropping and sharpening.

    I want to remove my photo because it will certainly scare people, but there's no way to remove it other than uploading blank image.

    Eugene Morozov - 23rd January 2008 07:38 - #

  15. Please, don't ruin uploaded images. They're so overprocessed that my uploaded photo (I resized it to 83x83 before uploading) looks really ugly. Like from some horror movie! Please, stop doing this. If the photo is 83x83 just use it and apply no cropping and sharpening.

    I want to remove my photo because it will certainly scare people, but there's no way to remove it other than uploading blank image.

    Eugene Morozov - 23rd January 2008 07:38 - #

  16. great site.

    it would be nice to show the distance to other django-people in kilometers too, not just in miles.

    Gábor Farkas - 23rd January 2008 08:31 - #

  17. Great Job, Simon. I questionned myself a few days ago on the opportunity to build a social network for djangonauts. But you kicked me. ;)

    Social networks usually allow interactions between people, such as recommendations. I'm not sure of its interest, but that's an idea.

    Something really more interesting would be... FEEDS!
    I'd love to subscribe to djangopeople global feed to see whenever a new profile has been created. And why not having a "per country" profile feed either?
    I know it's a dozen of lines of code in Python... Sure you can work this out.

    Congrats again to you and Nat, very nice job.

    No' - 23rd January 2008 08:48 - #

  18. Ben Walton: sorry about that, it turns out that UAE isn't included in the geonames data set I'm using (because they don't have bounding box information for it). I've manually added it and moved your profile there.

    250 profiles already! I really wish I'd included OpenID support in the initial release now...

    Simon Willison - 23rd January 2008 09:12 - #

  19. Eugene: I've removed the "sharpen" filter I was using - see how you like it now.

    Simon Willison - 23rd January 2008 09:18 - #

  20. I'm not convinced by your distance-finding algorithm. I'm down as the first person in North Africa (yay me!), yet despite being three hour's travel time from the nearest person in Spain (a mere 30 minute ferry away), I get a South African, at 5000-odd miles away, as my "people near you".

    Possibly another interesting piece of data would be what language people speak, and to what level (to distinguish, for example, my fluent english from my decidedly average french).

    Moof - 23rd January 2008 10:04 - #

  21. Also, it appears that whilst you can edit absolutely everything else about your profile, your name is not something that can be edited.

    Moof - 23rd January 2008 10:07 - #

  22. Simon, what needs to be done (in Django and otherwise) to make OpenID easier to implement. In other words, how can we make it a decision you don't really need to think about or have on a todo list in the first place?

    James Wheare - 23rd January 2008 12:29 - #

  23. I agree, the distance finding algorithm appears to be slightly dodgy, although as it's an initial relase i'm sure it'll be fixed soon enough.

    Great work Simon and Natalie!

    Robert Lofthouse - 23rd January 2008 13:24 - #

  24. How about a Pythonpeople? It would certainly be a great way for recruiters to find Python programmers (a constant complaint is that finding Python people is too hard) and for freelancers to promote themselves.

    You could cross-link the sites of course.

    The domain is already taken - but a bit of googling shows that it is a 'Python friendly' person who owns it, so they may be willing to donate it.

    Michael Foord - 23rd January 2008 13:31 - #

  25. A nit: In the header template, when a user is logged in, it ought to say " ... logged in as [name]" rather than " ... logged in is [name]" Still a righteous site!

    John Heasly - 23rd January 2008 14:40 - #

  26. Brilliant. Just brilliant. :)

    zgoda - 23rd January 2008 15:05 - #

  27. James Wheare: current OpenID implementations that work nicely on top of Django authentication are quite messy and not very well documented. (There are at least two that I know of.) I'm really hoping for some unified implementation that would handle both Openid 1 and 2 in a way it could be added to django.contrib.

    I'm currently building a new site that uses (only) OpenID for auth and it was quite a bit of hairy work to get working fully. I'm sure this will get easier as more good libraries and implementations arise, but currently its not so great for Django.

    Ville Säävuori - 23rd January 2008 15:28 - #

  28. Excellent site Simon & Nat. Lovely design and functionality, I 9th the motion for OpenID but I get why you didn't include it.

    I'd be interested to know just how long it took you to reach this release? From first line of code to the blog post. It would be great to know the process.

    Nice work!

    Martyn Davies - 23rd January 2008 16:18 - #

  29. Great work!

    Why does the username/password login not trigger the “remember this password?” prompt in Safari?

    And ohloh.net would be a nice addition to the “other profiles” options.

    Christopher Lenz - 23rd January 2008 16:26 - #

  30. Martyn: We started working on it on January 1st, and I'd estimate we've put in the equivalent of 5-7 working days since then (evenings and weekends).

    Christopher: no idea why Safari isn't prompting to remember the password :/

    Simon Willison - 23rd January 2008 17:00 - #

  31. I am a bit late to the party, but you can add me to the list of people who will immediately sign in to djangopeople as soon as there is OpenID support.

    I also would love to see a bit more documentation for adding OpenID support to a django powered webservice.

    By now the providers are plenty but there could be quite some more OpenID consumers and I think one thing that is slowing down adoption is that it is still easier to add userid/password authentication than to integrate an OpenID library with several web frameworks out there right now.

    Though that all let aside, djangopeople was a nice idea and it is great to have this service up there. I already found people from my country that I did not know yet.

    ichigo - 23rd January 2008 17:39 - #

  32. Are you planning on releasing the source? It might be cool to set up other *people sites.

    sil - 23rd January 2008 17:45 - #

  33. Great job.

    It would be nice to have a Skype entry in the contact info.

    Sandy Walsh - 23rd January 2008 18:43 - #

  34. Hi, congrats for your new site. I'm developing a new django app and I would like to buy a 256 slice on slicehost or Bytemark. You'are using mod_wsgi running on Apache 2 behind an nginx proxy. Can you suggest to me an article/tutorial about deploying django on a vps step by step? Is a 256MB slice adequate for a django app in your experience? Or you're using more RAM? Thanks.

    Alessandro - 23rd January 2008 20:04 - #

  35. Very nice work Simon.

    I like the way you are presenting user profiles, with many options to help people "advertise" themselves.

    I would like to suggest a link to DjangoSites - rather than having a user enter their DjangoSites (DS) URL and then manually enter a handful of sites they've built with Django, why not ask for their DS username and link to their feed? eg http://www.djangosites.org/rss/author/ross/ - that means users are only entering data in one place, and it means we both potentially have a more up to date listing of websites powered by Django.

    Happy for you to e-mail me if you want to build some sort of other API link between the two... djangosites at djangosites.org

    Ross Poulton - 23rd January 2008 23:06 - #

  36. Eh, I would have signed up already, but I expect to be able to use OpenID on a site built ex-novo by one of its strongest supporters :)

    If nothing else, this shows how hard it still is to implement OpenID on django in the real world, and it will (hopefully) work as an incentive to fix this state of things.

    (BTW, your blog doesn't work with draft.blogger.com -- maybe you don't support delegation? It worked fine in Sam Ruby's blog)

    GiacomoL - 23rd January 2008 23:54 - #

  37. With regards to the "Python People" comment, i've already begun work on something along those lines. Although it is a different concept to Django people. The timescale for completion is within the next 2 months. If someone beats me to it, then that's great too :)

    Fully written in Django of course ;)

    Robert Lofthouse - 24th January 2008 00:30 - #

  38. The search link at top of about page just goes to the about page again. Is search meant to be implemented or do you need to create an account to login to use it.

    <a href="/about/">search</a>

    Graham Dumpleton - 24th January 2008 02:05 - #

  39. Hmmm, something fishy going on. The search link after paging around a bit now actually goes to search page. Either you just fixed it, or it is a bit random in what it is showing. :-(

    Graham Dumpleton - 24th January 2008 02:08 - #

  40. I've added OpenID.

    Graham: I just fixed that :)

    Simon Willison - 24th January 2008 02:22 - #

  41. As a styling note, if your OpenID login fails, the OpenID icon that was in the input is no longer present.

    Also, a short description identifying that skills are like tags would be excellent. It took a try or two to figure that out.

    Some description about what's searchable on the "Search" page would be excellent. I was surprised that neither skills nor bios appear to be part of the search.

    Critiquing aside, this is a fantastic resource for Djangonauts and a beautiful demonstration of what Django can be used to build. Much kudos to you and Natalie.

    Daniel Lindsley - 24th January 2008 04:18 - #

  42. Feature proposal: what about adding the location info of the relative Local Django User Group in the country header page (http://djangopeople.net/(?P<country>..)/) ?

    Carlo C8E Miron - 24th January 2008 09:12 - #

  43. Feature request: Looks like we can't move localisation on the map once it's done.
    What if we move - in the same or a different country?
    Would be a nice feature to be able to move the pinpoint on the map on own profile.

    No' - 24th January 2008 12:09 - #

  44. No': You can change your location on the map by clicking the "edit" link next to the text description of your location that appears at the top of your profile page (the text next to the flag).

    Simon Willison - 24th January 2008 12:51 - #

  45. ok, thanks. Bug closed :)

    No' - 24th January 2008 13:06 - #

  46. Simon you had a great idea to create this site, i like it very much.

    I have found that once photo image is uploaded it cant be replaced, when i try to replace a photo a Page not found error is returned.

    Dominik Szopa - 24th January 2008 13:21 - #

  47. Dominik: fixed that bug, it snuck in last time we changed the profile page template.

    Simon Willison - 24th January 2008 13:57 - #

  48. Feature request: Another privacy option, not to show email address at all. It's a required field, which makes sense, but there's no way to make it fully private at present.

    dedi hubbard - 24th January 2008 16:07 - #

  49. Great work!

    One small niggle; any chance the "Got profiles on other sites?" could be set-up by adding just the username rather than having to specify the full url? I'm pretty sure this would make sense for most of the services.

    Stuart Colville - 25th January 2008 09:32 - #

  50. Stuart: that was lazy on my part. I'm going to re-work that soon, and hopefully add some integration options with other sites as well (maybe pull in a feed of recent del.ici.ous links, recent Flickr photos and suchlike).

    Simon Willison - 25th January 2008 11:41 - #

  51. Hi, I found this bug: when I entered the url of a project without "http://" at the beginning, the link to the project was something like <myusername>/<project-url>

    Clicking on such a link brings up the django error page showing me the urlconfig...

    --> maybe some validation needed...

    Anyway: great site!

    Cheers,
    Eric

    Eric Fehse - 25th January 2008 12:31 - #

  52. Might be worth using the details on someone else's site to pull in profile details from other microformatted profile pages, too, a la Satisfaction.

    sil - 25th January 2008 13:34 - #

  53. @sil: definitely, I love the way Satisfaction does that.

    Simon Willison - 25th January 2008 14:48 - #

  54. One Thousand Profile Milestone: done.

    Hurrah!

    No' - 25th January 2008 19:17 - #

  55. How do I add a link to community group page? I cann't find such option anywhere on site.

    zgoda - 25th January 2008 21:02 - #

  56. Great work!

    Some miscellaneous ideas and suggestions (apologies for any redundancy with suggestions above):

    • On profile page, change "Bob has contributed to x Django powered projects" to something like "Django projects Bob has contributed to" -- for various reasons, many people won't be able to post a list as complete as the current wording implies.
    • Add some kind of "friend" feature so existing connections can be seen (I've been adding profile links to my bio)
    • Possibly add a way for people to flag their contributions to Django itself, i.e. tickets/patches/changesets
    • Within a country, order regions/states alphabetically, not by number of members
    • Add a feed widget so members with a "django" tag on their blogs can have those posts listed on their profile page
    • Likewise list latest djangosnippets and latest del.icio.us bookmarks tagged "django" when available
    • Add an "on #django now" beacon to profile page
    • List Django-related events and meetups, with an option for members to be notified when an event is listed within X miles of them

    Paul - 25th January 2008 22:55 - #

  57. Bug: Password reminder -> use wrong username -> HTTP 500

    Question: Why don't I appear on the map when I'm logged out? I said "don't give away my email address", not "please pretend I'm not a member".

    John Handelaar - 26th January 2008 18:32 - #

  58. John: Probably because the map only shows the last 100 sign ups.

    Robert Lofthouse - 27th January 2008 03:30 - #

  59. Where do you edit profile details like e-mail address and IM?

    Thomas - 27th January 2008 11:53 - #

  60. Thomas: click "edit" next to "finding X" on the profile page - since that wasn't very clear, I've added some extra links to the "My Account" page.

    Simon Willison - 27th January 2008 18:34 - #

  61. Hi Simon, great work!
    How are you calculating the "people near X" list? Is this calculated via Google or locally? Thanks!

    Sérgio - 27th January 2008 19:10 - #

  62. Lost password / account recovery should work now - I'd forgotten to configure the outbound e-mail server.

    Simon Willison - 27th January 2008 20:05 - #

  63. Sorry, some more bug/UX reports:

    1) The replace photo button really isn't obvious; I'd got so used to the (change) and (edit) links all over the place I was looking for something similarly styled for *ages* before noticing the mouse-over behaviour.

    2) For that matter, it took me a while to figure out how to change the "looking for work" field. I don't really consider this to be an aspect of contact, but maybe that's just me.

    3) If you're going to use nginx to set a file upload size limit, it's a good idea to point that out on the page (and ideally customise the nginx error page as well). It broke the flow to be unexpectedly shown a non-styled error page (okay, so I probably shouldn't have chosen a > 2M image to upload).

    4) According to the DOM inspector, on my profile page the 83x83 image is being shown as 80x80, which relies on the browser's resizing. This may explain why some avatars look poor in the larger size. The 40x40 ones seem fine, and the resizing there (presumably done by the thumbnailing code) looks fine.

    James Aylett - 28th January 2008 16:51 - #

  64. I am trying to promote Django to a bunch of non-technical people who have never heard of it. It would be great if I could embed a code snippet into my site that was a mini-map, say 400x300, that said "Here are N people in the world that are using Django," and clicking on the map takes you to djangopeople.net. This way, I could point out to clients that LOTS of talented people are using it. Extra features might be showing such a map just for a country, or centered on a location, etc.

    I think lots of people would use such a snippet if it were a simple copy-and-paste thing.

    Tony Becker - 29th January 2008 17:21 - #

  65. Tony: a badge is a nice idea - I'll have a think about how I can do that neatly without causing performance problems for the site.

    Simon Willison - 29th January 2008 18:01 - #

  66. On badges: since you're expecting the number to change a lot anyway, just regenerate the badge every hour and upload it to imageshack, and then make djangopeople/badge redirect to it? No bandwidth or performance problems at all :)

    sil - 29th January 2008 19:20 - #

  67. cant edit name, have an alias, or delete profile.

    philip and scott - 29th January 2008 21:50 - #

  68. If you want your name changed or your profile deleted drop me an e-mail at simon at this domain and I'll sort that out for you.

    Simon Willison - 29th January 2008 23:04 - #

  69. FYI, Django People's enabled us to get our own local user group up and running:

    http://djangosd.jottit.com/

    Thanks for an awesome resource!

    Edward O'Connor - 6th February 2008 21:12 - #

  70. Simon: I know others have asked, but have you considered releasing the source?

    Luke Hatcher - 7th February 2008 22:45 - #

  71. OK, so now you've added OpenID can you tell me how to associate my OpenID with my existing account rather than opening a new one?

    Wouldn't these sites be easier to maintain if they didn't have users?

    Steve Holden - 10th February 2008 17:25 - #

  72. Steve: log in with your username and password and there's a link from the "your account" tab - or you can follow this link once you've signed in.

    Simon Willison - 10th February 2008 19:09 - #

  73. Hi Simon

    Could you add Polish Django Community google group to Django community sites for country Poland:

    group url is:

    http://groups.google.pl/group/django-pl

    Thank you

    Dominik Szopa - 24th February 2008 00:43 - #

  74. Great site, looks v. neat! Just 2 ideas: How about adding skype to IM list and what about a project page, where you can list a project/idea/job that someone might be interested in?

    fredrikbonde - 13th March 2008 21:43 - #

  75. My name is Louis Glorieux. I siged up on april 3rd in the meaning Djangopeople was about Gypsyjazz playing. So ignore- and if you as a webmaster read this, eliminate it from the webside. As a comment I would like to express my very bad feelings about using Mr. Django Reinhardt's name for anything else then swing in general and gypsyjazz in particular. O tempi, o mores.Louis Glorieux

    louis glorieux - 3rd April 2008 15:17 - #

  76. Would be be possible to add in some type of feature allowing people trying to find an individual or company through the site?

    Perhaps add a "View companies" link allowing a by country, feature, etc search so people who are companies or contractors can contact who they're trying to find.

    A few people on IRC try looking for a company, or a individual specifically looking for someone to contract work.

    Personally I've been requested a couple jobs already through the site regarding accounting. So yes, people are using the site a fair deal looking to contract work.

    David Ross @ Wolfeon - 9th April 2008 13:22 - #

  77. I'd love to have xing.com as an available profile option.

    Also, I made a stupid typo in my name. How can I fix this?

    Janek Schwarz - 14th April 2008 08:32 - #

  78. Janek: e-mail me a link to your profile and the correction and I'll fix it for you.

    Simon Willison - 14th April 2008 09:46 - #

  79. Serbia is missing from the list of countries upon sign-up. Could it be fixed?

    Petar Marić - 17th April 2008 01:21 - #

  80. A small bug: I thought I'd sign up with this new-fangled OpenID thingy. I've already got an OpenID with my yahoo mail account, so let's try that.
    Ok, following the instructions from yahoo, I type 'yahoo.com' in the OpenID box. Not recognised. Go over to DjangoSites, try the same thing there. Success!
    Ok, I come back to DjangoPeople and try again: this time I copy-and-paste my OpenID identifier from the Yahoo site. Hit enter, I get back an error message from Yahoo: "Sorry! You will not be able to login to this website as it is using an older version of the the OpenID technology. Yahoo! only supports OpenID 2.0 because it is more secure.".
    Hope that this bug report is complete enough :-)
    Will go and create an account manually :-) as I think that the idea of this site is brilliant even if the OpenID bit didn't work for me!

    Richard Barran - 21st April 2008 14:53 - #

  81. Useful site mr willison, one suggestion - given the site is implied in the fields in this form http://djangopeople.net/(?P<username>.*)/finding/ , perhaps it'd be easier to allow people to enter their usernames rather than request full urls.

    The urls can be worked out easily, particularly for sites where user profile pages can be inferred from their username - which is most of the sites on your list.

    It's a bit tedious to complete otherwise.

    Otu - 24th April 2008 17:38 - #

Comments are closed.
A django site