Friday, March 28, 2014

Talk to the Hand: Google's Concept Smartwatch

Originally authored for eImagine Technology Group at: http://thinketg.com/talk-to-the-hand-googles-concept-smartwatch

Smartwatches and wearables of all types seem to be the focus as a slew of new products were launched around CES 2014. Now, as promised, Google has officially announced their new wearables extension/subset of the Android platform targeting a reduced footprint and a more target user-device experience than their smartphone and tablet offering. With some major players such as Pebble, Sony, and Samsung already in the wearables arena and Apple reportedly on the way, this is a great time for Google to step in and attempt to form standardization and alliance with device manufacturers.

While watching the concept video for the smartwatch, I thought one feature stood out as a potential for annoyance: the "OK, Google" mechanism for accessing the watches features through voice controls. As if the current offerings (and Siri for iOS) wasn't enough of a step in the direction of Dick Tracy, controlling your watch by engaging with voice services just feels like a strange concept.

I find it annoying enough to have people walking through the mall with their Bluetooth headset or Earpods in (or Beats, the latest in this category), shouting to the person on the other end while I am trying to request assistance from a staff member or simply checkout. Add to this mix the people who are going to be issuing commands to their devices (Google Glass and this new concept of a smartwatch) and I sense that craziness could ensue.

Call me Grumpy Cat, but I enjoy the social norms that enforce relative-silence when appropriate (I know, this is arguable). The fact that my pebble never makes an audible noise is a major bonus for me (OK, if I am charging it and it vibrates it resonates against the material it is on). I'm hoping that this concept is truly just a peek into what could be and not where the majority of devices will head.

Friday, March 21, 2014

PebbleBucks Streamlines My Habit

Originally written for eImagine Technology Group and posted at http://thinketg.com/pebblebucks-streamlines-my-habit

Background
The holidays were good to me; I had the chance to hang out with friends, spend a lot of time with loved ones, and even got some presents, too. One of the coolest presents that I received: my Pebble watch that has barely left my arm since it was unwrapped. I'm not alone either. Friends and coworkers have being raving about how awesome their Pebbles have been and I have nothing but good things to say about it.

With the jump to v2 of the SDK and firmware, the Pebble now has an official app store that allows you to discover apps and watch faces that you can freely download and install on your smart watch. This very system is what allowed me to discover PebbleBucks.

What is PebbleBucks?
PebbleBucks is an app for the Pebble that takes the base functionality of the Starbucks smart phone application and distills it into a single-screen portal of coffee-acquiring goodness. With it you can duplicate the scannable bar code that represents your card, retrieve the number of "stars" you have earned, see your current card balance, and note any rewards you may have available for use.

PebbleBucks, as it is found in the app store, is really a fork of an existing project (same name) found on GitHub. The original/master fork, headed up by Neal, was really geared towards the Pebble developer and had developers downloading the source, modifying it with hard-coded information (your bar code, user name, password, etc) to deliver a tailored app to your Pebble. This fork, by Alexsander Akers, dispenses with the need for building your own version. Utilizing the setup system on your smart phone for sending the necessary details to the Pebble smart watch application, your bar code and Starbucks information can be shown any time without digging out a card from your wallet or firing up the Starbucks smart phone app.

The Payoff
Fast forward to a cold morning in February when I rolled to the window at my favorite local Starbucks and was greeted and given my total. I cautiously extended my left arm out the window and up to the Starbucks window of the drive-thru saying, "OK, let's try this." Puzzled she looked at my Pebble and laughed, shaking her head. I urged her on, however: "Just give it a quick scan. If it doesn't work..." and was cut off by the accepting "beep" of the POS scanner.

Ahhh, my coffee habit streamlined. Genius.

Friday, March 14, 2014

Microsoft Cert or Transcript Inaccuracies? Ask For Help!

Originally written for eImagine Technology Group and posted at http://thinketg.com/microsoft-cert-or-transcript-inaccuracies-ask-for-help

I once read a calendar statement that read: "Hard work often pays off after time, but laziness always pays off now." I tell you this because I waited until the very end of December to take my second Microsoft certification exam. Sure, it wasn't a good idea and I absolutely will not be doing that again.

Probably.

So, just before our holiday break, I headed into a local testing center and took my test. Results for these tests are instant, but your transcript likely will not be updated for up to 5 business days. So, I didn't think much about it until I returned from break and realized my new exam wasn't showing on my transcript. Some quick web searching uncovered that there was an email address, MCPHelp@Microsoft.com, with which I could address such things.

About one business day after sending in the initial request for assistance, I received a nice email that prompted for a few pieces of information:
  • MC ID
  • Street Address
  • City
  • State/Province
  • Postal Code
  • Home Telephone Number
  • Email Address
  • Prior versions of the above (if applicable)
  • GIF, TIF, JPG, BMP, or DOC copy of the exam score sheet received from the exam provider
As I had my MC ID, this was no problem. However, for those that may not have that handy, you can log in using your email address and password associated with Microsoft by visiting the MCP Portal at https://www.microsoft.com/learning/members/en/us/mcp/mcp-default.aspx. Your MC ID, or Microsoft Certification ID, is located near the bottom-right of this page as of this writing.

I would also like to point out that the scanned image of the exam score sheet did not support PDF and had to be kept below 100K. I find this strange for many reasons and this led to a bit more back-and-forth with them than it should have when I exceeded the attachment limit on my first pass.

After my first round of communication, something else interfered: for some reason, Microsoft's aforementioned email address began rejecting all email. I verified that it wasn't just my emails by taking to social media and searching for similar issues. After searching around a bit I found a toll-free number for my area (North America) to call: (800) 636-7544. A quick verification of my email woes led to them offering up a new email address to use: MCT@Microsoft.com. The support person assured me that they would respond to this email address the same as the other one and they were correct.

So, I resent the information along with the correctly-sized attachment to this new email address and within a few hours I received a notification that my transcript had been updated. Case: closed.

Friday, February 21, 2014

Interview: Director of Digital Media for the Indianapolis Colts

Originally written for eImagine Technology Group and posted at http://thinketg.com/interview-director-of-digital-media-for-the-indianapolis-colts

Background
The Indianapolis Colts is easily the largest sports franchise in Indiana so it only seemed fitting to take a look inside the organization and try to better understand how technology is evolving their interactions with fans and adjusting the ways they manage the organization. I had the opportunity to sit down with my friend and colleague Dan Plumlee, Director of Digital Media at the Colts, to talk tech and get his thoughts on the technological landscape as he sees it.

It's a Monday evening when Dan and I arrive at a small bar in Lapel, Indiana to meet up and officially hold the interview. I picked him up from his house, swooping through his neighborhood on the way to our destination. The town of Lapel is a small one, sitting about 20 miles northeast of Indianapolis and is host to only two prominent bars; both happen to be located across the street from each other on the half-mile long main drag that goes through the center of town.

For tonight's series of pool, beer, and questions we settled on Mardi Gras, a vaguely Cajun-themed restaurant and bar known for college-town prices on beer and good pizza. There are only 2 other patrons in the place, not a big surprise for a Monday evening. As we settle in, one of the three regular bartenders, well-known to us by now, shoots us an inquisitive look that says, "What will it be?"

Two cold bottles of beer later, Dan and I are starting to unpack out pool cues. You see, Dan and I have played on various pool teams in the APA. He is considered pretty good in the league whereas I am certainly a more casual player - often translated as "not so good." As I am attaching the shaft of my cue to the base, I glance at Dan and, noticing the expectant look on my face, rolls his eyes a bit and says, "OK, shoot."

Q & A
How long have you been with the Indianapolis Colts?
7 years

Did you start at the Director of Digital Media?
No, I was actually initially hired as a Senior Developer, working on a new version of Colts.com and a few internal systems. I was in that position for 2 years at which time I moved to the I.T. department and worked with help desk as well as software development for our scouting department. It was during my time with I.T. that I was offered the position as Digital Media Director and I have been in that for 3 years now.

How has your department changed in the time you have been at the Colts?
How hasn’t it changed is perhaps a better question. It’s not a matter of turn-over, it’s been more a matter of people growing and moving on, combined with evolving technology trends, social media, and business in general. We have become a very streamlined and efficient department - a department that I am sure, if you asked, would be happy to have a few dozen extra employees, but we are a close knit group that works hard and has a lot of fun doing it.

What are some interesting projects that you have going on in Digital Media?
We just released an iPad version of our highly-successful mobile app. I am very excited to see where this additional avenue takes us with fan engagement and the game day experience both at home and in-stadium. We are also currently working on a loyalty program for our mobile app users that I hope to be releasing very soon.

Does that mean fans might start earning Colts swag?
Yes, as well as other greats prizes such as tickets, fan experiences, autographed items, and even season tickets.

OK, I will have to stay on top of that. Now, I understand that most, if not all, NFL team web sites are now on a common platform. Has that changed things for you and the team?
Correct. All 32 teams are now moved onto the central NFL platform. The initial move proved difficult  in some aspects. When you go from a 100% customized and internal site to a more standardized and refined platform there are restrictions that can initially be frustrating. It felt a lot like the square peg, round hole adage. I can say the NFL has been wonderful with assisting in adapting the sites to the individual teams while maintaining standardization. The move to the platform was initiated when I took over as Director of Digital Media, so I cannot speak to how it’s changed things as a department. I can say that, as with anything new, it takes a while to adapt and I think we are 100% there.

Social media seems to play a big role in what the Colts are doing. You have several Twitter accounts and a very active Facebook page. What goes into that presence?
Social media is a huge for us. It’s one of our key elements to drive engagement to all our fans. We are extremely active with Facebook, Instagram, Google+, and, as you said, several Twitter accounts. Each and every one of the items I just mentioned requires individual thought and consideration with regards to delivering content; not only what is delivered, but also how it’s delivered. 
We do our best to customize our fans experience. In many cases this means providing a look behind-the-scenes, making our fans not only feel a part of the team, but to see what it’s like to travel, prepare in the locker-room, celebrate a win, and grieve a loss. This is achieved by not only a terrific social media coordinator, but also an entire staff that is dedicated to listening to the fans and working hard to deliver on those requests.

Does the NFL work with team representatives such as yourself in forming the technology strategies that they roll out?
Yes they do. Not only does each team have a representative they deal with on a weekly basis for our individual sites, but we are all connected on Yammer (all 32 teams and our league reps). Using Yammer we can share our successes/failures, ask questions about the future, and sound off on the road mapping. We also have a yearly face-to-face summit meeting with all 32 teams and the NFL. This is a great time to discuss new and emerging things, and to determine the direction of the future.

What's the coolest new technology for you, personally?
I am amazed at what teams and companies are doing with augmented reality and 360 video. We are just scratching the surface of what we can offer fans. As a tech guy and sports fan, I think it has to be the coolest “next-big-thing” for the game-day experience.

That makes sense. Are you interested in Google Glass, then?
How could one not be! Honestly I would have owned a pair now if it hadn’t been for the season and trying to coordinate around Google’s schedule and the orientation.  They are an expensive line item on your budget, but one word comes to mind when thinking of the possibilities with Google Glass, and that word is "WOW!" I think about not only a social media coordinator wearing them on game day, but the idea of putting them on a player, or Blue [the Colts mascot] or even the future of writing apps for Glass and the fans wearing them to enhance their game day experience.

It sounds creative, nerdy, and fun - I am excited! Do you consider yourself a geek, a nerd, or something else?
I guess I would have to call myself a geek. My main reason for that is that I read ahead on your interview questions…and that’s what you called me!

That's cheating - but not unexpected. What activities add to your geek credentials?
Playing video games, reading up on technology, writing code/apps for fun, going to midnight showings of Lord of the Rings and Harry Potter. That sort of thing.

That definitely counts. What advice do you have for anyone entering the workforce with designs on working for an athletic organization?
In a broader sense I think too many people get the mentality of “no way I could ever get hired at "insert company name here", they are just too "insert adjective here.” As with anything else, if you want it bad enough you have to go for it - don’t make any assumptions! 

Good advice and it has certainly worked for you! Last question: Can I have free tickets to the next game?
Get in line.

Follow Along
You can follow Dan through his adventures in technology, pool, vaping, and more via his Twitter feed (@dplumlee).

Friday, February 7, 2014

zip.js: Exactly What It Sounds Like (Awesome)

Originally written for eImagine Technology Group and posted at http://thinketg.com/zip-js-exactly-what-it-sounds-like-awesome

Transferring data back and forth between a web service and a mobile application can be a real chore at times. For textual data, XML and JSON representations provide fast and highly-debuggable encapsulations of the data, but binary data continues to be a real pain at times; you must make choices on whether the data will be downloaded using file requests, present it as binary streams, encode it using Base64 and so on. It is with that in mind I share a brief story and a cool script that might help you out.

The Story
On a recent project I was faced with finding a clean method for taking whole directories of binary files (images, text, etc) and packaging it in such a way that it could be efficiently synchornized to a client mobile device while using as little bandwidth as possible. Once on the client device, the files would then need to be cached so as to enable offline/disconnected operation - a solid move for any mobile application since you can never guarantee connectivity or, at a minimum, the service level.

While kicking around ideas for this, I realized that if I were doing this in a single instance for my own purposes, I would have asked the person on the other end to "zip up" the files into a zip archive and send me the file. Perhaps, as an alternative, they could drop it out on a server somehwere for me to grab whenever I wanted. This would compress the contents of the package (the files) and maintain the directory structure so I would replicate the intended layout when I expanded the package.

I was using PhoneGap for wrapping an HTML5 mobile application and publishing it on various devices. In order for this same mechanism to be a goof fit for me, I would need to either use a plugin (which I prefer not to use as it adds a bit of complexity in upkeep) or find a then-unkown JavaScript implementation of the zip inflate/deflate mechanism that would also allow me to instantiate the files to the local file system in the application sandbox. As you have likely guessed, the latter turned out to be the route we took.

The Library
After doing some of my favorite detective work (Google, Scan, Repeat) I discovered a library available on GitHub that had gotten some attention from other users. Zip.js is a rather small JavaScript library that, once added, did everything I needeed. On the server side, I was able to let my web service grab pre-packaged zip files (depending on what was needed by the client), pull them down using the FileTransfer class, and then deflate them into protected/isolated storage on the client device. What's more, this even works in-browser using the likes of Chrome by asking the user if they are willing to partition a small block of space for the application.

The documentation (http://gildas-lormeau.github.io/zip.js/) is rather limited, but a little playing around mixed with the sparse examples will lead you in the right direction. Within a few minutes I was able to take a test zip file and pull it from my dev server and process it into the isolated storage, reconstituting it just as it should be. This presents a great way to push file deltas of overarching applications to clients and keep everyone on the same page.

Where To Get It
If you are comfortable with GitHub (or at least the Git system in general), clone the repository down to your local computer from https://github.com/gildas-lormeau/zip.js.git. If, however, you would rather just download the zip archive (ah, the relevance!) then you can grab it at http://github.com/gildas-lormeau/zip.js/zipball/master. Don't forget to check out the aforementioned documentation (or you will be really lost).

As always, feel free to hit me up with any specific questions as I am happy to help out!

Friday, January 10, 2014

Digital Payback: Sending Money Made Simple

Originally written for eImagine Technology Group and posted at http://thinketg.com/digital-payback-sending-money-made-simple

Introduction
I still remember that first magical moment when I became aware of QuickPay, Chase Bank's person-to-person money transfer system. We had just ordered pizza in a big group and, when it came time for reconciliation, a few people whipped out their mobile phones and were tapping away. When I got a glance at what was going on, I was astonished. It should have been obvious that we could send money attached to a unique identifier (phone number or email address) by now, but the thought had never occurred to me. I knew then that I just had to become a member at Chase so I would have access to this great new technology.

Fast forward a few years and the QuickPay system isn't as exclusive as it was back then. Unfortunately, many of the same drawbacks still exist - transfers between people in the same institution/bank get their money almost instantly in most cases while paying to an "outsider" will make them wait for a few days. Also, larger sums of money (above $250 the last time I checked) can cause further delay on top of that. So, my dream of paying child support monthly through quick pay was dashed pretty quickly just due to timing (as well as a speedy payback on some plane tickets a friend purchased to capture the points).

Drawbacks aside, there are some new players in town and each has a slightly different take on this tested system.

The Players
Square Cash (https://square.com/cash)
Fees: None
Square has gained a lot of attention by entering the world of mobile credit card processing. Their small head phone dongle and app combination significantly changed the way many small businesses operated and took in revenue. It should be no real surprise that they are impacting the person-to-person (p2p) payment sector given the experience they bring to the table from their more notable endeavor.

Square Cash features an easy way to get started: you send an email to another party stating the money you wish to give them and carbon copy (CC) the square cash email system address. When it receives the carbon copy of your email, it parses out the amount you want to send from. The email contents and send you back an email directing you to link your debit card. Once completed, the original recipient receives thee mail you intended and a link is embedded that directs them to link their debit card to receive the funds. It is definitely worth noting that the transaction is free, independent of any one financial institution, and, according to the literature, transactions complete in 1-2 days. I could not locate anything about transaction sizes (limits), but I wouldn't be surprised if there were some restrictions.

Google Wallet (http://www.google.com/wallet/send-money)
Fees: None for bank transfers (ie checking account), 2.9% or $.30 (whichever is greater) or credit/debit card transfers
One of the more recent companies to jump into the foray is Google. You might think this would have been an obvious jump for the company; they have been pushing NFC-based payments at point-of-sale (POS) terminals for a few years now with arguable success. Suddenly, however, they have jumped to making person-to-person (p2p) payments even easier bu allowing you to "attach" cash to an email via the GMail message composition screen.

While this requires you to have both a Google account (who doesn't?) and, subsequently, to verify yourself with Google's Wallet system (add a bank, card, etc to fund/receive with), this is a great addition to their existing email environment. Much like others, you simply put in an email address when composing, click the dollar sign ("$") at the bottom of the composition window to choose how much and from where you wish to fund it, and send. The recipient then receives the email with instruction on how to connect their account info (If they are not already set up) and accept/reject the money. The downside, however, is that if you use a credit/debit card to fund, you pay a 2.9% fee (minimum of $0.30) on the transferred amount. In this, Google does not stack well against the competition.

PayPal (https://www.paypal.com/us/webapps/mpp/transfer-money-online)
Fees: None for bank transfers (ie checking account), 2.9% or $.30 (whichever is greater) or credit/debit card transfers
PayPal is an established company that has experience in payments. It isn't a big leap, then, to do p2p transfers without having "goods" change hands. Much like the other offerings, the send/receive process is linked to email addresses and offers a very easy process for both existing users as well as those new to the PayPal online system a way to get connected.

Much like Google Wallet, PayPal imposes some fees for using debit/credit cards as well as transferring funds outisde the United States, but these are on-part with Google Wallet (2.9%, $0.30 minimum) which means this is likely more of a pass-through to the real financial gateways behind the scenes for both companies.

Chase QuickPay (https://www.chase.com/online-banking/quickpay)
Fees: None
Back to the origins of this story, Chase still has a strong offering in their QuickPay service. When transferring between two Chase accounts, the transfers happen nearly instantaneously. If the transfer includes a non-Chase account (one account MUST be a chase account), it can take a couple of days. There are no fees, though, as noted earlier, amounts that exceed the limit are significantly delayed in my experience. At the time of writing, I could not find documentation of what that limit might be, but experience has indicated that about $200-$250 is the cut-off for fast to not-at-all-fast experiences.

Chase still makes sense - especially if you and your spouse (or whoever) have Chase accounts. That being said, if you are transferring outside out of the "Chase Universe", this is probably not a viable option.

Conclusion
There are a lot of players in this space (way more than I have covered here), so there is a lot of opportunity to mix-and-match services based on the need of the moment. Just be aware of fees and limitations, checking with the individual provider prior to each use as terms have a way of suddenly changing in financial spaces.

Have any other p2p cash transfer services you use frequently? Please feel free to submit them - I am a user after all!

Tuesday, September 10, 2013

Web Service Roundup

Originally article written for eImagine Technology Group at http://blog.thinketg.com.

Introduction
If you have developed an Internet-connected application in the past 10 years, it is likely you have connected to a web service. These invisible applications have saved me from "recreating the wheel" more times than I can recall. The pattern for finding and consuming web services has changed a bit over time and I find that I have a personal catalog of web services that I use as well as sites that catalog them so I can check for new offerings periodically. So, here is my short list of web services and some sites for finding them.

Mashape ( https://www.mashape.com )
This site serves as a sort of clearing house for web-based functionality and contains everything from commercial (read: pay-to-use) and free endpoints. The development team, based out of San Francisco, also serves as a gatekeeper for the API developers by setting up test and production key systems for incoming API consumer developers. So, for instance, I can quickly use my single test key in the provided CURL statements to test things out and get it into my real codebase and then flip on a production key, swap them out in the code, re-test, and release. The search and categorization features of this site make it a great first stop if you are looking for that web service that "just has to exist." If all of that isn't enough, they have a great set of stickers you can order (for a penny) to decorate your cube, laptop, desktop, or whatever.

Text-To-Speech ( https://www.mashape.com/montanaflynn/text-to-speech )
One of the great resources I found via Mashape, this endpoint provides a method for taking plain text and retrieving an MP3 of it as spoken in a "Siri-like voice." There are several great uses for this whereby you can provide the option of having custom user input spoken back to them (or another user) or simply run some of your navigational dialog through the system to provide a fun voice-over to your application usage instructions.

QR Code Generator ( https://www.mashape.com/mutationevent/qr-code-generator )
Have you ever needed to generate a QR code in your own application? There are ways to do this server-side and so on, but this web service provides a super-easy way to send in text, a URL, or phone number and receive a URL for the generated image. Options include specifying the quality (amount of error correction built into the image) and size.

Web Screenshot ( https://www.mashape.com/shepik/web-screenshot )
All of the search engines provide this and now you can too - display an image snapshot of a web site that provides a visual cue to your users as to what they will see when they follow a link. This one will even let you specify the width and height of the resulting image (each must be less than 3000 pixels so as not to cause craziness on their servers). The image is returned as a URL that you can then use to populate an image tag, download, or use otherwise.

ProgrammableWeb ( http://www.programmableweb.com/apis/directory/ )
This is another great catalog site for web services that provides quick searching to get to what you need. One of the features I really like is that you can quickly filter results by the return data format (such as JSON or XML) so you don't get too excited about a web service only to find that it won't work in your particular case. One of the real highlights of this one is that it contains entries for all of the major web service players that you typically have to hunt down individually such as Google, Bing, every social media platform ever (or so it seems), etc.

Lingr ( http://lingr.com/help/about )
Yes, I know that goes to an "about" page, but it is for a good reason. Lingr is a system whereby you can provide chat room functionality to your users and it has a JavaScript API. The system is on its way back to full production after some downtime a few years back, but seems promising again. To be fair, there is no real documentation as of this writing, but the JavaScript interface is downloadable and easy to read through (and instantiate).

Weather Underground ( http://www.wunderground.com/weather/api/d/pricing.html )
This list wouldn't be complete without at least one weather API reference. This one from a well-known organization provides a developer account that is free for up to 500 uses per day and up to 10 per minute. The link (above) gets you full details on it and will get you started on creating ("purchasing" even though it is free) an API authorization key. Fun fact: Weather Underground is now a part of the Weather Channel family of companies as of 2012.

Conclusion
Everyone has their favorites and these are definitely mine. That being said, this list doesn't even scratch the surface as to what is out there (and free to use). I would love to hear from you on what web services you are using that you keep in your bag of tricks. Drop me a comment below and be sure to provide as much detail as possible - I really will try the suggested services out!

About Me

My Photo

Firecracker, father, friend. Honorable, humorist, heathen. Performer, programmer, producer. Seeking, social, sarcastic. Loyal, logical, lasting. Bold, belying, benevolent. Gamer, genuine, grinning. Reader, redeeming, ridiculous.

On and off blogger, film producer, and programmer. Keurig addict. Frequent moviegoer. 

Voice Comments