Should my barber do a technology upgrade?

I noticed a barber shop sign at a local strip mall last year and stepped inside, hoping to get a haircut. The lone barber turned away from the customer in his chair, looked at me and said, “Sorry, man. It is by appointment only”. It was relatively spacious place. There were no other waiting customers there. It felt peaceful and quiet. Local NPR station was playing on the radio. I took his card and left. I got my haircut somewhere else that weekend. Over the next month or so, I called him on Saturdays, for the hair cut appointment. He was booked. Every single weekend. I wised up and called him on Friday. I got the appointment for the next day. I did not get the slot I wanted, but I picked from a couple of open slots. I showed up for my appointment, and I have been going to him ever since.

He charges a bit more than some of the other haircut places, but he does not rush to move on to the next customer and my wife is impressed by my haircuts. Enough said. The best part is that he plays NPR in the shop. All day long. I can continue listening to This American Life, All Things Considered or Snap Judgment as I get out of my car and step inside the barber shop without missing much. There is a sense of privacy and exclusivity. It is perfect! And I love it!

barber-shop

Photo Credit : https://flic.kr/p/mer3eX

He is running an appointment-only business and the probability of you getting an appointment on the same day, or a time slot of your choice is pretty much zero. He takes calls on a regular (non-smart) phone and records his appointments on a paper pad with a pen. He takes cash. There is not much of hi-technology there to speak of. One day, we started talking about technology. I asked him if he has thought about using one of the online services to help him with his business. The customers could do self-serve appointments online and he will not be interrupted on his phone while he is with his customers. Customer will get automatic appointment reminders. The payments can also be done online. He could build a database of his customers, create a following on social media and generate more business.

He knew about all of these options. But he seemed reluctant. He wants to keep it personal. He wants to talk to his customers directly, because when they talk to him and get the appointment, they show up. “There a lot of people who would love to waste my time. They will book fake appointments online and not show up.”, he said, “And I don’t want customer’s credit card numbers. I don’t have the time to deal with credit card refunds and disputes. With a larger business, when there are a few more barbers in the shop, it would make sense to hire someone to be at the front desk and handle everything being dependent on additional technology entails, but not now.” The conversation continued for a few more minutes, but his reluctance to consider upgrading to newer technology was quite evident.

He seems to have three main concerns :

  1. He wants only qualified/screened customers. He wants to keep his schedule full.
  2. He wants to keep things simple. He wants to avoid handling customer’s credit card information.
  3. He will personally need to transition to the new scheduling system. He wants an assistant to handle that.

I would recommend a gradual transition. Here is a 10 point plan to get him started –

  1. Create free accounts with some of the online scheduling services and get familiar with them. Appointy or ClickBook are a couple of services to try. They are not paying me to promote them. These are just two that stood out of many I researched.
  2. Start using a tablet device to create and update some dummy appointments. I would recommend going with a data plan with a cellular provider rather than the Wi-Fi option. It will be significantly less tech hassle for you that way. Just trust me on this.
  3. Use the online scheduling service trial for 2 weeks from the tablet device.
  4. Based on the trial experience, sign up with one of the services for a month-to-month plan.
  5. Handpick some of your regular customers and ask them to try the online scheduling service.
  6. Other customers will continue to call on your existing phone for new appointments, rescheduling or cancellations. Update the schedule on paper as well as online (using tablet).
  7. Continue to take cash. You will have the option to add online payments to the service for additional charge. You will not have to take the credit card numbers yourself.
  8. Do this for 3 months. 3 months are necessary to ensure at least two cycles with a set of customers. People tend to have haircuts every 3-6 weeks.
  9. Learn, evaluate and adapt. It is very important to plan for contingencies. What happens if the online scheduling service temporarily goes down? What if you drop and break your tablet in the middle of the day? Ditch the paper completely if you feel confident.
  10. Tell more customers about the online scheduling option and go from there.

This exercise has reinforced my position that software exists to support the business. Not the other way around. To my barber, this is serious business. This is his livelihood. As techies, we tend to impart an importance to the technology for its own sake, but transitions and upgrades (if not executed and managed carefully) could be extremely detrimental to the business.

Whether he upgrades or not, He will continue to have my business. I wish the best for him.

Update : Since I wrote this, the barber shop has moved to a new location nearby. There are other barbers in the shop now. He is still by appointment only. His partners take walk-ins. There are large flat-panel TVs on the wall that sometimes play the local NPR channel. It is a busier place than before. Although the sense of privacy and exclusivity is not there anymore, I am still going there for haircuts, for now.

Announcing New CodeDemo Feature – ZoomIt Integration

I am very excited to announce a new feature of CodeDemo. This feature integrates with ZoomIt and enables you to use ZoomIt much more fluently.

ZoomIt is a great presentation tool. It helps speakers and presenters deliver very effective presentations. But many presenters are not using this great tool as much and as effectively as it can be used. The reason is that ZoomIt has a bit of a learning curve. It takes practice to use it fluently. You have a lot going on in your mind while you are doing a presentation. Using ZoomIt distracts you from your presentation. Practice helps you get over this distraction. A lot of presenters use ZoomIt very effectively with practice. But for the rest of us, ZoomIt mastery has been elusive.

I have experimented and practiced (a lot) with several different ways to gain fluency with ZoomIt, including using custom keyboard combinations, but I could never get to the point where using ZoomIt feels like second nature. I realized that the mental and visual shift it takes to locate the keyboard combination and execute ZoomIt command with two fingers breaks the flow of the presentation and causes the distraction. I came up with a new way to use ZoomIt that has helped me immensely. And I added that as a feature in CodeDemo, so now you can use this method too.

Some of you are familiar with CodeDemo. For those who are not, it is another new tool for presenters. I created this tool to make it easier to use code snippets in your presentations. ZoomIt integration is a new feature of CodeDemo. To use this feature –

  1. Start ZoomIt. If ZoomIt is not running, the commands will be simply ignored.
  2. If you use custom keyboard combinations in ZoomIt, you will need to reset them back to defaults –
  • Ctrl+1 to Zoom
  • Ctrl+2 to Draw
  • Ctrl+4 to LiveZoom
  1. Start CodeDemo.
  2. Open a demo file. Any demo file will do. You must have a demo file open to call ZoomIt. If QuickStart.txt is already open in CodeDemo, you do not need to load another file. You can open Quickstart.txt file by clicking on the “Quickstart” button in the top menu.
  3. Now the key step – do a quick double-tap on the CTRL key. ZoomIt will be invoked and you will see a zoomed-in portion of your screen.
  4. At this point, you use ZoomIt as you normally do.
    • Click to freeze the visual.
    • Press Ctrl key and use the mouse to draw a rectangle on the screen.
  5. Double-tap on the CTRL key (or press ESCAPE key) to exit ZoomIt “Zoom”.
  6. You can also invoke ZoomIt “Draw” with a quick double-tap on the ALT key and ZoomIt “LiveZoom” with a quick double-tap on the SHIFT key. You may need to enable ZoomIt integration from the settings panel in CodeDemo :

Invoking ZoomIt with a quick double-tap using just the index finger (or thumb) did the trick for me. I do not have to direct my attention to the keyboard anymore. The CTRL key is right there at the bottom corner of my keyboard and I can invoke ZoomIt without moving my eyes, my hand or my mind. There is only one thing to remember while using ZoomIt from CodeDemo – The CTRL key. That’s all. That one key will take care of 90% of what you need, to become effective with ZoomIt.

You can get CodeDemo from http://www.codedemo.net.

Photo Credit : http://thenounproject.com/term/gift/13360/

Extending Bootstrap – Book Review

Extending Bootstrap is a new Bootstrap book by Christoffer Niska, published by Packt Publishing. The publisher contacted me to review the book after reading my blog post about my experiences with Bootstrap and LESS. I am glad I accepted to do this book review. I learned several ways to extend and use Bootstrap by reading this book.

The book is for intermediate to advanced level users of Bootstrap. It is a quick and to-the-point read. It may feel opinionated to some readers. It is a concise distillation of author’s real-world experience with the current state of the Bootstrap technology. It is perfect for individuals and teams who are looking to go beyond the basics with Bootstrap on their projects.

It is important to know that you will need to install XAMPP server and Node.js to follow along with some examples. Node is only needed for the steps needed to compile LESS style-sheets. For all other steps you can use Site44, or other ways to render your html and css. You might be able to use hosted node on C9.io to get the feel for the steps that require node, without having to mess around with a web server and node installation.

As you take your Bootstrap project to the next level, you will need a way to automate LESS compilation. Remember, you don’t want to use runtime LESS compilation in production due the performance hit it entails. Using RECESS and Grunt is probably the best way to compile/automate style-sheets, and this is what the author recommends. There are other ways to accomplish this automation, but it is good to know how to use these tools, regardless.

The book does a good job of describing how to customize javascript plugins that come bundled with Bootstrap with a clear and clean example, as well as enumerating the reasons to customize. The example used to extend a plugin in Chapter 6 is reusable. It is actually a template that you can use to create your own extensions to Bootstrap plugins. The step by step explanation of the extension is very instructive. Awesome!

The instructions to disable responsiveness in Chapter 7 should have some more explanation, in my opinion. Granted, that the book is intended for advanced users, but these instructions to remove some lines here and add some lines there, may feel a bit arbitrary to a user who may want to understand the reasoning behind these steps.

Chapter 8 is a listing of popular custom Bootstrap plugins that can be useful to you in your own projects. The listing describes the functionality exposed by the plugins. It does not go in-depth or into the internals of how the plugins work. If you need the functionality provided by these plugins, this information can save you valuable time you might otherwise waste looking for and trying less than optimal candidates.

Chapter 9 gives you a starting point for creating your own Bootstrap theme on top of Bootswatch.

All chapters follow the format of explaining the reasons why you might want to do things described in the chapter, and only then getting into the details and explanation of the steps. I would like to mention this again – this is a thin volume but packs a solid punch. It does not have very in-depth technical explanations. It does have the information you need to get started with taking your Bootstrap project to the next level. The book is an enjoyable read and flows very naturally. You can also use it to create a checklist of things to do when customizing your Bootstrap project.

NoSQL in Windows Azure

You may have questions like these – What are my NoSQL options in Windows Azure? Can I run MongoDB on linux on Windows Azure? Why would I want to do that? Which one of the NoSQL options are available as managed services? Are all kinds of NoSQL databases available? Are there any limitations? What are options for data analytics?
Or may be you have questions like these – Is it true that NoSQL databases don’t have schema? Do they have indexes? What about Views? Should I choose MongoDB or Redis? What is eventual consistency? 
In this presentation, you will learn all about NoSQL technologies in Windows Azure Cloud Platform. And you will get get answers to questions like these.
Carolina Code Camp – 2014

Announcing CodeDemo

It is a challenge to use code snippets in presentations, demos and live coding sessions. I have struggled with this and seen many speakers jumping through hoops to assimilate code snippets in their demos. I had to create something to ease this pain.

Today, I am announcing the general availability of CodeDemo. A tool for instructors, presenters and speakers who create instructional demos, record screen-casts or do live presentations. CodeDemo pastes code snippets into your favorite IDE without getting in your way.

I decided not to open-source CodeDemo to challenge myself to an exercise in commercialization. I decided to learn about entrepreneurship, marketing, sales, licensing and other aspects of software commercialization. It has been an MBA’s worth of education so far. This journey is not over yet. I am taking the Lean approach of creating a Minimum Viable Product. The future of CodeDemo, its feature set and the price, will be shaped by the traction it gets in the market, the feedback from the customers as well as patterns of use reported by the users.

Head over to http://codedemo.net to grab a copy for yourself. Let me know if find it useful – I will be very excited to hear from you.

Here is a quick 2 minute introduction to CodeDemo :

[youtube]aFn3boBAWjw[/youtube]