Category Archives: Articles

Vote with a thought

Today, with just some time left for a major life-changing event, I’m writing this post as a worried, confused and slightly skeptical citizen. The general elections for 2014, arguably one of the most critical elections, are also the elections of Digital age. One small example being this blog post, and rest millions of movements on twitter and other social media. It’s really great to see how awareness is spreading and people are visible excited to vote. I’m a young voter witnessing my second general election as a voter. 5 years ago, I was an excited new voter with a new license and voter ID card thinking it’s time to take on the world and be the change. Well the wave that time was supposedly “Rahul Gandhi” is the change. I don’t know what was wrong with me, but without any proof of capability, I believed in this wave and made the mistake that brought 2G, CWG, Coal, Railway, etc., the-not-yet-found, the-not-yet-disclosed, and maybe even more. One reason was this stupid blind faith in Congress; another was some unexplained resistance from BJP. As most of the 18 year olds, with little practical understanding, I added my support to Congress, and sadly it even won in my constituency.

From 2009 to 2014, along with my stupid decision, a lot has changed significantly. During these 5 years, we’ve actually seen detailed coverage of mass thefts in the name of scams. We’ve seen how easy it is for the accused to board the Jail services for a short duration and then be welcomed back as “on bail”. We’ve heard of such gigantic sums of money going away under corruption that it’s hard to understand why politicians even use the term ‘lack of funds’. We’ve witnessed simply ridiculous statements from politicians regarding poverty line, food prices, soldier life, and so many real things that they just don’t understand or care about. After all, they don’t feel they’re like all of us. In the very much consistent name of democracy, its meaning loses itself. Ideally, the system of democracy was to be one where citizens chose a member to take care of political administration and that’d be his job. He has a proper operational structure, a standard salary slab, and respective responsibilities making him no different from any other job. He is just one of us, going to his office and doing his job. I go to office and take care of servers under my account; he instead has to take care of some people falling under his region. A server falls down and asks me for support, as a part of my job, I do that. Money for doing it is already fixed in my salary. I don’t ask that server to first bribe me or I won’t be fair to it. The server doesn’t need to plead in front of me for assistance. If I don’t do my job on it, I very well should and would be fired. Applying same to the elected member, if a citizen has a problem, he has to solve it. Citizen will report the issue, and the minister will have to resolve it. No citizen should be required to plead in front of him or need to bribe him. No excuse of work load or funds should ever be accepted. Constituencies have been very well defined keeping human capability in mind. No office of government is forced to manage more operations than possible. Therefore, if that elected member fails to perform, he should be fired. No partiality, no mercy. Remember it is democracy. And remember the meaning, not the word.

This understanding must penetrate deep inside us that politicians are just like us. They are by no means, our rulers. A leader is one who guides others to the right direction, not merely be a political heir or a violently strong bully. We need to select someone who can define a clear path of rise for the nation, and not someone who can just claim not being the ‘custodian of files’. We need to choose a leader who will be different from us only by his work, not by his fundamental duties. We need to promote the one who remembers true definition of democracy, and not impose his power on every awakened citizen. We need to be alert, and not let him cheat us again. We need to vote for the member, who’ll develop our country from basics, not just distribute our money away.

Ideally, elections are expected to represent desire of majority. This involves two factors, quantity (that describes voter strength) and quality (that describes the analysis behind a voting decision). Thanks to numerous measures by the Election Commission, quantity holds its significance. Almost everyone who is legally eligible to vote gets a fair chance (as per my knowledge). But what is the truth behind quality? Is our voting decision actually our own decision? Do we really analyze parameters that will help us select the right candidate? Are we going through the election manifesto in detail? If we do read it, do we get a blueprint of making promises achievable, or even some statistical analysis on some promise? I have been a part of voting discussions among many groups and it is really unfortunate that this analysis is missing at most places. Moreover, I have only talked to educated and informed citizens, who form just a small fraction of real voting strength. It can’t be imagined what all drives vote of the masses. All these political leaders are just looking for a weakness that they can cash upon. Be it food, religion, land distribution, education reservations, etc., they just try to target it and agitate the voter. They are just coming in making promises every time and never actually giving any detailed plan. This is not right.

As I started this post, we remain in a situation of worry and lack clarity. We have our opportunity to select the right candidate, and we must not miss it. One effort that we must make is to improvise our decision. See through the situation in depth and observe everyone’s performance. We need not be influenced by irritating debates over petty issues. But we must not miss out on the truth, which can always be seen through a true eye with genuine intention. With a deep thought, we must cast our vote, and wait for the decision that can define next five years. Then once the verdict is out, it’s time to understand our real duties and make sure we don’t let next five years turn into the last ten. Voting and winning is just an initial step. Our real job now will be to keep a check on each and every activity on the ground. We blame politicians for the dreadful things they have done to us. But it is our lack of vigilance and lethargic attitude that gave them this courage to repeatedly cheat us and still stand proud in front of us asking for vote again. I don’t know who’ll form the government, but one thing I know is that whoever comes in, I’ll try my best to keep an eye on him. If we understand our rights as a citizen, and act properly, no one can even think of cheating us like this. No political leader is ‘the change’. It’s each one of us who owns this system and will be the change. Let’s use this opportunity and act responsibly. Let’s not waste this basic element of democracy.

Please vote and please vote with a thought. And when it’s done, be prepared for the real job.

Smartphone Apps in Agriculture

Original post at e-Agriculture –

Technology has always been an important factor behind development. Even in areas where there is hardly any development, technology seems to have changed some part of it. Telecom has spread efficiently around the world. In a developing country like India, technology shows its trace in the smallest of villages. Almost everywhere now, there is a mobile tower in sight and people can be seen using mobile phones. This beautiful spread of technology has facilitated development at basic levels with the help of Information and Communication Technology.

Today with enhanced operating systems and small processor based phones, the mobile world has now become a Smartphone world. We can now see phones rich in multimedia and processing power. Most of the tasks of a computer can now be performed on a phone itself. While Smartphone dominate as the segment of most expensive phones today, they also have low cost categories which are affordable for many. In India particularly, in the past 2-3 years, there has been a rise in this low cost segment of Smartphone. Prices have continuously fallen and today these phones appear to be in the reach of rural workers as well.

With the increased use of Smartphone around the world, there has been enormous application development serving a large number of operations. For almost every profession now, an App exists for some sort of help and support. Similarly for agriculture as well there exist many apps that can provide help to the farmers in different ways. We have studied a large number of Apps from around the world giving different kind of assistance in agriculture and we would like to analyze them in this article. We categorize these apps according to the kind of support they provide. Categories as observed in various apps are as the following:

  1. Data Logging and management – Apps under this category assist farmers in maintaining data records associated with farm activities. Generally apps provide selection lists and numerical input boxes where user can insert required information. A prominent feature of such apps is that they generate various views and statistics to review organized data records. Many farm management apps perform basic cost calculations as well. Some relevant apps we have observed in this field are Manure Monitor and Wireless Farmer.
    • Manure Monitor – This application assists a farmer in managing and logging data regarding manure. Base of the application depends on the data fed by the user. A simple and comfortable interface provides categorized inputs for farmer. Easy and big sized input buttons are used and the flow among menu moves very smoothly. A farmer can record rainfall, storage, animal mortality, manure transfer, waterline and equipment information. Apart from this, the App also provides some tutorials regarding manure. One great feature in the app is to create emergency plans and storing emergency contact information. Another important feature to be learnt from this App besides user interface is its self-sufficiency. The app keeps data local and doesn’t depend on much internet connectivity for its operations. This ensures its utility in areas with poor or no internet access.
    • Wireless Monitor – This app is designed entirely for farm management. A standard data entry interface is provided to record information regarding different farmer tasks. For example area coverage, chemical usage, property records etc. are recorded for cost management. Crop monitoring tasks by regular data logging are provided. Information regarding pesticide spray, planting, ground preparation etc. can be stored in the app and then reviewed categorically.
  2. Location based apps – These apps use map and location details for their operations. They provide various facilities which rely on location parameters of the user or of the services he is looking for. These apps are essentially used as Market finder apps for farmers to sell their produce. We analyzed few apps like Delaware Fresh and Michigan Farm Market Finder.
    • Delaware Fresh – This is a location based app which provides interface in the form of a map. It is local to Delaware and provides details of a large number of farmer markets in the area. It offers location detection thus enabling the user to search for a market nearby. After location point selection from the map, the app provides contact and time details of market with additional options of locating on map, calling the market, sending mail or visiting their website. Such operations accessible directly from the map make the use and navigation simple and efficient. If available, the app also shows the available offerings from the market.
    • Michigan Farm Market Finder – This app also provides farm market information. It gives multiple interface methods – map based and alphabetically sorted list. A large number of farm markets in Michigan State are listed with detailed data. Every location has its address, contact details, hours of operation, operating acres listed along. Also it shows all amenities available in that farm market ranging from fruit and vegetable to presence of recreational area in the market. The app also provides GPS routing to reach to the location.
  3. Agriculture specific calculation apps – These are specially designed apps from experts in agriculture. They contain pre-fed data and values according to which calculations are performed regarding agriculture information. For example, apps like MRTN calculator and Feed cost calculator take some numerical input from the user, ask for some value selections from lists, and perform calculations to provide useful results. These apps highlight use of numerical input and not much text information, which helps manage language problems to a certain extent.
  4. News and information specific – This is the most common app category for any domain. Apps that provide news and information are highly useful and popular among users. In agriculture also many apps like Farm progress, Ag Weather tools etc. serve the purpose of delivering information relevant to agriculture stakeholders. From farmers’ perspective, there are many apps that provide seed price, equipment price and similar information. Another major section of informative apps are the weather information apps. In some apps, weather forecast is provided with advisory messages as well. As a result, these apps become an additional knowledge tool for the users and help them perform activities in a well informed environment.

Broadly, these four categories cover almost all the apps observed in this area of agriculture. Recently, agriculture apps have been promoted on App stores as well under category of “Gardening Apps”. It is really wonderful to see how App development is touching each and every occupation. Purchase stats on many of these apps are going good as well, signifying their increased usage. This is definitely a great direction for developing support tools for farmers and other agriculture stakeholders and we expect booming app development for farmers all around the world. We ourselves are involved in App development for Indian farmers. We’ll discuss some design factors regarding those apps next week!

Personalization in Technologies for Developing Regions

Original Post at Business Fight Poverty –


Heterogeneity is a natural aspect of life. From macro to micro, everything involves variation in data at a great level. As much important it is to find common patterns among everything, it is equally important to value the specific traits of every category. Personalization addresses this particular objective and helps develop solutions targeting specific segments of a bigger group. Personalization can be at two levels. One personalization can be done at the level of technology. This means that technology and underlying protocols have been designed specifically for a particular environment. The other level of personalization is seen at the level of content, where a common platform provides data in a personalized manner for dedicated segments.

Implementing technical solutions in developing regions face challenges similar to these two levels of personalization. Barriers like illiteracy and poverty force the content to be highly personalized for certain communities. And poor networks and large gaps in economic distribution create a need for different technologies and platforms.

In this post, I’d like to discuss the needs and potential applications of personalization in developing regions. Applications in developing regions generally target global development challenges like education, nutrition, poverty, health, etc. In our studies, we have focused on the problem in agriculture development. In India, agriculture is primary rural occupation and most of the agriculture workers come from remote villages. These are areas with poor infrastructure, little or no education, and unstable electricity availability. There is a large amount of assistance that can be given to people in these areas with the help of information and communication technology, but it has to be specially designed for dedicated cause. Personalization therefore is required at a very basic level here and entire system design has to be built in a way that it is able to adapt itself to these conditions. Personalization helps modify existing technologies for specific application and avoid the cost of developing new solutions from scratch.

First I’d discuss different constraints in developing regions that act as parameters in system design. Then I’ll describe the four particular areas where personalization needs to be applied, followed by a discussion on personalization integrated development.

Parameters for Personalization in Developing Regions

Systems being designed to help people in developing areas with their livelihood or occupational activities need to tackle these constraints. These constraints can themselves be used as parameters in design.


Illiteracy is the biggest constraint faced by users in developing regions from using technology. Even if today mobile phone has penetrated into these regions, users are still not able to use all features of even basic phones. Most of the users are not able to perform tasks like sending SMS from phone or setting up a ringtone. Moreover, inability to read text makes the use of phone book impossible for many users. This creates the need to design specific interfaces for people from these regions.


Networks are at the base of most of our technical solutions. Broadband internet is not available everywhere in these areas. Cellular data networks are also very unstable in these regions as inter-tower distance can be large at many places. Systems using internet data here need to collect data on network availability and buffer it if network gets unavailable. Standard systems with respective time outs cannot work well in this environment.


Electricity availability is a very big concern in these areas. There are long power cuts throughout the day. Relying on direct power connected systems is impossible. Generally, battery operated systems or ones with backup power ultimately work in these regions.


People in these regions are mostly superstitious and keep very strong hold on traditional beliefs. Their perspective towards technology can be very different than expected. It is not easy to make them adapt to technical systems and make them a part of their routine lives.

These problems and many more small issues act as barriers in developing technology for these regions. Personalization can focus on these issues and once a system identifies them, it must be able to change that particular aspect according to the environment. Personalization at this level becomes rather challenging as language support and design constraints can vary up to a large extent among different development regions.

Areas of Personalization in Developing Regions

Personalization in Interface Design

Interface to a technical solution is what mainly matters for a user. Interfaces can be on console, hardware devices, software UI, mobile phone interface, etc. In the process of designing assistive technologies in developing regions, most common interface is mobile phone. At present, it is one of the best available medium to design ICT solutions for people in developing regions. Another medium now being used in rural areas is laptop computers. GUI operating system equipped laptop computers can allow a lot more technical solutions to be made available for the users.

Interface personalization in these systems is mostly based on educational parameters. Mobile application or mobile software interfaces can be designed to suit low-literate and illiterate users. Creating mobile apps to suit design needs is easier than OS design. An app can have both general version and a specific user group version. But creating such different spins of the complete OS is not as easily applicable. A good design can be one where a particular version of mobile OS can itself accommodate some design changes as user base changes. This opens up an area for research where multiple designs can be placed within a single OS with minimalistic differences.

Similarly, interface in desktop applications or web applications need to be designed specific to user base. Web applications before HTML5 rely heavily on additional software. This software needs to be updated continuously. Now in these regions, neither the network is consistent enough to ensure regular updates, nor are the users much aware of advantages of updates. Usually even at places with internet supply, internet plans come with small downloadable data limits at affordable prices. Users in such case avoid updates to prevent data download. Therefore, building web solutions including multimedia should be mostly independent of additional software or browser constraint. At a gap of reasonable amount of time, these software and browser can be updated, but design of web applications should be such that they can run effectively in almost every scenario. For eg., HTML 5 doesn’t need any additional software support for video or audio. If open source format is used for data, then almost every browser will run it perfectly. Therefore, with web applications targeting rural users, personalized design has to be developed for proper effectiveness. Design constraints based on literacy apply here as well. Interface of web applications must be made as much comfortable as possible for these users so that they can get some advantage out of it.

Personalization in Network Protocols

Network is critical to almost every application directed towards development. Information and knowledge systems are being designed to address needs of these regions. Guidance systems being designed are mostly depending on internet sources. This makes network personalization a very important requirement. Applications under standard conditions run on standard network protocols. This means that there is continuous network availability at a consistent speed. Default connection time outs and waiting times in applications generally accommodate well with the network and no issues are observed. Same application can create issues when used in such regions because network won’t be consistent. Even when available, network speed can be a problem. Protocols at network and transport layer need to be modified for such applications.

Systems can be designed where an underlying network framework monitors network statistics and modifies its functionality. For eg., Buffering of packets and temporarily storing it within framework is one way of gathering network data in inconsistent network environments. Many other protocols exist and are being developed which manage data in such networks. In order to bring rural technologies into real effect, this understanding of network personalization is very important.

Personalization based on Platform

Platform based personalization essentially means changing the format of application as per the end user platform. Some application developed for desktop systems might have relevance in rural needs. Desktop applications can only be used in rural colonies through internet café or laptops that are still very scarce. Ideal platform of applications at present in these areas is mobile phone. In the previous three years, there has been a growth in new segment of Smartphone which are low cost and low on hardware configurations, but affordable up to a great extent. With more rise expected in the distribution of these low cost Smartphone in rural areas, a large number of applications can be ported to mobile OS platform.

This particular personalization can be identified through multiple surveys and market study. These combined with location can help suggest the application developers, what platform to target first. There are areas where internet has reached and is being used regularly. Making web clients for applications can be effectively used in such areas. Platform personalization has proven to be useful in general as well. On desktops or laptops, usage of mail has mostly been observed through web clients. Apart from corporate users, majority people use web clients for their mail service. When shifted to mobile OS, these same users have preferred mail client applications over web mail. Web clients can still be used on mobile, but with change of platform, user’s preferences change. These are educated users who can comfortable handle any kind of application on different platforms, but a good understanding of their preferences help increase utility of technology and hence make it effective. Using this approach in developing regions seems far more relevant as anyhow these are environments with multiple constraints. Finding best suitable platform of deployment is very important for developing usable and effective systems.

Personalization in Content

Content personalization is among the most used kind in present day systems. Social networks, advertisements, search engines, etc. are particularly adding personalization in content. This in fact has been a vital point in any system’s success. People tend to look for the “recommended” section in most of the applications while making a choice or decision. It holds equivalent importance in technologies for developing regions as well.

Applications targeting challenges in developing regions need to be very simple and precise. In our study and experience, we have observed that multiple features in single application are confusing and irritating for users in these regions. Information being provided by a service should address particular needs of the user. Otherwise they quickly discard it without making attempts to adapt. As mentioned before, adaptability and acceptance for technology is very critical in these regions. If they develop any kind of negativity or fear with some application, then making it useful for them becomes very difficult. For eg,, we have developed a news summarization and distribution system for agriculture community. Our users include educated agriculturists, traders etc., and lesser educated agriculture workers like farmers, local market operators, etc. Information being sent to the lesser educated subscribers here has to highly filtered and made as much comfortable for reading as possible. We categorize our content, translate it to local languages and send them in their preferred format of SMS. Similarly other applications for such users also have to be highly personalized in terms of content.

Personalization integrated Development

The four areas of personalization discovered specifically for developing regions act as a base for developing applications in these conditions. Our focus has to be on finding solutions to the large number of problems faced by people in developing regions. It is true that technology can help provide support in many ways and can actually act as a tool for development workers as well. But it has already been observed that using standard existing technologies cannot work optimally. If our systems have to break the literacy and economic barriers, then they will have to be dedicated designs built by understanding the user base. Application development integrated with personalization in the areas mentioned in previous section can be a great help the users and developers. Instead of developing entire different versions of software, we can add as much personalization as much possible based on respective parameters.

Our idea with integrated development aims this particular need oriented development which can help convert standard software into multi dimensional software with a branch of it adapting itself to the developing regions. Including data elements from social studies, application domain datasets, demographics, etc. can help make such systems for developing regions and ultimately help in global development.


I’ve tried to relate the concept of personalization to a very specific area of technology design and development for developing countries. Development objectives discussed here co-relate social problems with technical specifications and help identify focus points for researchers and developers working in the area of ICTD. This development would include a large amount of statistical and social data across multiple dimensions. But this is one way through which we can achieve the ultimate goal of global development. Information and communication technologies for developing regions often face issues usually unknown to computer science community. Through this post, I just want to highlight few basic constraints that highly control applicability of ICT solutions in developing regions. If we can take care of these small areas while developing solutions, we might be able to help the developing world better than today!