Sunday, March 31, 2013

Smartphones Getting Smarter

Like many of us, I have been using Nokia phones and Microsoft operating systems for a long time. Honestly, I am a great fan of Nokia and Microsoft. With minor annoyances here and there, my experience with both these companies has been very fulfilling. These are two smart companies that changed the world around us completely. Microsoft made PC a household device and later Nokia repeated the history with mobile devices especially in countries like India which still have a wide gap between rich and poor.

I remember returning my first Windows phone back to AT&T and switching back to my Nokia smartphone almost a decade ago and using a bulky HP Windows phone a later for quite some time. Technology has matured since and Windows phones are not any worse than the competition any more, especially when Windows 8 OS runs on Nokia.

Not only Nokia is the pioneer in smartphones, they have real functional apps that kept them far ahead of the competition. For example, when iPhones navigation apps were sending people in the middle of an endless forest in Australia or getting clueless when the road ends all of a sudden at Hoover dam, Nokia users preferred using their phones over an expensive navigation device because of higher reliability.

Now after shaking hands with Windows, Nokia could provide features such as multi-lingual keyboard natively which require installation of some kind of plug-ins or add-ons in most other phones.

नोकिया लुमिया हिन्दी
I replaced my Nokia E73 with a Lumia 810 last year. I am happy to retain most Nokia features blended with Windows ease of use. I have faced minor issues. I have seen this smart phone not being smart enough to handle storage well. Users can set new music and photos to use additional storage but unlike Nokia (Symbian) phones, applications and updates still use the phone storage and keep complaining about the storage. Especially, the mysterious "other storage" folder keeps growing fast reaching to a stage where you are out of luck. No updates will be installed and most applications won't work due to lack of space in phone storage even if the phone has a newly formatted storage card.

Some apps claim to help you clean "other storage" but after installing "Shrink Storage" app and following it's time consuming steps of "filling" storage, restarting the phone and finally, "clearing" storage, nothing happens and the only step I had to take was to uninstall the app.

Even if you keep uninstalling every application at this stage, you are not getting any storage back unless you reset the phone to factory resetting. You may backup your phone before resetting but this all is unnecessary trouble that should have been avoided. I reset the phone, restored from backup, installed a few new apps and I still had 5GB free space besides an almost unused memory card. I hope that Microsoft or Nokia will come up with a storage solution before all free space on my phone is eaten up by this "other storage" malfunction again. There are rumors that Nokia Lumia 620 is already shipping with a built in "Storage management" option provided under "Settings". If that is true, the same needs to be provided to existing phone models as soon as possible.

Collaboration of two companies globally renowned for building user-friendly products has resulted into a healthy competition and a win-win situation for Nokia, Microsoft and ultimately the end user. Overall, it's a great phone which still needs fixes for a few issues.

  • Excellent "People management" integrating various profiles
  • Great Nokia navigation - neighbor's envy, owner's pride
  • Professional camera apps from Nokia and Microsoft, such as Blink, Photosynth etc.
  • Windows 8 ease of use.
  • Wireless charging option
  • Absence of a storage manager to move, copy, paste, or delete documents, mp3 etc.  
  • Lack of a functional Explorer similar to Windows Explorer
  • No App Manager. It's difficult to access installer files on SD card or install apps from an SD card. 
  • Missing Task Manager.
 (Anurag Sharma)

Sunday, January 6, 2013

India’s Ascent in IT in spite of Infrastructure Problems

(Anurag Sharma)
Though most experts were optimistic about Indian economy, some showed scepticism. The sceptics worked hard to stereotype India as a backward country with no hope for modern development. An earlier IMF report complained about “domestic structural constraints” in India. In an interview with Manjari Raman published on December 29, 2004 issue of, Michael E. Porter (2004) of Harvard Business School strongly denied India's economic progress as overstatement.

It is obvious that the pessimistic view about India was completely wrong. India's GDP is growing fast and steady. Foreign exchange reserves are over $ 100 billion. NASDAQ has opened office in Bangalore. NYSE has bought 5% stake in India's National Stock Exchange (NSE) for $115 million. Year 2006 recorded 14.4% growth in industrial production. Indian economy is third largest in the world. India has awakened. India is shining.

Not only India is successful, the success is too obvious to deny. Then, why so called experts were not able to see the obvious? There are two possibilities. First, their theories were too flawed to first predict and later explain India's success in an advanced industry. Secondly, because they were comparing apples to oranges. Both, IMF and Porter failed to see the presence of alternative infrastructure in India. The highways in India may be in bad shape when compared to USA but the fact remains that India has one of the largest and busiest railway network in the world. New Delhi's new $2 billion subway system called Metro is impressive. It is being studied for implementation in other Indian cities. Most of Indian cities have already started following Delhi's lead of using compressed natural gas (CNG) for public transportation system. India adds 7.5 kilometers (4.5 miles) to its existing highway network every day. Around 250,000 people are currently employed in an ambitious nationwide project called Golden Quadrangle to upgrade 45,000 kilometers of national highways at a cost of $40 billion.

In 2006, India's Power Finance Corporation signed an agreement with the National Rural Electric Cooperative Association of USA and the World Bank (IFC 2006) to set up a public-private partnership for rural electricity distribution and advisory services. This alliance is an important step toward India's goal of achieving universal electrification by 2012. Similarly, a private sector company Posco is included in a $900 million project to build a seaport in Orissa. India also has a well established network of hospitals, schools, banks, insurance companies, and other institutions.

India certainly has a serious shortage of power to support the industries. The total infrastructure investment requirements for the next five years have been estimated around US$ 115-130 billion. Improving power system alone will require approximately $45 billion during the next three years. India is working in this direction through public-private sector collaboration. Also, India has taken a successful alternative approach to overcome the negatives of the infrastructure in form of cluster-based development. Carmel (2003) suggests cluster-centered infrastructure (technology parks or high tech office centers) as the preferred alternatives for software industry in case of absence of infrastructure on a national basis. This is exactly what happened in India. The schemes such as STPI and the regional strengths as in Bangalore helped the growth of the Indian IT industry in spite of lack of infrastructure on national level.
There was another flaw in the judgment of Porter and IMF. Their assessments give more than balanced importance to infrastructure. The fact is that the infrastructure does not have to necessarily act as a prerequisite for success. On the contrary, the dependence on pre-existing infrastructure is inversely proportional to the development of new technology. For example, a development model that binds success of Internet in any country to tele-density is a little imbalanced. This phenomenon is elaborated further in the next paragraphs. Consider News media for a test.

Newspapers depend on a large network of infrastructure and supporting industries at various stages of production, pre-production and delivery. Forestry industry is required to produce the trees. The capital intensive pulp and paper industry is needed to produce the Newsprint; you need printing press to print the papers and at the end you need a network of transportation and delivery mechanism. A superficial model may link all this dependence on infrastructure to the delivery of the news. Suppose there is change at the technology frontier, for example, use Radio as the medium of news delivery. Delivery of news through Radio does not involve forestry, newsprint, transportation etc. All that is needed by the customer is to purchase an inexpensive radio set just once. We definitely need an electronics industry to manufacture radios but we needed a printing press manufacturing industry too in newspaper's case. Both these industries can be substituted with import. Radio not only does away with a lot of infrastructure building, it can provide any news instantly and enhanced features such as live coverage which were never possible through news paper. Conclusion: Any theory that fails to distinguish the news industry from news-paper infrastructure will fail to predict the future trends in media.

Yet anther example is photography. Switching from film based system to digital system does away with the dependence on photo film and film developing laboratories. A model that considers number of film developing laboratories as a basis for development of photography industry might have worked for pre-digital era. Ultimately, it would fail to make reasonable predictions due to imbalanced dependence of an antiquated infrastructure indicator. The same is true in Information technology too.

It is important to highlight the differences in other existing models too. Be it Porter's (1998) diamond model, Software Export Success Model by Heeks and Nicholson (2002) or Carmel's (2003) Oval model, existing models insist on availability of infrastructure as a pre-requisite to development. The reality is that the dependence on infrastructure changes with other conditions. One standard global benchmark cannot be applied for infrastructure. This is especially true in case of IT. Considering infrastructure as a prerequisite to success is one reason of several models' failure in explaining India's success in IT and other advance technological areas. The fact is that the dependence on infrastructure reduces as the technology matures. This dependence falls much sharply in case of IT and related industries. The relationship between the maturity of the industry and the infrastructure is shown in Figure 1.

Figure1: Maturity of the Industry and the dependence on Infrastructure

Having an existing infrastructure based on an older and less efficient technology may actually prove as a stumbling block to the success. For example, in mobile phone technologies, the GSM helped the mobile phone industry to become an instant success in India. The same technology was struggling in the USA because of the existence of older but alternative CDMA/TDMA technologies. Similarly IBM's departure of 1970s allowed India to switch to the agile and open platforms instead of the legacy mainframe operating systems. In both these cases, lack of infrastructure actually proved to be a blessing in disguise for India because it allowed the industry to get the best and most efficient technology as the starting point without having to deal with serious change management issues. The case of Indian IT sector has proved that the development theories considering the infrastructure as a precondition to the development are not the right tools to predict or explain the trends in technological development.

[An excerpt from "India as an IT Superpower: Strategy for Success" © 2007-2013 Anurag Sharma]


  • Carmel, Erran. (2003). The New Software Exporting Nations: Success Factors. The Electronic Journal on Information Systems in Developing Countries.
  • Heeks, Richard and Nicholson, Brian. (2002). Software Export Success Factors and Strategies in Developing and Transitional Economies, Proceedings IFIP Working Group 9.4 Conference, IIMB Bangalore, India, 29-31 May 2002.
  • IFC (2006). IFC Promotes Innovation in India's Private Sector. October 18, 2006. [online]
  • IMF (2001). Public Information Notice (PIN) No. 01/88. August 14, 2001. Last accessed on December 1, 2006. [online]
  • Porter, Michael (2006). India Still Has a Long Way to Go. Last accessed on December 1, 2006. [online]
  • Porter, M. E. (1998). The Competitive Advantage of Nations, New York: The Free Press.
  • Anurag Sharma (2007). India as an IT Superpower: Strategy for Success. 

Wednesday, April 20, 2011

Scroll Position on Postback

Simple problems may have simple solutions.

The problem:
Postback in ASP.NET results in page refresh without respecting the scroll position.

The solution:
Page directive "MaintainScrollPositionOnPostBack" to true.

That's all.

Tuesday, July 13, 2010

Sarbanes-Oxley Act 2002

  • Protect investors by improving the accuracy and reliability of corporate disclosures made pursuant to the securities laws
  • Creating new standards for corporate accountability
  • Creating new penalties for acts of wrongdoing
  • Formalizing and strengthening internal checks and balances within corporations
  • Instituting new levels of control and sign-off designed to
  • Ensuring full disclosure in financial reporting
  • Ensuring full transparency corporate governance is transactions

  • All public companies in the USA
  • International companies that have registered equity or debt securities with the Securities and Exchange Commission
  • Accounting firms providing auditing services

Main Architects:
  • Senator Paul Sarbanes
  • Representative Michael Oxley

Effective Date:
Signed on the law by President Gorge W. Bush on July 30, 2002.

Divided into 11 sections called titles. Sections that are more pertinent to compliance:
  • Sarbanes-Oxley 302
  • Sarbanes-Oxley 401
  • Sarbanes-Oxley 404
  • Sarbanes-Oxley 409
  • Sarbanes-Oxley 802

Audit Requirements:
The Act requires all financial reports to include an internal control report.

  • Up to $1 million and imprisonment for up to ten years
  • Up to $5 million and imprisonment for up to twenty years for willful wrongdoing

Role of IT:
  • IT security is important under Sarbanes-Oxley act because IT being the backbone of all modern-day industries, it is in the core of the accuracy, reliability and integrity of that reporting. It is responsible for protection of sensitive user information too
  • Software design standards COSO (Committee of Sponsoring Organizations of the Tradeway Commission, 1985)and COBIT (Control Objectives for Information and related Technology framework, 1986)
  • SarbOxPro program offers standard libraries and interface

Some Online Resources:

Tuesday, November 24, 2009

Final, Finally, Finalize or Sealed?

Final access modifier
  • Final can be used for classes, methods, and variables
  • Final variables can't change from the initialized values
  • Final classes can't be subclassed
  • Final methods can't be overriden
  • C# uses the keyword "sealed" instead of "final" for classes and methods
  • A class or method can be "sealed"
  • A "const" may be used for equivalent of a "final" variable

Finally block
  • Finally is used in exception handling
  • Finally is a part of the try-catch-finally
  • Finally is executed even if no exception is thrown
  • Read more on finally in this post

Finalize() method
  • Finalize() is a non-explicit way to clean up resources
  • Memory resourses for the object are cleaned up using Finalize()
  • Finalize() is called during garbage collection to allow objects to clean up unmanaged resources
  • Finalize() should always be protected
  • Finalize() should release unmanaged resources only

Wednesday, November 18, 2009

How many ways to backup your SharePoint web site?

Quick notes on various methods available for SharePoint 2007 backup.

  • Through Central Admin GUI
    (Central Administration > Operations > Perform a Backup)
  • Command line backup using STSADM
    (stsadm -o backup -directory/site)
  • Using SharePoint Designer
    (Site > Administration > Backup Web Site)
  • Database Backup using MS SQL Server - Click here for more details
  • Microsoft System Center Data Protection Manager (DPM) - Click here for more details
  • Recycle Bin and versioning - Click here for more details
  • Third-party tools