Monday, May 28, 2012

Research: Average User Response to an expected Action (AURTEA)

This research is based on the results i published in my post below
http://karim-ouda.blogspot.com/2012/05/amazing-web-statistics-you-have-never.html

As the name suggests, the aim of this research is to reach an average % of response you could safely expect from a user in any specific action on the web, also it aims to know which actions people like to do more

Definitions:

AURTEA: Average User Response to an expected Action


Methodology:

After analysing the numbers i gathered from my web activities in the last year, i calculated the average of all responses to actions in general and the average response for each action category

check screenshot later in the post

Conclusion:

AURTEA = 3.2%

That is you can expect 3.2 percent response as an average to any action - not included in the specific categories below- you expect from a web user


AURTEA for "Showing interest in people" = 14%
AURTEA for "Non-Ad discovery" = 9.4%
AURTEA for "Web and Mobile ADs clicks" = 0.41%
AURTEA for "Sharing" = 0.15%
AURTEA for "Giving Opinion" = 0.29%
AURTEA for "Showing  interest in websites or apps" = 0.09%
AURTEA for "All actions except Non-Ad discovery and Show interest in people" = 0.24%














Self Refute:

I am aware that the average global CTR is 2% which is much bigger than my numbers and that your numbers would be different than mine and also i am aware that we need more numbers and diverse trials to reach more accurate results:

I follow "better than nothing" principle and i think we should work using the data we have until we get more data in the future


Please compare and test the conclusion of this research and let me know if you find it useful or if you have reached different results




Sunday, May 27, 2012

How to promote your blog

To the point
  1. WRITE gr8 content regularly
  2. WRITE about new topics or topics that are not covered well on the web 
  3. SUBMIT your Blog to Technorati, Alltop, NetworkedBlogs , Blogcatalog , Blogarama and other Blog directories
  4. SEO: make sure your page title is appropriate and the url is SEO friendly to get traffic from search engines 
  5. LIKE your blog on StumbleUpon and ask your friends to do so
  6. SUBMIT your blog posts to YCombinator, Reddit, Slashdot and other communities
  7. SHARE your blog posts on Twitter, Facebook and Google+ and LinkedIn
  8. SHARE your blog posts with forum users - ONLY if you think it will add value 
  9. SEARCH the web for the topic of your new blog post and comment in any website/blog - ONLY if you think it will add additional information or answers a question 
  10. COMMUNICATE and comment with other relevant blogs and make relations


Some useful links:

http://micahchipchase.com/Blog/how-to-promote-your-blog



Saturday, May 26, 2012

Amazing web statistics you have never heard of before

These are some statistics i gathered from my daily activities on the web 

Twitter

Posting Links

0.16-0.74%
Click through Rate (Twitter link CTR)

When posting tweets with links, for every 100 link containing tweets  you will get 16-74 clicks on the links, assuming you are using proper hashtag (excluding your followers count)

Using catchy titles realated to hot news in a peak times, i managed to reach 8% CTR


Following

11-17%
When following people on twitter only 11-17% will follow back


Facebook/Facebook  Pages

Reach 

19-35%  
Reach for facebook pages ( % of users who will see your posts ) is 19-35%

Shares

0.1-0.2%  
Probability of friends/fans sharing your posts


Viral Affect

2% 
A normal link you spread in your facebook page may reach people corresponsding to 2% of your total user count


Facebook Ads

0.1-0.3%   CTR
0.1-0.25$  CPC
Average CTR and CPC from my facebook Ads account


Google Search

Crawling

It took 4 days to crawl new page on one of my websites

Blog posts on blogger are indexed instantly or takes up to 2 days max


Google Play/Android 

Active Installs

30-60% 
Average active installs are 30-60% of all user installs

High:80%
low: 4%

Review/Comments

0.1-0.2%  
Expect 0.1-0.2% of totals users installed your app to comment or review

When does Google Android developer console stats updates ?

http://karim-ouda.blogspot.com/2012/04/when-does-google-android-developer.html
 
Usage vs Active Installs [new]

12-74% 
For each 100 active installs for your app 12-74 users will open/use it every day



AdMob Advertising 

0.4-1.6%
I managed to get 0.4-1.6% (CTR) using AdMob Ads

Conversion Rate 
  
1-11%
For each 1000 Clicks to you get 10 to 110 Installs

  • Min bid is 0.1/click
  • ADMob Ad takes 1-2 days to get approved 


JumpTap Advertising

0.4%   CTR
0.10$  CPC
Average CTR and CPC in my jumptap experiment


Google AdSense 
0.44% CTR
0.26$ CPC
Average CTR and CPC in my AdSense account

3.9% CPM Ads
96%  CPC Ads
Difference between CPC and CPM Ads served 


Google AdWords 

0.18-0.68% CTR
0.36-0.66$ CPC
Average CTR and CPC in my AdWords account


LinkedIn Advertising

0.026% CTR
2.73$ CPC
Average CTR and CPC in my LinkedIn Ads account


StumbleUpon  Advertising

Cost per View = 0.10$


User actions on my websites 

More Button

7-15% of people click the "more" button each day, each user clicks on average 3 times on "more"

Menu Items
 
18 - 23 % of the users click on menu items each day

Bookmarking

0.025% of visitors may click on the bookmark button

I got 5 clicks on "bookmark" button from 20000 visits 

Feedback

0.06-0.83% of visitors may click on submit feedback

I got 26 feedbacks from 3000 visits (feedback was a popup that the user sees every time he/she visits the page)

I got 48 feedbacks from 70000 visits (feedback was fixed on the left side of the page)


Facebook likes and Gogole +1 
on websites

0.01-0.06% of visitors clicks +1 button
0.16-0.3%  of visitors clicks on Facebook Like button

 I got 27 Facebook likes from 9000 visits  


Wednesday, May 16, 2012

Ultimate list of Websites you need to promote your new Startup's Web App

So you have created a new startup ! now it is time to invest as much time in marketing as in development, that's why i have listed here all websites and blogs i know of that you should approach to showup your startup's web app
  1. http://www.makeuseof.com
  2. http://techcrunch.com
  3. http://venturebeat.com
  4. http://www.readwriteweb.com
  5. http://thenextweb.com
  6. http://mashable.com
  7. http://digg.com
  8. http://www.reddit.com
  9. http://news.ycombinator.com
  10. http://www.theverge.com
  11. http://www.technologyreview.com/
  12. http://startuplift.com (PAID)
  13. http://startuptunes.com
  14. http://www.appvita.com
  15. http://feedmyapp.com 
  16. http://pjentrepreneur.com
  17. http://alltop.com (Blogs or Websites with feeds)
  18. http://betali.st (Startups only in pre-live state)
  19. http://www.appappeal.com
  20. http://www.killerstartups.com
  21. http://bostinno.com 
  22. http://ratemystartup.com
  23. http://www.ziipa.com
  24. http://www.techpluto.com
  25. http://www.go2web20.net
  26. http://www.netwebapp.com
  27. http://www.cloudsurfing.com
  28. http://startupli.st
  29. http://webapprater.com
  30. http://www.livetoclose.com
  31. http://alltopstartups.com
  32. http://101bestwebsites.com
  33. http://www.launchfeed.com
  34. http://tech.li
  35. http://productivewebapps.com
  36. http://wikindu.com
  37. http://aboutyourstartup.com 
  38. http://addictivetips.com 
  39. http://singlefunction.com (sites with Single function ONLY)
  40. http://www.usefultools.com
  41. http://techli.com
  42. http://www.venturebin.com
  43. http://thestartuppitch.com 
  44. http://startupnews.me 
  45. http://appuseful.com
  46. http://www.startupbooster.com
Last updated: 20/08/2012


Monday, May 14, 2012

Research: Analysing 3 months of Egyptian news

Introduction

This is a research conducted on the Egyptian news in the last 3 months, it shows the buzzing words in addition to the average percentage of positivity or negativity in the news

Tools used:
  1. Mel2akher.me ( a news website which i am part of )
  2. 25trends.me

Context:
  • Data from mel2akher.me website starting from 10/02/2012 to 10/05/2012
  • 5200 news entries
  • 311032 word


Conclusion

The following results were deducted from the research

70.84 % (Average) of all news was Negative
12.54 % (Average) of all news was Positive
16.63 % (Average) of all news was Neutral

The following screenshot was the first result to appear, accordingly i excluded the words "عبد" , "الشيخ" , "احمد"  to get more accurate results















After exclusion, i got the following results which denotes the significance of each word ( words shown in the boxes are the words that were repeated the most in many news items )














Sample news items













Words List ( Ordered Desending )


Repeats | Word
858 | رئيس
مصر | 827
مجلس | 620
الدكتور | 608
محمد | 604
الشعب | 575
أبو | 495
اللجنة | 472
المجلس | 450
المرشح | 443
العام | 428
المصرية | 424
عبد | 418
الجمهورية | 412
أحمد | 378
الرئاسة | 377
وزير | 372
حزب | 369
وزارة | 359
القاهرة | 354
المصري | 346
الانتخابات | 341
الرئاسية | 334
الإخوان | 310
لرئاسة | 310
لجنة | 308
العليا | 302
السابق | 299
قرار | 282
الرئيس | 281
الثورة | 281
المسلمين | 263
انتخابات | 259
حازم | 250
الحكومة | 250
للرئاسة | 242
إسماعيل | 241
المستشار | 239
الأمن | 233
عام | 232
صلاح | 227
أعضاء | 227
محكمة | 223
قضية | 221
العامة | 216
اللواء | 213
السياسية | 210
عمر | 206
الدولة | 200
مرشح | 199
العسكري | 199
جنيه | 198
الفريق | 197
الدستور | 196
الحرية | 195
قوات | 193
التأسيسية | 193
عضو | 191
الداخلية | 187
النظام | 186
الخارجية | 185
المصرى | 184
عمرو | 184
جماعة | 183
حركة | 183
النائب | 182
رئاسة | 178
أحداث | 177
للانتخابات | 176
الجيش | 176
مقر | 176
سليمان | 175
الأول | 174
المصريين | 173
برئاسة | 172
قانون | 172
البرلمان | 172
القضاء | 167
المسلحة | 163
بيان | 163
الدفاع | 163
الحزب | 163
الشرطة | 162
المحكمة | 161
أثناء | 161
نائب | 158
العباسية | 157
وأضاف | 156
الوزراء | 156
ألف | 154
والعدالة | 152
خاصة | 152
حسن | 149
الشاطر | 148
المرشحين | 148
مدينة | 148
أبريل | 148
دون | 147
إدارة | 146
مليون | 146
لانتخابات | 145
مدير | 145
بمجلس | 145
إنه | 144
العربية | 142
التحرير | 141
المنعم | 140
الفتوح | 139
المتهمين | 138
خيرت | 137
الترشح | 137
المحتمل | 137
مبارك | 136
هيئة | 135
بورسعيد | 135
الجماعة | 134
أجل | 134
المهندس | 133
جاء | 133
محمود | 132
حملة | 131
العسكرى | 130
الجمعية | 130
الفترة | 130
الجمعة | 129
للقوات | 129
قررت | 129
العسكرية | 128
طالب | 128
العمل | 127
أيام | 127
حكم | 126
شباب | 126
البلاد | 126
يناير | 126
قرر | 126
المتحدث | 125
نحو | 125
المالية | 125
الدولي | 123
المتظاهرين | 123
الله | 120
القانون | 120
مشروع | 120
القوات | 120
أخرى | 120
ابو | 119
يذكر | 118
ثورة | 118
الأمريكية | 118
القدم | 117
ميدان | 117
الخاصة | 117
لمدة | 116
مشيرا | 116
مؤكدا | 116
المتحدة | 116
الجمهورية، | 115
بمدينة | 115
القادم | 114
القوى | 114
شركة | 113
الكرة | 112
كافة | 112
الأهلي | 111
مايو | 111
الماضي | 111
المواطنين | 111
محافظة | 111
الوقت | 110
إسرائيل | 110
السلطات | 109
مباراة | 109
مصدر | 108
كشف | 108
كبير | 107
حسين | 107
النور | 107
دعم | 106
لمصر | 106
السياسي | 106
النيابة | 106
شفيق | 105
مارس | 105
الأعلى | 104
النادي | 104
الوطني | 104
مجموعة | 103
كمال | 103
السويس | 102
الأهلى | 102
منها | 102
البابا | 102
السعودية | 102
القضية | 102
الحكم | 101
عقد | 101
قيام | 101
جلسة | 101
العشرات | 101
منطقة | 101
فريق | 101
القبض | 101
طلب | 100
مصادر | 100
موسى | 100
More words ...


Friday, May 11, 2012

Android App Marketing: dumping my experience

I am writing this post to share my fresh personal experience in marketing Android Apps


Content
  1. Introduction
  2. Market SEO
  3. Social Networks
  4. Advertising Networks
  5. Forums
  6. App Review blogs/websites
  7. PR
  8. Video
  9. Cross-apps promotion
  10. Other things to do
  11. Things NOT to do


Introduction

The ultimate target for Android App marketing is to make your app appear in the top 5 Apps in any market list (ex: Top Free, Trending, Top New Free ...etc) and for this to happen you need your users to do the following

1- Install your app (many installs daily)
2- Review your app +rating
3- To +1 your app
4- Does not uninstall your app soon

All factors above are used by the market to decide whether to add/push up your app in a list and whether to show your app in the top search results or not

Saying so we reach the conclusion that most important part of app marketing is the App itself, is it valuable for the user, will he/she keep it installed,  does it have a good UI/Icon/Name is it related to a trending topic at the moment , do you think the user would show your app to a friend ?

Also note that "Games" when are well created are easier to market than other apps


Market SEO
  1. Choose proper catchy app name
  2. Create a good looking icon
  3. Write a title/description that is easy to read by users and in the same time contains as mush relevant words as possible, more words means more users will find your app through search
  4. Choose proper category  
  5. Screenshots should be beautiful and convincing

Warning: adding duplicate or irrelevant words will be noticed by google and you will be warned about it


Social Networks
  1. Add you app link in all "Relevant" facebook public pages, Groups and on your wall
  2. Post it on twitter with "#android" included
  3. Post it on Google+
  4. Any other social network you have access to


All these steps will give you an initial push to be included in the "top new free" list in addition to some good feedback from your friends, also ask them to add reviews on the market

Advertising Networks

Paid advertising is a very good way to drive installs to your app which will move your app up in the Market List

There are many many types of paid advertising CPM (Cost per mile), CPC ( Cost per click ) , CPI (Cost per Install), Incentive installs, Affiliate ...etc

CPM/CPC
Provided by networks like AdMob, JumpTap and others, the ads are shown on other mobile apps and pay for each click on the Ad, for CPM you pay for each 1000 view (regardless of clicks)

I used AdMob before, i paid 50$ (minimum) and got 1270 clicks (CPC=0.04) and 10s of installs only, so it is only effective when you have a big budget

I used JumpTap, minimum is 25$ and CPC=0.10 and gpt 242 clicks

CPI/Incentive networks
Provided by networks such as AppBrain, TapJoy and others, you pay only when the user install the app

AppBrain minimum is 25 dollars  (Paypal)  and the cost per install starts from 0.20$

I tried TapJoy before, they have many options to choose from and huge user base, there is no minimum and the cost for acquiring user starts from 0.10$ and is proven

the only problem with TapJoy is that it gives user incentive to install your app, so most of the users install your app to get the incentive and then uninstalls your app

Affiliate/CPA
Provided by networks such as mobpartner , you pay for a specific action , you will  have many options to choose from CPL: cost per lead ex: a the user successfully filled a form that you wanted him to fill, CPS: the user did a purchase for something or CPI: cost per installing application

Unfortunately i didn't try it before


AdExchange

AdExchange networks provide you with the ability to show ads in your app and in return your app Ad will be shown in other apps in the network, this way every time a user will open your app, there will be another app promoting yours - a free win-win situation

Providers: tapfortap


Forums

There are many benefits from posting your app on the forums, first you will get both install spikes and contentious install stream in addition to feedback from people other than your friends

  1. Add a post containing a good description and screesnhot for you app on as many forums as you can
  2. Don't use url shortner in forums 
  3. Use the following convention in titles [APP][version] your app name
  4. Some forums requires that you do some activity before you can add links to your posts

Best Android forums


Also don't forget to post on local forums


App Review blogs/websites

Contact all blogs and app review websites and let them know about your app, find below a list of Android blogs and review websites



PR

PR refers to Public Relation and Press Release, there are some specialized companies which have relations with Magazines, Blogs and android websites such companies could reach out and spread the word easily about your app on your behalf

Providers:
http://www.mobileprwire.com


Video

Create a video about your app and upload it on youtube and other video websites this would drive traffic from youtube search, and should convince the user to install your app if he/she watched the video on the market

Cross-app promotion

If you have other relevant apps, you could change the code to add either a splash screen, banner or a notification about your new app


Other things to do
  1.  Update your App regurarlly (after updates your app is listed again in the top new free list)

Things NOT to do  
  1. Don't use facebook normal ads or AdWords Ads for your App it is useless, facebook mobile ads is gr8

References

http://www.androidauthority.com/contact-us/
http://AndroidGuys.com
http://www.androidtapp.com/get-reviewed/#GetReviewed
http://appmodo.com/contact/
http://www.appsplit.com/submit-an-app/
http://www.mobileappsgallery.com/submit-android-app/
http://latestandroidapps.net/submit-android-app/
http://www.androidappsreview.com/submit-your-android-app/
http://www.bestandroidappsreview.com/recommend-an-app/
http://www.lifeofandroid.com/submit-an-app/
http://www.androidrundown.com/about/submit-app-hardware-review/
http://apps400.com/submit-your-application-for-review
http://appstouse.com/submit-app-for-review
http://www.100bestandroidapps.com/submit-android-app
http://www.askyourandroid.com/request-for-review/
http://www.formstack.com/forms/envato-appstorm_review
http://androinica.com/contact-us/



makingmoneywithandroid.com
Very valuable blog, thanks David 
http://www.slideshare.net/pgbowen/how-can-i-promote-my-android-app-game
Valuable presentation
http://www.mobithinking.com/mobile-ad-network-guide/blind
Mobile Advertising information
http://www.quora.com/What-are-good-ways-to-promote-free-Android-apps
http://www.merdroid.com/promote-android-app/
http://appsmarketing.mobi/android-market-optimization/






Thursday, May 10, 2012

Country code to Country name lookup table (PHP Array)

I knew you will be seraching for it, so i created it for you :)

$countryLookupArray = array();

$countryLookupArray['AD']='Andorra';
$countryLookupArray['AE']='United Arab Emirates';
$countryLookupArray['AF']='Afghanistan';
$countryLookupArray['AG']='Antigua and Barbuda';
$countryLookupArray['AI']='Anguilla';
$countryLookupArray['AL']='Albania';
$countryLookupArray['AM']='Armenia';
$countryLookupArray['AN']='Netherlands Antilles';
$countryLookupArray['AO']='Angola';
$countryLookupArray['AQ']='Antarctica';
$countryLookupArray['AR']='Argentina';
$countryLookupArray['AS']='American Samoa';
$countryLookupArray['AT']='Austria';
$countryLookupArray['AU']='Australia';
$countryLookupArray['AW']='Aruba';
$countryLookupArray['AZ']='Azerbaijan';
$countryLookupArray['BA']='Bosnia and Herzegovina';
$countryLookupArray['BB']='Barbados';
$countryLookupArray['BD']='Bangladesh';
$countryLookupArray['BE']='Belgium';
$countryLookupArray['BF']='Burkina Faso';
$countryLookupArray['BG']='Bulgaria';
$countryLookupArray['BH']='Bahrain';
$countryLookupArray['BI']='Burundi';
$countryLookupArray['BJ']='Benin';
$countryLookupArray['BM']='Bermuda';
$countryLookupArray['BN']='Brunei';
$countryLookupArray['BO']='Bolivia';
$countryLookupArray['BR']='Brazil';
$countryLookupArray['BS']='Bahamas';
$countryLookupArray['BT']='Bhutan';
$countryLookupArray['BV']='Bouvet Island';
$countryLookupArray['BW']='Botswana';
$countryLookupArray['BY']='Belarus';
$countryLookupArray['BZ']='Belize';
$countryLookupArray['CA']='Canada';
$countryLookupArray['CC']='Cocos (Keeling) Islands';
$countryLookupArray['CD']='Congo, The Democratic Republic of the';
$countryLookupArray['CF']='Central African Republic';
$countryLookupArray['CG']='Congo';
$countryLookupArray['CH']='Switzerland';
$countryLookupArray['CI']='Côte d?Ivoire';
$countryLookupArray['CK']='Cook Islands';
$countryLookupArray['CL']='Chile';
$countryLookupArray['CM']='Cameroon';
$countryLookupArray['CN']='China';
$countryLookupArray['CO']='Colombia';
$countryLookupArray['CR']='Costa Rica';
$countryLookupArray['CU']='Cuba';
$countryLookupArray['CV']='Cape Verde';
$countryLookupArray['CX']='Christmas Island';
$countryLookupArray['CY']='Cyprus';
$countryLookupArray['CZ']='Czech Republic';
$countryLookupArray['DE']='Germany';
$countryLookupArray['DJ']='Djibouti';
$countryLookupArray['DK']='Denmark';
$countryLookupArray['DM']='Dominica';
$countryLookupArray['DO']='Dominican Republic';
$countryLookupArray['DZ']='Algeria';
$countryLookupArray['EC']='Ecuador';
$countryLookupArray['EE']='Estonia';
$countryLookupArray['EG']='Egypt';
$countryLookupArray['EH']='Western Sahara';
$countryLookupArray['ER']='Eritrea';
$countryLookupArray['ES']='Spain';
$countryLookupArray['ET']='Ethiopia';
$countryLookupArray['FI']='Finland';
$countryLookupArray['FJ']='Fiji Islands';
$countryLookupArray['FK']='Falkland Islands';
$countryLookupArray['FM']='Micronesia, Federated States of';
$countryLookupArray['FO']='Faroe Islands';
$countryLookupArray['FR']='France';
$countryLookupArray['GA']='Gabon';
$countryLookupArray['GB']='United Kingdom';
$countryLookupArray['GD']='Grenada';
$countryLookupArray['GE']='Georgia';
$countryLookupArray['GF']='French Guiana';
$countryLookupArray['GH']='Ghana';
$countryLookupArray['GI']='Gibraltar';
$countryLookupArray['GL']='Greenland';
$countryLookupArray['GM']='Gambia';
$countryLookupArray['GN']='Guinea';
$countryLookupArray['GP']='Guadeloupe';
$countryLookupArray['GQ']='Equatorial Guinea';
$countryLookupArray['GR']='Greece';
$countryLookupArray['GS']='South Georgia and the South Sandwich Islands';
$countryLookupArray['GT']='Guatemala';
$countryLookupArray['GU']='Guam';
$countryLookupArray['GW']='Guinea-Bissau';
$countryLookupArray['GY']='Guyana';
$countryLookupArray['HK']='Hong Kong';
$countryLookupArray['HM']='Heard Island and McDonald Islands';
$countryLookupArray['HN']='Honduras';
$countryLookupArray['HR']='Croatia';
$countryLookupArray['HT']='Haiti';
$countryLookupArray['HU']='Hungary';
$countryLookupArray['ID']='Indonesia';
$countryLookupArray['IE']='Ireland';
$countryLookupArray['IL']='Israel';
$countryLookupArray['IN']='India';
$countryLookupArray['IO']='British Indian Ocean Territory';
$countryLookupArray['IQ']='Iraq';
$countryLookupArray['IR']='Iran';
$countryLookupArray['IS']='Iceland';
$countryLookupArray['IT']='Italy';
$countryLookupArray['JM']='Jamaica';
$countryLookupArray['JO']='Jordan';
$countryLookupArray['JP']='Japan';
$countryLookupArray['KE']='Kenya';
$countryLookupArray['KG']='Kyrgyzstan';
$countryLookupArray['KH']='Cambodia';
$countryLookupArray['KI']='Kiribati';
$countryLookupArray['KM']='Comoros';
$countryLookupArray['KN']='Saint Kitts and Nevis';
$countryLookupArray['KP']='North Korea';
$countryLookupArray['KR']='South Korea';
$countryLookupArray['KW']='Kuwait';
$countryLookupArray['KY']='Cayman Islands';
$countryLookupArray['KZ']='Kazakstan';
$countryLookupArray['LA']='Laos';
$countryLookupArray['LB']='Lebanon';
$countryLookupArray['LC']='Saint Lucia';
$countryLookupArray['LI']='Liechtenstein';
$countryLookupArray['LK']='Sri Lanka';
$countryLookupArray['LR']='Liberia';
$countryLookupArray['LS']='Lesotho';
$countryLookupArray['LT']='Lithuania';
$countryLookupArray['LU']='Luxembourg';
$countryLookupArray['LV']='Latvia';
$countryLookupArray['LY']='Libyan Arab Jamahiriya';
$countryLookupArray['MA']='Morocco';
$countryLookupArray['MC']='Monaco';
$countryLookupArray['MD']='Moldova';
$countryLookupArray['MG']='Madagascar';
$countryLookupArray['MH']='Marshall Islands';
$countryLookupArray['MK']='Macedonia';
$countryLookupArray['ML']='Mali';
$countryLookupArray['MM']='Myanmar';
$countryLookupArray['MN']='Mongolia';
$countryLookupArray['MO']='Macao';
$countryLookupArray['MP']='Northern Mariana Islands';
$countryLookupArray['MQ']='Martinique';
$countryLookupArray['MR']='Mauritania';
$countryLookupArray['MS']='Montserrat';
$countryLookupArray['MT']='Malta';
$countryLookupArray['MU']='Mauritius';
$countryLookupArray['MV']='Maldives';
$countryLookupArray['MW']='Malawi';
$countryLookupArray['MX']='Mexico';
$countryLookupArray['MY']='Malaysia';
$countryLookupArray['MZ']='Mozambique';
$countryLookupArray['NA']='Namibia';
$countryLookupArray['NC']='New Caledonia';
$countryLookupArray['NE']='Niger';
$countryLookupArray['NF']='Norfolk Island';
$countryLookupArray['NG']='Nigeria';
$countryLookupArray['NI']='Nicaragua';
$countryLookupArray['NL']='Netherlands';
$countryLookupArray['NO']='Norway';
$countryLookupArray['NP']='Nepal';
$countryLookupArray['NR']='Nauru';
$countryLookupArray['NU']='Niue';
$countryLookupArray['NZ']='New Zealand';
$countryLookupArray['OM']='Oman';
$countryLookupArray['PA']='Panama';
$countryLookupArray['PE']='Peru';
$countryLookupArray['PF']='French Polynesia';
$countryLookupArray['PG']='Papua New Guinea';
$countryLookupArray['PH']='Philippines';
$countryLookupArray['PK']='Pakistan';
$countryLookupArray['PL']='Poland';
$countryLookupArray['PM']='Saint Pierre and Miquelon';
$countryLookupArray['PN']='Pitcairn';
$countryLookupArray['PR']='Puerto Rico';
$countryLookupArray['PS']='Palestine';
$countryLookupArray['PT']='Portugal';
$countryLookupArray['PW']='Palau';
$countryLookupArray['PY']='Paraguay';
$countryLookupArray['QA']='Qatar';
$countryLookupArray['RE']='Réunion';
$countryLookupArray['RO']='Romania';
$countryLookupArray['RU']='Russian Federation';
$countryLookupArray['RW']='Rwanda';
$countryLookupArray['SA']='Saudi Arabia';
$countryLookupArray['SB']='Solomon Islands';
$countryLookupArray['SC']='Seychelles';
$countryLookupArray['SD']='Sudan';
$countryLookupArray['SE']='Sweden';
$countryLookupArray['SG']='Singapore';
$countryLookupArray['SH']='Saint Helena';
$countryLookupArray['SI']='Slovenia';
$countryLookupArray['SJ']='Svalbard and Jan Mayen';
$countryLookupArray['SK']='Slovakia';
$countryLookupArray['SL']='Sierra Leone';
$countryLookupArray['SM']='San Marino';
$countryLookupArray['SN']='Senegal';
$countryLookupArray['SO']='Somalia';
$countryLookupArray['SR']='Suriname';
$countryLookupArray['ST']='Sao Tome and Principe';
$countryLookupArray['SV']='El Salvador';
$countryLookupArray['SY']='Syria';
$countryLookupArray['SZ']='Swaziland';
$countryLookupArray['TC']='Turks and Caicos Islands';
$countryLookupArray['TD']='Chad';
$countryLookupArray['TF']='French Southern territories';
$countryLookupArray['TG']='Togo';
$countryLookupArray['TH']='Thailand';
$countryLookupArray['TJ']='Tajikistan';
$countryLookupArray['TK']='Tokelau';
$countryLookupArray['TM']='Turkmenistan';
$countryLookupArray['TN']='Tunisia';
$countryLookupArray['TO']='Tonga';
$countryLookupArray['TP']='East Timor';
$countryLookupArray['TR']='Turkey';
$countryLookupArray['TT']='Trinidad and Tobago';
$countryLookupArray['TV']='Tuvalu';
$countryLookupArray['TW']='Taiwan';
$countryLookupArray['TZ']='Tanzania';
$countryLookupArray['UA']='Ukraine';
$countryLookupArray['UG']='Uganda';
$countryLookupArray['UM']='United States Minor Outlying Islands';
$countryLookupArray['US']='United States';
$countryLookupArray['UY']='Uruguay';
$countryLookupArray['UZ']='Uzbekistan';
$countryLookupArray['VA']='Holy See (Vatican City State)';
$countryLookupArray['VC']='Saint Vincent and the Grenadines';
$countryLookupArray['VE']='Venezuela';
$countryLookupArray['VG']='Virgin Islands, British';
$countryLookupArray['VI']='Virgin Islands, U.S.';
$countryLookupArray['VN']='Vietnam';
$countryLookupArray['VU']='Vanuatu';
$countryLookupArray['WF']='Wallis and Futuna';
$countryLookupArray['WS']='Samoa';
$countryLookupArray['YE']='Yemen';
$countryLookupArray['YT']='Mayotte';
$countryLookupArray['YU']='Yugoslavia';
$countryLookupArray['ZA']='South Africa';
$countryLookupArray['ZM']='Zambia';
$countryLookupArray['ZW']='Zimbabwe';


print_r($countryLookupArray);


Country code to Country name lookup table (JAVA Map)


I knew you will be seraching for it, so i created it for you :)

       HashMap countryLookupMap = null;
        countryLookupMap = new HashMap();

        countryLookupMap.put("AD","Andorra");
        countryLookupMap.put("AE","United Arab Emirates");
        countryLookupMap.put("AF","Afghanistan");
        countryLookupMap.put("AG","Antigua and Barbuda");
        countryLookupMap.put("AI","Anguilla");
        countryLookupMap.put("AL","Albania");
        countryLookupMap.put("AM","Armenia");
        countryLookupMap.put("AN","Netherlands Antilles");
        countryLookupMap.put("AO","Angola");
        countryLookupMap.put("AQ","Antarctica");
        countryLookupMap.put("AR","Argentina");
        countryLookupMap.put("AS","American Samoa");
        countryLookupMap.put("AT","Austria");
        countryLookupMap.put("AU","Australia");
        countryLookupMap.put("AW","Aruba");
        countryLookupMap.put("AZ","Azerbaijan");
        countryLookupMap.put("BA","Bosnia and Herzegovina");
        countryLookupMap.put("BB","Barbados");
        countryLookupMap.put("BD","Bangladesh");
        countryLookupMap.put("BE","Belgium");
        countryLookupMap.put("BF","Burkina Faso");
        countryLookupMap.put("BG","Bulgaria");
        countryLookupMap.put("BH","Bahrain");
        countryLookupMap.put("BI","Burundi");
        countryLookupMap.put("BJ","Benin");
        countryLookupMap.put("BM","Bermuda");
        countryLookupMap.put("BN","Brunei");
        countryLookupMap.put("BO","Bolivia");
        countryLookupMap.put("BR","Brazil");
        countryLookupMap.put("BS","Bahamas");
        countryLookupMap.put("BT","Bhutan");
        countryLookupMap.put("BV","Bouvet Island");
        countryLookupMap.put("BW","Botswana");
        countryLookupMap.put("BY","Belarus");
        countryLookupMap.put("BZ","Belize");
        countryLookupMap.put("CA","Canada");
        countryLookupMap.put("CC","Cocos (Keeling) Islands");
        countryLookupMap.put("CD","Congo, The Democratic Republic of the");
        countryLookupMap.put("CF","Central African Republic");
        countryLookupMap.put("CG","Congo");
        countryLookupMap.put("CH","Switzerland");
        countryLookupMap.put("CI","Côte d?Ivoire");
        countryLookupMap.put("CK","Cook Islands");
        countryLookupMap.put("CL","Chile");
        countryLookupMap.put("CM","Cameroon");
        countryLookupMap.put("CN","China");
        countryLookupMap.put("CO","Colombia");
        countryLookupMap.put("CR","Costa Rica");
        countryLookupMap.put("CU","Cuba");
        countryLookupMap.put("CV","Cape Verde");
        countryLookupMap.put("CX","Christmas Island");
        countryLookupMap.put("CY","Cyprus");
        countryLookupMap.put("CZ","Czech Republic");
        countryLookupMap.put("DE","Germany");
        countryLookupMap.put("DJ","Djibouti");
        countryLookupMap.put("DK","Denmark");
        countryLookupMap.put("DM","Dominica");
        countryLookupMap.put("DO","Dominican Republic");
        countryLookupMap.put("DZ","Algeria");
        countryLookupMap.put("EC","Ecuador");
        countryLookupMap.put("EE","Estonia");
        countryLookupMap.put("EG","Egypt");
        countryLookupMap.put("EH","Western Sahara");
        countryLookupMap.put("ER","Eritrea");
        countryLookupMap.put("ES","Spain");
        countryLookupMap.put("ET","Ethiopia");
        countryLookupMap.put("FI","Finland");
        countryLookupMap.put("FJ","Fiji Islands");
        countryLookupMap.put("FK","Falkland Islands");
        countryLookupMap.put("FM","Micronesia, Federated States of");
        countryLookupMap.put("FO","Faroe Islands");
        countryLookupMap.put("FR","France");
        countryLookupMap.put("GA","Gabon");
        countryLookupMap.put("GB","United Kingdom");
        countryLookupMap.put("GD","Grenada");
        countryLookupMap.put("GE","Georgia");
        countryLookupMap.put("GF","French Guiana");
        countryLookupMap.put("GH","Ghana");
        countryLookupMap.put("GI","Gibraltar");
        countryLookupMap.put("GL","Greenland");
        countryLookupMap.put("GM","Gambia");
        countryLookupMap.put("GN","Guinea");
        countryLookupMap.put("GP","Guadeloupe");
        countryLookupMap.put("GQ","Equatorial Guinea");
        countryLookupMap.put("GR","Greece");
        countryLookupMap.put("GS","South Georgia and the South Sandwich Islands");
        countryLookupMap.put("GT","Guatemala");
        countryLookupMap.put("GU","Guam");
        countryLookupMap.put("GW","Guinea-Bissau");
        countryLookupMap.put("GY","Guyana");
        countryLookupMap.put("HK","Hong Kong");
        countryLookupMap.put("HM","Heard Island and McDonald Islands");
        countryLookupMap.put("HN","Honduras");
        countryLookupMap.put("HR","Croatia");
        countryLookupMap.put("HT","Haiti");
        countryLookupMap.put("HU","Hungary");
        countryLookupMap.put("ID","Indonesia");
        countryLookupMap.put("IE","Ireland");
        countryLookupMap.put("IL","Israel");
        countryLookupMap.put("IN","India");
        countryLookupMap.put("IO","British Indian Ocean Territory");
        countryLookupMap.put("IQ","Iraq");
        countryLookupMap.put("IR","Iran");
        countryLookupMap.put("IS","Iceland");
        countryLookupMap.put("IT","Italy");
        countryLookupMap.put("JM","Jamaica");
        countryLookupMap.put("JO","Jordan");
        countryLookupMap.put("JP","Japan");
        countryLookupMap.put("KE","Kenya");
        countryLookupMap.put("KG","Kyrgyzstan");
        countryLookupMap.put("KH","Cambodia");
        countryLookupMap.put("KI","Kiribati");
        countryLookupMap.put("KM","Comoros");
        countryLookupMap.put("KN","Saint Kitts and Nevis");
        countryLookupMap.put("KP","North Korea");
        countryLookupMap.put("KR","South Korea");
        countryLookupMap.put("KW","Kuwait");
        countryLookupMap.put("KY","Cayman Islands");
        countryLookupMap.put("KZ","Kazakstan");
        countryLookupMap.put("LA","Laos");
        countryLookupMap.put("LB","Lebanon");
        countryLookupMap.put("LC","Saint Lucia");
        countryLookupMap.put("LI","Liechtenstein");
        countryLookupMap.put("LK","Sri Lanka");
        countryLookupMap.put("LR","Liberia");
        countryLookupMap.put("LS","Lesotho");
        countryLookupMap.put("LT","Lithuania");
        countryLookupMap.put("LU","Luxembourg");
        countryLookupMap.put("LV","Latvia");
        countryLookupMap.put("LY","Libyan Arab Jamahiriya");
        countryLookupMap.put("MA","Morocco");
        countryLookupMap.put("MC","Monaco");
        countryLookupMap.put("MD","Moldova");
        countryLookupMap.put("MG","Madagascar");
        countryLookupMap.put("MH","Marshall Islands");
        countryLookupMap.put("MK","Macedonia");
        countryLookupMap.put("ML","Mali");
        countryLookupMap.put("MM","Myanmar");
        countryLookupMap.put("MN","Mongolia");
        countryLookupMap.put("MO","Macao");
        countryLookupMap.put("MP","Northern Mariana Islands");
        countryLookupMap.put("MQ","Martinique");
        countryLookupMap.put("MR","Mauritania");
        countryLookupMap.put("MS","Montserrat");
        countryLookupMap.put("MT","Malta");
        countryLookupMap.put("MU","Mauritius");
        countryLookupMap.put("MV","Maldives");
        countryLookupMap.put("MW","Malawi");
        countryLookupMap.put("MX","Mexico");
        countryLookupMap.put("MY","Malaysia");
        countryLookupMap.put("MZ","Mozambique");
        countryLookupMap.put("NA","Namibia");
        countryLookupMap.put("NC","New Caledonia");
        countryLookupMap.put("NE","Niger");
        countryLookupMap.put("NF","Norfolk Island");
        countryLookupMap.put("NG","Nigeria");
        countryLookupMap.put("NI","Nicaragua");
        countryLookupMap.put("NL","Netherlands");
        countryLookupMap.put("NO","Norway");
        countryLookupMap.put("NP","Nepal");
        countryLookupMap.put("NR","Nauru");
        countryLookupMap.put("NU","Niue");
        countryLookupMap.put("NZ","New Zealand");
        countryLookupMap.put("OM","Oman");
        countryLookupMap.put("PA","Panama");
        countryLookupMap.put("PE","Peru");
        countryLookupMap.put("PF","French Polynesia");
        countryLookupMap.put("PG","Papua New Guinea");
        countryLookupMap.put("PH","Philippines");
        countryLookupMap.put("PK","Pakistan");
        countryLookupMap.put("PL","Poland");
        countryLookupMap.put("PM","Saint Pierre and Miquelon");
        countryLookupMap.put("PN","Pitcairn");
        countryLookupMap.put("PR","Puerto Rico");
        countryLookupMap.put("PS","Palestine");
        countryLookupMap.put("PT","Portugal");
        countryLookupMap.put("PW","Palau");
        countryLookupMap.put("PY","Paraguay");
        countryLookupMap.put("QA","Qatar");
        countryLookupMap.put("RE","Réunion");
        countryLookupMap.put("RO","Romania");
        countryLookupMap.put("RU","Russian Federation");
        countryLookupMap.put("RW","Rwanda");
        countryLookupMap.put("SA","Saudi Arabia");
        countryLookupMap.put("SB","Solomon Islands");
        countryLookupMap.put("SC","Seychelles");
        countryLookupMap.put("SD","Sudan");
        countryLookupMap.put("SE","Sweden");
        countryLookupMap.put("SG","Singapore");
        countryLookupMap.put("SH","Saint Helena");
        countryLookupMap.put("SI","Slovenia");
        countryLookupMap.put("SJ","Svalbard and Jan Mayen");
        countryLookupMap.put("SK","Slovakia");
        countryLookupMap.put("SL","Sierra Leone");
        countryLookupMap.put("SM","San Marino");
        countryLookupMap.put("SN","Senegal");
        countryLookupMap.put("SO","Somalia");
        countryLookupMap.put("SR","Suriname");
        countryLookupMap.put("ST","Sao Tome and Principe");
        countryLookupMap.put("SV","El Salvador");
        countryLookupMap.put("SY","Syria");
        countryLookupMap.put("SZ","Swaziland");
        countryLookupMap.put("TC","Turks and Caicos Islands");
        countryLookupMap.put("TD","Chad");
        countryLookupMap.put("TF","French Southern territories");
        countryLookupMap.put("TG","Togo");
        countryLookupMap.put("TH","Thailand");
        countryLookupMap.put("TJ","Tajikistan");
        countryLookupMap.put("TK","Tokelau");
        countryLookupMap.put("TM","Turkmenistan");
        countryLookupMap.put("TN","Tunisia");
        countryLookupMap.put("TO","Tonga");
        countryLookupMap.put("TP","East Timor");
        countryLookupMap.put("TR","Turkey");
        countryLookupMap.put("TT","Trinidad and Tobago");
        countryLookupMap.put("TV","Tuvalu");
        countryLookupMap.put("TW","Taiwan");
        countryLookupMap.put("TZ","Tanzania");
        countryLookupMap.put("UA","Ukraine");
        countryLookupMap.put("UG","Uganda");
        countryLookupMap.put("UM","United States Minor Outlying Islands");
        countryLookupMap.put("US","United States");
        countryLookupMap.put("UY","Uruguay");
        countryLookupMap.put("UZ","Uzbekistan");
        countryLookupMap.put("VA","Holy See (Vatican City State)");
        countryLookupMap.put("VC","Saint Vincent and the Grenadines");
        countryLookupMap.put("VE","Venezuela");
        countryLookupMap.put("VG","Virgin Islands, British");
        countryLookupMap.put("VI","Virgin Islands, U.S.");
        countryLookupMap.put("VN","Vietnam");
        countryLookupMap.put("VU","Vanuatu");
        countryLookupMap.put("WF","Wallis and Futuna");
        countryLookupMap.put("WS","Samoa");
        countryLookupMap.put("YE","Yemen");
        countryLookupMap.put("YT","Mayotte");
        countryLookupMap.put("YU","Yugoslavia");
        countryLookupMap.put("ZA","South Africa");
        countryLookupMap.put("ZM","Zambia");
        countryLookupMap.put("ZW","Zimbabwe");


Tuesday, May 1, 2012

Unable to find or choose installed language in keyboard input method tool

Error

Unable to find or choose installed language in keyboard input method tool

Solution

1- Install "IBus-m17n" package

2- Logout/Login again




Conflict resolution techniques in corporate teams

This is a result of a fast research i did in 2009 after a strong team conflict, i thought there is a scientific way to solve conflicts and i found it

Content
  •     Steps to resolve a conflict
    • Process #1
    • Process #2
  •     Conflict Management styles
  •     Conflict Resolution Tips/Tricks
  •     Deadlock Handling
  •     References

Steps to resolve a conflict

Process #1

1- Identify the Problem—separate it from the people involved—use cause and effect analysis

2- Gather and Analyze Data—fact-based management

3- Clarify the Interests of Parties—as opposed to the positions of parties

4- Determine Objective Criteria to Evaluate Fairness of Outcomes—boundary conditions

5- Identify New and Creative Options—to resolve the conflict

6- Choose an Option—using team decision-making tools such as: Nominal Group Technique or Multi-voting

Process #2

1- What is the problem (for person A)? What is the problem (for person B)?

Determine what is the reason for the conflict from the perspective, i.e., from the point of view of the needs, of person A or person B (and person C, etc.), who are in conflict. The problem has to be stated in the form of I-messages, as if person A, B. C, etc., were speaking, but without accusing the other side.

2- What is the problem for A and B (about which A and B agree)?


Determine what is the problem: what are the reasons for the conflict from the position (needs) of both sides.

Both sides must agree with this definition of the problem.

3- Brainstorming solutions
Let both sides (all participants) propose the most creative ideas for resolving the conflict (without regard to the real circumstances).

With the brainstorming approach all participants in the conflict think up the most diverse resolutions, even options which are funny and impossible.

4- Analyzing solutions

Throwing out the resolutions that are impossible and unacceptable for both sides. Considering and weighing each idea.

5- Agreeing on acceptable solution by both sides

Selecting a resolution which is acceptable to both sides. Both sides themselves make the decision and accept the obligations which arise from the agreement.

6- Confirm the agreement

Confirming that the agreement is still respected: are both sides still satisfied and in agreement with their decision about the suggested resolution?



Conflict resolution flowchart




















Conflict Management styles















Competitive: People who tend towards a competitive style take a firm stand, and know what they want. They usually operate from a position of power, drawn from things like position, rank, expertise, or persuasive ability. This style can be useful when there is an emergency and a decision needs to be make fast; when the decision is unpopular; or when defending against someone who is trying to exploit the situation selfishly. However it can leave people feeling bruised, unsatisfied and resentful when used in less urgent situations.

Collaborative: People tending towards a collaborative style try to meet the needs of all people involved. These people can be highly assertive but unlike the competitor, they cooperate effectively and acknowledge that everyone is important. This style is useful when a you need to bring together a variety of viewpoints to get the best solution; when there have been previous conflicts in the group; or when the situation is too important for a simple trade-off.

Compromising: People who prefer a compromising style try to find a solution that will at least partially satisfy everyone. Everyone is expected to give up something, and the compromiser him- or herself also expects to relinquish something. Compromise is useful when the cost of conflict is higher than the cost of losing ground, when equal strength opponents are at a standstill and when there is a deadline looming.

Accommodating: This style indicates a willingness to meet the needs of others at the expense of the person’s own needs. The accommodator often knows when to give in to others, but can be persuaded to surrender a position even when it is not warranted. This person is not assertive but is highly cooperative. Accommodation is appropriate when the issues matter more to the other party, when peace is more valuable than winning, or when you want to be in a position to collect on this “favor” you gave. However people may not return favors, and overall this approach is unlikely to give the best outcomes.

Avoiding: People tending towards this style seek to evade the conflict entirely. This style is typified by delegating controversial decisions, accepting default decisions, and not wanting to hurt anyone’s feelings. It can be appropriate when victory is impossible, when the controversy is trivial, or when someone else is in a better position to solve the problem. However in many situations this is a weak and ineffective approach to take.

Conflict Resolution Tips/Tricks
  1.     Never hold the other party responsible for what is said in an argument
  2.     Attack the problem, not the person
  3.     Make it private as much as you can
  4.     Lower your voice/Be calm
  5.     Speak slowly
  6.     Reassure the other person of why you are arguing
  7.     Recommend a Time-Out/Take the argument to another location
  8.     Treat the issue with respect, don’t joke around
  9.     Stick to the point
  10.     Sit, don’t stand/Keep a physical distance, and respect it
  11.     Confirm that the outcome is acceptable for the other person
  12.     Genuinely consider the other person’s point of view
  13.     There’s power in the words “Yes, yes, I see exactly what you’re saying. You mean
  14.     If the situation turns verbally abusive, put a stop to it. ( you are saying what you don’t mean )
  15.     f you are wrong, quickly admit it and take responsibility
  16.     Make sure that good relationships are the first priority
  17.     Pay attention to the other person’s interests/goals
  18.     Set out the “Facts
  19.     Be open to the idea that a third position may exist, and that you can get to this idea jointly.

Deadlock Handling

  1. Having each individual/sub-group debate from the others’ point of view. This will help all involved to understand all viewpoints.
  2. Looking for a possible solution by examining and analyzing the two sides for common ground.
  3. Debating each side in context of the original task. After the allotted time is over for each side, toss a coin if it is not an critical issue and move on.

References





Influencer book summary

Summary for "Influencer: The Power to Change Anything" book  by
Kerry Patterson, Joseph Grenny, David Maxfield, Ron McMillan , Al Switzler

Summary Diagram
 

* Find Vital Behaviors
* Find positive deviants
* Use intrinsic motivation
* Use distracting activities for self control
* 85 % of people will not follow until opinion leaders do
* Reward improvements not results
* Make the undiscussable discuss-able