Popular Post

Make Money Online: Documenting 10 Years of Failure

Copy and Modified Documents with a Watson Explorer Converter

A common task when crawling and indexing a document in Watson Explorer Engine (WEX) is making changes to a document during the conversion process. The most common occurrence is needing to copy all the contents in the application-vxml document while making some changes to one or a few of those contents. To do this, there is a recursive copy template that can be used. I’ll show you how to apply it.

First, I’m going to use the out-of-box “example-metadata” collection. Navigate to that collection and click the test-it button.

wex collection screenshot test it

After clicking test-it you will see a listing of documents. Click on the test-it button for the “blowout” record.

watson explorer test-it results

On the resulting page, scroll down and look at the conversion trace. There is a converter called “Create Metadata from Content”. This is the converter that ships with WEX to convert the HTML files into v:xml documents. Each of the links on the left side represent input and output of that conversion step. We want to click on the output of this converter to see what the document looks like.

watson explorer conversion trace

You will see the output of your current V:XML document. Note that I have a Google Chrome plugin that is converting my XML output for display.

watson explorer converter output

For the sake of this exercise, let’s change the title field to contain the actual title and the author. Like this: Blowout – Lucy Spring. To do this we go back to the previous page and click “add new converter” further down the page.
watson explorer add converter

We want a custom converter

watson explorer add custom converter

Now you will see the configuration screen for a custom converter
wex_converter_08You want to set both the type-in and type-out to application/vxml-unnormalized as we want to apply this template to application/vxml-unnormalized and we will provide application/vxml-unnormalized as output. I use “unnormalized” because I want the normal WEX normalization functions to still apply after this transformation. Also give your converter a name.

wex custom converter configuration

The next section is the conditional setting. This is where you can determine the matches that will cause the converter to apply. In this case we want to match all so I just add a wildcard (*).

wex converter conditional settings

You can skip the advanced section and focus on the Action section. First, the needs to be set to XSL since we’re applying an XSL template to an XML document.

watson explorer custom converter action

Now we’ll use a standard template that allows you to copy nodes with special processing.

The template above will only copy the document if you run it this way. We want to modify this to merge our title and author by matching on the title content and copying some things.

As you can see I’ve added comments in the code above. The important thing to note is that I want to modify the title content so I match it and the mode is always copy due to the way this template works. Then I just copy the attributes, and concat the two values I wanted.

Save this converter and click test-it again at the top of the Watson Explorer page. You will now see your new converter in the conversion trace.

wex custom converter conversion trace

Now if we check the input and output we’ll see the difference.

The before:

wex before converter

Now the title after:

wex converter after

Now if you crawl this collection your titles will include the author name in the search results.
watson explorer search results

 

 

The Cognitive Call Center on IBM Watson

One of the major use cases I see for Watson Explorer (WEX) is in call centers. No matter the specific industry the major goal for call centers are decreasing call time and increasing customer satisfaction rates. The way to do this is to get the correct information in front of the Customer Service Representative (CSR) as fast as possible. This is an excellent use case for Watson Explorer Application Builder (WEX AppBuilder). I’m going to keep this post mostly high level and not get too deep into the technical aspects of such solution.

watson explorer application builder screenshot
A simple example of a Watson Explorer Application Builder display.

WEX AppBuilder works together with Watson Explorer Engine (WEX Engine) to present the user with an 360 degree view of the information they need. If you think of Cognitive Computing as a pyramid, then WEX Foundational is the base layer of that pyramid. Watson Explorer Engine can crawl, convert, and index data into high speed positional indexes. Once the data is indexed in the WEX Engine, you can leverage other applications and APIs, both IBM and external, such as WEX AppBuilder or the IBM Watson Developer Cloud services.

For a call center scenario you would first index your data sources in Watson Explorer Engine. WEX Engine connects to all types of data sources, but if a connector doesn’t exist for your data source there are even push APIs available. The WEX Engine allows some industry leading search features and can even be used as a standalone enterprise search application.

Once the data is indexed, then you can build a pretty compelling user interface very fast in WEX AppBuilder. The WEX AppBuilder product allows you to quickly connect to engine data sources and build pages and widgets to display the data. There are several out of box widgets but it also allows for custom widgets using Ruby, JavaScript, HTML, and CSS.  I don’t want to give the idea that WEX AppBuilder is simply a display framework though. The product allows you to define entities and associations from your data. Those associations can be used to bring together related data into that unified 360 degree view. AppBuilder also has the concept of endpoints that allow you to connect to APIs in real time to bring in additional data, and allow other system to connect to AppBuilder to retrieve data.

Say your call center is caller centric. Note: That seems obvious but is not always the case. A call may have many products. Your CSR rep gets the critical information from the call, performs a search, and lands on a page that tells you all about the caller. The system will tell you all of the products they use, and don’t use. It may tell you if they are past due. It could also tell you if they had support tickets open recently. Most call center reps will need to navigation through several different systems to get this data currently. You can see how gathering all of this information into a single view can be beneficial rather quickly.

watson personality insights
An example IBM Watson Personality profile

Getting the call center onto a 360 view is the first step. The real power comes from having that data in the IBM Watson Explorer platform. You can then start taking the system in a cognitive direction. Instead simply displaying that data to the rep, what if the system was able to predict what the call was about? Using WEX Content Analytics and the Watson Developer Cloud you can start to put together those predictions. We can analyze data points such as mailers that were sent out, past due bills, reasons for calls, etc. You could analyze the call logs and help tickets to get a general sentiment of the client. Would you like to be able to predict if a client is about to change providers? Why wait for them to tell you about it. You could even use the Watson Personality Insights to build a profile of the client. This can give ideas of what types of communication turn them off.

When your CSRs are armed with this type of information it can really change the interaction. Imagine how you would feel if you called in and the CSR already knew about your issue. What if you got notified of the issue before you even thought to call about it? The system can even evolve more. You could use something like the Watson Conversation Service to handle some of these types of questions now before the client even has to speak to a person. This frees up your CSRs to handle higher value calls. When people do call the IVR system can pass the information to Watson Explorer and have the display populated for the CSR.

As you can see in this high level view there is a lot of value to be gained from starting with the Watson Explorer platform. Getting your call center on the Watson Explorer platform is the first step in this cognitive journey.

If you’d like to learn more feel free to comment below or contact me.

Building a Business Around a 3rd Party API

Today I read an interesting post on HackerNews about a price comparison site, PriceZombie, being kicked out of the Amazon Associates program. The Amazon Associates program is Amazon’s affiliate network. Amazon pays a commision for any sales you bring in through affiliate links. Since I have a pretty extensive background with affiliate marketing I have a few thoughts on the dilemma PriceZombie is facing.

After being previously told we were in 100% compliance with the rules, our Amazon affiliate account was closed a few months ago. Amazon claimed we were violating their rules against showing product and price information that was more than 24 hours old. Obviously, this is something ALL price history trackers do, not just PriceZombie.

It seems obvious that PriceZombie was in contact with a representative of Amazon and that they thought they were complying with the terms of their affiliate agreement. However, the account was then banned for “violating their rules against showing product and price information that was more than 24 hours old.”

My first thought, not unlike the HackerNews commenters, was that PriceZombie violated the terms of their agreement and they need to suck it up. However, I’m an Amazon Associate and I don’t remember anything about not using historical pricing data in the agreement. I took at look at the newest affiliate agreement and couldn’t find any mention.

PriceZombie uses the Amazon Advertising API so I took a look at that agreement. No mentions of not being allowed to use historical pricing data. In fact this agreement seems to suggest you are allowed to show historical prices as long as you display a date with that price:

(o) You will include a date/time stamp adjacent to your display of pricing or availability information on your application if you obtain Product Advertising Content from a Data Feed, or if you call the Product Advertising API or refresh the Product Advertising Content displayed on your application less frequently than hourly. However, during the same day on which you requested and refreshed the pricing and availability information displayed on your application, you may omit the date portion of the stamp

I did find a section stating that you cannot store images and that you should update the content every 24 hours. This probably covers the PriceZombie case but it’s not very explicit.

(n) You will not store or cache Product Advertising Content consisting of an image, but you may store a link to Product Advertising Content consisting of an image for up to 24 hours. You may store other Product Advertising Content that does not consist of images for caching purposes for up to 24 hours, but if you do so you must immediately thereafter refresh and re-display the Product Advertising Content by making a call to the Product Advertising API or retrieving a new Data Feed and refreshing the Product Advertising Content on your application immediately thereafter.

I will assume PriceZombie was kicked out for a technicality in the previous rule. If so then why are so many other Amazon price tracking sites still operational? Amazon was making money from those affiliate sales. Why would they want to stop that revenue? Were the margins too thin on the PriceZombie conversions? Is Amazon trying to cover up the fact that it’s been raising prices? None of this really matters.

The Real Lesson Today

People are caught up in the debate about the possible violation of Amazon Terms of Service, but they’re missing the real point here. If you are planning to build a business around any 3rd party API you are exposing yourself to the greatest risk I can think of. Your business can die in a blink of an eye and it’s completely beyond your control. Someone else controls your revenue and can turn it off with the flip of a switch.

It doesn’t matter if PriceZombie violated the TOS. Amazon has no obligation to allow anyone access to it’s API or affiliate program. They don’t even need a reason to deny you access. They can allow Joe’s price tracker to keep running even though they killed PriceZombie. There is no implied equality when it comes to business agreements. They could terminate your agreement at anytime and for any or no reason. Kind of like my employer can terminate my employment without reason.

The real thing we learned today is that you can’t build the core of your business around a 3rd party API. Situations like this happen all the time and people still put their bread and butter in somebody else’s basket. PriceZombie could have taken some steps to ensure they would survive if that Amazon money stopped rolling in but they didn’t. Now it’s too late.

I’m even guilty of this. I’ve built sites in the past with Amazon Associates as the sole monetization but I’ve never seen them as a long term business and I always knew the risk of termination was there. I’ve changed my ways of thinking in the past few years. One of the major changes is the realization that if you are relying on 3rd party monetization then you have hobby, not a business.

Real businesses have something to sell.

I’m not suggesting anyone do this but there is a part of me that would find it extremely hilarious if PriceZombie would 301 redirect all of their pages to the same product on Jet.com. I really want them to update all the links on the price tracker to Jet links but that would be a legal problem using Amazon’s API content improperly. So 301 redirect would probably be safer. Obviously I’m not a lawyer.  

Tracking Ad Blockers Using Google Analytics

If you’ve read any of my older posts you probably know that I’ve been involved in internet advertising, in some form, for a long time now. Lately I’ve been seeing more and more posts about how ad blocking is growing at a tremendous rate. I still have some sites that make money from display advertising so I was curious just how many of my users are actually using ad blocking tools. I decided to see if there was a way I could track the users who do use tools like AdBlock vs the users who do not.

First, I came across a script called Block Ad Block. The intention of the script appears to be to detect ad blockers and allow the site owner to act on that knowledge. As a site owner I could detect that a user is using an ad blocker and decide not to display the content to that user. I could also replace the ad block with something like a donations link, an image that tells the user they are a leech, etc. This is all done client side via JavaScript so ultimately the user could still display the content if they disabled JS. I don’t have an interest in punishing people but I saw a way I could use this script to capture the data I wanted.

I noticed that the script allows custom code to be executed when adblock is detected or not detected. Then I remembered that Google Analytics allows you to set custom variables. Combining these two functions we should be able to track which users are using ad blockers in Google Analytics.

First you want to download blockadblock.js. Rename it to something else, I called mine GA.js and include it in your site’s header.

Then create the following Javascript file and include it in the header.

This script include google analytics so you don’t want to include it anywhere else. Also there is a section where you can trigger your own JavaScript to run if adblock is detected. For example you could beg for donations if the user is using adblock.

After this runs for awhile it will start collection custom variable data. You can check the data in the Google Analytics dashboard by going to Your Site -> Audience -> Custom -> Custom Variables. You will see one that says “adblock”. If you click the link it will then take you to a report that shows if a user has adblock enabled or disabled. Yes means adblock was detected:

Google Analytics Detect Ad Blockers

When I look at my data I generally see that somewhere around 20% of my users are using ad blockers. Seeing as the script is written in client side JavaScript and so is Google Analytics, you won’t be able to capture any data if the user has JavaScript disabled. That still seems to be even a more extreme minority than the number of AdBlock users. If I get bored or there is enough interest I may turn this into a WordPress plugin.

 

The Best WordPress Email Plugin

Thinking about adding a WordPress email plugin to your site? One of the most power marketing tools that anyone publishing online can take advantage of is email marketing. According to the Direct Marketing Association email advertising has an average return on investment of %4,300 in the United States. Email is consistently the best performing media in conversion rates. McKinsey & Co. stated that email marketing usually out performs social media with 3 times the conversions.

If you’re not collecting email address, you should be.

We know that email is the best way to connect to our audiences but with all of the plugins out there for WordPress how can you tell which ones are worth it? I’m going to make it easy for you. Just use Bloom by Elegant Themes.

What makes Bloom the best WordPress email list plugin that I have used so far?

I just relaunched my blog a few weeks ago and one of my posts was starting to go viral but I had a big problem. I had no way to collect email addresses. I was in a hurry to add something as my traffic was building. I probably looked at hundreds of plugins, some paid and some free, before I remembered I had a subscription to Elegant Themes. That’s when I found Bloom and fell in love.

If you aren’t familiar with Elegant Themes they’ve been making premium WordPress themes and plugins for years. Bloom is a newer creation and it’s simply beautiful. I haven’t found another plugin that offers the same ease of configuration with the thousands of pre-built opt-in forms that Bloom offers.

What makes Bloom different from your standard opt-in plugin?

bloom wordpress email plugin providers
Bloom for WordPress integrates with these popular providers

First of all Bloom has easy integration for 12 of the most popular email providers including:

  • AWeber
  • MailChimp
  • Campaign Monitor
  • Constant Contact
  • Mad Mimi
  • InfusionSoft
  • iContact
  • GetResponse
  • mail poet
  • feed blitz
  • send in blue
  • OntraPort

I personally use MailChimp and the integration couldn’t have been easier. I just supplied my API-Key and had simple drop downs to select which list I wanted to use.

Bloom has hundreds of pre-made templates to use…

bloom opt in form designs for wordpress

…and they look amazing. You can use these awesome templates with a click of the mouse. You can even customize them using the built in customizer or custom CSS code. I haven’t seen another plugin offer this level of customization while also looking so elegant. You can customize colors, borders, text, buttons, fields and almost anything you can think of.

Even more customization out of the box

bloom wordpress triggersBloom gives you tons of options for how and when your email opt-in should appear. You can have those cool automated pop-in type boxes, a static sidebar form, a bottom of the post opt-in like I have, or even things like post-sales opt-ins. You can control when to trigger things like the pop-in too. So you can wait for a certain amount of time or when the users scrolls, or after the user comments, or even when the user becomes inactive.

You can tell Bloom when and where to show or not show your opt-in form. If you want to exclude categories that’s a simple mouse click. It can add the form to all of your posts by default or you can choose to manual add the forms to posts. You can even get down to the post/page level when determining if you want the opt-in form to show on specific pages.

The control panel

bloom wordpress control panel

The control panel is where bloom really shines. You can get quick stats about the number of subscribers, new subscribers, etc and they are also presented in a beautiful format. You can see all of your various forms and edit them.

You can also run split test very easily. Want to test which color works better? Bloom does that. Want to test a different copy? Bloom does that. The split testing tool is really cool and makes optimizing your opt-in sequence so much easier.

Bloom is responsive and retina ready. 

bloom wordpress responsive

No matter what device your users are on your opt-in forms will look beautiful.

Get the Bloom and access to over 90 other WordPress themes and plugins

That’s right. When you purchase bloom you also get access to more than 90 other premium WordPress themes and plugins from Elegant Themes. I’ve used these themes for years and they are well developed, designed, and easy to use. You won’t be disappointed with a membership to Elegant Themes.

Click here to join Elegant Themes today and get access to the best premium WordPress themes and plugins on the web.

I’ve been a lifetime member for over 8 years and I could not be happier. 282,273 customers can’t be wrong.

[Affiliate Disclaimer]

Are Products the Road to Prosperity?

A few weeks ago a wrote a somewhat popular post about my past experiences trying to make money online. I went through the ups and downs of working as an affiliate promoting other people’s products. At the conclusion of the post I said that I wanted to focus on building some type of product. So why do I think products are the way to the lifestyle I want to build?

For a long time my mindset was just to grind it out and make as much extra income online as I could. This led me to affiliate marketing, blogging, and even some low quality “thin” affiliate sites that most of you would label “spam”. I spent so much time promoting other people’s products that I never really sat back and took a look at the big picture. An advertiser I was working with would pull their products from the affiliate network or I would get removed from the campaign for various reasons (sometimes warranted). I spent my own time and energy selling products I had no ownership in. The people who produced the products were really getting all the value. For a small one time fee I would send them a new customer. In most cases they could continue to sell to the same people I brought in through my advertising tactics. I, on the other hand, had to constantly be looking for new traffic, new products, and new ways to connect with people who will open their wallets. I had no path to a sustainable business model.

On top of that my day job is in the professional services realm. I started working as a consultant for a start up that eventually as acquired by IBM. Now I’m part of the IBM Watson team working as an IBM Watson Solutions Consultant. I’ve learned a lot of things over the past five years of services work. There is one business lesson that seems to stick out to me: services don’t scale. This is especially evident in a young startup that is just trying to make ends meet. You constantly battle the problem of having too much work and not enough people or too many people and not enough work. That’s because they way you scale services is to add people. Now there are ways to “productize” services but in the end it’s still usually tied to an hourly rate. Meaning to make more money you either have to hire more people, raise rates, or find a way to bill more time. Now there are a lot of people who have built successful service businesses but it’s clear to me that is not the route I want to go.

During the acquisition process I also learned that sometimes equity doesn’t pay off for everyone even when there is a successful exit. It paid off for some of the first employees. I was a later hire and it didn’t really work out all that well considering I’d taking significantly less salary than I probably should have been making. My final payout from the acquisition ended up not even being enough to make up for one year of the lower salary I took for three years.

My Mindset Changed

enlightenment

In the winter of 2012 I signed up for the 30×500 product development class that’s put on by Amy Hoy and Alex Hillman. You know how you often hear those stories about some startup getting bought by Facebook for bazillions of dollars when they have no revenue? What you don’t hear are all the many, many, failures that didn’t win the startup lottery. I technically did win the startup lottery and I was left with basically nothing except a new corporate job title and my trusty 2009 Macbook Pro that I still get to use today.

Why am I talking about startups? Well, because 30×500 is basically the polar opposite of the startup lottery world. It’s a class focused on bootstrapping. Startups are usually started with some type of an idea. Then proof of concept/prototype/beta is built to test to see if people actually want the product or not. Startups are basically designed to either fail quickly or have hockey stick like growth (many times that’s not revenue growth either). How is 30×500 different? The class teaches you to do research to find what people actually want and then create a product to fill that need. It’s much easier to sell something to people who already want to buy what you are selling than it is to try to force a product to “fit a market”.

The best lessons I got out of the class were probably focused around money. Everything I’ve learned about money most of my life was tied to time. From working for $5.35 an hour in high school. To earning a salary which means your money is tied to 40 hours of your time each week. Then you end up working another 10-20 hours per week for basically free because that’s how most salary positions work in my experience. My parents, friends, relatives always talked in hourly wages. Amy’s class and probably Tim Ferriss’ 4 Hour Work Week taught me that the best way to free yourself is to separate your time and money.

All Hail Products

The best way to separate your time from money is by producing a product. Now what exactly is a product? It could really be anything. I think of products as anything that you can bundle into some type of packages physical or digital that you can sell to multiple people. Ebooks, training courses, software as a service (SaaS) are all ideas of digital products. For all of these things you basically make a large initial time commitment and then smaller ones to support the sales and the product itself.

Now if you notice above I’m not talking about “monetization”. I’m talking about sales. Monetization is what you do when you have a bunch of people who don’t want to pay you for anything so you try to extract what little you can from them, typically in the form of advertising. This really only works well for huge sites like Facebook for example. Even sites as huge as twitter are struggling with the “monetization” path. I’ve gone through trying to monetize traffic in the past and it feels like the wrong approach if you want more predictable success and to limit obvious paths to failure.

The biggest upside to products is the ability to scale. This is especially true of digital products. While scaling physical products might take more work to pump out more products it takes almost nothing to sell another copy of an ebook. How much of my time would it take me to build 1,000 custom websites for clients? Ewww I’m not even sure I want to think about dealing with that many picky clients. If I had to put a time on that I would say 10 per year might be a good estimate (for me) which would give us a total 10 years. 10 years. 10 years of hearing clients argue why that particular shade of blue is not right. How long would it take to sell a WordPress plugin to 1,000 people? I’ve seen people do that in hours. Even if I couldn’t do it in hours I could continue to scale the sales of a product like that while pursuing other things because once the product is created my time is mostly freed from it aside from support and sales.

Yeah but I Can’t Actually Make a Product

There are probably a few of you who got this far but are thinking that you can’t make a product and market a product. You might even think you need a huge following to sell something. After all these bloggers and authors were all famous way before they sold products, right? Wrong!

  • 37signals, the creators of popular project management software basecamp, started off as an agency making web applications for clients. Their first foray into products was a actually an ebook about e-commerce search engines. Basecamp came out of a need they had internally and eventually they turned it into a very successful product. They’ve since branched out with more products.
  • Amy Hoy and Thomas Fuchs started out doing consulting work. They started doing some training classes for corporations and eventually directly to the end user. Their first product was a book about JS called Javascript Performance Rocks. At the time JS was becoming more popular and everyone was making terrible slow web apps. The book help solved that pain. Then they developed Freckle time tracking software for freelancers. Then eventually Amy took what she learned about creating products and packaged that knowledge as a product called 30×500. Amy even had a failure in there when she tried to reinvent email but kept on moving once she cut her losses.
  • Patrick McKenzie created software for teachers to use to generate bingo cards. Yes, he literally built a successful business selling to probably one of the cheapest markets I can think of. Teachers in the US are severely underpaid in most cases and they often spend their own money buying supplies and things like this. Yet they are willing to shell out money for this software. He’s solving some kind of pain.
  • Brennan Dunn ran a successful consulting business. His big entry into the product space was a book called Double Your Freelancing Rate. He no longer runs a consultancy but he does have a project management SaaS application called Planscope and is building more products including training classes.
  • Nathan Barry basically went from being an unknown web developer to supporting his family off a few ebooks.

I could go on and on. There are thousands of people in markets I’ve never even heard about making a living off of products. These stories might not be the “20 year old that started the next Facebook and became a multimillionaire” kind of story. The truth is I’m never going to create the next instagram, but these seemingly ordinary people are making a few hundred thousand dollars from small product businesses. Mostly because they just started blogging with solutions to problems people in their space have. They built an audience by helping people. Eventually those people were also interested in buying their product. The best part of selling a product is that there is a good chance those same people are going to be interested in buying your next product (provided it targets a similar interest). All of the people I listed above have an email list that they have built over the years. I bet each one of them could send out an email announcing a new product and makes thousands of dollars in pre-sales right this instant.

Conclusion

You might be asking yourself: If this guy is so sure products are the bee’s knees then where are his products? Well there is one thing no class can do and that is make a person take action. You will find that most people won’t take action. You could give them an exact blueprint to print money and they won’t do it.

One of the first things 30×500 will teach you is to sell to people like yourself. You already know that market. Well, I have a hard time with introspection so I have been stuck trying to define exactly what it is that I am. I’m not really a web developer. I’m not really a big data engineer. I’m not really a consultant. Maybe I suffer from imposter syndrome? Maybe I’m just realistic in my skill level? I’m probably just more of a generalist but what ever the problem is I’m going to make it my goal to work towards solving it.

There is a lifestyle I want to work towards that I feel like only having ownership in my own business and products can provide. I used to think it required millions of dollars. I don’t think that now. I just need enough to support my family, cover my current expenses, and then a little bit to have fun with. I’ve already worked out a remote work relationship with my employer, but I want to be able to travel with my wife while still making a living. I want to be able to decide one morning that I’m going to move to somewhere sunny (so long as they have internet) and actually be able to do it without permission from a boss. I’ve seen posts from Amy about being too sick to work for weeks at a time but still making an income from her product business. If you had a job and were sick for that long there a chance you would be fired or at least forced to go on Family Medical Leave and lose your income. If you were a consultant and couldn’t consult you would lose your income. With a product business the business can still chug along while you are out dealing with whatever life throws your way. That’s the kind of lifestyle I’m going to work towards building starting now.

 

Setup A Life You Don’t Need to Escape From

I waste too much time online, especially on social networks like Facebook. I saw a quote the other day from Seth Godin:

Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. -Seth Godin

This really hits home with me. I often find myself running away from life. I don’t really have a clear path. Now if I end up on my Facebook profile I see this:

facebook screenshot

I decided that since I waste so much time on Facebook at least I can give my future self a reminder of the goal I should be working towards. Will it help? I don’t know. I’m sure at some point in the future I’ll forget about it and maybe it will give me an extra boost that day.

Anyway, here’s the template if anyone is interested in it.

facebook profile header template

Going Full-time as a Work from Home Employee

The office I work out of is running out of space. A few weeks ago I was asked if I wanted to give up my desk to become a full-time remote employee. There are a few reason I was chosen as one of the people asked to give up their desks. First of all my commute is atrocious. Our office is 60 miles away from my house and that takes me anywhere from 3-5 hours round trip. On average that is probably an additional 20 hours per week. I’ve been working part-time remote (2-3 days in office per week) for a couple years now because of this. Since I’m a Watson Explorer Consultant I often work on site with clients, which means I’m not in the office that much anyway. Given all of those things it’s pretty obvious why they asked me to go remote. I’ve been working full-time remote for a little over a month now and here’s what I learned.

Fear of giving up my desk

For most people the idea of working from home is a dream. It was for me too until it looked like it could become a reality. Then I started to have doubts. I thought maybe my employer was just trying to push me out. I have a fear of being “out of sight, out of mind”. Meaning if I don’t run into my colleagues/manager at the water cooler they might forget I even exist. Will anyone remember me when that next promotion opens up? On top of that it seems like being remote could almost be a move in the direction of getting rid on an employee or at least make it easier to do so.

So far it seems like all of these fears are irrational. Although I do make a little bit of an extra effort to stay active on our instant messenger, respond to emails, and share things on our internal forums so that people don’t forget about me. I also still have the option to go into our office and sit at an open desk. I used that option to deliver a presentation in person. I’ve also done some follow up presentations on the phone. Basically, I’m doing what I can to make ensure that people can’t forget about me.

picture of my home office
Here’s a crappy picture (thanks HTC!) of my home office. You can see the standing desk / main work area on the right and my gaming PC on the left.

How my life has changed since taking on full-time remote work

I’d be lying if I didn’t say my life has changed for the better since becoming a remote employee. I know that not everyone has this option so I’m thankful for it. I’ve been working pretty hard myself to make sure I’m taking full advantage of my new work arrangement and the fact that I’m savings 4 hours per day on my commuting time.

I used to have to get up at 4:45 am to make it to our office by 7am. Getting up that early took a toll on me. Eventually I started showing up later and later. The later I would leave in the morning the worse the commute would be, but the later I would stay at night the better the commute home would be. So for awhile I would leave early in the morning and leave late a night which isn’t great for having any type of personal life.

I have a new schedule now. I sleep from about 11pm – 6am. Then I eat breakfast and get to the gym by 7am. I spend roughly 2 hours at the gym between cardio and lifting before starting my work day. I’m usually back at the house and ready to work between 9:30-10am. Not only that but I’m much more awake than I was when I would roll out of bed and head straight to work. In general working out in the morning has given me more energy. I’ve been doing this routine for the past 3 weeks along with dieting and I think I’m going to stick with it for some time (so long as my job allows). I might have some travel coming that will completely screw my schedule and probably my diet.

Challenges of working from home

wonka_from_home
Don’t be condescending to me, Wonka.

There are a few challenges I’ve run into when working from home. First of all, I actually think I have less distractions at home than I do when I go into the office. There is never the impromptu meeting or someone bringing in a quad copter or whatever else goes on when you put a hundred people in one small space. That being said, there are still things I’m learning to deal with at home.

One of the biggest problems of working from home is that it seems very difficult to separate work from life. This is a common problem with our highly connected society in general. Work starts creeping into your personal time. When you’re a remote employee the opposite can also happen. When people hear you are at home they seem to associate that with being on vacation. So I would get requests to let someone’s dog out or my wife would tell me to do some chore. It’s hard to draw a clear line and get people to understand that yes I am at home but I am also at work and that means I don’t have time to screw around. One trick I use for this is to have a separate office space for working. I’d say it’s a requirement to have some type of workspace. There is no way I’m going to be as productive if I lounge on my couch in front of a TV.

There are also other distractions. Some new game came out or one of my favorite sports teams is playing at 1pm for some reason as happens in March Madness. I’m usually able to stay focused but I also allow myself 1 hour to do whatever I feel like it on my lunch break. Sometimes that’s walking on the treadmill to get some extra cardio which gives me even more of a boot after lunch. Sometimes it means I’m playing a video game which helps me relax. I use my lunch time to try get distractions out of my system so I can focus during my working hours.

I’ve also started using a standing desk to help with general health and productivity. I have no scientific proof but so far I seem to be more focused when I’m standing. However, my feet and legs do get fatigued so I switch from standing to sitting through out the day. I usually only sit as long as my laptop battery will last which is about an hour.

Another distraction are my dogs. Since I’m home I can let them out and take care of them. It’s nice that they don’t have to stay cooped up inside all day. I also get some cute co-workers but even they sometimes don’t understand that I am working (go figure). The worst is when they decide to start barking while I am on a conferrence call.

It’s a work in progress

Overall, I think working from home has added some balance to my work life relationship. Before going remote I think the pendulum was starting to swing to really far in favor of my employer as far as my time is concerned. I’ve been traveling for the last 6 months and putting in 10-12 hour days on site for a big project. In the consulting world we have a target utilization rate, which is the amount of hours we actually bill to clients. Usually those goals are 60-80% based on an 8 hour day which allows for vacation time and administrative tasks that are not paid for by the customer. My utilization rate was over 100% on this project. That means I billed over 40 hours per week and then did all the administrative BS on top of that.Plus 10 hours of flying every other week. I was approaching burn out and now I’m getting a little bit of a break before I have to go back on the road.

I’m still working on figuring out how to best take advantage of this work from home situation while also being a productive employee and fair to my employer. So far I’m still getting great feedback at work so I think things are working out. I’m also on the path to being a happier and healthier person since I’m exercising a lot more. So far this seems like a win/win situation.

If you work from home do you have any tips to share?

IBM Watson Explorer

A few people have contacted me about what I do at my day job as a Watson Explorer Consultant. Since this is my personal site I don’t usually focus on what I do at my 9-5. I’m going to write a few posts to explain what exactly it’s like working for the IBM Watson Group and what applications I work with.

Disclaimer: This article contains my own thoughts and opinions and in no way represents IBM or any IBM products. This post is not sponsored nor affiliated with IBM in anyway. Please see the official IBM Watson Explorer website for information directly from IBM.

What is IBM Watson Explorer?

Watson Explorer is a data discovery tool. It allows you to explore vast amounts of enterprise data. The tool allows you to consume and index data from various data sources. Out of the box Watson Explorer ships with many popular connectors for enterprise data systems. Using it’s own proprietary indexing technology, Watson Explorer can leverage natural language processing to deliver relevant query results to end users. The product can also utilize Query Routing to route queries to websites and return the results within it’s own interface. This data can be integrated into a single, 360 degree view, application on the front-end.

IBM Watson Explorer ships with several different modules:

  • WEX Foundational Components
    • IBM Watson Explorer Engine
    • IBM Watson Explorer Results Module
    • IBM Watson Explorer Application Builder
  • WEX Analytical Components
    • IBM Watson Explorer Content Analytics Admin Console
    • IBM Watson Explorer Content Analytics Miner
    • IBM Watson Explorer Content Analytics Search
    • IBM Watson Explorer Content Analytics Studio

IBM Watson Explorer Engine

The Watson Explorer Engine component is the key backend component of the of the foundational components. The foundational components come from IBM’s acquisition of a startup called Vivisimo based out of Pittsburgh, PA. Engine basically acts as an enterprise search engine that can be leveraged to crawl and indexed large amounts of data both structured and unstructured. The documents are stored as XML documents, similar to Apache SOLR. During the crawling process XSLT can be utilized to modify the data of the document before storing it to the index. Engine can be configured to be distributed among many servers to meet big data needs and scale quickly. The web based admin interface allows IT users a simple way to manage this powerful application. For enterprise search applications engine comes with it’s own search interface. To leverage 360 degree views engine must be combined with IBM Watson Explorer Application Builder.

Watson Explorer Engine Admin Interface
The Watson Explorer Engine admin interface

IBM Watson Explorer Results Module

The results module component allows non-technical business users to manage feature of the search results within Watson Explorer. Users can use the spotlight manager to configure spotlights that will show a boosted content above standard search results based on specific keywords. You can also use Results Module’s terminology manager to easily manage spelling suggesting, synonyms, and related terms.

IBM Watson Explorer Results Module
A screenshots of the IBM Watson Explorer Results Module interface

 

IBM Watson Explorer Application Builder

The Application Builder module is used to build 360 views of enterprise data. This applications connects to Watson Explorer Engine and displays the indexed data to the end user. One of the primary benefits of Application Builder is that you can leverage the entity model. By creating an entity for your data you can then define relationships which allows a developer to easily combine and display related data to the end user. Users can choose to follow specific entities that they are interested. Application Builder will then provide them with the most relevant information based on what the user follows.

The technology behind Application Builder is Ruby on Rails. Specifically App Builder uses jRuby which means that the application runs inside a JVM. So for IT purposed it can be considered as another Java application.

App Builder ships with several out of the box widgets that can be configured to display various types of data. Most deployments of Application Builder use many custom widgets. Custom widgets allow a developer to utilize Ruby (ERB), HTML, CSS and JavaScript to deliver a custom experience. This tool is very powerful and is currently being used by many enterprise customers to get the entire 360 view of their data so they can make educated business decisions.

IBM Watson Explorer Application Builder
An example of a “360 View” using IBM Watson Explorer Application Builder.

 IBM Watson Content Analytics

The content analytics module is a separate piece of software from the foundational components. IBM Watson Content Analytics allows you to collect and analyze different types of content. It stores this content in it’s own indices which are currently separate from Watson Explorer Engine. It can consume both structured and unstructured data from documents, email, databases, websites, and other enterprise repositories.  You can then perform text analytics across the data that is indexed by Watson Content Analytics.

What is a Watson Explorer Consultant

I’m a Watson Explorer Consultant. That means I work directly with customers to conceptualize and deliver Watson Explorer Solutions. My primary focus is on the Watson Explorer Engine foundational components. I use the engine, app builder, and results module components to deliver solutions to data problems at companies big and small. I’m currently one of the experts on my team for IBM Watson Explorer Application Builder. I’m able to utilize my past web development experience to deliver some highly customized solutions to customer data problems.

Our team is based out of Pittsburgh, PA but we are also distributed across the world. I currently work from my home in Ohio full time. I spend a portion of my time traveling to client sites to consult with them directly and deliver solutions in person. It takes a special kind of person to be able to handle problems with both technology and humans. If you’d like to reach out to me please use my contact form.

Overcoming the Anxiety of Publishing Online

You know the feeling. You’ve just spent a small chunk of your life writing a blog post. As you slowly scroll to the right, your mouse hovers over the publish button. With a finger on the mouse button, you pause for a second. As you stop to think your palms get clammy. The beating in your chest slowly increases until your pulse is racing. You sweat a little bit. A chill runs up your spine.

Are you really ready to put yourself out there for the world ridicule? What will people think? Can you really handle the consequences of publishing this? What if the people don’t like it? What if they don’t like you?

I’m here to tell you that you can do it.

This is my experience as someone who battles with social anxiety and also publishes content online. Over the years I wrote and published hundreds of blog posts and tutorials. For the past few years I haven’t been able to make myself write. One of the biggest issues I have is the fear of fallout from publishing my opinions online. Fear can be paralyzing.

A few days ago I wrote a blog post about my past attempts to make money on the internet. This post was really difficult for me to write. If you’ve ever met me in person you would know I’m not really super outgoing. I’m more reserved and I like to keep to myself. An introvert if you will. That post was the complete opposite of who I usually am. I let some skeletons out of my closet and poured some feelings into it. I put the spotlight on an industry that doesn’t like to have their secrets shared. I wrote a draft and then slept on it for a few days deciding whether or not I would post it. I almost gave into the fear and trashed it. I’m glad I didn’t.

Oh shit is my post going viral?

For most bloggers having a post go viral is the ultimate goal. Who wouldn’t want thousands of new readers? For someone with anxiety this can be a nightmare. I’m the person that chose to submit the post to popular social networks and news sites. I really expected a few people to read it, maybe call me an idiot, and then down vote the post. Maybe a handful of people would see it but I never expected what would happen.

I use the term viral loosely as when I think of viral I think of millions of page views but relative to what I normally see tens of thousands of readers are viral to me.

My post hit the #1 spot on the popular tech news site Hacker News. I was also in the #1 position on the /r/Entrepreneur subreddit. As of the writing of this post a little over 50,000 people came to my site. Almost 1000 people used the social sharing buttons on this site. Even more people tweeted and retweeting the url. I was receiving twitter notifications non-stop.

fde
This Google Analytics screenshot is a good representation of my pulse rate.

The bad, the good, and the lessons.

I’d be lying to you if I said that there aren’t bad things that come a long with posting online. Anytime you have an opinion there are going to be people out there that disagree with you. Surprisingly even the worst of the “haters” weren’t that bad.

How bad were the bad things?

I called out a marketing forum. So it’s no surprise that many of the members there had some negative things to say. One person told me I was a fatter, more unemployed, Matt Cutts. People accused me of bragging about being rich while racking up credit card debt. On another forum some arm chair psychiatrist exposed all of my inner demons. I was crazy to try to start a new blog with a post like this. In r/entrepreneur one user was disgusted that people would up vote a post about spam and diet products. Hacker News had their own colorful conversations going on. A lot of people pointed out how many typos I had (I admit I’m not the best editor). Others complained that my site was ugly, my writing style was awful, and that the post was probably written by a high school student.

Someone even found an exploit on an old installation of WordPress that was installed on a domain I don’t use. They were able to install spam scripts in that account and then send massive amounts of spam out from my IP address. Because I share that IP between a few accounts all of my sites went down because they were black listed as spam. Thankfully my unofficial server support genius was able to get the sites up and running.

What about the good things?

I was really overwhelmed when the positive responses started rolling in. Honestly, I don’t really expect people to connect with the things I write, so it’s always a surprise when they do. Many people told me they loved the way in which I told my story. Some people said they were inspired. Some people were intrigued to learn about how the affiliate marketing world operates. A lot of people offered advice or just kind words of encouragement. Many people seemed to appreciate the level of honesty and introspection. A few people on Hacker News liked the post because it gave them a glimpse of internet history that they have otherwise not followed. Others wanted to know where they could get this beautiful theme (it’s the new WordPress default: twentyfiteen). As you can see many of these contradict the negative responses.

On top those things people started using my contact form to send me questions, encouragement, jobs offers, interview request, and even invitations to speak at conferences. Even though my post was supposed to be about how I failed to make money online people are still contacting me to ask if I will teach them how to do it. I even jumped to the top rankings of profile views among my LinkedIn connections and made some new connections.

The lessons I learned

So what did I learn in all of this? If you put yourself out there some people are not going to like it. That’s OK though. You don’t get love without hate and we all know that the “haters gonna hate”.

Haters Gonna Hate

If anything this experience has taught me that the negative feedback isn’t that bad. I was actually shocked by some of the negative responses because they were well thought out (more of a tough love kind of thing) and the commenter obviously read the post. I can’t say the same about the trolls. Even when I wrote free tutorials to help people learn web development I would still get trolls.

There was a point when my post hit the front page of Hacker News and my anxiety almost caused me to delete it. My wife told me I was crazy. I pushed through it and it was well worth it. The good reactions outweighed the bad reactions by far.

My advice to you

  • If you have an opinion that you are thinking about sharing just go for it. Don’t be afraid of blowback. You will survive it. You’ll probably meet some new supporters in the process.
  • You can’t defend yourself from every internet troll. You’ll have the urge to defend your honor against the haters but it’s not even worth your energy.
  • Don’t pay much attention to comments on social sites. At first I was reading every comment. It was driving my anxiety to new heights. I realized it’s a waste of time to read everyone’s thoughts about you. I’m pretty sure my wife read them all though 🙂
  • Make it easy for people to share your post. I didn’t think that anyone would actually use those social buttons that float on the side of my site. I was wrong. It’s worth the investment to get a good sharing plugin up and running.
  • The worst thing that can happen is that no one will read it. Which is not even as bad as not writing in the first place.

If you’ve been caught up in publishing anxiety but finally decided to click that publish button then tweet me a link so I can check it out.