An internally focused exploration of an idea is different from an externally focused one. In my experience, noticeable differences have been related to market, revenue, customer etc. F.ex, relatively small potential improvements in work within main value streams could clearly dwarf size of investments, or have been considered already.
Anyway, here’s a kind of intranpreneur canvas that’s been useful for me a few times lately when thinking about building new software.
At LKNA13 in Chicago this year I listened to @JoshuaKerievsky talk about #techsafety.
He made me think about quite a few aspects of safety and injuries for a programmer. Here’s a few quotes and elements:
safety on team (ref own dev competence)
«working with CVS is hurting my soul.»
safe from uncertain work situation
safe to deploy – bugs, crash
safe from pressure – politics, policies
Emotional Injuries: Schedule Stress, Lost Respect, Fear of Failure, Torn Trust, etc
What’s interesting is his claim that having #techsafety as a primary value would be profitable and produce outstanding results. I think I buy into that, even if he hasn’t had time to prove it yet with his own company, @IndustrialLogic.
keytool on Ubuntu to create a simple keystore, for signing the app
The gist of the Jenkins job is:
Get updated code from Git
Execute shell command to create an ant build file on the fly with the Android SDK tool android:
/opt/android-sdk/tools/android create project -n [name of resulting app file] -t [Android target] -p [name of temporary directory where project is copied and ant files generated] -k [package] -a [default app class]
Copy resulting build.xml from the temporary directory to the project root
Run ant targets clean release, with the following properties:
The Ubuntu VM didn’t have X installed, and getting SDK components seems to require a GUI. I tried to go around this by copying tools and targets from SDK on my laptop.
A bit later I got stumped by an error message on aapt and “no such file or directory”. (This might have been related to what I did on the previous problem…) An answer on stackoverflow regarding ia32-libs provided the solution in my case.
This project is a side project with low activity compared to a day job, so right now this job is a one-click deploy job (one click plus downloading and installing on the phone…) However, I think we’ll set up nightly polling, so there’s an updated app available every morning for testers, and they can see by the timestamp if there were any updates the previous day.