Sunday, May 18, 2014

Paperless and Tree Hugging in 21 Days with Meteor

Last month I did a lightning talk about EtherPOS at the Meteor April Devshop and I explained how I used Meteor to automate and streamline close to 90% of our business processes at Atomic Tattoos.

The timing of the Meteor April Devshop was perfect because I had been running my company Atomic Tattoos, a 18 store 3 city collective partnership of tattoo and body piercings studios, on the EtherPOS application.

I was very inspired by all of the wonderful people I met that were attending the Devshop, and Alice, Jade, Avital and Slava of the Meteor Development Group, Chris Mather of EventMindedSacha Greif one of the authors of Discover Meteor and all of the other lightning talk speakers.

So, inspired, that while I was at the Meteor April Devshop, I decided to tackle Atomic Tattoos next largest problem: paper!

Specifically, the problem of the sheer number of tattoo and body piercing release forms we produce each year.  Over the last 12 years we amassed such a large collection of release forms that the boxes filled a room and we called it Paper Mountain.  From time to time we would hire people to digitize them by manually scanning them.  Of course, we appropriately called them Paper Mountain Sherpas!

The first part of the problem is that the Health Department wants them available on site at the store for up to 2 years.  The second problem is that our insurance company wants them available for at least 3 years.  The third problem is that our lawyer wants them available forever.

Can you imagine how much paper and how many filing cabinets we own?  I should have bought stock in Hon!

I estimate that Atomic Tattoos probably consumes almost 14 trees a year just in tattoo and body piercing liability release waiver paperwork alone.  That is based on stats from Conservatree.org.

That doesn't even take into account the paper aftercare instructions, flyers, coupons and all the paper consumed during the drawing and preparation of designs for customers.

I estimate that the tattoo industry alone consumes closed to 6,000 trees annually.

Granted there is post consumer recycled paper and 30% post consumer recycled paper, but it is doubtful anyone really takes that into consideration when purchasing paper.  Even if you calculate in recycled paper, the number of trees consumed is astounding.

But, it isn't all about trees, is it?

It is about streamlining and automating business processes.  It is about better access to data and better analysis.  It is about yet to be realized doors of opportunity that will open once Atomic Tattoos has gone paperless.

But wait?  Why not use an existing solution like Adobe, Docusign, Canvas, etc...?

Go try and see if your 8 year old kid can use one of those solutions.  If they can't then your employees and customers can't either.  Not because they aren't smart enough, but because the friction is painful.

In most of those solutions I found that you cannot get signed up in a few seconds, have a waiver created in 2 minutes and be live.  Also, they all have their own various drawbacks like emailing the completed waiver.  I don't think I want 150,000 emails a year that have a PDF attached.  If we get a lawsuit how am I supposed to find the correct PDF across hundreds of thousands of emails with PDFs attached which clearly are not searchable?  Same issue if we need to find a document to support fighting a consumer charge back.

So, I found myself at the Meteor April Devshop and I decided I would use iron-router and more 3rd party meteorite packages available on the atmospherejs.com than I did on EtherPOS.  I decided I would lean on the Discover Meteor book a bit more than I had in the past.  I have had a subscription to Discover Meteor since roughly the beginning, but I tend to build in my own patterns and paradigms of thinking and I suspect those patterns are bizarre at best!

By the end of the Meteor April Devshop, I had cobbled together about 25% of what is now called SignWaive.

After the Meteor April Devshop I decided to see how far I could get in my spare time.   Remember, I still have a 17 (soon to be 19!) store organization to run and 2 or 3 other start ups I am involved in and it is almost Summer.  Which in Florida means fun in the sun and work is for bums!

Would I be able to build a usable product by the Meteor May Devshop?

I had a little less than a month to build an MVP or what might be considered a little more than an MVP.

Well, the answer is yes.  Of course, the answer is yes, because I chose to build it with Meteor.  Seriously, I don't think I could have gotten as far as I did in 3 weeks had I chosen another framework.

So, if EtherPOS hasn't convinced you to take Meteor for a spin on your next mission critical business application I certainly hope SignWaive seals the deal.

Within 21 days I had built a system capable of taking Atomic Tattoos or any other business paperless.  Also, not only paperless, the system can be used for business forms, internal forms, website forms, commerce and pretty much anything where you need someone to fill something out.  The waivers, agreements and forms can forward to an exit url or you could chain them together by putting the link to another form in the exit url of a previous form thereby creating a multi-stage work-flow process.

At Atomic Tattoos, in addition to going paperless, we are already starting to use SignWaive to replace ALL of our Google Forms and to replace paper documents we exchange with various service providers.  Currently, we use Google Forms and spreadsheets to manage all kinds of internal business process like maintenance requests, new staff member boarding, existing staff member actions, disciplinary actions, etc...  We probably have a dozen Google Forms which can be replaced with SignWaive.

So, SignWaive not only brings us closer to going paperless and streamlining and automating a large portion of the remainder of our manual business process it will also bring us one step closer to leaving Google Business Apps.  The only remaining feature we would be using is Gmail and Docs which I am pretty sure I can replace with a Meteor app.  Don't think so?  Challenge on kiddos!  Well, maybe not Gmail, but I think most of the commonly used features in Google Docs can be replaced with a Meteor app.

So, check out some interesting highlights about the SignWaive application...

Waiver Templates
I abstracted the concept of a document, form, waiver, agreement, etc... into a template that can be used to describe, render and logically process the information.  So, you don't just create one waiver but rather a Master or what might be called symbolic representation of all of the Child waivers.  Past waivers reflect their past parent rather than the current thereby providing historical consistency of the documents in a fashion similar to traditional ink and paper!

So, you can change the template and the past pending and completed versions never change but rather remain historically accurate.

Drag and Drop Editor
If it ain't easy then it ain't for me!

Also, if you build things kid proof then the idiots can't complain and if they do then at least you know who to fire right?

So, I implemented a drag and drop ad-hoc document editor.

In fact, I am pretty sure it has more drag and drop form elements than Wufoo, Adobe and Docusign!

Lights Action Cameras
In the tattoo industry, we must have a copy of the customer's government issued photo id.  So, I had to support cameras.  Once again, idiot proof, er I mean kid proof!  So, they are drag and drop.  This was the hardest thing to handle and I doubt I have it perfected yet.

As a side note, while working with the camera stuff I had really thought I hated MSIE but my new hated browser is easily Safari.  I like to call it Suckari .  Also, from what I experienced Apple really dropped the ball because I could not get Web RTC getUserMedia stuff working on any of their iCrapple devices.

Signatures
What is a waiver or agreement without a signature?

Clearly a baseline feature and also a drag and drop element in the editor!

Drag and Drop Payments (and yes they are PCI-DSS compliant)
Say what?  Yeah, why not?

I have never seen drag and drop payment implementation before.  So, it sounded like a fun experiment.

Don't you hate it when a solution makes you use their payment system?

Or you can't get rid of the payment system because it is baked into process work-flow?

Well, clearly some forms, agreements, waivers, documents, etc...will require the need to accept and process payments from a consumer but not all.

So, for shits and giggles I tossed in a drag and drop element that drives a credit card mag stripe reader and processes card present transactions!

Now, I haven't implemented card present manual entry or card not present manual entry yet but it would be quite easy.

I haven't implemented manual entry CP or CNP because honestly, it is important that the card be present and be swiped.  In October 2015 the EMV standards will be in place and soon thereafter we will all be using chip and pin just like all the good little boys and girls throughout most of the rest of the world!  Thankfully the US has come to the table, although it took almost 2 decades!

Now, in order to remain 100% PCI-DSS compliant you must have a mag stripe reader to test that component out.  An ordinary plain text mag stripe reader will not work, though I am considering supporting it in the future.  For now, you must have a modern mag stripe reader that uses AES hardware encryption, does a regular key changes and power up key changes, has a Tamper-Resistant Security Module (TRSM) compliant with PCI PTS 3.0 and uses AES 128-bit format-preserving encryption.

Thems some big words alrightly!  Yeah, lots of big fancy terms which basically mean protection from the nonsense Target and Nordstroms exposed the world to just a few months ago.  Ram vector and scrapping attacks are on the rise!

So, in 21 days we went paperless and started saving the trees!

You can too!

SignWaive is up and available for anyone to take it for a beta test drive or go ahead and start using it for your personal or business use if you would like.

Sign up as a SignWaive Business and play around building waiver templates and processing them.

Go check out SignWaive.com and make sure you watch the videos my business partner Chris Miller made because they show just how rad and how easy it is to use SignWaive!

Now, I am not about to say that this is a completed finished mature product.  I admit there is still lots to do, to improve, to tidy up and make pixel perfect.  There are still a lot of features, performance improvements, system hardening and various other things that need tending to.

The point was to show how quickly one person in their spare time can solve difficult business and world problems both efficiently and effectively with Meteor.

I have a dear friend and business partner who once said to me, "Use your powers for good." I have another dear friend and business partner who once said to me, "Always contribute more than you took.  Seek to improve the conditions of everyone and everything you touch".  I like to think this project can do just that and hopefully more!

So, are you interested in how I built it?

Want to know what packages I used?

Want to see the drag and drop credit card processing form element in action?

Well, maybe I will get lucky and get to talk about SignWaive at the May Meteor Devshop!

So tune in to videos.meteor.com and find out!

Oh yeah and don't forget to check out SignWaive.com and make sure you watch the videos my business partner Chris Miller made because they show just how rad and how easy it is to use SignWaive!

7 comments:

  1. congratulations! awesome apps and effectiveness.
    Can you share a bit more about the packages you used and how you implemented the drag and drop? unfortunately the moment in which you share the SignWaive packages was cut out of the devshop (they where showing you and not the screen)

    besides this I think that if you could share a bit of your development patterns, even if they might be "bizarre at best" :) you would help a lot of people and meteor newbies.

    thanks in advance
    b.

    ReplyDelete
  2. that would be very great - besides the packages are not on the dev shop video :)

    ReplyDelete
  3. I will do another post soon and share the packages list and cover some of the ways I built it like I have in posts about EtherPOS. HTML5DevConf week, crazy busy, crazy tired and then JSConf next week so more crazy busy, crazy tired...but I will try to squeeze in a blog post soon.

    ReplyDelete
  4. List of packages is on the Meteor talk google group.

    ReplyDelete
  5. found it! Thanks! here is the link for everybody https://groups.google.com/forum/#!searchin/meteor-talk/Signwaive/meteor-talk/RBWW0i4DFao/UVGFi0g7HIoJ

    and the list of packages:
    apm
    bootstrap-3
    bootstrap-growl
    font-awesome
    geocoder
    Geolocation
    growl-alerts-manager
    iron-router
    jquery-form-helpers
    jquery-qrcode
    jsignature
    meteor-collection-utils
    moment
    moment-timezone
    mup
    mnode
    reactive-table
    single-page-login
    spin
    twilio-meteor
    x-editable-bootstrap
    xml2js

    ReplyDelete
  6. Thanks for sharing your honest experience. When I first took a look at my head shots,
    I wasn’t too thrilled with mine but you’ve given me a new perspective!

    Virtual Edge

    ReplyDelete