What?! Do not TRY again?

Just a couple of weeks ago, I spent a week in Shanghai (China) for work. It was the second time in my life that I actually went to Shanghai and no doubt that it is really a nice place! This city is so amazing that it brings me various thoughts. I am really amazed at how Social Media is being utilized to the fullest until the extent where you are able to “get a queue number” and “order your meals” through the same social app. For this, I would have them covered in the next post or so.

When I was on my way to the Airport heading home, I was on the Uber and wanting to know which Terminal should I be heading for, I encounter the following error while surfing the Pudong International Airport website on my mobile.

Notice the message shown above? It stated “Query error, please do not try again!”. Base on the experience that I had as a Software Engineer, I can derive that the whole purpose of such message is that there are probably an error retrieving data from the database or there are error displaying the data.

All-in-all, there was an error!

Error handling has exists for ages and why on earth it is so difficult to have some text or message that is much more friendly for end-users? By telling user not to try again, it just turn people off. Especially for users like me whom is relying on the website for important information for my flights details. Sometimes I ponder whether websites exists to provide information and services to users?

Well, there are nice message that could just gives assurance to users:

Oops! We met into some issue and hang on there while we are fixing it!

However, do not use this as a default one and expects users to be repeatedly seeing this! On top of that, once this message is being displayed, the backend system should also capture it as part of the System Error Logs and trigger the Web-Administrator.

Just my 2 cents worth.


What?! Do not TRY again?

Drawing the line between best practices, least effort spent and organized.

How do you define the terms “Best Practices“, “Least Effort Spent” and “Organized“? Let’s Bing it and see what results returned.

A best practice is a method or technique that has consistently shown results superior to those achieved with other means, and that is used as a benchmark. In addition, a “best” practice can evolve to become better as improvements are discovered. Best practice is considered by some as a business buzzword, used to describe the process of developing and following a standard way of doing things that multiple organizations can use.

Best practices are used to maintain quality as an alternative to mandatory legislated standards and can be based on self-assessment or benchmarking.[1] Best practice is a feature of accredited management standards such as ISO 9000 and ISO 14001.[2]

Source: http://en.wikipedia.org/wiki/Best_practice

Unfortunately I couldn’t find the other two terms because this terms (perhaps too simple) is made up by myself in my day-to-day context and experience. Let’s drill down a little to the main objective of listing all these terms.

I have embarked on my new career since October 2011 and have since pretty happy with the environment here. During this one-year in this new environment, I consider myself lucky to be able to bump into many different projects from small one to enterprise (huge) one. I have also met different breeds of people that were involved in the respective projects and I seriously could list a couple groups of people who different mentality in terms of getting work done and some really pleases me to the max because I really consider those as “Best Practices” and some really made me defend myself to the last stage no matter what because I consider those implementation and way of managing the project(s) as wanting to go via the shortcut or “Least Effort Spent“.

How do we (me in this context, you in the other) differentiate a technical folk who are following the “Best Practices“, “Least Effort Spent” and “Organized“?

Let’s take the scenario of managing multiple SharePoint projects, comprising of the following…

  • Project A – Deployed the solution using WSS 3.0
  • Project B – Deployed the solution using SharePoint 2007
  • Project C – Deployed the solution using SharePoint 2010
  • Project D – Purely custom solution built in .NET

How would you configure your test environment / development environment? To me, I will do this for each of the terms…

Best Practices

Deploy each project in their individual virtual machine and configure it as similar to the production environment. Not forgetting the best practices provided by Microsoft.

Least Effort Spent

Deploy SharePoint 2007 in a virtual machine and share between Project A and B. Deploy SharePoint 2010 in another virtual machine and primarily using it for Project C until there is new project that are implemented using SharePoint 2010. Have Project D put in either of the virtual machine created, both of them should have Visual Studio installed so that shouldn’t be a big problem.


Deploy each project into their own set of virtual machine, not mixing them together. For this, we can ignore the best practices such as having multiple service account to run different services in SharePoint. Running all of them off the SharePoint Farm Administrator account may be the only good option with the least problem caused. However, there is always a breach of the best practices and many other practices which I am not going to name.


Based on my implementation, do you think this would be the better way? I don’t understand why some Senior Technical folks could tell me to stop spending time preparing virtual machine for individual projects since it is not worthwhile doing so. Is installing OS and applications on virtual machine that hard and troublesome? Are we skipping the easy way of having multiple snap shot done up so that we can easily clone images and run up a virtual machine with the bear minimum tools needed easily?

What has all these technical folks thinking in their mind? I may not have the biggest exposure in the development world because I couldn’t help but to agree that development work is not my forte but it is definitely no harm trying, which I always did. How many times must a non-hardcore developer re-iterate the point, WE HAVE TO SIMULATE THE ENVIRONMENT AS CLOSE TO THE PRODUCTION ENVIRONMENT!

Well, we could easily pull this topic off by saying it is the different perspective of these folks but I couldn’t cover the fact that, I do need to take into interests of the client we are serving. After all, the client(s) pay the company, the company pay us, we pay for our daily spending. This is the visual cycle, simple as ABC right?

If you do have better ways for implementing this, do share with me.


Drawing the line between best practices, least effort spent and organized.