Monday, May 13, 2024

If it aint broke don't fix it

Online/cloud tools that companies depend on, are more able to update their user interface/mechanics without any input from users, than in the days where customers bought their software products from a store and installed them from floppy disks/CDs. Back in the day, if you needed/wanted to update your software, you would either travel to your local brick-and-mortar software store to either pick up a free disk, or purchase said update. These days, software companies continue to update their software online, with no notice and with little regard to whether or not: a) their paying customers need/want the update b) the update is an improvement on something. I will of course ignore security updates which are a whole different story. So why is updating their product too frequently a bad thing? Well, for one thing, paying customers don't always want the update in the least case, but in the worst case, these updates can drastically modify the interface in a way that isolates long time users, for no discernable reason. End users don't necessarily know why the update was put in, or why the menu items/icons they used to know the location of is completely different. End users, even of web products are either forced to endure "helpful" popups of what's new, or need to read long, overly complicated release notes that are aimed at power users/administrators of online products. Some examples of this from my day to day life: (I will obfuscate product names) 1) an online time tracking product now has a feature that by default will detect what ticket you have been working on and helpfully bombard your time entry product with "suggestions" of tickets you could enter. This is both distracting and insulting, and only comes from the fact that the Time Tracking product can read from the ticketing product and vice versa. After months of this annoyance, I found that there is a way to shut down this integration, but the fact that this "new feature" was set as default is what was super annoying. The company making this product assumed that their new feature would be useful to all of its users, despite the fact that its distracting and provides unnecessary clutter. 2) A popular browser company used to have a feature where, if you wanted to re-open a close tab, you right-clicked on the new tab button, and you would see a list of recently closed tabs. They decided for whatever reason that this was too convenient, and that you now needed to move your mouse all the way over to the left side of your tab bar, and click the little down arrow which listed every single tab you have currently open (I have lots at any given time), and if you scroll all the way down, you can see the tabs that you recently closed and click the appropriate closed tab to re-open it. Why they felt the need to change this? I have no idea, but its less useful, less convenient and an attempt at fixing a problem that is just not there. 3) A popular operating system company is constantly changing their UI to move things around and make sure that people who have a wealth of experience in their prior product are now experientially poor. Why they feel the need to constantly shuffle things around without making reasonable changes, I will never know. There are a multiple of reasons each of these products became popular, so why, when they have market share, do they now make changes to the original formula in a Coke-Zero-style, marketing initiated, executive-approved decision that does nothing other than try to fix problems that never existed and alienate their core customer base. I guess we'll never know. TL;DR: Companies with online products, stop shuffling your UI around for the purpose of giving your UI designers something to do, and ask your paying customers before you make big changes to your product.

Monday, June 11, 2012

"Other People" and other such bizarre concepts

I continue to wonder why people still yell into their phones as if they were a part of two-cups-attached-by-strings system. Microphones are very powerful, data transfer speeds are high, and noise cancelling, and data correction is as advanced as it could be in our day and age, and yet people still yell into their phones as if the concept of someone being far away necessitates increasing the volume of your voice. All modern smart phones will adjust volume on the receiving end to an audible value, and will still allow phone users the flexibility of increasing the volume.

People who use cell-phones on public transit are the worst. As if a train car has now become a substitute for these peoples' living rooms and they have the freedom to blab as loud as they want on their phones. While we are on the topic of ranting about others' cell-phone usage....why do people on cell phones in public...pace up and down? Stand still and talk quietly on your phone. It's not that hard. What? Do you feel like an animal trapped in a cage? Stop trotting up and down and whisper into your phone. If the other person doesn't get all the details of your miserable day, and they are so inclined, they will ask you to repeat yourself, in which case, you can tell them to turn up the volume on their phone.

In the office, in an open-plan office, people wax poetic on their phones as if there is no one else around them. It doesn't matter whether it's a Cell-phone or a Desk phone, since most modern desk phones offer the capability for receiving parties to turn up the volume. If you are in an open plan office, when you talk on the phone, other people don't need/want to hear what you are going on about, so let's keep it quiet okay?

Friday, May 4, 2012

Collaboration or Distraction

What exactly does "Collaboration" mean? Or at least, what images does it invoke in the minds of people who collaborate?
In my mind, "Collaboration" invokes images of people communicating with each other. It invokes images of people having and resolving dependencies on each other. It invokes images of multiple parts, each with their own function, working towards a common goal.

Communication
It invokes efficient, necessary and minimalist use of Communication means to ensure that all parties in a project know all information that is necessary for them to get their job done and also necessary for the effective completion of their goals. This does NOT mean all parties need to know everything at all times. This does not mean that all parties need to be communicating at all times.

Two people in a collaborative effort can discuss an issue without needing to involve the entire team and this can still be considered collaboration. Collaboration does not mean clumping an entire team together at all points to discuss. That is an inefficient use of group resources.

Programmers need quiet time. They need a distraction free environment to write code, dig through code, debug code, research issues. If programmers are required to be in meetings for 50-75% of their day, that is not an effective use of their day. If they are not required to contribute in the meeting, but are required to be there for osmosis learning, that is an even less effective use of their time.

Most meetings (in my experience) are 90% waste heat. Sometimes useful things happen, Sometimes useful things are said, but most times, meetings spiral off into tangential, "important" discussions between two parties. Not to detract from the significance of the issue, the question is raised: Do all parties present need to hear/contribute to the issue being discussed? My answer would be, most of the time, a resounding No.

Noise
Wikipedia defines Noise as "any unwanted sound" and discusses "noise as an unwanted phenomenon" Another definition I found appropriate (and amusing) is of Noise pollution as "excessive, displeasing human, animal, or machine-created environmental noise that disrupts the activity or balance of human or animal life." Noise in the workplace is a function of many different factors:
  1. Poor workspace planning
  2. Inconsistent expectations
  3. Differing Priorities

Poor Workspace Planning
This is where the concepts of "Collaboration" and "Disruptive workplace" collide. The notion of wanting peace and quiet to work can not, and should not, in any sense, be taken to construe an anti-social environment or counter-collaborative.

Even in a collaborative environment, people still need to buckle down and do the work that everyone else is discussing. A work space that is "open" is also a workspace with little privacy, or to put it another way, a workspace that affords people little ability to quietly buckle down and do their work. There is frequent contention between the "collaboration needs" and the "peace and quiet" needs of the same team. Collaboration on a team frequently involves the need for individuals to be able to break away from the collective mother-brain, to work on their own. When you have an open-planned workspace, you are enforcing people to always be either part of the glommed-whole or be distracted by the glommed-whole.

Inconsistent expectations
Often times when a team is "Collaborative", the expectation is different between people who have different expectations of what "Collaboration" means. There are those that expect that "Collaboration" means if you are not participating in the current discussion, you are not collaborating. I would posit that this kind of attitude is counter-collaboration. Certain personality types are conducive to receiving instructions, and executing on those. Certain personality types are more attuned to returning to the group whenever some level of contention is encountered. Since so many different people have varying work styles, it is unproductive to enforce one work style on all (independent of personality type). This is an inefficient use of resources. Some may thrive, but some will be stifled. When a team is assembled, the notion of collaboration needs to be agreed on by all members. A useful thing is for a team to agree on "Ground Rules".

Differing Priorities
When any large team is assembled, different members are given different objectives, all contributing to the team's overall goals. At any point in time, different people will have different priorities, and these are often seen as absolute within an individual's personal priority set, as opposed to relative to the global priority of the team's objective. Noise situations arise when "collaborative efforts" draw in resources for "high priority" items that are only high priority within the "local scope" of the highest rank resource or most forceful personality, but not necessarily "high priority" relative to the global objective of the team. If a meeting is necessary and resources are summoned to attend, each person's participation role should be clear both to them and to all other people attending the meeting. The necessity of the meeting should be predicated upon the global priority of the issue being discussed and should take into account the global priorities of all attending members, not just how scope-locally important the meeting is to the caller.

Summary:
Lots of thoughts here, and lots of words but the net is as follows:
  1. if you have a meeting, do it in a place that does not distract those who are not in attendance
  2. only include those that need to be there
That is all, thanks for reading.

Friday, November 18, 2011

An Algorithm for Parents

Here is something I sent to a friend whose wife just gave birth:
-----------------------------------------------------------

while (baby.isCrying())
{
baby.Burp();
if (!baby.isCrying())
{
output("your baby had gas");
exit;
}

if (baby.needsDiaperChange())
baby.changeDiaper();

if (!baby.isCrying())
{
output("your baby needed a change");
exit;
}

baby.Cuddle();
if (!baby.isCrying())
{
output("your baby needed a cuddle");
exit;
}

baby.Feed();
if (!baby.isCrying())
{
output("your baby was hungry");
exit;
}

baby.holdAndRockGently();
if (baby.isSleeping())
{
output("your baby was tired");
exit;
}
}

Thursday, November 3, 2011

Update to Occupy X

One of the things I had mentioned in my previous post was that I wished the Occupy folks had more direction, and I did wish them to succeed, but I had no idea (nor did I believe did they) what success meant.

I found this article that goes one step further and clarifies what their goals SHOULD be:
http://www.prosebeforehos.com/article-of-the-day/10/12/giving-direction-to-occupy-wall-street/

Thursday, October 27, 2011

Occupy X

Someone should make a game called Angry People. In this game, you have a bunch of people encamped outside some sort of buildings where financial stuff goes on. On each level, you have different cardboard signs and you have to fling them at the financial structure to try and knock it down. Except the signs are made of cardboard and the buildings are made of bricks.

Where am I going with this? Every day, I walk past the Occupy Boston encampment, and I stop and read all the different signs that they have on display. Many of them from people with valid issues, many of them with poignant and moving quotes. My favorite one says "We spilled blood on the ground and expected flowers to grow?". The movement itself is very touching and I truly sympathize with what they are trying to achieve. What is that? I don't really know, but I do sympathize. Which gets me to my next point.

You cannot be truly successful unless you can measure your success. Unless you know what you are aiming for, you cannot tell whether or not you have reached your goal. Or as my father used to say to me, if you cannot see the goal on the soccer field, you will not be able to score a goal. In order to be successful, you have to have a way of measuring whether or not you were successful.
In other words, unless you know what you are trying to achieve, you will not be able to achieve it. Which brings me...to my next point.

The Occupy Boston'ers have many many signs with messages about what they do not like. These are clearly stated and often make me really mad at "The Man". I very rarely see a sign that says what should be done about these problems. A manager of mine once said..."Don't come to me with problems, come to me with solutions. I will sympathize with your problems, but unless you tell me what you want me to do, I can't really do anything, and that's not useful to me." I feel that the OB-ers have not clearly stated what their demands are. Yes 1% of the country "controls" 99% of the wealth. How can we fix this? What concrete steps can our government, our lawmakers and our financial leaders take in order to fix this? What clear goals do they have and what timeline do they have in order for these goals to be met? And how are they monitoring the progress of these goals? (more on this when I find out)

Friday, September 30, 2011

Excellent article on SEO and Ethics

http://mattgemmell.com/2011/09/20/seo-for-non-dicks/