Pownce Lessons Learned

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

2 comments

Comments 1 - 2 of 2 previous next Post a comment

  • techdude techdude 2 years ago
    What a great presentation!!!
    I would love to know more about the monitoring piece. And if by any chance you have the talk recorded...? Synchronized audio with this would be super-cool
  • guest2a05bd guest2a05bd 2 years ago
    Very cool stuff. I would add that its important to have performance monitoring systems on your db and web servers for catching certain events such as the DB reaching 90% cpu or max ram usage, failed db backups, etc. I get those sent to my phone via SMS.



    jonathan[@t]soundit.com

Post a comment
Embed Video
Edit your comment Cancel

66 Favorites & 1 Group

Pownce Lessons Learned - Presentation Transcript

  1. Social messaging application Developed in 4 months Invite-only launch in June We’ve learned a lot ...
  2. Lesson: Think about technology choices • We could pick anything! • Social as well as technological reasons factored into our decisions • Took risks • Open to new technologies
  3. Why Django? Django is a Python web framework • Yay! Web frameworks! • Documentation and readability • Auto-generated admin • Active community • Framework open to growth Think about tech choices...
  4. Why S3? Amazon’s Simple Storage Service • Pownce files are stored on S3 • Less maintenance for Pownce • Inexpensive • Been very reliable so far Think about tech choices...
  5. Why AIR? Adobe Integrated Runtime • Works on both PC and Mac • Easy to develop • Encourages good UI • Lots of good buzz Think about tech choices...
  6. Lesson: Do a lot with a little • Pownce has a tiny team • One website developer • Self-funded • Short deadlines
  7. Small Teams We wear many shoes. • Multiple roles • Learn quickly • Dedicated Do a lot with a little...
  8. Open Source Tools Plenty of web application help • Someone has solved this problem before • ... and they’re probably smarter than me • Lots of tools available • Free to use Do a lot with a little...
  9. Use Your Resources Get some help. • Documentation websites • IRC • Network and learn from friends • Exchange knowledge with other sites • Participate in communities Do a lot with a little...
  10. Lesson: Be kind to your database • Pownce’s database is its main bottleneck • One MySQL database • Responding quickly to slow queries has helped keep Pownce running • Few simple tips...
  11. Caching: “I’ve already done that.” • We use memcached • Caching at page and object / list level • Cached our static pages since launch Be kind to your database...
  12. Queuing: “I’ll do that later.” • Taking a (shorter) note of a (longer) process to do later • We “send” notes via a job queue • Need to improve our queuing system and add more processes Be kind to your database...
  13. Limits and Pagination: “I don’t need to do ALL of that.” • Notes list, friends list, recipient lists... • Good user interface as well • Django Paginator object is a good starting point Be kind to your database...
  14. Index: “I’ll mark that to find it later.” • We had to re-think how we were accessing our data • Friend searching is a prime example of where good indexing can improve performance Be kind to your database...
  15. Avoid Complexity: “I won’t make the db do that.” • Some queries are just too complicated (for a new web app) • Consider if they’re actually NEEDED • Usually good to avoid abstract or conceptual data display Be kind to your database...
  16. [ JARRING CHORD ] Expect Anything!
  17. Lesson: Expect Anything • Young sites can run into many problems • Need to respond quickly • Can’t prepare for everything • Every web application is unique
  18. Keep Backups Because stuff happens. • Use version control • Have a system to revert code changes • Track dependencies and updates made • If developing locally, backup personal work Expect anything...
  19. Duly Noted: Keep lots of data. • Stats to monitor • Quantitative measures • Pretty graphs Expect anything...
  20. Community Keep in touch with your community. • Let users know what you’re working on • Respond to individual bug reporters • Inform users of bug fixes and new features • Be careful about asserting deadlines Expect anything...
  21. Friendships Matter Social sites are all about friends. • Strive to make it easy to establish, maintain or break relationships • Accurately represent user relationships • Online friends have real-world effects • Don’t mess this up! Expect anything...
  22. A feature that matters. (from Satisfaction) Expect anything...
  23. Prepare to Scale Up It’s a good problem to have. • “Don’t prematurely optimize” • ... unless you work with Kevin Rose • Design for success • Accept that your code will change Expect anything...
  24. Lessons Learned Think about technology choices Do a lot with a little Be kind to your database Expect anything
  25. Thanks!

leahculverleahculver, 2 years ago

custom

23758 views, 66 favs, 51 embeds more stats

Lessons learned while developing Pownce, a social m more

More Info

© All Rights Reserved

Go to text version
  • Total Views 23758
    • 18453 on SlideShare
    • 5305 from embeds
  • Comments 2
  • Favorites 66
  • Downloads 916
Most viewed embeds
  • 2919 views on http://www.leahculver.com
  • 1188 views on http://leahculver.com
  • 419 views on http://almaer.com
  • 199 views on http://www.lonerunners.net
  • 95 views on http://www.centernetworks.com

more

All embeds
  • 2919 views on http://www.leahculver.com
  • 1188 views on http://leahculver.com
  • 419 views on http://almaer.com
  • 199 views on http://www.lonerunners.net
  • 95 views on http://www.centernetworks.com
  • 77 views on http://www.almaer.com
  • 63 views on http://internet.blogosfere.it
  • 55 views on http://www.polle.net
  • 31 views on http://blog.context.com.br
  • 29 views on http://kasamata.com
  • 28 views on http://www.asiermarques.com
  • 28 views on http://philmindspot.blogs.sapo.pt
  • 21 views on http://michielsikkes.nl
  • 21 views on http://zee.com.br
  • 17 views on http://www.linkist.com
  • 15 views on http://www.zee.com.br
  • 14 views on http://www.kasamata.com
  • 12 views on http://www.netvibes.com
  • 9 views on http://1nation.eu
  • 7 views on http://agileweb.org
  • 6 views on http://interactiveentertainment.blogspot.com
  • 6 views on http://missha.tumblr.com
  • 4 views on http://newshutch.com
  • 4 views on http://webcenter.worldbank.org
  • 3 views on http://feeds.feedburner.com
  • 3 views on http://www.ivancampos.com
  • 2 views on http://deltatangobravo.com
  • 2 views on http://www.filescon.com
  • 2 views on http://davidohalloran.com
  • 2 views on http://webdevcampsp.ning.com
  • 2 views on http://www.webspiritus.com
  • 2 views on http://www.zeedesign.com.br
  • 2 views on http://ivancampos.com
  • 1 views on http://cubecpus.com
  • 1 views on http://www.edopter.com
  • 1 views on http://asiermarques.com
  • 1 views on http://aviationrobot.com
  • 1 views on http://freewi-fihotspots.net
  • 1 views on http://lifeextensionclub.com
  • 1 views on http://www.filestube.com
  • 1 views on http://72.14.235.104
  • 1 views on http://clubs.omniserve.com
  • 1 views on https://intranet.sixapart.com
  • 1 views on http://hidethedeadgirl.org
  • 1 views on applewebdata://E110B17C-7110-451B-A0B2-E5CB91A6F3EE
  • 1 views on http://portfolio.pierrelord.com
  • 1 views on https://anon.domainforte.com
  • 1 views on http://nslu2
  • 1 views on http://beta.linkist.com
  • 1 views on file://
  • 1 views on http://192.168.10.100

less

Flagged as inappropriate Flag as inappropriate
Flag as innappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel

Categories

Groups / Events