Quick and easy source code management (5-10min)
Using SourceTree makes using git less of a chore. Very positive if you’re trying to bring team recruits who are used to SVN up-to-speed on git.
We’ll be demoing it’s use in our code example in a few minutes.
GitHub is the classic choice for free hosting if you don’t mind publishing your bright new idea to the world.
If you’re a bit more shy (What happens at StartupWeekend stays at StartupWeekend?) and would like to keep your big idea private, just use BitBucket.
It’s free for up to 5 users and supports Git or Mercurial. It also has nice collaboration features. (Good for post-hackathon follow up.)
Synchronizing binaries: Bittorent Sync VS Dropbox
Dropbox is a great tool, but if you’re like me you’vee reached the limit on that a while ago. You might be paying for extra space, but chances are members on your team are not.
Bittorent sync is a nice alternative. Just install it on your Mac or PC, add a folder to be synced. BT Sync will provide you with a key to share with the rest of your team, and presto, instant, unlimited, secure file sharing. Great for those bigger binaries or that pile of .pdf and design documents that don’t belong under git.
Rapid prototyping (fluidui.com,proto.io)
To be honest, we just wanted to give the non-coders an alternative to design screens and mockups. While preparing the demo, we started having doubts as to their pertinence in a hackathon.
As it stands, paper or the back of napkins are also great sketching tools. The main issue with formal UI tools like these is they dont enforce a platform’s design language. iOS has certain UX design patterns, Android has it’s own, and neither sketching tool really reflects these in their default toolbox.
Which brings us to the meatier part of our talk.
Rapid Android dev techniques
Leveraging IntelliJ/Eclipse UI Editors
You can follow along the various steps on github.
Using Genymotion for super fast feedback loops.
- Blazingly fast, faster than real device.
- (Integration tests at x10 speeds? Yes please.)
- Perfect for product demoes on projectors
- Acts like a real device
- Access to Play Store
- Syncs with your google account
- Current version has softkeyboard/hardkey bugs (overflow a problem)
- When using NDK/JNI you’ll need to make sure to provide x86 libraries
Quick, where’s my .apk??
- Just run (ctrl-r) with your device as a target, or:
- From your project folder on the command line (Mac/Linux with properly configur):
ant clean release
find . -name \*apk -lspoints to the useable .apk.
adb install your.apkto install
adb uninstall com.your.project.packagename your.apkto uninstall
“Easy” wins when/if time permits
- Leveraging Google’s Android APIs (Maps, push notifications, etc.)
Pits of doom?
- Like scrum? Use post-its, avoid time consuming task managers.
- ActionBarSherlock: we love it, but if you’re lucky, by the time you have a shippable product, gingerbread will be dead. The time overhead isn’t worth it.
- RoboGuice, RoboElectric are awesome, but you don’t have the time. 🙂