Clear Measure 2016-Q3 update–#1 Austin Fast 50–small segment

A while back I wrote an update on Clear Measure. As time has passed, a lot has changed, and we've achieved a lot as well. You can read my previous update from April, 2016 here.

Austin Fast 50 Award

Fast 50 - Fastest Growing CompanyJust over a week ago, we were presented with a very big surprise. In the Austin, TX area, we were ranked as the #1 fastest growing small business across the board in any industry. They classify their small business category as one that posts less than $10M in revenue, and we closed out 2015 at $8.7M in revenue. This was the first year we were eligible to submit our numbers as the Austin Business Journal (ABJ) requires a complete 3 years of financials to be completed. From beginning operations on January 7, 2013 through the end of December, 2016, we grew at a erpace that was pretty hard to hold onto at times. I was a bit bummed that our remote employees around North America couldn't come to the event, but we invited all of our local team to participate. While they give the award to the CEO, this award was for the whole company. Fast 50 Clear Measure TeamEveryone has worked extremely hard, and I am very proud of them. It's a bit of a delayed award since it recognizes 2013-2015, but anyone who was on board during that period definitely remembers how hectic it was taking on customers and new employees at a high rate. We appreciate the ABJ for this award, and we are encouraged by it. And God has certainly blessed the Clear Measure family of employees and clients.

I also want to thank our 2013 clients. They are largely still with us, as we are a good portion or all of their software engineering core competency. Early in our relationship with these clients, they witnesses and tolerated the environment where we made the sale, mobilized the right team to tackle the problem and align with their organization, and then turned to mobilizing a team for the next client. More than once, a client asked for personal attention from me that was hard to give. I appreciate their patience, and I am so grateful for them for sticking with us. Our business has been built on long-term relationships rather than flash-in-the-pan projects, and our clients are some of the best around.

Honing our focus, driving our purpose

Rather than casting a wide net, I believe in going deep. And it seems business books everywhere talk about finding a market niche and "owning" it. We started with it in 2013, and ever since then, we have learned more about it and have found what works well and what doesn't. We have used that learning to hone our mission statement.

“Clear Measure is a software engineering firm that brings a competitive advantage to growing companies”

We worked hard to make this statement short but specific. Since the beginning, we have been a software engineering firm. We aren't a staffing firm. We aren't a traveling consulting firm. And we don't describe ourselves as a software development shop. We've chosen the words carefully.

Software

We are a company that writes code. We build software. We modernize software. We work in the flexible medium of business automation through computing. Digital record-keeping.

Engineering

We believe that the best returns on software investment come from the engineering discipline, not from art, where success is in the eye of the beholder. And as much as the craft movement produces great lessons, the demand of our city and the world has already far outstripped the capacity of the available craftsmen in our field. In order to provide predictable results at the necessary capacity, we take an engineering approach to software in order to drive out variability and increase certainty.

Firm

This may seem irrelevant, but organizations that provide a professional service are called firms. These organizations are more than just a LLC or Corporation. They are trusted partners with long-term client relationships. They provide necessary high-end services for clients - services that require the workers to be educated, well-trained, and experienced.

Competitive Advantage

Our clients are competing. They come from all industries. Rather than attempt to focus on multiple industries, we let our clients do that, and we focus on providing them with an enterprise-grade core competency in custom software. We have a horizontal focus on our custom software core competency. And we provide that to our clients so that they can gain an advantage when competing in their own industries against other players that have exploited computers and software for their advantage. This include digital record-keeping, automated business operations, and making workers highly efficient, sometimes to the tune of 400%

Growing Companies

We don't solicit enterprises. There. I said it. A critical element in strategy is eliminating options. If we operated every day with infinite options, we would not have an identity at all, and every next client that came along would alter our direction. We have eliminated the enterprise as a target client. While we did do some work for some Fortune 500 companies in the first couple of years, we have chosen to focus ourselves on the companies that are in the middle. They are too big to be called small businesses, but they are not in the Fortune 5000 either. These companies are at a disadvantage in the marketplace amid this computing revolution. They don't have the resources to invest millions are complete software departments, and they sometimes believe that they must choose a software package or ERP system in order to meet their needs - only to find out that while these systems may be great at basic and common business functions, they do not support the part of the business that is competitive - that is a differentiator in their market. Even with costly customizations, packaged products force business processes to confirm to the lowest common denominator rather than perfectly supporting that part of the business which is the true source of market differentiation. The enterprises know this and have custom software to allow them to execute exactly the way they need to . We level the playing field for growing companies. We bring our clients a core competency in custom software.

Impact of core values on our strategy

Our core values are: . .. . .

  • Empowered Employees
  • Building Relationships
  • Authenticity
  • Serving Others First
  • Excellence
  • Trusted Partner

We take them very seriously and weave them into every part of our company.  We are also continually improving how we apply them. When it comes to our core values of relationships and trusted partner, these directly impact how we execute our mission. We tell our prospective clients up front that we are not looking for a project, we are looking for a long-term relationship. While this might be risky if the client doesn't desire the same thing, we believe that transparency will help us select the right clients and will help them properly qualify us. If we aren't a match, there is no need to try to force it. Additionally, we behave as a true partner, and our desire is to become a trusted partner. This means long term focus. This means an understanding of and focus on operational metrics of the client to ensure a good return on investment is happening. And this means actually being responsible for something. We know of so many companies that will take on a client and assign some staff to that client. But then unfortunately the relationship ends. Obtaining productivity and results from those staff somehow become the responsibility of the client? That makes no sense. We insist on an actual outcome that we can be accountable for. And our company is structured for that type of client. Growing firms need to focus on their own industries, not technology. Healthcare companies need to excel at providing the best care to people, not keeping up with what technologies will best help secure information and automate time-consuming tasks. Whether our role is to provide all of the custom software needs of a client or to service only one department, we identify clients that want the long-term relationship, and we execute with the client's best interest in mind to earn the role of trusted partner. This has led us at times to reduce or team or suggest that we not be the ones to perform a recommended action. Some might call it leaving money on the table. I call it doing the right thing. And I believe that doing the right thing for the client will build a very long relationship. And that is in our best interest.

New core value: empowered employees

Image result for empowermentIn 2016, we adopted a new core value: empowered employees. On the surface, this might seem like a cliché, but we are very serious about it, and it guides individual behavior as well as the behavior of management. We are organized in a way that puts power in the hands of every individual. We have policies that push decision-making down to each employee. The person working hand-in-hand with the client has the most information about any situation, and is likely to make the best decisions in that context. And we expect them to. In our culture, which is defined by our core values, we are problem solvers. We are solutions people. Not only for our clients but for our own issues internally. We hire incredibly smart people. Not just our engineers and project managers, but across the board. Every single position is filled with an incredibly intelligent human being. And we don't just want the work of their hands. We want their full brain engaged constantly. Our people know not to come with a problem without options for a solution. Coming with a problem isn't productive. It's just complaining. And very pessimistic. Our people come with facts about any issue at hand as well as some great possibilities for handling the issue. And managers know to always ask "how would you like to handle it?". I do my best to set this example from the top when my management team discusses issues with me.

So while empowerment could seem like a buzzword, it's the best word we found to describe a workforce which owns their day, owns their world, owns their project, and even owns their emotions. And it is the same best word that describes managers who get out of the way while providing work and challenges perfectly suited to the skills our our team. And it's the best word to describe the way in which our sales team evaluates prospective clients, just as they evaluate us, so that if we sign a contract, all of our capabilities are set up for success so that we can push our new client forward in their market through the power of custom software applied to their business. The word also applies to me. I don't always get it right. And in my core values briefing to every new employee who joins the firm, I invite them to confront me, to challenge me, to call me on the carpet if they catch me not being a good example of this core value or any others. For me specifically, my managers know that they can bluntly say "that's not a good idea. We shouldn't do that", and it will be met with an accepting discussion rather than rebuke. And I tend to be an analytic person, so I've surprised several people by cutting off the challenge with a "you're right. I'm convinced". This company cannot run if anyone has a need to "be right". When we can let go of the need to be right, it is so much fun to focus on making the client and each other succeed.

Executing our mission

The business world has changed a lot in the past few decades. More and more business are becoming decentralized. Peter Drucker's prediction of the modern networked organization has already come true and is continuing to become more popular.

FedEx and UPS and other specialized shippers like UShip have changed the way we move goods from one place to another. Why would any new company today start out by building their own logistics or trucking fleet?

Payroll and benefits brokers like Insperity, ADP, and others have changed the way serve our employees through HR and benefits. Why would any new company today start our by building their own complete HR department?

Hosting companies and now cloud hosting providers like Google, Microsoft, and Rackspace have changed the way IT infrastructure is provisioned and leveraged from simple email, file storage, to putting applications online. Why would any new non-tech company today start out by owning servers in a data center facility?

And if you have read this far without clicking off to somewhere else, then perhaps you will tolerate a few paragraphs of marketing-speak.

Software engineering firms like Clear Measure are changing the way growing companies build and manage custom business systems by making world-class custom software accessible to non-enterprise companies. Why would any new non-technology company today start out by building an in-house software team or shackling it's market differentiating processes to common ERP?

As the world becomes more decentralized and more specialized, we help our clients specialize in their field by bringing a custom software core competency where building one is cost-prohibitive and where individual practitioners are unpredictable. We are the leading custom software partner in central Texas. If you’d like to know more, please contact us.

How to have an open door policy with remote workers?

At Clear Measure, I have my office in the Austin headquarters building.  We have space on the 2nd floor and the 4th floor of the building with some separation for different activities.  For instance, the kitchen and lounge are separated and sound-insulated from our open-concept work area on one floor.  My office opens to this area where the Austin-based engineers and project managers work.  I have a door convention that I keep so that people in the office know when I’m available – without having to look at my calendar.

  • Closed door – I’m not available – send me a chat or knock if urgent
  • Cracked door – I’m busy but can be interrupted briefly
  • Open door – No matter what I’m doing, walk in and talk to me, my time is flexible.

IMG_7076I try to keep my door open as much as possible.  And it works out because if I’m in a meeting, I’m usually not in my office anyway. 

When we first moved into this space, I was determined to not have an office.  I made a desk for myself in the open area, but I found myself disturbing those around me, and I was a source of traffic, so now I have an office with a round table in it that doubles as a 2-3 person conference table.  In this way, I have all of my 1x1 meetings with my direct reports without stealing a conference room.

What I haven’t found a solution for is replicating this with our remote workers.  We have Google Hangouts, and Slack, and I have both apps on my iPhone, so I’ll get a notification if anyone contacts me, but there is no visualization on their side that replicates the physical door orientation.  How can I communicate to folks not in Austin if I’m available or I can be interrupted.  What has happened in practice is that the Austin-based people see the open door and just walk in; whereas, the remote folks tend to assume I’m busy and can’t be bothered.  I have much less interaction with the remote people as a result.  This saddens me because I want to have a great relationship with everyone. 

I’m writing this post as a question because I have to believe that someone has figured out this problem.  And my hope is that by sharing I might get some comments that will help me solve the problem.  Being the CEO of a 50-person company puts me in the position of being disconnected with the very people I worked hard to recruit.  I’m looking for a way to stay connected even as my job responsibilities take me away from my desk quite a bit during the day.  Have you, dear reader, seen someone solve this problem?

Update on the Clear Measure journey

For those of you who have followed my writings since 2005 when I blogged on www.dotnetjunkies.net, then http://codebetter.com/jeffreypalermo/, and now on my own domain (although I still blog occasionally on CodeBetter), I wanted to give an update on my journey with the not-so-new company, Clear Measure, Inc.

In June, 2016, we will be 3 1/2 years old, and we are around 50 employees right now.  Here is a picture from our summer 2015 all-hands party on Lake Travis. 

IMG_0252(2)_caphoto8319

We had a great time on the lake on the party boats as well as a couple of wave runners.  It’s been a fun journey, and I absolutely love working with the people here.  As I look back on the original vision and how we’ve grown so quickly, it’s interesting what went as planned and what has not.

The Original Plan

Mark Stavrou and I started operating on January 7, 2013 in a single office in Austin, TX using the Regus executive suites facility.  This enabled us to have Class A office space from day 1.  We knew this was important because our intended client profile was to be CIO’s and CEOs of high-tech or related companies.  The original vision was to be a software management consulting firm.  From extensive previous experience in doing consulting projects, from writing tons of code personally throughout my career, and from running a 30-person consulting company as a business executive, I thought this was a big need.  At at the time, I had just finished earning my MBA degree from the Jack Welch Management Institute.  I knew that quality software was much less expensive than low quality.  Capers Jones really pushes that idea saying, “High-quality software is not expensive. High-quality software is faster and cheaper to build and maintain than low-quality software, from initial development all the way through total cost of ownership” in his Economics of Software Quality book.

I knew that CIOs needed help managing their custom software differently than the company network, the various OTS products and technical support groups.  Custom software is a completely different animal, and so many companies lose their shirt with it because the industry has not matured enough to create proven standards like other trades have.

How The First Year Went

My vision fell completely flat. It turned out that there were CIOs and CEOs who needed help with their custom software.  They needed consulting.  There was a market, but that market was big enough for. . . me.  I’m confident that the company could have grown to be as many as 5 consultants, but that wasn’t a compelling outcome.  I’m a builder, and if I’m not continually building something, I’m lost.  I struggled and struggled to find a way forward growing the company and training a workforce that could provide proper guidance to CIOs about managing their software.  In fact, the original vision lasted only a month.  During the second week of operating the company, we got our first client.  It seemed like a fit.  It was a well-established medical transcription company that has a software system that enabled their skilled transcriptionists to translate an audio recording of doctor dictation to an electronic record of the appointment fully integrated back into the hospital’s EMR system (electronic medical record).  This integration occurs over the HL7 protocol, which looks a lot line a single line of an old COBOL batch file – fixed width protocol.  With this client, we reported directly to the CTO and collaborated with the CEO.  They didn’t have any technical staff to speak of because the CTO had written all the code long ago and was retiring.  This was a small company, but a lot larger than we were, so we engaged.  We helped with overall strategy and even analyzed financial options to get the best return on investment by opening up new revenue streams so that current customers could buy more.  A big win was adding a doctor iPhone app to the system so that the doctor could speak the dictation directly into their iPhone and upload the recording by tapping a button.  While this company certainly did need direction and strategy consulting, they also needed all the work done.  They didn’t have any development staff.  They didn’t have any support staff to monitor the system.  The CTO had done all this. 

So, from this very first client, we were forced to diversify and expand from the narrow vision from when we started.  We hired some contractors and got started.  We essentially became their complete, outsourced, software engineering department.  From that point on, we found a few small projects that were in alignment with our original vision, but that consulting revenue was hardly enough to sustain a company.  It also was not scalable beyond my own capabilities.  After the first year half year, we completely abandoned the original vision, and you don’t even see mention of it on our website.

Very quickly, we adapted to the demand we were getting from our local market.  The second significant client camp in March of 2013.  When I say significant, I mean that the first and this next client are still with us to this day.  We did plenty of projects

and engagements, but many were small contracts and did not yield a sticky and ongoing relationship.  In March of 2013, we contracted with another company’s CEO.  This CEO was running a legal services firm.  They close out class action lawsuits.  For one of the modules, we used some ComponentOne controls, and they even did a case study about it.

This has been a longstanding client, and we’ve seen them grow from 5 employees to larger than we are now.  They are with us to this day, and while we started by modernizing their old, insufficient, we have built them several more and are managing and supporting a full software suite that is critical in helping them execute their business model day to day.  While we did work directly with the CEO on strategy, this was yet another total outsource customer.  We were, and are, the entire, software engineering department.  The only other technical people in the picture is a company that manages their office network as some servers in a local data center, on which the system runs.

In May, we landed another, much larger client where we became the entire software engineering team for one of their product lines.  While they had software engineers for other products, they had none for this product that hadn’t been aggressively updated.  Then in July, we landed another significant client where we were the totally outsourced team.  Along with lots of other smaller projects, it looked like we were in a market where companies wanted to get on with their business and rely on us for their custom software needs – both to build, to expand, and to run and support. 

New Vision

At the beginning of 2014, we had 4 consistent customers that were all alike: we report directly to a C/VP-level executive, and we are the entire software engineering capability for them, both to build/change the software as well as to run and support it.  We didn’t quite have a 24/7 capability yet, but we pushed through with my phone number itself being on the support list if something bad happened overnight – because our medical transcription client had overnight operations to get doctor transcriptions turned around by the next morning.

At the beginning of 2014, we were expanding rapidly.  We blew past $1M in revenue some time in our first year and never looked back, so that was an incredible blessing.  2014 was a year that seemed to validate our new vision, which was to become the complete software engineering department for our clients.  We gained another of these clients in Q1 of 2014, and we were expanding rapidly.  We hired 20 or so people in 2014 because of the expansion, and we were excited.  The company had taken off rapidly.  Our four total outsource customers from 2013 were still with us (and are still with us to this day), and we were convinced that this was our market.  It turns out, we were mostly right, but not totally. 

New Vision Meets Market Reality

We gained many more customers where we reported to a VP.  We were excited about this as well, but they were a bit different.  When there is no in-house software engineering capability, there is likely not a technical executive except for a CIO or CEO.  With the clients were we aren’t in C-level conversations, that means there are other departments with software engineering capabilities. In this case, we did take on several clients (because who turns away a customer), and we made some stumbles.  We had our approach of fielding a complete team according to the Fred Brook’s Surgical Team model, and we stubbed our toe a bit with that when applied to clients that already had a software engineering department.  With our team structure, we asked business questions first.  We wanted to make sure what we were doing would have a proper return on investment.  We have kept that concept from the beginning.  It’s even in our brand name: Clear Measure.  We want to know that what we are doing makes a difference.  Because at some point the CFO is going to look at a big number on a financial statement, and that number is going to have Clear Measure’s name written on it.  I always want to have concrete value tied to that so that we never get in a situation where a client has wasted money on us.  I never want a client to spend money on us.  I want them to make money with us.

Several of our new customer were past the business discussions, and the VP just wanted a crack team to knock something out.  By this time, we already had a local reputation for having very high-end people.  This was and is still true.  Top talent is really hard to find and retain.  We did some projects for these clients, but we found an off struggle, and we only were able to put our hands on it much later.  By the way, these clients are no longer engaged with us, and we have analyzed where we weren’t able to quite make it fit.

It came down to this: they didn’t really want to hire us.  They didn’t.  They had some really exciting projects to execute – some exciting software to build, but they didn’t want us.  The needed us, but they didn’t want to need us.  The problem was that their people couldn’t do it on their own.  They needed help.  So their plan was to us a “vendor” to help them through a spot until they could move forward on their own.  If they had more recruiting ability or were able to build a sufficient department, they would be so much happier.  But, they did need us, so they hired us.  We did good work for them, but the projects ended.  In these cases, we were expendable.  We were a point in time solution to a problem they wished they didn’t have.  We weren’t a business partner.  We weren’t a core capability for them.  We were an extension or an augmentation/support to a capability they had built internally and were intending to strengthen.  To this day, we analyze the balance between a client’s structure and the likelihood that we can make ourselves indispensable so that they are so glad we work for them.

While we were finding clients that would gladly hire us, we found a marked difference in the clients where we report to a technical VP or technical manager.  In these cases, the internal manager wishes they didn’t need us, so it’s hard to build a long-term relationship that way.  On the other had, we also gained more clients where we had relationships directly with the C-suite.  We were able to have business conversations.  We were able to analyze ROI, and the client could see that we were part of their ticket to revenue expansion and business success.  These clients knew they were investing money, but they were happy they had found us. 

Fighting For Our Employees

One of the clients that didn’t wish he needed us turned out to be very abusive.  This was very unfortunate, and it was a huge wake-up call for me.  I’d never experienced this before.  I tend to be a problem solver, and I believe that all problems can be solved.  I was wrong here, but it took 6 months too long to learn the lesson.  We use that internally as an example of a client where we could not be successful.  We could earn lots of revenue and probably hire more people, but ultimately fail.  This was posted around social media recently, and I wholeheartedly agree.  It starts with employees as the biggest asset.  I’ve always believe that in this business.  Most of our employees don’t need Clear Measure.  They don’t need this job.  They need “a” job, but they could get another job quite quickly.  Clear Measure needs them.  They make Clear Measure.  Richard Branson has said “make your employees #1, and they will make your customer feel that they are.”  I believe this progression.  I, personally, don’t directly do the work for each of our clients day to day.  Our people do. If they didn’t do this work, there would be no money coming in.  It’s my job to equip, support, and elevate them so that they can do great work for the customer.

In 2015, we stubbed our toe a bit with a customer that was not a good fit.  That mistake will not be repeated.  In addition, we also figured out the difference in the clients who had internal teams and the clients that didn’t.  More importantly, we figured out that this was not that different at all.  Rather, it was the client that wanted us and the client that hired us but wished they didn’t have to. This makes all the difference.  Another client that was destined to go away, and did, was one where we were unable to get into true business conversations about return on investment and business strategy.  We did some great technical work and have plenty of other victories to tout, but we found that our employees shine when engaged with a client that is truly happy to have found us and pulls us right into their business thought process.

Fighting For Our Company

2015 was a very eventful year for another 100% growth year in top-line revenue and catapulting us up to 50 employees.  I’d only managed 30 employees before in my previous executive role, imageso this was a new experience for me, and I found Clear Measure right in the middle of Doug Tatum’s No Man’s Land.  This is where the company is too big to be small and too small to be big. 

We’d already established all the major functions of a business and had dedicated people for all positions, but we were geared up for our growth and adding managers.  If you read the book, you’ll know exactly our current state, but I like it that it is recognized, and we are moving through it. 

Along with the regular challenges of investing in management and proper systems while balancing the “in the middle” revenue levels, we established a good-sized line of credit with our bank because the cost of payroll ever two weeks had gotten pretty staggering.  And our larger client’s invoices were quite large, so we didn’t want our employees to ever worry about their paycheck.  We have never had to use our line of credit so far, and I hope we never do, but I sleep better at night knowing that we could go several payrolls even if 100% of our clients all decided to stop paying us all at once.  Cash is king in any business, and all risks have to be managed.  Speaking of risk, we almost moved through a time where some current employees incorporated a competing software development company while on payroll at Clear Measure.  They operated on other projects for several months using company computers before we discovered it.  That was a very big blow to us because the guys were well-liked, and I still don’t know why they did it, but we lost a couple of months fighting for the company.  We were able to resolve it, and now we are stronger than ever.

A Bright Future And What We Got Right So Far

We just recently completely Q2 planning, and the event I’m most excited about is that we have leaders in every area of the company.  Our folks have heard me say “it’s not the Mark and Jeffrey show anymore”.  It’s true.  While at the beginning we had to make all the decisions, it is not like that anymore.  In fact, most of my decisions consist of deciding who else in the company should be making said decision.

We did a bit of a pendulum swing, but we have a clear identity for the future.  Our focus on making executives and business owners successful with their custom systems is still there.  We still focus on return on investment, but we have grown to be a full-service firm around a custom software system that is used to run a significant portion of a company.  Our best clients are mid-market firms who have a custom system already and want to invest for the future. It could be that the system needs to be upgraded, or it may need to be fixed in some manner.  Or the system may need to grow so the client can offer more capabilities to its customers.  Most of our clients are services firms themselves, and the better they operate on a daily basis, the better off they and their customers are.

Our first year “we are a software engineering department” idea didn’t stick completely, but 80% of it has remained.  As we have grown and the size of client we serve has grown, we tend not to be the entire department because they already have something established.  But in the cases where they are happy they found us, and they have a place for us in the long term, we are pulled into business conversations, analyze their own ROI, and we integrate with their company and because a very valuable team with a clear responsibility tied to strategic business outcomes. We still organize according to the Surgical Team concept, and our teams are more like SWAT teams than Armies.  Where others would mobilize a 10-person team, we’d do 4. 

We have found we excel when we have a business objective to accomplish.  I have personally learned a lot in this journey, and there is much more to learn.  But I am excited that this year’s challenges will be met by a whole group of leaders pushing forward with me in full support of them as their biggest cheerleader.

Windows 10 IoT on Raspberry Pi with Visual Studio and C# Universal Apps

With Windows 10, Microsoft continues it’s edition of Windows that sheds all of its Win32/16 baggage from 1985 on.  In fact, on November 20th of this year was the 30th birthday of the original Windows.  Wayne Williams wrote an interesting piece about Windows’ beginnings here.

image

We first saw a glimpse of what Windows IoT would be with WindowsRT.  I still have one of the first Surface tablets that ran WindowsRT, and the big difference was that while it was Windows, it didn’t have anything that required a Win32 API – or at least the ones that couldn’t be recompiled for ARM processors.  Windows IoT continues with that and only includes newer APIs that don’t have the historical baggage tying it to the Intel x86 family of processor architectures.

imageI decided to give Windows IoT a try.  I didn’t set out with this explicit goal in mind, but I had been teaching my son and oldest daughter to program, and they also enjoyed Snap Circuits electronics kits.  My guess is that while I entered computer programming and the Internet age in 1995 at the right time, their generation will be at the front of the robotics age.  Not interesting robots, but the Internet of Things robots – small computers that have sensors and motors and do something interesting to enable a very interesting and useful business system for one of our clients at Clear Measure.  This will combine programming skills, physics, math, and probably some chemistry.  Perhaps a mix of electrical engineer, mechanical engineer, and software engineer will be in demand.  Either way, it’s also fun to do these things with my kids.  So I researched a programmable mini-computer that could connect to things and make things do things, and a stumbled across what I’d been researching for work as well – Windows IoT Core.

image

On WindowsOnDevices.com, we see several supported choices for the Windows imageIoT edition.  I chose the Raspberry Pi because I’d researched it before, and it’s probably the most popular – at least it appears that way.  I also just read about the Raspberry Pi Zero, that costs $5.00 and is super small. 

I ordered this AdaFruit Windows IoT Raspberry Pi kit from Amazon, and it came in today.  After bribing my daughter to do some chores, we set out together to put it together and see what it could do.  After the obligatory Blinky sample (blinking LED), we set out to do something more interesting, and we found the BrightOrNot sample.  This combined the photocell sensor with a microcontroller, two potentiometers (voltage dials), and the Windows speed synthesizer, which I was surprised was included in Windows IoT Core (an API that can make the computer talk!).  We put it together, wrote the necessary C# code, deployed from Visual Studio to the Raspberry Pi over the Wi-Fi network and ran it.  Worked like a charm.  I’ve recorded a video showing it in action. 

Code the Town! Investing in the next generation of programmers in Austin, TX

image

Austin, TX is a hot-bed for technology.  You can find a user group for just about any technology and purpose meeting almost any day of the week. 

And now, there is a group that intersects with giving back to the community and helping the next generation of programmers.  Code the Town is a group that does just that.  The official description is:

“This is a group for anyone interested in volunteering to teach Hour of Code https://hourofcode.com/us in the Austin and surrounding area school districts. The goal is to get community volunteers to give the age appropriate Hour of Code to every student at every grade level. We want to have our own community prepare students for a technology-based workforce. We also want to build a community of professionals and students that have a passion for coding and teaching. We want to begin the Hour of Code in the high schools first. High school students would then be prepared to teach the younger students.  Once this group has momentum, it will be able to form motivated teams and use software projects done for local non-profit organizations to not only reinvest in our community but also to help our youth gain experience in software engineering.  Whether you are a student, parent, educator, or software professional, please join our Meet Up! This will be fun! And it will have a profound impact on the next generation.”

Read this full post at http://codebetter.com/jeffreypalermo/2015/08/26/code-the-town/

Visual Studio 2013 Crashes On Startup–my solution

When preparing for my master developer boot camp class I’m teaching next week for a client, my Visual Studio 2013 installation started crashing on startup.  This had happened to me before, and I reinstalled VS to get it working again.  After some googling here and here, I uninstalled GitExtensions.  Now my VS is working again.  There is some commentary on the offending configuration, but at this point in my career I have a very low tolerance for buggy software – especially bugs that render the computer unusable – and for programmers, the IDE _is_ the computer.

My IDE is working fine again, and I’m once again sticking with Atlassian SourceTree for most tasks and TortoiseGit when I just need that right click convenience.

How Windows 10 Ushers in Changes

0I am attending the Microsoft //Build/ Tour in Austin.  I have the pleasure of participating in the afternoon Q&A panel.  Thanks to Ryan Joy for that.  Jerry Nixon, Neil Hutson, Daniel Buchner and crew are doing a great job distilling the Build conference content down to a single day.  The big news, of course, is Windows 10.  What is not explicitly shared is the 5 and 10-year vision for the industry and the world.  Clearly, the Windows 10 roadmap was built on the basis of some critical assumptions and bets.  Google is betting that the web and browsers will continue to grow.  They are doing pretty well penetrating education with Chrome Book computers.  Microsoft is better that people want to interact with information and other people through many ways.  It appears that Microsoft is also betting that if they can make computers of all shapes and sizes that are easy to develop for, that developers will create another 16 million applications for the new Windows.  16 million is the number shared of current native Win32 applications – starting from the early 1990s.

Market Changes

There are some key market changes.  Some great, some unfortunate.  First, Apple was on a role bringing the true table and mobile form factor for computing.  Who knew that doctors would be dictating patient visits by pressing a button on their iPhones.  So Apple really shared a vision that the whole world latched onto regarding the smartphone.  Not a new idea, but the execution and selection of a touch-sensitive screen instead of physical buttons was the game-changing idea.  Google and Microsoft and others have followed, and now we have a phone/computer that resides in the pockets of millions of people.  But sadly, with the death of Steve Jobs, Apple hasn’t moved with the same momentum or visionary direction that Steve Jobs brought to the table.  In observing that, Apple has a great computing base, but it is unclear if Apple will share a next generation vision or will continue just refining existing product categories.  In addition, Google’s success with Android has led to the market coming to expect some basic things from a smartphone.  What once was a premium feature is now just expected, and cellular carriers are offering these smartphones as the free phone for a new data plan.  This now makes smartphones a commodity item and available to every cellular customer.  This space is no longer game-changing.  It’s now normal.  Computing on a phone is now normal.

Web applications are also changing – or the demand for them.  At the turn of the century, and for the last 15 years, there has been a huge push to get native applications to have a broader and more convenient reach by making them into web applications.  Few applications survived this transition.  Most were completely rewritten in order to make them into web applications.  The SPA movement and now mobile and tablet apps are already chipping away at what would have been a pure web application 5 years ago.  Developers have realized that in some scenarios, we need the power of a native platform rather than the more generic capabilities of the browser, which was designed for reach and for runtime-deployment.  Web applications are no longer highly desirous.  Instead, many folks would rather use a native app on their mobile phone or tablet.  And to the extend that installation is super easy, on the desktop as well – as we observe with the success of the Adobe AIR runtime for the desktop.  With business applications delivered via a browser, we have found that users have the ability to easily introduce environment/runtime variances causing more support issues than necessary.  In addition, the testing costs are multiplied unless you can really lock down a single browser to support.

New Industry Trend

In the business world that Clear Measure lives in, we have found that when the users of the application are employees of the client, we can establish a required client environment.  This would indicate that a certain type of application does not need the reach strengths of browser apps because we have control of the computer that would be used to access the application.

There is an obvious trend toward using simple computing form factors to do computing.  When we observe family members doing tons of computing on phones and tablets as well as the popularity of Ultra Book laptops, we know that the common computing world is changing.  And what happens in the normal population quickly invades business regardless if it was part of I/T strategy or not.

How Windows 10 Can Create a Tidal Wave

First, Microsoft isn’t necessarily creating a tidal wave with Windows 10.  They are just trying to meet the demand that they see in the market.  Their bet is that the world is ready for a common Windows across all types of computers, large and small; some with UIs, some without.  The bet is that people will continue to buy small and convenient computers and not just laptops.  The bet is also that developers will see demand from their customers and employers to build more accessible applications.  We have been in a business era where the human had to approach the computer and use the application.  The consumer world has already shifted to a world where the application was standing ready with the human and a lot of times proactively interacted with the human via notifications.  The bet is that the business world is ready for this.  That the business world is ready to arm their employees with the applications wherever they go.  That they are ready to break up the large systems so that functions needed on the go can be provided and exposed to smartphones and tables.  And with wearable's clearly taking off in the public as demonstrated by FitBit and other bands, Microsoft is betting that folks will appreciate doing business computing via more form factors.  This is the bet with Hololens and Microsoft Band.  Starting in the consumer product world, these new ideas can be made available in business, and Windows 10 is being positioned to allow and support that.

The Trend That I See Moving

In 2007, I was really early in the shift from ASP.NET WebForms to ASP.NET MVC.  MVC is pretty common now, and it’s no longer the application platform of the future.  It will be around for a long time to come, and I think the web is now the standard mechanism for publishing and accessing information.  It will be around for as long as paper books.  But this is different from business computing.  Already, we see the limitation of the web for business computer.  For a long time, I wondered why I wasn’t excited about Google’s Angular SPA framework.  It clearly is successful, and lots of people are using it, including us, but I have never seen it as the future of business computing.  With Windows 10 around the corner, I am much more excited about native computing now than browser-based computing.  Google has made a bet on the web, and so Angular fits into their vision.  But I think that era has played out and has hit a wall with business computing.  I think this is demonstrated with the sheer number of native apps that even Google has developed and published just to achieve the goals of their own products.

With Windows 10, I see Microsoft recognizing and supporting the trend that I see, and that is a trend toward more longer-lived systems that support interaction from any number of computer types as well as new form factors that have not been invented yet.

What I mean is illustrated by what happened when applications where migrated from 1990s desktop applications to the web.  Too many were rewritten completely from scratch in the business world.  I know this because I and my team have been hired too frequently over the years to do this type of work.  What is sad is that these web applications out in the business world were too often written using the same wrong assumptions that caused the 1990s applications to be unable to be migrated going forward.  When an developer assumes that the UI technology is not going to change, he couples the business logic of the application with the UI frameworks.  The huge wave coming is business wanting to take more advantage of mobile native computers, and web applications are always the best for that.  So these applications will need to be extended, and many of them are written in a way where if the MVC UI is taken away from them, there is no application left!

This new world of computing will usher in a new standard architecture where the application is built in the absence of UI frameworks, which will continue to change.  This new way of building applications will expose functions via APIs that any UI can call.  And with this application architecture, we can make UI apps for all the different types of computers both now and in the future.  And Windows 10 encourages this new way of developing applications. 

C# is the next-generation cross-platform language

I remember computer science class at Texas A&M University where I was learning Java as a write-once-run-anywhere language.

Now, so many years later, C# is emerging as the language to build

  • Windows apps
  • Web apps
  • Linux apps
  • Mac apps
  • iOS apps
  • Android apps
  • Windows Phone apps
  • XBox apps
  • SPA apps
  • JavaScript apps
  • Database apps
  • Cloud apps
  • and more

Today, Microsoft announced so many things.  I’ll just list them here and let you follow the links

Prediction follow-up–Microsoft now licensing Windows Azure to private data centers

Back in early 2013, I predicted that Microsoft would start licensing Windows Azure to private data centers.  As a software company, Microsoft’s strength is in software and software platforms.  It has been dogfooding Azure to prove it out, but Microsoft never wanted to transform itself into a data center infrastructure company.  Just as Windows Server is a computer operating system, Windows Azure is a data center operating system.  Now, Microsoft has officially announced that for the past 18 months, it has been working on Microsoft Cloud Platform System (I predict the name will change because nobody licenses something that gets confused with “Child Protective Services”, CPS).  This is essentially a cabinet-sized computer you can buy that has all Dell hardware pre built to run a 2000-VM capacity Windows Azure.

I had no idea what their actual plans were at the time, but I’m glad they are doing this because now data centers all around the world can start hosting for their customers on a consistent Microsoft data center operating system.  Now, Azure and OpenStack are the two cloud platforms to choose from for private data centers.

I am really excited about this because at Clear Measure, we have already built a strong competency in Windows Azure not only on the software engineering side, led by James Shaw, but also with our DevOps division, led by Paul Drew.  And with Andrew Siemer, former chief architect of Dell.com, we are also facilitating AzureAustin, a user group focused on Windows Azure from a software engineering standpoint.

New release of AliaSQL released to support Everytime scripts

Eric Coffman and I paired this morning to tie off a great new feature that Eric had implemented.  It is the concept of everytime scripts – scripts that are considered version-controlled (sprocs, functions, views, etc).  These scripts needs to have a canonical version in source control but need to be re-run in an environment when changed.

Check it out on Nuget or Github

IterationZero projected updated so that you can see the proper use case.