Skip to content

Instantly share code, notes, and snippets.

@alanklement
alanklement / gist:bc1adbc491cd6beb01e2f0d63b07c1d8
Last active January 12, 2017 16:46
Letter to John and Rick about JTBD
My thoughts about JTBD are changing after talks with you. The conversation w/ Rick was helpful too.
I'm seeing the shortcomings of JTBD as a theory of "customer motivation".
Let's back up.
Question: Why do so many innovations fail - either in design or in their ability to persuade customers to buy them?
Answer: One reason is the "customer needs" paradigm.
"Customer needs" paradigm
Alan: [3:31:17 PM] Pehaps you can help with something....it's not in your area but maybe you can advise...
[3:31:36 PM] Here is a snap of my controll panel
[3:31:39 PM] https://www.dropbox.com/s/e2l336gx4095w4d/Screenshot%202014-04-03%2017.31.20.png
Travis: [3:34:52 PM] okay what questions do you have?
Alan: [3:35:24 PM] Well. I have two crt files from digicert, but I only see one request to upload in the panel
Travis: [3:36:53 PM] are you referring to the digicertCA and Trusted Root?
Alan: [3:37:37 PM] well the files I got from digcert are: DigiCertCA.crt & aimmsa_com.crt
Travis: [3:38:05 PM] Yeah the CA Certificate is the DigiCertCA you have the aimmsa one right
Alan: [3:39:03 PM] yeah...
[3:39:04 PM] https://www.dropbox.com/s/86uw11ozq6ms4cg/Screenshot%202014-04-03%2017.38.51.png
info: Welcome to Nodejitsu alanklement
info: jitsu v0.13.9, node v0.10.1
info: It worked if it ends with Nodejitsu ok
info: Executing command deploy
info: Analyzing application dependencies in node app.js
debug: { method: 'GET',
debug: uri: 'https://api.nodejitsu.com/apps/alanklement/aimmsa.com',
debug: headers:
debug: { Authorization: '*********************************************************************',
debug: 'Content-Type': 'application/json' },
Alans-MacBook-Pro:product-site osx$ jitsu deploy
info: Welcome to Nodejitsu alanklement
info: jitsu v0.13.9, node v0.10.1
info: It worked if it ends with Nodejitsu ok
info: Executing command deploy
info: Analyzing application dependencies in node app.js
info: Creating snapshot 0.0.03-33
info Uploading: [=============================] 100%
error: Error running command deploy
error: socket hang up
@alanklement
alanklement / script.js
Created December 7, 2013 00:13
Data friendly, numbers only and human readable numbers for input field. This does two things: 1) Cleans data for entry into a data model as a Floating point. 2) Renders back to the user a more human readable value. See it live here with HTML: http://plnkr.co/bznBGg
var app = angular.module("myApp", [])
app.controller('Controller', function ($scope) {
$scope.input = '23423423';
});
app.directive('numbersOnly', function ($filter) {
return {
require: 'ngModel',
angular.module('appApp').directive('vzContenteditable', function () {
return {
require: 'ngModel',
link: function (scope, elm, attrs, ctrl) {
// view -> model
elm.bind('blur', function () {
scope.$apply(function () {
var string = elm.html().replace(/(\r\n|\n|\r)/gm, " ").replace(/\s+/g, " ").replace(/ /g, '');
ctrl.$setViewValue(string);
});
var CardBodyGUI = function() {
var GUI = {};
var editTitleText = {};
var staticHeaderText = {};
var imgHolder = {};
var video = {};
var editBodyText = {};
var staticBodyText = {};
@alanklement
alanklement / CardBodyGUI.js
Created September 11, 2013 13:36
Some of the source code from my vizipres spike. This file is an object I would use as a base if my editable cards.
var CardBodyGUI = function() {
var GUI = {};
var editTitleText = {};
var staticHeaderText = {};
var imgHolder = {};
var video = {};
var editBodyText = {};
var staticBodyText = {};
@alanklement
alanklement / SWFbridgeMenuItem.as
Created May 11, 2012 13:09
Add menu item to SWFBridge
// "The Refactor cannot be manipulated - it's controlled by JDT and we don't have access to it."
_bridge.ui.registerMenuEntry("Semicolons", "Fix semicolons", "action1","", "mainMenu/file/new:after").sendTo(null,null);
_bridge.ui.registerMenuEntry("Edit Begin", "Edit Begin", "action2","", "mainMenu/edit:begin").sendTo(null,null);
_bridge.ui.registerMenuEntry("Source Begin", "Source Begin ", "action3","", "mainMenu/asSource:begin").sendTo(null,null);
_bridge.ui.registerMenuEntry("Navigate End", "Navigate End ", "action4","", "mainMenu/navigate:end").sendTo(null,null);
_bridge.ui.registerMenuEntry("Search End", "Search End ", "action5","", "mainMenu/search:end").sendTo(null,null);
_bridge.ui.registerMenuEntry("Run Before Run As", "Run Before Run As", "action6","", "mainMenu/run/runWithConfigurationAction:before").sendTo(null,null);
_bridge.ui.registerMenuEntry("Project After Clean", "Project After Clean", "action7","", "mainMenu/project/buildClean:after").sendTo(null,null);
_bridge.ui.registerMenuEntry("Window
@alanklement
alanklement / Reflective_Image.as
Created May 10, 2012 20:40
An Effect To Create A Reflection
package fx
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Matrix;