Upload
mahesh-salaria
View
502
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Hackathon @ Kayako
Twi0er Handles: @kayako, @salaria Twi0er Hash tag: #kayakohack
What is a Hackathon?
• Time-‐limited coding event. You’ve got X hours to produce something that works, is impressive and useful.
• You bring nothing but a laptop and an idea, Build team and hopefully leave with working code (prototype of the future product/feature).
Why would we do Hackathon?
• It’s fun! • It gives you an excuse to learn something new and challenge yourself.
• Prove your NerdFu to the world. What can you do in 8 or 12 or 24 hours?
• Meet with likeminded people, share ideas and build something useful.
Where do I start?
• Find a small problem to solve, that you think you can solve with what you know now + 2-‐3 new things.
• Find a toolset to use -‐ either one you know or want to explore.
• Keep your scope limited!
Scoping
• Start by defining exactly one feature to tackle. • What do you need to write for that? • How many new things are you going to have to learn to make it happen? • Lets try to keep it to three new things and one or two features.
Hit the ground running
• Plunder as much open source as you can! • Use open APIs to get you started quickly, but only ones that automa^cally provision (you don’t have ^me to wait around).
• Do exactly one thing at a ^me.
Example Hacks (LiveStatsChat)
Live Stream of Visitors from my.kayako.com
RaspberryPi Media Server and FM
the fiddling
• Remember, I only gave myself X hours. I was running out of ^me and eventually had to give up gedng everything I wanted.
• I moved a lot of things around and messed around trying to get the popover stuff working.
• It’s not pre0y, but I solved the basic problem!
Things To Remember
• Working > Pre0y • You can always add pre0y later if you have ^me.
• Rough is fine as long as it works (or looks like it works).
• Take breaks.
Hammering it home
• One feature at a ^me. • Don’t start on feature 2 un^l #1 is finished and working in a demo-‐able way!
• Keep your goals limited and well-‐defined. If you have ^me, you can add more, but at least get the very basics working.
Plan Ahead
• Know what problem you want to solve. • Have a basic plan for what toolset you’re going to use.
• Install pre-‐requisites (but don’t start coding, seriously)
• Get your API keys!
Working with a team • Pick a leader / ^e breaker / burnout warden • Use source control! • Divide responsibili^es and decide on integra^on points /
check-‐in ^mes.
Do Mini-‐Sprints!
• Break up your 12 hours into 3 four-‐hour chunks, with check-‐ins every hour.
• Everyone has deliverables that have to be done in that ^meframe.
• You can come up with this plan ahead of ^me... it will save organizing ^me later.
Feature drop! • If things slip, don’t be afraid to drop them and
re-‐evaluate. Remember, the goal is to have something working to show at the end!
• If you need to, jump in and help with a specific feature to get it working.
Staying Sane
• Take breaks, get up and walk around. • Sleep if you have to, but if you start sleeping, you might not be able to stop.
• Pace yourself -‐ don’t load up on caffeine too early! A slow steady supply will keep you up and alert.
• Don’t eat too much. It’ll make you sleepy.
Kayako Developer Resources
• Kayako App Protocol for Live Chat • The Kayako REST API lets you quickly develop applica^ons to connect and integrate into your Kayako helpdesk.
• Kayako Staff API for Mobile App Development • Kayako Apps and Hooks • hAp://wiki.kayako.com/display/DEV/Kayako+Developer+Resources+Home
QUESTIONS? SUGGESTIONS? IDEAS?