what you did last summer?
DESCRIPTION
Mariusz Nowostawski from dothinger team was talking at CodeCraft about his two summer projects: TabacooFree and DoThinger.TRANSCRIPT
CodeCraft meetingMay 2012
Mariusz Nowostawski@praeteritio
About myself
• Lecturer– Information science: telecommunications, AI,
programming (software engineering), security, network administration, design, multi-agent systems
• Scientist– Virtual machines and machine learning, evolutionary
computing, self-evolving software, mobile and ubiquitous technologies, modeling life
• Adventurer and others…– Running, mountain climbing, cycling, paragliding, etc.
Today’s talk
Summer project 1 applied research
Summer project 2 scaffolding for doing things
A: How many?B: How many what?A: How many people smoked in cars?B: 3. There 78 cars and only 3 had smokers.A: Any children in the cars?B: No. There were no children.A: That’s good.
A: How many?B: How many what?A: How many people smoke in cars?B: 3. There 78 cars and only 3 had smokers.A: Any children in those cars?B: No. There were no children.A: That’s good.
(pause)
A: Why do people smoke?
Person A
A: How many?B: How many what?A: How many people smoke in cars?B: 3. There 78 cars and only 3 had smokers.A: Any children in those cars?B: No. There were no children.A: That’s good.
(pause)
A: Why do people smoke?
Smoking debate
How many people smoke in cars?
Approx. 16,000 cars checkedone city, 4 locations
2 weeks, 4 data collectorsfixed protocol
2.0 – 6.4 % of smokers (depending on the area)
Crowdsourcing
• Wikipedia• Community based designs: threadless.com
www.local-motors.com (The Forge)• Community based voting: iStockPhotos• www.microtask.com – paper form transcribing• …• reCAPTCHA. Stop spam. Read books.• Voice-to-Text (cloud-based, like Google)• …
Counting smoking in cars
(summer project 1)
GLOBALink
• Vimal (Wellington)• Hamish (Otago)
• mid-October, kickstart• 3 skype meetings, drafting project specs• GIT repository, initial prototyping• Work on Android application continues…
TobaccoFree
• December – Androd App ready• January – web app ready, primitive and buggy• Mid February, initial “launch”• Working on iOS version in spare time• Localization• Bug fixing, new functionality, protocol
Summer Project
Source Line of Code:2136 Android Java1205 iOS ObjC1181 Web Python
Totals grouped by language:Java: 2136 (47.24%)ObjC: 1205 (26.65%)Python: 1181 (26.12%)
TobaccoFree.nzdis.org
“Big” software project
• Various software engineering skills• Project management skills• UI design, interaction design, specs/analysis• Deployment and Testing• Database skills (no-SQL, mongoDB backend)• Java & Android programming• Web apps, RESTful APIs, HTML, CSS, JavaScript• Google Maps integration
Lessons learned
• Full stack vs. Glue frameworks• No-SQL: the good and the bad• Frameworks integration• Multi-source-language development, 3 core
languages, plus JavaScript.• Localisation, coordination, updates• Testing, bug fixing, growing codebase,
managing complexity
“Big” software projecton $5k budget
Total Physical Source Lines of Code (SLOC) = 4,522Development Effort Estimate:
Person-Months: 11.70Schedule Estimate, months: 6.37Estimated Average Number of Developers = 1.84Total Estimated Cost to Develop = $ 131,746(assuming average salary = $56,286/year)
Deployment and Testing
• Public key cryptography, certificates• Publishing, setups, procedures
• Bureaucracy, administrative tasks (considerable)
• Funding: grant applications
Myths
“Oh, that’s easy. I can hack it in a week.”
“We just hire a programmer and it all will be done in no time.”
“Students will help. Students can do that.”
Further research
• Crowdsourcing: incentives, management
• TobaccoFree: smoke counting, models, stats
• Software engineering and curriculum rethink
• People will help to collect data
Students and participants
• Larger participation? Incentives would help? • Is building up skills an incentive enough?
• Skills. Tasks scope.
• Vertical vs. Horizontal specialization.
Summer project 2
Startups
• Topic for another talk– World 45, private consulting (praeteritio)– Ngarua
• Tomek (Wroclaw, Poland)• Murad (Helsinki, Finland)
Lapland
Motivation
• System for active lifestyle. example: new place, holidays
• Social networks. Actually, open social networks. example: email
• Innovation, agility, progress. imagine that• Research data. example: personal Science Lab• People behavioral data FOR PEOPLE (not for sale)
Why people do what the do?
We need to start somewhere
• Active lifestyle. • Open and transparent.
do thinger
• Doing things with friends vs. • Doing things with anybody vs. • Doing things on your own
• A “different” social/non-social network
dothinger.com
Things
Threads
What have I done last week?
go and check on DoThinger
doThinger
• We do not know yet where it is going – Tell us: you can and you should
• Event’s/trips photo sharing – Tomek
Doing something fun, learning, exploring things
Dunedin deserves it’s own Social Networking site