Loading...
Flash Player 9 (or above) is needed to view slideshows. We have detected that you do not have it on your computer.To install it, go here
-
killercup favorited this 6 months ago -
davidcoxon favorited this 6 months ago
-
kuchmuch favorited this 7 months ago
-
tim.lossen.de favorited this 7 months ago -
mainframe.ai favorited this 8 months ago
-
ciberesfera favorited this 8 months ago
-
landrew favorited this 8 months ago
-
DragonI favorited this 9 months ago -
lisamac favorited this 9 months ago
-
bzeuner favorited this 9 months ago -
techdude favorited this 9 months ago -
josecarlos.garcia favorited this 10 months ago -
CocoaDevNoob favorited this 10 months ago -
hotchillimedia favorited this 10 months ago -
Ylodi favorited this 10 months ago -
schee favorited this 11 months ago
-
slmader favorited this 11 months ago
-
catepol favorited this 11 months ago
-
alexchaffee favorited this 11 months ago -
ayushsaran favorited this 2 years ago -
themoleskin favorited this 2 years ago
-
pnts favorited this 2 years ago -
AmyStephen favorited this 2 years ago
-
Forced_Ambitions favorited this 2 years ago
-
mrtopf favorited this 2 years ago
-
goetz favorited this 2 years ago -
kenn favorited this 2 years ago -
LensFitzgerald favorited this 2 years ago
-
Jas favorited this 2 years ago
-
reuters7 favorited this 2 years ago -
haijeson favorited this 2 years ago
-
thegrid favorited this 2 years ago -
bogdanvursu favorited this 2 years ago -
ericeggertson favorited this 2 years ago -
hlchia favorited this 2 years ago -
Luwte favorited this 2 years ago
-
PaulLomax favorited this 2 years ago -
aleksoft favorited this 2 years ago
-
cornelius favorited this 2 years ago
-
portenkirchner favorited this 2 years ago
-
icichristophe favorited this 2 years ago -
thaisie favorited this 2 years ago
-
renatoalbano favorited this 2 years ago
-
abitgone favorited this 2 years ago -
lars3loff favorited this 2 years ago
-
ev0 favorited this 2 years ago -
Added to the group (FOWA) Future Of Web Apps by kiyo
-
poor666 favorited this 2 years ago -
dydimustk favorited this 2 years ago -
espig favorited this 2 years ago
-
eschipul favorited this 2 years ago
Slideshow Transcript
- Slide 2: Social messaging application Developed in 4 months Invite-only launch in June We’ve learned a lot ...
- Slide 3: 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
- Slide 4: 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...
- Slide 5: 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...
- Slide 6: 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...
- Slide 7: Lesson: Do a lot with a little • Pownce has a tiny team • One website developer • Self-funded • Short deadlines
- Slide 8: Small Teams We wear many shoes. • Multiple roles • Learn quickly • Dedicated Do a lot with a little...
- Slide 9: 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...
- Slide 10: 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...
- Slide 11: 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...
- Slide 12: 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...
- Slide 13: 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...
- Slide 14: 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...
- Slide 15: 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...
- Slide 16: 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...
- Slide 17: [ JARRING CHORD ] Expect Anything!
- Slide 18: Lesson: Expect Anything • Young sites can run into many problems • Need to respond quickly • Can’t prepare for everything • Every web application is unique
- Slide 19: 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...
- Slide 20: Duly Noted: Keep lots of data. • Stats to monitor • Quantitative measures • Pretty graphs Expect anything...
- Slide 21: 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...
- Slide 22: 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...
- Slide 23: A feature that matters. (from Satisfaction) Expect anything...
- Slide 24: 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...
- Slide 25: Lessons Learned Think about technology choices Do a lot with a little Be kind to your database Expect anything
- Slide 26: Thanks!

