Unblocking The Main Thread Solving ANRs and Frozen Frames
CC Salon Seoul
1. 우샤히디 & 오픈 소스
@brianherbert
Director of Crowdmap
CC Salon in Seoul
August 2012
2. Kenya Rocks
• Kenya is an example of peace and stability in
East Africa.
• Kenyans have serious mobile skills. Higher
quality cell service than the US.
http://www.weebls-stuff.com/songs/kenya/
3. Kenya Rocks
• Kenya is an example of peace and stability in
East Africa.
• Kenyans have serious mobile skills. Higher
quality cell service than the US.
http://www.weebls-stuff.com/songs/kenya/
18. ASP.net, ehhh...
• Not a popular language in open source.
• Back then and today, it’s not even in the top 10.
JavaScript
Ruby
Python
Shell
Java
PHP
C
C++
Perl
Objective-C
Top 10 Languages on GitHub
https://github.com/languages
19. The Stack
• We chose a LAMP stack (Linux, Apache,
MySQL, PHP) for universal acceptance.
• Difficult to switch once the decision has
been made.
• Projects risk alienating community when
changing language preference.
20. Version Control
• Most important technology decision.
• Only two serious options:
• SVN - Centralized
• Git - Decentralized
• Distributed, decentralized version control
is good for open source.
21. Communication
• Ushahidi utilizes every channel of
communication possible.
• 10 Forums
• 3 Mailing Lists
• 1 Support Email
• 6 Chatrooms (Skype, IRC)
• 4 Issue Trackers
• TOO MANY!
22. Project Teams
All-Powerful Project Manager
Slave Programmers
25. Development Workflow
• Git informs how we manage code as a
team and a community of volunteers.
• Developers fork and make pull
requests.
• Trusted developers push directly to the
repository.
• Become trusted by DOING good work.
26. Just Do It Already!
Want respect in an open source community?
• Fork a repository.
• Write some code. PRO TIP
Do not ask
• Submit a pull request. permission.
• Implement feedback.
• Celebrate.
• Do it again.
27. Do-ocracy
• Ushahidi rewards active volunteers.
• Rarely interview new employees, simply
hire the volunteers who are doing work.
• I was hired via email. Committing code
and active participation was all it took.
28. What do we need?
• Testers
• Bug Killers
• Translators
• Huge thank you to Jungkwan Kim ;)
30. Get To Work!
Git can be scary. Be patient!
help.github.com
Hack our code. Fork us!
github.com/ushahidi/Ushahidi_Web
github.com/ushahidi/SwiftRiver
.... or any of our 73 repos.
Don’t listen to me.
Start your own project!