• Plastic Vs Metal phone bodies – HTC One M8

    Date: 2014.04.28 | Category: review

    I recently found myself owning a HTC One M8, all of the reviews looked great.  However I have a huge gripe with the metal body.  While this phone looks great metal bodies fail for these 3 reasons:

    1, Slippy.  Because the phone body is metal and because the edges are far too rounded the phone slides out of your hand far too easily.  It’s also way too big for an average sized hand but I kinda got used to this.

    2. Cold to touch.  Admittedly I’m probably one of a handful of people that lives in an old, cold house.  This phone just becomes a horrible thing to touch when it’s been left out in a cold room over night when the heating is off.

    3. NFC.  The NFC support on this phone only really works where the camera lens is, this is probably mostly due to the metal body, I can imagine the discussion went something along the lines of..  Engineer: Yea but it will affect phone signal and NFC performance..  Sales guy: “Yea but SHINY!”…  We need to grow up and use the right materials, not just the ones that are the most ascetically pleasing.  A phone is not a piece of jewellery.

    Thankfully the Dot view case solves all 3 of these problems.  It’s disappointing but understandable that the LED output isn’t visible in direct sunlight conditions.  The case also serves as a nice little stand keeping the phone tilted to you in landscape mode when placed flat on a surface.

    I also wish this phone came with less bloat-ware, ugh!

  • Video conferencing within Etherpad

    Date: 2014.04.26 | Category: etherpad

    If you are working with anything that requires and privacy or security it’s pretty clear doing this on a publicly facing web service is risky, everyone has been left shaken from Heartbleed.  We will get over this issue but until that point we wanted to remind people you can do local real time document editing sharing and video conferencing so we put up VEtherpad.  VEtherpad is Etherpad with a webrtc plugin installed.  The webrtc plugin introduces Video and Audio chat functionality to pad members.

    Think to yourself next time you are using a Google/Microsoft service locally in your organization, do you really want to take the risk of your document/data being leaked?

    VEtherpad empowers you and it’s free / open source and easy to deploy.  There is really no reason you wouldn’t have a bash!

  • A modern forum for a modern web

    Date: 2014.04.16 | Category: nfc ring, nodejs

    Screenshot from 2014 04 16 175611 550x321 A modern forum for a modern web

    We recently migrated our NFC Ring forum over from ProPHPBB (Hosted PHPBB) to NodeBB. Let’s be clear, in this blog post I’m not comparing like for like. ProPHPBB is a free service, it is open source, built on PHP and it’s been the cornerstone of forums on the web for years. NodeBB is the young kid on the block.

    Let’s get this out of the way, we paid the NodeBB team 300$ for our migration from PHPBB. Hosting and support is costing us ~70$ per month. With the support we’re getting we feel it’s value for money, we didn’t pay anything for the service from ProPHPBB, it was ad supported.

    The guys at ProPHPBB were also great, we’d usually get our SQL export within 12 hours of asking. Obviously if we were paying them a monthly fee we’d expect a quicker response or even the ability to dump our own SQL but so is life.

    The ads on the ProPHPBB forum hosting were just far too offensive and damaged our brand. It’s kinda obvious that PHPBB’s days really are numbered, the design and implementation is just too dated now for it to ever really become relevant again, I gotta thank it for it’s service though, truly great software has a shelf life like any other product and we should celebrate the circle of life. Thank you team PHPBB and the community around that project!

    NodeBB presents some other significant advantages than providing value for money:

    • We can map our sub-domain
    • We can use our SSL certs
    • We can use our new Oauth2 Identity provider to provide a single unified sign on.
    • It has a great chat feature and notification system.
    • Posts can be up/downvoted and favorited
    • It is Beautiful, the UI is perfect for our Brand.
    • Responsive CSS provides a nice mobile experience

    Migration wasn’t completely smooth, this wasn’t a huge surprise because we have all been crazy busy but what mattered is that pretty much any time I hit a problem I could jump onto IRC and Julian would sort it out within a few hours.
    I have no regrets about using ProPHPBB initially as it gave us a very quick start with forums. Ultimately though, I’m happy with our new home and it’s onwards and upwards for the NFC Ring Forum!

  • All open issues on my github repositories

    Date: 2014.03.13 | Category: git

    I wrote a quick little script that turns all my open github issues onto clickable links..

    Copy paste the below into githubIssues.js:

    // Edit me
    var username = "YOURUSERNAME";
    var password = "YOURPASSWORD";
    // stop Editing!
    var gittub = require("node-github");
    var github = new gittub({version: "3.0.0"});
      type: "basic",
      username: username,
      password: password
      user: "JohnMcLear",
      filter: "subscribed",
      per_page: 100,
      sort: "created",
      direction: "asc"
    }, function(err, res) {
      for(var issueKey in res){
        var issue = res[issueKey];
        var line = "<p class='issue'>";
        line += issue.created_at + " ";
        if(issue.repository) line += issue.repository.full_name + " ";
        line += "<a target='_blank' href='"+issue.html_url+"'>";
        line += issue.title+"</a>";
        line += "</p>";
        if(issue.title) console.log(line);

    Edit your username and password then type:

    npm install node-github


    node githubIssues.js &gt; issues.html

    Open issues.html in your web browser..

    Limitations: Max 100 issues due to Github API limit.

  • Adding i18n to a Cordova App

    Date: 2014.02.14 | Category: cordova, developer, developing, development

    i18n (Internationalization) in applications roughly means adding support for translations and other languages.  In this blog post I will talk you through a general approach to implementing i18n in Cordova Apps.  If your app isn’t open-source, move along, the 90s is on another website.

    As Cordova apps are written in HTML/CSS/JS we can easily leverage existing web platforms and services to provide i18n at break-neck speeds.

    TLDR Services/frameworks used:
    * Translatewiki to provide translations
    * Marcel’s html10n i18n implementation
    * Handlebars for templating
    * Etherpad implementation of detecting locale/language also written by Marcel

    Implementation steps

    * Ensure your app fulfills Translatewiki’s requirements (Open source etc)
    * Talk to Translate / Internationalization team at Wikimedia foundation before creating Gerrit commit
    * Gerrit commit to TranslateWiki adding support for your App.
    * Include handlebars and html10n libraries in your app
    * Modify your HTML putting markup in handlebar script tags
    * Move your text strings into locales files.
    * Include a handlebars html10n render helper
    * Use the Etherpad implementation of detecting locale/language* Give someone at WMF access to commit to your Repo

    Sit back and enjoy..

    Once you have completed your implementation and it’s approved by the WMF the WMF translation team will translate all of your strings and commit them back to your repo. You might want to provide the WMF team with the ability to see each of your strings in situ in a browser, this means providing a mechanism to fake Cordova events..


    This implementation is basically a straight copy of how we handle i18n in Etherpad, it’s pretty robust and clean to implement. All in all a complete refactor of the NFC Ring Control App while implementing i18n took about a week of full time commitment, well worth doing as now the larger community can provide translations which if I was to do hans solo would take months icon smile Adding i18n to a Cordova App

- My Brain made this.