Friday, December 26, 2008

New Years Resolutions

I hope everyone had a wonderful festive season with those who matter the most to us (friends and family). I thought I would take the opportunity to discuss the New Year, that is 2009, as it brings new opportunities and challenges for us personally and professionally.

Most economist would argue that 2009 will be an extraordinarily tough time for economies world-wide. As an employee this means that you could lose your job. So what precisely should you do to prepare yourself, if this tragic event was to occur?
  1. Make yourself valuable to the organization you serve. Companies are less likely to lay off employees who play valuable roles in their organization. Those who are trying to climb the corporate ladder are likely to go the extra mile for their organization.
  2. Have a career plan. This means knowing what you want to do with your life professionally. Those who do have a career plan will seek employment in jobs that match what they enjoy. Put simply, if you don't fully enjoy what you do at work, you will get your ass kicked by those who do and make it part of their career plan. Those who do get laid off are laid off because they are expendible, i.e. they don't really enjoy what they do.
  3. Consider your alternatives. Some organizations will get hit harder than others and as a result, even those who really shouldn't go, must go. Therefore, be prepared for what is quite possible in today's economic climate and seek alternative forms of employment. Those who have alternative employment placements will be able to easily transition from one organization to another. Websites like Monster allow prospective employees to consider what alternative forms of employment are available in their area. Again, make sure you factor in what you want to do with your career.

These tough economic times will hit corporations/organizations the hardest this upcoming year and as a result, creative thinking will be required of our leaders to weather this strong economic storm. Here are a couple of valuable ideas for those who manage organizations facing these hardships:

  1. Develop a contingency plan for your organization. Ask yourself, what will my organization do if sales fall 25%, 50%? Many organizations today do not have such a plan and play disaster control on the fly. As a result sub-optimal decisions are made which could affect the health and viability of their organization. You have to know what you are willing to do in sunny days and cloudy ones as well. In addition, if you do have such a plan in place operations will run more smoothly and less individuals will be harmed in the long run.
  2. Reduce waste in your organization (improve productivity). This is probably the first strategy that most organizations do, but often times it is the one that is executed the worst. How you save money in your organization will vary depending on the industry you are enveloped in. Since I deal with mostly manufacturers, I will give specific advice in this area:
  • Reduce downtime in your organization by using technologies (such as Tracking 1-2-3) to pinpoint and potentially prevent downtime events from occuring. Studies have taken place that have shown that downtime is the real killer to manufacturers
  • Reduce waste in the products you make by making your industrial processes run at optimal parameters/specifications. This advice is hard to implement without the use of computers to model and analyze how precisely to do this. Again, Tracking 1-2-3™ could allow you to maintain optimal controls over your processes. Even if waste in your process is one cent per part, it all adds up. In addition, quality benefits can be realized from such improvements, possibly reducing warranty and return calls
  • Empower those in control of your industrial processes to make the right decisions at the right time. Manufacturers spend a decent amount of time and money training operators how exactly to do their job. Many have thick manuals specifying how they can complete their job. None of these tools are fully effective because they are not hands-on tools that appear when the operators need it. What operators need is to be given the right advice,instruction, or reminders at the right time so that they can get their job done. They won't be able to go through thick complicated manuals, or recall exactly how something was demonstrated in training. Again, software like Tracking 1-2-3™ can empower your operators to do the right things at the right time.

3. The final advice I can give organizations that are trying to weather the storm is to lead. What I mean by this is that inevitably you will have to make tough decisions - decisions which won't be popular with everyone in your organization. But at the end of the day you have to lead your organization and do the right thing to stay in business. There may be people in your organization who are doing the wrong things, and need to get booted from your organization, don't hesitate to boot them! Think of your organization as an airplane, onboard are passengers (i.e. your employees), if the person flying the plane isn't doing his job, the whole plane can crash and burn killing everyone. It is better to get rid of the pilot not doing his job than kill everyone on board by letting him continue doing what he is doing. In the name of humanity get rid of those who could make your organizations fragile!

Thursday, December 25, 2008

Regarding Software Protection

In every software system there are two ends of the spectrum - those that use the software and those who develop it. The users want reasonably priced software that delivers the results that they expect and were promised. They also want software that is as easy to use as possible with little hassels anywhere, be it using the software or setting it up. The company that develops the software wants to create the solution that the customers wants, at a profit level that is reasonable for what they are doing.

It seems like a perfect picture from here, but as the real world would tell you, people tend to be greedy. They tend to want to get something for nothing, that is to pirate software, to purchase one copy and install it on all of their machines. Now not everyone is like that - infact many corporations who have software licensed to them carefully ensure that they have the right number of licenses to match the number of people using the software. But what if you are a small startup company? Would a corporation follow licensing terms, or will they risk it figuring that the smaller company doesn't have the resources to follow up and litigate if piracy is suspected and/or proven? Furthermore if you are developing an application that is used by the mass public (consumer software), the piracy rates are staggering!

In developing software, we want to reduce or eliminate piracy or unlawful copying of our software because of the reductions in revenue and profit, as well as the inability for us to account for our user base and hence compromise support and service of our software. Many solutions to curb piracy have been suggessted, I will go over a few and discuss the pros and cons of each:

License Key System

The license key system argues that we simply assign a license/serial number to each copy of the software that we distribute. This key could be attached to a individual or organization as well as licensing details (for instance the number of computers it can be installed onto). The user must then enter that key into the software upon startup and that is all there is to it.

Pros:
  • Minimal hassel on the part of the user, simply enter the code provided and go
  • Highly reliable licensing system, as all the user needs to know is the key, there is nothing that can malfunction directly, so long as the key is valid
  • Since all of the customer details are "attached" to the key, then if we see pirated copies popping up with that particular key, we know who to go after

Cons

  • license violation is difficult to track and find if the key is not published in some open form (i.e. on the web), and the key is shared amongst secretive individuals
  • quite easy to install "unlicensed" copies of the software by using simply one "licensed" key, since the system cannot tell whether this is the first time the software is being installed or the millionth

Product Activation System

The idea behind this system is that upon using the software for the first time, and perhaps every now and then, the user is prompted to activate the software online or over the phone if no internet connection is handy. What happens essentially is coded data is sent to a computer or operator for that matter, which contains unique identifiers "hardware details, software details, user details,". If the software is installed on multiple computers without authorization, the system could quickly detect this as the unique identifiers for the activation would vary significantly.

Pros:

  • Tracking "pirated" copies of a software become easier because now the serial number is attached to machine specific information that is checked every time the software gets installed. If significant changes are noticed, a red flag is waved and we can figure out if piracy is infact occuring on that license

Cons

  • Adds an additional hassel to the installation process as the user must go through this activation system before they can ever use the software.
  • Most activation systems don't work perfectly 100% of the time and having to frustruate some users may cause hardship and distrust that could destroy a customer relationship and future sales
  • What if the company producing the software with activation goes bust? How will licensed customers maintain access to their rightfully licensed software if the mechanism allowing entry disappears?
  • Additional cost is strapped to the software company producing the software as most activation schemes offered have fixed monthly costs, in addition to new license setup costs

Hardware Dongles

The idea behind the hardware dongle is to tie the software to something pyhsical, something that cannot be readily copied or moved over. The hardware dongle is essentially a small device that looks like a USB thumbdrive or alternatively the end of a parrallel port. What it does is it plugs into the computer that is running the licensed software and the software will check for the dongle, which contains the encryptions codes needed to unlock the software. If it doesn't find the dongle, the software refuses to run.

Pros

  • Eliminates the need for any hasseling process when setting up or using the software on the computer, as you need to do is to make sure the dongle stays plugged in during the use of the software
  • The dongles themselves can and have proven to last a very long time. In the world of software if a dongle can last 10 years of use, or more (which most can), then it can withstand the test of time as by then that software would be considered far obsolete. Many are covered by lifetime warranties
  • Software piracy becomes theoretically impossible under this system as the dongle (pyhsical licensing mechanism) can only be used on one computer at a time, and if the license software checks the dongle frequently enough (say 10 times a day), then it would become very impractical in most cases to have any sort of widescale piracy. Machine (computer) specific data can be loaded onto the dongle to prevent someone from moving the dongle to other computers in close proximity and hence defeating the mechanism

Cons

  • What happens if the dongle gets lost,damaged, or stolen? The downtime that the end user would face, in waiting for a new dongle to arrive is one thing. But what if you cannot get a new dongle for the customer, say if the company making the dongle goes out of business or no longer makes such a model? What if the software maker is out of business?
  • There have been tales of disgruntled workers and employees stealing the dongles from their employers and as a result causing significant damage
  • What happens if a clever end user claims their dongle is lost or stolen, but infact is lieing to you and will use the "lost" dongle to license another machine? How can you prevent this "lost" dongle from being used again to license another computer?
  • The software company has to pay a fixed fee per user to get a dongle created

Software As A Service (SaaS)

The idea behind this licensing strategy is that we rethink how we do software. Rather than providing the user with a disk and telling them to install it on their computer and have that software run locally as a desktop application, we provide all the software and solutions they need online for them to acccess anytime provided they have a internet connection.

Pros

  • Minimal, if any hassel on the part of the user, just navigate to the software online and access the content you are licensed to
  • All of the, "magic" that makes the software tick becomes a black box that lies on a server in a secure environment, meaning proprietary secrets, remain secrets
  • Piracy becomes a thing of the past because license validation now occurs online on your end (i.e. server side) so each time someone wants to access the software they must already be enrolled in the service before we can grant them access
  • The solution can be as arbitrarily as reliable as need be, and this licensing scheme is quite scalable
  • Since the software is subscribing to the software as a "service" they will receive updates to the software and as a customer they receive more attention as they remain perpetually active clients with us
  • License enforcement costs are zero!

Cons

  • All of the information is now being stored remotely so you have to trust the other party providing the service to be mindful of this and to make sure all safeguards are in place
  • What if the business providing the service goes bust? Since they hold all of the data, not to mention the application, it could all vanish into thin air. Agreements and contingency plans, however can mitigate this risk significantly.
  • The cost of the software you are using via this scheme isn't fixed, but based on a monthly or annual price schedule which can scare those who don't want to be tied to a software system that has unknown quantities.

Summary

In looking at all of the license options, I have come to the following conclusions:

  1. If you can afford to do so, consider Software as a Service (SaaS), since it is the solution that minimizes the hassel for your end users, while ensuring absolute license compliance.
  2. If users are wary of the "cloud infrastructure" concept and insist on desktop software, then you are left with two feasable options, then you must wiegh the first three options provided. What you must determine is your piracy to hassel ratio, that is how much piracy will you tolerate in comparision to the hassels your user will experience in the licensing strategy used. For instance the hardware dongle solution can signifcantly reduce piracy but at a hassel to the user of having to deal with damaged, or stolen dongles.
  3. No licensing solution (except perhaps Software as a Service) is foolproof. Hardware dongles, activation systems, license keys they are all vunerable to attack and once cracked the game could very well be over. If you take the aggressive licensing strategies (i.e. hardware dongles or activation service) and the licensing system gets cracked, all you have is frustrated legimiate users who had to put up with such schemes.

Whatever you do, try the licensing techniques out before you end up using them and shoving them down your customer's throats. Companies like Intuit, the makers of Quicken have learned this the hard way. Go over to the manufacturers websites, try out their solutions, demand free trials and demonstrations because then and only then can you determine what solution will work best. Ask the manufacturers the tough questions that your end users will ask of you and your licensing scheme. For instance a good question to ask the hardware dongle makers is what provisions they have in place should the my company go belly up and my customers are left with lost, stolen or damaged dongles?

Tuesday, December 23, 2008

Understanding Customer Service & Satisfaction

The marketplace has changed - what has worked in the past, no longer works. In the past products, services and solutions were created by the vision of the creator. That is to say that the amount of time taken in serving customers and getting a picture of what their needs are, was of less priority to the engineers, designers, marketers and other professionals who feel that they have what the marketplace needs. Increasingly, companies have realized that they weren't making what the marketplace needs and are suffering the hardships associated with that (slumping sales, massive losses, and a near crisis situation). The concept of tailor made solutions was the extraordinary not the standard way of doing business. Even today in the marketplace, you can only find customized solutions at exclusive professional clothing botiques. However, those who are successful offer botique products, solutions and services to those who are willing to pay.

The golden rule in sales and marketing is that the customer comes first. Unfortunately very few people quite understand this golden rule. Many believe that this concept means fast, friendly service. Unfortunately our marketplace isn't a gigantic fast-food joint! The following is how I define the golden rule:


  1. Responsive customer service. That means to answer and discuss a customer's concerns or comments in a timely manner. No more than one business day for some type of a response (excluding holidays). Most players in the marketplace get this part of the rule and achieve it.
  2. Accurate customer service - i.e. don't bullshit the customer or tell them what they want to hear. Be honest and direct with them - be it making the sale or supporting them. Any good relationship between a customer of a product and the producer of said product is a feeling of trust between the two. Those who tell lies will not attract the important sales!
  3. Working with the customer in designing and developing the product. Sure customers don't know what they want, otherwise they would have created it already but at the same time customer feedback is crucial in designing anything. Products have failed because things that seemed intuitive to designers were not so to consumers. Working with customers means being there with the customer at all stages of the game, from early development of a product,solution, or service all the way through fulfillment. I have found that customer feedback has allowed me to create a more attractive package than me sitting behind a bullet proof wall guessing what my customers needs.
  4. Thinking of the customers as you deal with the technicalities of the product. As a perfect example, consider the previous post I left regarding software protection schemes. If you don't really think of the user and their concerns about the software protection techniques, you will have unhappy customers or those who refuse to use the product/service/solution because of the thoughtlessness. You must ask yourself, "what would the customer think of this?", rather than, "how will this make my life easier?"
  5. Follow up with the customer. Discussing their experiences with the said product/solution/service with the customer after the sale shows that you have gone the extra mile. This is also extremely useful because they will now have experience using what you have "sold" them and their advice could be useful in making meaningful improvements. It also makes the customer feel that there voice is still heard even after the sale is made.

Monday, December 22, 2008

Survey

I write a lot about manufacturing, and I think I have a decent understanding of the current domestic and global manufacturing climate - perhaps my view is too optimistic/pesemistic, especially to domestic manufacturers. This is a followup to my previous blog, and I would like to know, especially from those who are in manufacturing, what their thoughts are on the following questions. I would appreciate it if you could complete the survey:

  1. Has your organization practiced continous improvement methods?
  2. How effective are operators at doing their job once they have been initially trained?
  3. Do you know how much downtime occurs in your organization?

I believe in the power of three important questions so there they are. If you could state some information about yourself (or at least the industry that your organization is in), it would be apprciated. If this becomes popular I will make this a weekly feature of the blog.

Sunday, December 21, 2008

Regarding Manufacturing

Alot has been said about the auto industry over the past couple of weeks, the majority of which has been negative. I thought I would spend a few moments discussing the broader manufacturing industry, from suppliers to end-manufacturers figuring out what is wrong (and right) with today's domestic manufacturing scene.

First, let's think positive, what is right about the domestic manufacturing industry?
Domestic manufacturers are realizing the changing climate in manufacturing, they are adopting new ideas and new technologies to help them take advantage of the opportunities that face manufacturing:
  1. Global marketplace to sell manufactured goods due to free trade and other arrangements
  2. The demand for specialized manufacturing needs (low production run, high variety production)
  3. The increasing demand and need for a supplier market (think supplier/manufacturer integration)

As a result there is a huge opportunity for manufacturers to suceed globally, however there is alot of competition between foreign and domestic manufacturers. This is precisely the challenges and for that matter what is wrong with many domestic manufacturers.

The problem is that some domestic manufactueres, "get it," when it comes to 21st Century Manufacturing. Others (such as GM or Ford) as still trying to figure out what 21st Century manufacturing means. These players are still using the same tools and techniques that they have used 20 or 30 years ago to secure only a domestic marketplace. Obviously times and markets have changed, and those manufacturers who cannot produce effectively will not survive. In other words it is do or die for these manufacturers. I don't feel depressed by this fact because I have seen many smart domestic manufacturers (think Magna International) who have accepted the 21 Century Manufacturing standard, and who continue to innovate the way they produce to become world leaders.

Therefore, the question arises, what defines 21st Century Manufacturing (the Big Three please take note):

  1. The need to improve quality. Quality to many manufacturers means removing defects. That is the wrong way to interpret quality. Quality should rather be defined as running all manufacturing systems at optimal, "settings,". Every time there is the slightest variation in parts, manufacturers will lose money in wasted material. Furthermore if the variation is significant enough, the parts will likely fail prematurely causing warranties to be used, and customers losing faith in the manufacturer's ability. Warranty servicing costs tend to be expensive so the new motto in manufacturing should be, "Do it optimally the first time", rather than the usual, "Try and do it right the first time".
  2. The need to improve productivity. Often times operators on the line cannot do their job correctly due to the design and training of the system they are responsible for. Toyota has realized that and has made workstations that are customizable for each worker. But we must go way beyond that and consider the manufacturing environment. That is the experiences that operators face on a day to day basis. Manufacturers must be confident that at all times operators are empowered to make the right decisions to keep production operating at full steam, with zero downtime. Unfortunately, experience has shown me that manufacturers lack such tools and all too often operators on the front lines of these processes are left with nothing to do but let problems occur on their lines.
  3. The need to reduce downtime. If you ask the manager of any plant what their number one fear is, they will likely state downtime. Numerious statistics (check any manufacturing journal), have shown that on average manufacturers can lose millions of dollars per hour due to downtime in processes. This is caused directly by the interruption of production, that is inventory piles up in certain places, operators aren't working, production does not run to schedule. Unfortunately while the manager acknowledges the problem, they believe that this is a fact of life, that downtime on average must occur frequently in a year and it is just part of the natural manufacturing process. However, nothing could be further from the truth. Manufacturers must realize the significance of downtime - not only the expense but how it threatens their day to day operations. Manufacturers cannot continually put out fires in their plants if they want to have a functioning shop. They must prevent the fires from ever occuring lest we want further damage. In order to stop downtime manufacturers can use data analysis (such as that found in Tracking 1-2-3) to pinpoint downtime before it ever occurs and find a solution to minimize its effects. Imagine finding the cause of downtime in 15 minutes rather than hours? How much time, money and hassel would be saved by this? How much more competitve can you be? Simple solutions like recording the frequency of downtime events at each part of a manufacturing processes - a simple paper based solution, could allow manufacturers to crudely determine downtime and correct it in less time than traditional means.
  4. The need to stay in touch. How can you run a plant if everyone involved (operators, supervisors, engineers, and management) aren't communicating the issues and observations necessarry to facilitate a manufacturing system that can compete with global players who do exactly that (think Toyota again!)?
  5. The need to stay informed. Most manufacturers lack the essential communication tools neccessarry to track the progress and status of all of their various plants, systems and processes effectively. How can you understand the effectiveness of your plants if you don't have reports that tell you the overall health (uptime, levels of variation, etc.) of your plants? How can you be sure you meet the production schedule if you don't know at what rate your workers are producing parts? How can you remain competitive if you don't know how much waste is being produced in your organization? Key information - statistics, are not being produced by domestic manufacturers because they don't see the value or the need to stay ontop of their manufacturing system. Without information how can you make rational decisions?

It is for these reasons why I feel that manufacturers must take a Toyotaesque approach to manufacturing and progressively adopt these five qualities into their manufacturing approach. They must be able to adapt to these new ideas (which have become standard for successful manufacturing operations), as well as to find ways to always improve these systems. They must also innovate they way they produce and handle operations if they want even a hope of staying competitive globally.... or domestically for that matter.

Friday, December 19, 2008

Why I am a Computer Scientist

I suppose for those who know me in person are aware of my joy and passion of the study of Computer Science. For those who haven't met me, or don't know much about me here is a brief profile of me:
  • I am a Computer Science student at the University of Waterloo
  • I am an entrepeneur that is working on several ventures that create software solutions that deal with the manufacturing and the operations related systems

In any event I am a Computer Scientist for one simple reason: the power of computing, be it small scale personal computing or large scale mainframe/server computing has a lot of potential, but unfortunately our industry has only begun to scratch the surface. As an academic who studies in this field it is surprising to believe that current research in Computer Science is the same research that took place some 20 or 30 years ago. Clearly computing has alot of potential but we have made only small progress in this area. We have only begun to scratch the surface of what computing means.

What I find interesting is that we are living in a world which demands increasing amounts of productivity. We must be able to do more with less and be able to make better decisions today than we did yesterday. Unfortunately we don't have the tools available to us to meet these goals in a timely and effective manner for one simple reason. The Computing industry has not caught up to the demands and needs of the marketplace and the real economy. You might be asking yourself what is the real-economy?

The real-economy is a rather new term, at least for myself, and essentially it is the economy that you and I and everyone in the marketplace operates in. It is a term that describes the economic transactions that take place everyday around the world. What I am trying to say is that the marketplace is asking more, but our technology isn't supporting this demand. Therefore we as Computer Scientist must research ways to keep computing relevant to the modern real-economy.

Therefore we must embark on several different strategies. First and foremost we must rethink what software is. Currently the software industry is driven by this notion of, "If you build it, they will come," that is if we build a software solution, because the software solution exists in the first place the marketplace will naturally adapt to the software solution and use it on a day-to-day basis. Microsoft and other companies have shown that this ideology is absolutely incorrect. You need to ask yourself how much software do I have on my computer? How much of the software do I actually use? It turns out that we install alot of promising software but never end up using it because the design of the software prohibits us to effectively extract the usefullnes of the software from it. User interfaces have become increasingly complex not due to increasing functionality but a lack of thoughtfulness on the side of developers. It seems that software that is truly successful (think of iTunes perhaps), is so successful not because of the bells and whistle but because the software is so easy to use that the user's can extract value out of the software instantly. Software should adapt to users rather than users having to adapt to software because most humans are impatient and are unwilling to adapt to a piece of software every time a new piece of software lands on their desk!

This brings me back to my original point. How do we make software that allows individuals and organizations to do more with less? As I eluded to earlier, we software must adapt to users needs so that there is less time and resources spent hunting for answers. This brings me to my second concept:

We must stop hunting for solutions. Today, it seems that to get anything done, we need to hunt for things. We use Google to hunt for fragments of information (even though Google is fundamentally a poor research tool). We hunt around and fiddles with multiple windows and applications to find the fragments of data that we need. The problem with computing is that computers are great at storing data but poor at yielding results. What do I mean by this? Well most people believe that data and information are the same thing, however they are not! Data is a single or series of points which by themselves are meaningless and don't yield truth. Information in the synthesis of truths (data) in a meaningful way to yield results. Therefore, we must design information systems that can take data and using known systems organize it into meangingful and actionable information (something Google can't do!). We shouldn't have to search for the information we need, our computers should present the information to us, sensing that we need the information at that time. We must have the right information at the right time to make the right timely decisions that are needed in today's marketplace.

This is precisely where Computer Science fails at becoming a liberal field. We haven't pushed the envelope as to what precisely we can do with computation. We haven't gotten to the point where we can do what I have described even though it would be of great benefit and would be highly sought after by the marketplace. This is why I am in Computer Science so that I can push the boundaries of the field and begin to really dig into what computers can do. Anyways those are just my thoughts...

Thursday, December 18, 2008

An Open Question

Hello again,
I got a quick question for those who have a slight interest in business or economics. What makes a good venture?
Is it the team that makes up the venture?
It can be shown that a select group of smart, creative individuals which have skills that complement the other team member's skills is essential in starting a successful venture. Think of RIM or Microsoft, it wasn't Mike Lazaridis or Bill Gates that built the empire by themselves. By using one another's skill they could achieve the adversities that face any venture. In addition working in a team can help keep an organization motivated even in tough times.

Is it the idea that makes up the venture?
Why is it that two different ideas - the Apple iPod and the Segway Human transporter can take two separate paths? The Apple iPod being in large part a commercial success, and the Segway being a horrible failure. The answer lies in the idea - Apple asked how can we revolutionize a market that has already been defined. On the other hand the Segway creates the market, for which we later discover there is no demand for. There was no demand due to the cost, the practiciality and frankly the legality of using it. It was great on paper but lacked realisitc practical use. The iPod on the other hand was a success not because of one key component in the idea, but a combination of segments of the idea. The iPod's story is imagine a world of portable music that is convenient, no longer do you have to go out in the cold to buy CDs or cassettes, but rather buy them online and use the seemless solution that is iTunes to transfer the music to your device. The design of the iPod was also a key factor, the user interface of the iPod and the hardware design made the device look especially appealing to youth. It felt like a device that supplied you enjoyment rather than you having to supply it with hacks and fiddling around with the device - something Microsoft and the Zune didn't learn from.

Is it the story that makes a venture successful?
Often times ventures have a great team, a wonderful idea but fail to discuss the story - which is precisely why someone should care about the product/service and how it would affect them. Often times entrepenuers in describing a solution perform mental masturbation about the technical aspect of the idea. However, most people could care less about this. Consider the following technical detail:
Using the data provided by your operators, we can use tools such as Six Sigma and CPk analysis which in turn could reveal to us how your systems are performing.

Compared to this:
As you are aware downtime is a factor in your plants and it is something that is chewing away from your productivity not to mention your bottom line. How much does downtime cost your oraganization? How many contracts are lost as a result of poor quality and manufacturing processes? Wouldn't it be nice to permanently reduce the amount of downtime your factory, improve the quality of the products you produce and ultimately win more contracts? Our solution can do precisely this and I would like to show you how!

At which point you can shove in the technical details to prove that you are not bullshitting them!
Every idea has a story and most people who start a venture are so engrossed in the development that they forget to realize the story behind why they started the venture and what the current and possibly future goals of the venture will be in terms of real-world problems the solution will solve!

Is it a matter of leadership?
Ventures by their very nature pursue ideas that are multi-faceted, typically complex in the long term and/or short term. There are some many different things that CAN be done in a venture and so many things that NEED to be done in a venture. A good venture must have a strong leader to focus on the organization on satisfying the needs rather than the wants. They must be able to make tough decisions that may be unpopular and may cause trouble down the road. To me a good leader is a pilot of an airplane - he realizes that there are hundreds of people on board and he will do whatever it takes to make sure the plane lands safely. Similarly leaders must be able to fire people who are making bad decisions and doing harm to the venture. If one of the co-pilots (management) is not doing their job, than they must be pulled from the job, not so much because they are doing a bad job but in the name of humanity. What would you rather see one person being chucked off an airplane or the co-pilot making a bad decision that causes the plane to crash and burn? Notice in the current auto-crisis Rick Wagoner failed to lead General Motors as he tweaked parts of the organization and made minor changes, which meant that GM fell further behind Toyota. Only until fire was put under his feet did he start to make the changes necessarry. This is precisely why the only humane thing to do is to let him go!

Is it a matter of the structure of the organization?
Why is it that large organizations (SAP, and Microsoft) fail to innovate rapidly? When they were kids in the sense of the size/maturity of the organization, innovation occured every second and growth became rapid? Well it appears that growth can be a double-edged sword. As organizations grow additional assistance and eventually bureacracy is introduced. Now people who want to try innovative things must face a committee, which like most committtees banter and slow down the progression of the idea. How many great ideas were never implemented at Microsoft due to the size and scope of the organization? Sometimes big organizations believe that they are so big that they are invincible (IBM in the 1980s) - Microsoft much like SAP have this type of mentality and it is only a matter of time that they fade from relevance.

So those are my questions and thoughts. Your feedback is appreciated. It's just a thought!

Wednesday, December 17, 2008

Travelling Sales Day for Me

As you may or may not know I am a partner in a venture that is currently creating an innovative inventory solution for the agriculture business. This came about more or less because I knew someone who has an inventory software venture and he was looking for his first customer and naturally since my Dad is well known in the agriculture circles and knows many ag businesses, I partnered with him (and for other reasons explained in a future blog). Well today we are demonstrating and pitching the solution to a company based out of Woodstock. People seem fairly excited about the solution both on my team and at the company we are pitching it to so, so far so good.

Now, I am not sure how many readers have to make sales calls so to speak. It is actually a welcomed thing if it occurs on occasion, otherwise it can just be a pain in the ass. I mean in one way it's nice to drive down to meet with potential clients. Generally travelling can be fun, even if it only involves driving down the 401, but equally so are the little perks that are associated with sales calls, like resturant eating on the business's tab. Depending on where you have to travel, you may go to places in the world that are interesting. Take me, I have to do a sales call in Cleveland this February and the travel will allow me to go to and see interesting places I wouldn't normally otherwise have (like the Rock 'n Roll Hall of Fame in Cleveland). Today it is handy that I go down to Woodstock for the sales call as Waterloo is nearby and hence I can visit my friends!

The downsides are certainly there if either the travel is too long/tiring, or if the amount of sales calls occurs frequently, i.e. you are travelling frequently. I mean being on the road n number of weeks in a year is typically when you know you have it over your head. Try managing and running any functional business when you are constantly on the road. It is hard to make key business decisions when you are on the road and away from the office (and hence the people that make up your venture). I can recall driving down to a Ford plant many times in a week and it being tiring, (and not to mention expensive when it comes to gas!) Travelling can also be annoying if you are going to a venture you don't know exactly where it is located. Nothing is worse showing up 15 or 30 minutes late because the businesses is off several small streets in London, that's happened to me before. You also have to deal with traffic and road conditions and in London that means making many illegal turns on Wellington Road to make a left hand turn! Oh well, just my thoughts...

Tuesday, December 16, 2008

About My Health

As some of you may or may not know (or have been surprised to hear), I have fell ill recently. I write this blog post today to explain exactly what happened so that people can know what happened to me this past term. In addition, I hate having to repeat what happened when asked.

The whole incident occured on October 8th in the morning as I was beginning to complete my CS350 assignment at the last minute. At first I felt cramps occasionally and passed it off as just being a little gas. Eventually as morning came the cramps got worse, to the point where every 15 minutes I would need to lie down on a couch to relax for a little. After I submitted the assignment I lay on the couch for a little over an hour until Daniel Hobol suggested I go outside for fresh air. Unfortunately upon doing so I began to vomit violently. Sensing trouble, Daniel brought me to Health Services and from there I was taken to the hospital.

At Grand River Hospital they performed several scans and determined that my appendix was perforated, meaning that I had to get my appendix removed. The operation occured around 5 PM the following day (Oct 9). Afterwards the appendix was biopsied and they discovered that I have Chron's disease. A couple of days later I seemed fine and was released from Grand River Hospital.

Upon being released, I decided to stay with my parents to recover from the surgery. I thought that the worst of it was over, but I was dead wrong. It was only the beggining. The Thursday I was back home Grand River called to mention that they kind of messed up and I got MRSA - it's basically a minor bacteria that will go away but it is annoying because it weakens your immune system - it also means that I can only stay in private rooms when I am in the hospital (i.e. free private room for me in the future). Fair enough, mistakes happen in the hospital. However the following Sunday as I was about to return to Waterloo to continue my studies I began vomiting again.

This time I was taken to my local hospital, Chatham-Kent Health Alliance, where they discovered that there was a hole in my colon, part of my bowel needed to be removed and there was some abcesses and infections that needed to be cleaned, at least that is what my parents told me. The operation went well although I wasn't concious at the time. Unfortunately, this is still not the end of the story as I ended up having breathing difficulties and had to be airlifted to Victoria Hospital in London. Essentially I was being fed air through a breathing tube for a couple of days. What was weird about the whole experience is that I remember being in the Chatham-Kent Health Alliance, going to sleep and waking up at Victoria Hospital. It is weird to go to sleep one place and wake up some 100+ kms away from where you slept.

Long story short after recovering mostly in the hospital for about two weeks I ended up going back home to Chatham, as I sit here right now feeling fully recovered but having to eat a new diet. For those who have Chron's disease - I feel your pain as Bill Clinton would say. Having Chron's disease means changing alot of things in your life - your diet, excercise, how you manage stress, as well as being on medications that are aggresive in some cases.

Visual Studio 2008 Class Designer Flaws

Occasionally, typically as I am in the designing stage of creating software, I find it difficult to work out and reason about my software in my head. It is often difficult to play around with ideas in ones head, especially ideas of multiple dimensions. If you are a developer you often times solve this type of a problem through the use of diagrams of various types. In the object-oriented world of software development, the choice of most developers for class diagrams is UML, created by the OMG back in the 90s.

Now if you are a Windows developer, the choice is quite simple, Microsoft Visio! This software is loaded with all sorts of different diagarams that can be used to help prototype software in the early development stage. In these software packages you can do two helpful things: reverse engineering and forward engineer software.

Reverse engineering is the process of taking code that you wrote and whipping it back into a UML diagram. On the other hand forward engineering is taking your carefully typed UML diagrams and whipping them into code.

Fortunately Visual Studio 2005 and Visio 2007 support the reverse engineer feature, meaning that I can take my code and make sense of it using UML. However, here is where the bad news sets in : Visual Studio 2008 does not natively support reverse engineering through Visio! Instead you have to use the class diagram system in Visual Studio 2008. This system has its ups and downs:

On the positive side:
  • Classes and all data types in your VS solution can be easily pulled into the diagram (i.e. reverse engineering)
  • As changes are made to your code they are automatically reflected in the class diagram(s)
  • Included in all editions of VS 2008, meaning no need to buy Visio

On the negative side:

  • UML is not fully supported, if anyone has taken CS246 at the University of Waterloo would know, basic UML concepts like composition and various relationships are not there!
  • The system has a steep learning curve because tools are not obviously displayed, for instance in Visio you can draw a line to link two classes together, in VS you have to go through several steps to accomplish something like that
  • The diagram produced, while it describes the solution, it can give rise to ambiguity in ways that a strict UML tool wouldn't allow

So the verdict is out! If you want a free somewhat acceptable modelling tool stick with VS 2008's class diagramming tool. If you want something that is harder to use, due to its lack of reverse engineering in VS 2008 try Visio. Visio is a wonderful tool in that it allows you to model and diagaram everything from user interfaces all the way to UML, networking and even database diagrams. It is definately worth the effort and money if you are doing any serious project. Just my thoughts...

Why this exists?

Hello,
If you are reading this blog today you are probably wondering why the heck, I, James Simpson of Straightway Technologies Inc. would have a blog about myself and my venture. You would likely argue that while at times I can be eccentric, I am not the type who would blog about things publicly. As a friend of mine used to say, you'd have to be a obnoxious thundercunt to have your own blog. So why does this exist?

First and foremost I encounter so many things in my life that I feel need to be shared with those who frankly would care about these encounters. Sometimes I will offer helpful advice and ideas that may be useful to other people who are in a similiar situation as mine. Since we live in a mostly free world, it is your choice to view my blog and often times you will not.

Secondly, I find it annoying to post notes on facebook constantly, it tends to be a gunky interface and often times messes up the flow of my profile/wall area. In addition, those who take offence or who have comments regarding my post cannot do it anonymously they must somehow already be a "friend of mine".

Finally, it provides a centralized place for me to discuss issues without having to be inside of facebook. I can finally have a central spot where my thoughts can be heard by those who are interested both publicly and privately. I suppose this is more or less supporting the first argument I made about why I am using this service. In the future there could be other useful features that facebook's notes section doesn't have and perhaps I might be slightly interested in them enough to use them. Oh well just my thoughts...