āHave you heard about BuzzConf? Can I tell you about BuzzConf?ā two statements that for months plagued my world. I couldnāt escape it.Ā
Iād heard about BuzzConfĀ after they put out a CFP (call for papers/presenters), pitched as a family friendly tech festival. That piqued my interest as Iāve actively explored ways to involve my daughter in my world of tech and find ways to spend more time with her. While Iād submitted a talk & signed up myself pretty quickly, it took me a while to settle on the decision to take my daughter with me to a tech conference.
So one Friday in November I pulled my daughter out of school, packed the tent in the car and took off for Ballan, Vic and the BuzzConf experience.Ā
I had the usual pre-conference jitters as I pondered the talk Iād be delivering but this time I was also conscious I had an 8 year old girl with me whoād have no problem telling meĀ āDad Iām bored/hungry/need the looā at the drop of a hat. Would this work? Will I regret this?
BuzzConf is like any conference in that it has speakers and an agenda, which broken into 4 key streams. Unlike other conferences you arenāt in a city, you are in a campsite. So the first thing that happens is you mingle more. You hang out around the campfire, and for those of us who are shy (yes I am!), the kids are instant ice breakers and conversation starters.Ā
The 2 day conference had one track 100% dedicated to the kids. On day one there were games to play (including Makey MakeyĀ powered funky game controllers), books to read, craft to make and mine craft sessions among the things they could do. The second day saw the team from Code the Future take the kids on a journey into ardunioĀ and robots among courses on mine craft and other games.
Generally the content from the kids stream and the core streams didnāt really overlap - until the NodeBots session by @ajfisher, and then did the two worlds collide spectacularly. It was such a delight to see a room full of people from age 6 to 86 (I guess, there were some grand parents attending) sitting at tables building mBots together. I think this was the best session hands down as everyone came together and embodied the family focus of BuzzConf in one session.
Another area that saw kids & adults all together was when the team organised a kids prize giving on the main stage. It was great to see all kids recognised for various activities. It filled me with such pride to see my daughter acknowledge on the stage alongside other great kids. This was such a confidence booster for many of them.
When I think about why I committed to bringing my daughter, this sentence comes to mind:
It takes a village to raise a child
It is important to me that my daughter experiences life and hears from other people, and so it was great at BuzzConf:
hearing other parents encouraging their girls to explore tech
my daughter engaging and interacting with other girls over tech
my daughter seeing women & men on stage with equal billing
awesome women & men leading the kids stream - they were seriously great folks (some young, some grandparents - equally awesome)
As Iāve discussed BuzzConf with others post the event, many have asked if I recommend it for next year. Of course the answer is yes, especially if you take your kids (I think there were about 20 or so kids & Iād guess 2/3 of these were girls in the 6 to 10 age range). However you do need to reset yourĀ ātech conferenceā agenda. For me, I missed most of the key sessions because I was with my daughter - I knew this going into the event and that was fine. (I attended with Developer Jack - so I could compare notes & get his take on sessions). I didnāt get to mingle with as many of the other attendees as I might have liked, I did however get to meet & hang out with other great parents, and for that Iām grateful as I enjoyed sharing notes/thoughts and comments about raising kids in todays tech & connected world.
I've spent a lot of time lately working with hundreds of companies who have a technology product or solution they are trying to promote. Many of these companies & teams can easily spend time talking passionately about the great features of their products. However often I find Iām left confused and unsure exactly what problem their solution actually solves & the value the solution brings.
I love this image (on right) that I found it on twitter a while back.
Sell the problem you solve, not the product.
Why is that important? Well...
Open my eyes
One of the things I find people are reluctant to do is educate people around the pain points in their business/lives. The assumption is that people are already aware of the problems and are already looking for a solution. The reality is people are so busy they donāt take the time to recognise these pain points. You'll often hear comments like
Itās just the cost of business.
Weāve always done it this way.
Why change what isnāt broken.
ByĀ āselling the problem you solveā you are taking people on a journey & the first step in that journey is helping them recognise that they have a problem. At this point you can start talking about a better way (aka: features) - but only because these features now have context as the solution to the problem.
If people donāt recognise the pain point, theyāll never see the value of the solution leading to buyers remorse, frustrated customers and high churn. Unlock the value your product brings, by educating around the problem you solve.
Tell a story
The best way Iāve seen to do this is to tell a story. People relate to stories, allowing them to connect to the scenario and thinkĀ āYes, thatās meā. If someone can have a strong connection to a story, that allows them to recognise traits from the story in their own life/business, it makes recognition of the problem easier.
When a conversations starts with āHey we know that you face XYZ problem in your businessā this tends to result in a wall being put up and the recipient being defensive. Where telling a story allows for a softer approach, allowing time to recognise and own the problem in their own world. This way they are much more open and theyāll see the value that your product brings to their world.
Eat an elephant one bite at a time
The last thought Iāll leave you with in this space, is simplify. When people talk features of a product they tend to be exhaustive lists of every single thing that product does. I find very seldom does every feature mean something to every client. When looking for the stories that sell the problem you solve, you might discover that for different markets you might solve different problems.
Donāt be scared to NOT talk about every feature. Customers are generally only interested in āCan you fix XYZ for me?ā, the fact you also do ABC doesnāt register and is often a distraction.
Summary
I challenge those reading this to think about the products they represent. Are you able to clearly articulate the problem(s) your product solves? If you can, can you tell me (or show me) a story from real clients that showcase this problem, and highlight the value your solution creates by solving that problem?
Trying out the Byword 2 as a tool locally on my mac for writing and publishing directly to Tumblr.
Of course that means remembering how to write in Markdown.
Iāve always liked Byword as a simple and clean tool for writing. I love the full screen distraction free mode, espcially for writing on a plane (and I spend a fair amount of time in planes).
Okay, Iām off to make myself a content calendar for the next while & give myself some focus here.
Node.js has had phenomenal growthĀ [2] since it was launched 5 year ago. Having its foundations in JavaScript and V8, two popular and well trodden technologies, has obviously given it a leg up in the credibility stakes but for a new platform to take hold and get used in production by so many big companies in such a short time is pretty amazing.
However, for a platform to really be successful long term it needs a strong and united community behind it. We live in a fickle, technology-de-jour, twitter-speed, world where sentiment can change and propagate virally in milliseconds. A divide like we are seeing in Node can easily impact that
I recently participated in a hackathon (full details here) where I won a share of 1st place - which saw me have a little extra 'toy' money in my budget. So I decided to treat myself to a nice little GoPro Hero 3+ Black Edition.Ā
I picked up a Joby GorillaPod SLR-Zoom while at the store and was using it not as a try pod but as a sudo stabliser rig. It works surprisingly well, however the joints creak and you get these terrible shudders and noises back through the camera.
So I started looking around for options & I found this video on YouTube of a pretty neat, multi-handle stabliser rig made from PVC - for around US$20.
I watched this and thought, US$20 ... which in Aussie dollars should be around, well AUD$20 given the current rates. I headed off to Bunnings and picked up some supplies, and set about building the base rig. NOTE in the video Ken uses BMX bike handles - I will do this, but haven't yet.
Here's the breakdown of what I bought
$6.73 - box of washers (needed 1)
$3.95 - box of 6.35mm bolts & nuts (needed 1)
$3.90 - type n blue PVC solvent cement
$5.97 - 3x 15mm T joint
$1.50 - 1x 15mm PVC cap end
$2.40 - 4x 15mm 45 degree elbow
$8.82 - 6x 15mm 90 degree elbow
$3.80 - 2x 15mm PVC 1m pipes
So right now I'm up to just over $36Ā and I've still not bought the bike handles, nor the paint to paint it (and I'm leaning towards using Plasti-Dip which will push price up a bit)
The build
The steps below are taken during a dry run. I will not be cementing until I've got the BMX grips which I don't have yet.
Start by cutting 9x 15cm lengths (that's 6 inches) of the PVC tubes (ignore the tube on the left for the moment) and then cut 4x 10cm lengths of tube.
Next, take one of the 15cm (6 inch) lengths and cut it, so you end up with 1x 5cm (1 3/4 inch) and 1x 8cm (3 inch) and fit them into a T joint as shown above. You want the entire length of this finished bit to be 15cm (6 inch) so it matches the others. Take another smaller off cut and put it in the top of the T, this will be where you end up mounting the camera.
Take the end cap you bought (or if you can find it, like Ken in the video uses, the end plug) and drill a hole in the center. Place a washer on the bottom and a nut on top (some where for your camera to mount on) and screw tight. Fit the cap to the off cut you placed in the T joint as shown. NOTE: I shortened my cap by about 50% of its height, and in the photo I haven't pushed it right down.
Start assembling the base of the frame. Insert two 15cm lengths into a T joint, and in the top of the T insert the length we just made, with camera mount facing up. On the outside edges place 2x 45 degree elbows and into these go the shorter 10cm lengths. Place a 90 degree elbow on the end of the pipes as show above.
You pretty much repeat this process with the top frame, except there is no camera mount here. Note: take the time to clean up your cuts, and I find that quickly hitting the rough ends with sandpaper helps it all fit nice and snuggly together. Push the joints together HARD - as hard as you can.
Now just add the remaining 3x 15cm lengths to the elbows and mount the top to the bottom. And that's really all there is to this simple and light rig.
It looks like & feels like a huge rig for the tiny GoPro - but it does keep your hands well out of frame and well away from the camera.
The DSLR fits in here really well and has a great balance to it. I handed this rig with the DSLR to my 6 year old and she took off running around the house with it laughing and giggling. The Sony's tilting LCD is going to be great for this rig.
The whole thing weighs in at about 550 grams - so it doesn't add much weight to your setup, and given the extra grip, support and usability I think that's 500grams I can work with.
What's next?
Well, I'll get the bike grips added, cement the whole thing up and maybe hit it with 5 or 6 coats of Plasti-Dip (I'll give the T joints and others a good sand first) to give it that professional look.
And then? Well I fully intend to go to the beach, load up the GoPro and chuck it in the sea with the kids - should be a blast.
It's funny how words can have an impact on your life. I have a minor medical thing that I've lived with for over 10 years. It's nothing major and it's managed by a pretty common (in some places over the counter) drug. And then last year during a small kidney scare my doctor said these words:
Oh, kidney failure and throat cancer can be the side effects of long term usage of this drug
There is nothing like the C word to wake you up a little right? Oh and if you are wondering, long term use in anyone over 65 is 6 months! Thankfully I'm not over 65!
I had a consult this morning and the Dr's here in Aus explained to me in detail what my previous Dr had explained was a small surgery. It's small I guess as far as surgeries go, it's still 10 days off work and a few nights in hospital and 5 to 6 incisions ...
I'm not complaining, simply musing how words can have an impact on life. I find myself now seriously contemplating a surgery that will potentially get me off this drug, but will forever alter my life and enjoyment of food. Small price to pay I reckon.
āMarkdownā is two things: (1) a plain text formatting syntax; and (2) a software tool, written in Perl, that converts the plain text formatting to HTML.
I canāt believe Iām finally getting on the Markdown bandwagon now - I mean itās not like Jon Gruber created it 8 years ago right? Well turns out it was longer ago actually. 2004 was the year and yes Iāve tinkered around and been āforcedā to use it before but now Iām giving it a damn good crack.
Probably the core reason Iāve started using Markdown more is GitHub & BitBucket both make extensive use of Markdown for readme & other documentation files. One of the things I hated about Markdown was writing it in horrible (style wise) text editors. But now Iāve installed Byword for the Mac which uses a very elegant and clean interface (esp in fullscreen mode), that does give some basic style hints (based on the Markdown you are use) but really just gets out of the way and lets you write. The fact it then lets you publish to HTML, PDF, Word, RichText not to mention Wordpress, Tumblr, Evernote and other, is bonus really.
So there you go, if you need to write in Markdown, then I highly recommend Byword .
As a developerĀ evangelistĀ one of the important things about building an API team (even more so when doing this inside an existing business) is ensuring your team gets the right amount of focus, attention and love across the business. I've heard many stories of how businesses often start to give focus to an API only to later abandon, change focus, change tact or reduce the team. This is soul destroying for the API team members - not to mention what it does for your developer cred & brand in the market.
This is something that I've heard from almost every API team I've talked to. They get spun up and then the business looses focus on them, things change. And if you think this doesn't happen after you've had some massive wins & successes with your API - then think again. I've even heard of this happening years after the launch and successful uptake of the API by the company and the developer community.
So what can you do to ensure your API team gets the love they need? The short answer is 'make noise & give identity' - get out there and rattle the cages and put your teams stamp on things. In a situation where the business isn't 100% focused on you (and I'm yet to see a business where the focus is 100% on the API all the time) you have a choice. You can sit quietly waiting for resources, tools and access - or you can use this time to crack on and do some stuff.Ā
The small things
One of the things I highly recommend is give your API team a brand. As silly as it can seem having a brand & logo gives the team identity they can hold on to and allows them to start to create presence within the business. They can start to use this brand & logo in social media, on dashboards and to give life to the team. What I'dĀ recommendĀ though is let them own, manage and drive this brand - it's theirs and they need to shape it. The API team know the voice of their market and chances are it's fundamentally different to your existing business market.
In todays modern open plan offices its hard for teams to own a space. Hard but not impossible. One of the things I did for my API team as soon as we had a visual brand, was create some custom dashboards, branded and in our voice. These aren't your typical bar charts and graphs (although we have those too), these show custom data laid out visually for people to consume as they walk past. Data they want to know & consume quickly.
Activity awareness is another area I encourage you to explore. With our dashboards, I built a couple of custom screens that pull through live Instagram feeds and other social media and display these. I'm lucky that we have a massive TV on the wall above our whiteboard. These streams allow the business to feelĀ connectedĀ to the API team as they are out and about. (Yes, I got SMS's from people in the office while I was at CeBit asking for updates)Ā
To further define 'our space' in this huge open plan office, I went cheap. Cheap & DIY, but the effect has already been huge.
With some supplies from Bunnings and OfficeWorks and a spare afternoon, I (well okay I drafted in my creative wife) created some 3d Cogs that represent our Logo. Now hanging over our desk are two large bright green cogs that give presence to the team. (and yes you can see them right across the office)
Make noise & walk the talk
The reality is while brand, dashboards and visual elements can do wonders for bringing the team together and creating something to push off, nothing makes an impact like making some noise. If you want the business to give your API team the focus they need, the API team have to be in their face making noise. Noise is different for different parts of the business & knowing what noise each team responds too is crucial.Ā
Noise can be a regular update to the exec, noise can be a regular comm to the company about activity in your space and noise can be sharing your vision for tomorrow with a few like minded people over coffee. Look for opportunities outside your area to inject the 'API mindset' and make some noise.Ā
What ever you do - walk the talk. If you make noise, share a story our paint a picture about tomorrow, you had better be backing that up with kick arse work out of your team.Ā
For me that has meant rolling upĀ my selves, cutting code and pushing to market - so we have tools and resources for our team and our developer community. Do what you need to do to back up the noise you make.
Focus or not, you have a job to do
So do we get the right amount of attention? No, I don't think we do, and I'm not sure we ever will and that works just fine for me.
The way I see it, I need to keep my developer community happy,Ā I need to keep my team happyĀ and then I need to keep my company happy (in that order), I use the amount of focus we do or do notĀ receiveĀ to my advantage toĀ deliver.
I'm a Dad - and I have to say its the best job in the world. Going to playgrounds, running around madly, sitting in bed telling stories, or lying on the floor with a big roll of Ikea paper and drawing stories, these are magical moments in life.
I was sitting with my 5 year old daughter one morning and we'd been playing some game on the iPad - I forget which game, when I turned to her and said "Would you like to make a game?" Her eyes lit up and she smiled "Yes Daddy"
Now at this point I have to admit, while I've been in the web & mobile space for years I had only just recently managed to design, code & launch my own mobile app (LegitABN). High on the idea I could conquer the mobile world, I started to led my daughter along this path.
The Approach
I decided we'd take a really simple approach to this game idea. We'd start with something super simple - and by that I mean, simple in all aspects of the word - and we'd just see where it took us. There were really two driving factors in thisĀ decision.
At work (MYOB) this year there has been a strong push around the lean startup,Ā something I'd been dabbling with for a couple of years but never really pushed into. As I looked at this idea of building something with my daughter I thought I'd take a very stripped back, lean approach (although we were not going to 'test' any hypothesis on this build).
I saw this as a chance to apply some of that Lean Startup thinking to my own projects, and work to deliver a Minimum Viable Product. Right through the process I kept asking myself "do I really need to add X Y or Z to this?". So as you'll see, the game does one thing, and I like to think it does that one thing really well (X Y and Z can be future versions).
The second reason I took this stripped back, 'do one thing' approach is 5 year olds have very short attention spans. QuiteĀ literally 5 mins after we sketched the initial concept she turned to me as I started the laptop up and asked "Daddy, can I play the game now?". With that in mind I knew I had to build something fast if I wanted her involved & interested.
The Planning
We started as any project starts, "What's the idea we want to build?" and we decided on a 'fall' game where an object simply falls down the screen and you collect items on the way. You'd control it by tilting & moving your mobile device. My daughter loved this and was suggesting all sorts of things to collect - right up to the point where I realised I had no clue how to do that.
Here's my daughter doing some UI work
So we had a second "whiteboard session", our first 'pivot' if you will. And during this time of sketching we ended up playing Naughts & Crosses on the paper. It was a eureka moment. I knew my daughter loved Naughts & Crosses and I figured it was much easier to build.
We cracked on with working out the MVP, the UI and I looked into some of the required game logic.
The Technology & Build
Going back to the 'build fast' idea and knowing I had to have something my daughter could interact with pretty quickly, I settled on using HTML5, JS and CSS for the build. It's what I know and it removed any question around 'could I build this' and left only the question of 'can I deliver this to iOS and Android'.
Because we had a UI sketched on paper, and my daughter had picked colours, it meant I could whip up the base HTML and CSS and using the mobile browsers on the iPad, Kindle Fire, HTC Sensation and iPhone 5 we could start basic UI testing.
I learnt something valuable here - kids are fantastic testers. Why? Because they don't think like we adults do. Take a look at this pic as an example
My daughter testing
When was the last time you saw a tester holding the device over their head to test for bugs? Oh, and you should have seen her face the first time I said "Oh dear, we have a bug" - she wasĀ devastated.Ā
Once I had the game working in the browser for each device (which took maybe half a day), it was time to start thinking about the mobile side of things. There are lots of tools out there today to help web developers like myself get into the mobile development world like, Appcelerator's platform, Tiggzi - now Appery.io, PhoneGap, RhoMobile and more. Each fits a different place and purpose.
I had tinkered around with an Adobe hosted version of PhoneGap before, called Build, and again in line with the whole, 'build lean', 'build fast' idea, I went with something I at least knew something about. After adding some PhoneGap configs and JavaScript to tie in with the PhoneGap bindings, I simply uploaded the project to Build and it automagically made our various builds for iOS, Android, Windows Mobile etc.
The reality is it's not quite so easy, and debugging in build.phonegap is nigh on impossible, but we got there in the end. Now we had a working game that we thought looked great and worked pretty much flawlessly on iPhone, iPad, a Kindle Fire and HTC Sensation. It was amazing to sit back at the end of the day and see not only my daughter, but my wife also, sitting on the couch playing the various levels we'd built into the game.
The Stores & Results
The hardest & longest part of the whole process was the submission to, and waiting for approval to the iTunes store. Apple's submission process is pretty straight forward, just drawn out. It took about 16 days for them to review the app, where as in Google's Play for Android it's live in the store within a couple of hours.Ā
We've done very little promotion - getting huge downloads wasn't really the driving force behind this project (and no, there are no adverts in the app and it's free - we're not making any $ off this). However anyone who follows me on Twitter knows I've tweeted it a couple of times & of course I've told friends, workĀ colleaguesĀ etc. The funny thing is in the circle around me probably 50% are iOS people, then maybe 45% would be Android and the rest Windows Mobile or similar (I'm guessing the numbers) and my Android friends are vocal about their devices and were keen to install, but the stores - we'll that's a different story.
The iOS version has seen over 300 installs in just on 14 days, while the Android version has seen just 26 people install it 34 times (installed on multiple devices) in just over 3.5 weeks
Get the game
So, there you have it. I spent a day bringing my daughter into my world of tech, coding and product development. I applied lean startup and rapid development processes to keep her engaged and we delivered to market a pretty cool version of Naughts and Crosses. That's all cool, but the best part is sitting beside my daughter, watching her play a game that we built together.
Download the Daddy Daughter O&X game for your mobile & I'd love it if you spread the word.
I had theĀ privilegeĀ last night of sharing a meal with a bunch of like minded API focused folks. One of these folks was Ryan SarverĀ from Twitter.Ā
During the conversation we got onto how you manage (or don't) multiple Twitter accounts from the official Twitter iOS app. Ryan said, "Oh, here's something" and he takes my phone and proceeds to show me a hidden UI feature with the app.
If you SWIPE UP on the Me icon (shown by the purple arrow above) it's a quick access to your DM's. That's cool but what's better is this ...
If you have multiple accounts in the app, SWIPE LEFT (shown by the green arrow above) and it takes you to a quick screen listing the accounts, allowing you to swap accounts quickly.Ā
This makes the app much more usable for managing multiple accounts while out on the road. Now, Ryan, could you just get the guys to add some visual QUE as to which account you are using to help reduce posting to the wrong account :)
How hard is it to get a good Flat White? It's not rocket science people, there are just a few simple steps
Great beans, roasted fresh (within past 7-12 days)
Great extraction, not hard, just tamp properly
Warm (65-70 degrees C) milk, don't take the milk over 60 degrees C while you froth - it keeps heating for a bit.Ā
Pour
Practice these simple steps and you'll be making awesome Flat White's soon enough. I can't believe the number of cafe's that constantly get this wrong.Ā
You can tell a bad Flat White from the first sip. If it has that bitter 'ash tray' taste to it, the coffee is bad. If it has a bitter 'burnt' taste, then chances are the milk has gone too high and the sugars in the milk have burned.
Don't ruin my flat white! Oh and if you are in Auckland and want to learn from the best? Go to Espresso Coffee School.
I don't own a TV, haven't owned one for nearly 4 years. However that doesn't mean I didn't watch television. In NZ for the past 3 to 4 years we used the great EyeTV and a USB tuner to watch & record live TV on the Mac. It was great and even the base tuner allowed basic watch one channel & record another (provided they were on the same frequency). Here in Aus though we don't have the iMac close to any TV plug, so the EyeTV tuner is sitting in a box. We also don't have a TV. We do however still get to enjoy shows like NCIS, MythBusters, Master Chief (only delayed by 40mins) and movies and more. Most of the channels here run OnDemand services & it's great. Sure not everything is there & yes some stream better than others, but really we get to choose what to watch, when to watch with probably less than 1/3 of the adverts. The fact we can also stream many of these to mobile devices like iPhone and iPad is just bonus. I don't miss the news, I don't miss the adverts & noise, I don't miss the late night start for some shows. I do however miss V8SuperCars (is this streamed anywhere online?). So if I am happy living without a TV in the house, why is it that every time I walk into JB HiFi do I still look at & think about buying a big TV?
I'm becoming more and more of a jQuery fan (although for mobile work I use Zepto.js for it's lighter footprint). Most of my projects now have some aspect of jQuery work in them.
I'm also a huge fan of online and mobile payment. I'm fascinated by the whole online payment space at the moment with loads of cool stuff happening every day there.
I saw today that Stripe.comĀ (the awesome payments API for developers) have launched a jQuery plugin, which gives jQuery the ability to do card number validation (and much more) on the fly.
This is fantastic and I can't wait for an excuse to try it out. Learn more on the Stripe.com blog.