When Progress bought Telerik and as Sitefinity consultants, we were concerned that the commitment to MVC might be lost. The .ASP life cycle has served its purpose for many years; however, modern client side complexities are better tackled with architecture capable of offering flexible client side packages and proven server side frameworks to handle the business needs.
Over the years we have made a number of custom Modules for Sitefinity. The unusual ability for Sitefinity to allow custom development while giving content administrators creative control has made working with it a very nice experience. From the beginning, as a Sitefinity consultancy, most of our custom Development focused on Sitefinity and not the page lifecycle. This is not the case with many other CMS systems. For clients, this really can save a lot of money in custom Web Application Development.
We looked at MVC and Sitefinity Widgets and feel that Progress seems to be staying true to driving Sitefinity more towards MVC. We can say that for the Windows environment, this is the best CMS on the market and overall among the top CMS solutions available.
Sitefinity offers many ways for developers to add custom features. Often we find ourselves asking, “What would work best”? Create custom controls or a custom module. From our experience working with the CMS on various client projects, the answer resolves to the question, “Native logic and custom controls or custom logic and native controls”? With a module there will be an entire configuration section that gets built for users to set global configuration. This may be a necessity, for example, when integrating Sitefinity to other applications such as SalesForce. Also, a Module’s native functions can be overridden to perform custom logic. This approach obviously involves more interface implementations, more coding and more resources. One might think the easier path would be to just create custom controls for content editors to drop into pages and create their own logic. Not so fast. The native Sitefinity controls extend the native Telerik controls. Those controls extend the native .NET 4.5 Toolbox controls. Many layers of polymorphism have already been applied, so adding another layer is not going to be a quick and trivial project. In fact if you were to look at extending any of the Sitefinity controls, they require over half a dozen supporting files to function properly. There are interfaces which must be implemented, there are JS files to manage the controls while in the browser, there are core references which must be set for everything to work on the platform. This in itself can be just as time consuming as creating a custom Module in C# and MVC.
Best practice for deciding how to create custom Sitefinity features is to first determine how much control over the logic flow content admins need.
With the current administration’s intent to revamp the H1B program, this is a good time to have a look at what is in play.
The IT industry claims a need for H1B workers due to labor shortages. However, other views see the industry simply abusing opportunities for cheap labor at the expense of domestic works. This issue has been around for a while and not of much interest in the scope of this blog, so we will leave it alone.
What are of interest are the influences affecting the US IT industry for the longer term. Domestically we have an administration driving an “America First” policy focused on training and employing domestic workers. On the other side is a large 3+ million army of foreign H1B workers thriving and living well for their standards. Both movements will be limited by the ability to train and supply workers.
Let’s look at the domestic perspective first. Since the beginning of the dot-com age, American IT workers face ever tighter criteria to land a decent paying job. As a result, younger American’s are faced with fewer options to get into the IT industry. Of course there are options, like degrees, certifications, intern work and similar, but the youth entering the job market today is looking for a short and direct path to the labor force. Hence the MOOC, and coder camp like industries are born. Online courses, lasting only a few months can give you IT knowledge which traditionally requires a degree and years of experience. Although the placement rate is considerable low for such programs, they, none the less, are great training centers for those interested in beginning a career in IT. Coder camps and similar and are so much recognized as potential training centers that the current Department of Education has begun a pilot program (EQUIP) to allow Title IV financing to students of these “Tech Trade” programs. Enrolling into a coder camp, millennials can finance a 3 month course on software programming and pursue a career in the field. So we have a solution. Affordable training and supply is not federally supported. The need has always been there so the demand is ready to absorb these youngsters and help them pay their student loans back.
Let us travel to the other side of the world. Millions of IT workers are coming to the US on the H1B program. As of 2012 the IT outsourcing industry contributed 7.5% to the Indian GDP (http://www.nasscom.in/indian-itbpo-industry). India has certainly many great schools and institutions to train its workers for industry. India no doubt has the population to supply the US IT demand. Many of these workers are living higher than average standards in their country and are driven to continue their success.
Of course the issue is not that straight forward. As with all industries there are lobbies, business agreements, contracts and other tools designed to promote the interest of whoever is behind the signatures. So, fundamental economics, at this point, is probably out the door. What is certain is that there is a need for about 4 million additional IT workers whose average salary is way above the US average. The question is who will those jobs go to? The current administration would like US citizens to fill those jobs. India is benefitting greatly from all of those jobs and would like to continue doing so. As the Department of Education under the Trump administration develops its EQUIP program to allow domestic training centers to put US citizens into those millions of jobs, India has an interesting counter plan.
How can there be a plan to counter such a federally supported movement? Simple, do what has worked so far. Underprice the domestic supply. This is what the major India IT companies are planning. Using the same H1B program they will send the same people as educators to train domestic workers to do what they would have done under the current H1B program. The brilliance is phenomenal! The plan is absolute genius! How so? First, the US IT industry has a low wage addiction. Outpacing inflation with lower waged workers is business strategy. This will not easily change. Second, MOOCS and coder camps have notorious low placement. India is betting that even if the federal programs work and short term training with financing creates huge interest, the likelihood of those who complete the programs finding jobs is low. So, the volume of H1B workers will not be affected.
Two things for sure will come of the H1B program changes. A domestic IT training industry will mature. Second, the demand for IT works will continue. India will try to underprice the IT training industry and take that over, while maintaining the current H1B volume, in essence expanding market share. The Trump administration will try to create programs to help US citizens get trained and find work in the IT industry. If India does it right a huge increase in its GDP will be its reward. However, if things go wrong for India, the US middle class will see a consumer boom minus the Butter Chicken dinners.
Antyhing SalesForce related is not cheap. Not consider integrating your CMS with SalesForce and the letter “c” drops right out of the alphabet. There is exponential effort in getting a sales lead started as there is maintaining the contact. Why not let customers interested in your services or products start their own contant information. This Sitefinity module is just the thing. It lets you convert the standard Sitefinity forms builder into a self help SalesForce kiosk that allows customers to create their own contact information. It really is worth the money.
Do not let anyone change functionality during testing. This should be the later stage of preparations for going live and the business logic hopefully is determined by this time if all has gone well.
One of our projects generated over 70 test cases that the client had only one resource for. That resource happened to be a manager. During testing the manager noticed bugs of course, but also insisted on adding and changing features. I explained to them that doing so may invalidate previous test cases that will have to be re-checked. The manager agreed, and so feature changes were done during testing as asked. The manager, however, never re-tested approved cases. This snow balled into plenty of aggravation for all involved. Code was written, code was testing and approved, and then code was affected by feature changes. It got to the point that the manager would come in every day and complain about having tested “things” that used to work, but no longer seem to work. This in fact was the symptom of a flawed testing process.
If the manager had gone back and re-tested after feature changes, there would not have been an issue. However workloads and time constraints dictated otherwise and the user acceptance process took much longer time and effort and cost the company more money which agitated the managers higher up the ladder. I think there was a week long period during this time where nobody said good morning to me.
What to do? Offer the manager an all-expenses paid trip to a faraway place? Maybe. In retrospect, the best practice would have been to document that no feature changes can occur during testing and create a more agile feature development iteration including more testing resources. Also, keep a good travel agent in your Linkedin contacts list.
Consolidation of mutual interests is a more frequent theme in business today. Businesses have a great benefit in complimentary products and services. To facilitate this, organized business camps are popped up across the nation. These camps offer great opportunity to meet other business people with similar interests. Here in Tucson Arizona we also are exploring this idea with interesting results. Who knows? Maybe the next Google will come from the desert. Check out startuptucson.org.
Often we are asked what is the best layout for a main landing page. The answer is, the one that can hold a visitor for more than 15 seconds.
Think about his. After the first click only 50% of visitors will be on your site. After the third click there will only be 20% left.
The main landing page should offer potential visitors meaningful click driven paths to desired destinations such as product details pages, description of services offered or the purpose of the web site in the least amount of time possible.