Contact Support

Latest Applications for iOS devices

Logical Conclusion

Can you reach the Logical Conclusion?

A very difficult word puzzle to test your deductive reasoning skills.

Based on the famous Zebra Puzzle or Einstein's riddle genre, this new application will tie your brain in knots.

American Heritage® Dictionary - 5th Edition

New Edition!

Reliable, enlightening, and visually stunning, the Fifth Edition of The American Heritage® Dictionary of the English Language gives you the opportunity to make your mark in the best possible way.

LDOCE plus

Longman's flagship learner's dictionary ➕ PLUS the Longman Activator Thesaurus making this the ultimate learner's resource of the English language for use anywhere and anytime.

Are you looking to increase your English vocabulary? Do you have difficulty deciding on the correct word to use in a particular situation? Then the Longman Dictionary of Contemporary English PLUS Longman Activator Thesaurus is the app for you.

The Yale Book of Quotations

Discover a collection of over 13,000 quotes and proverbs from Yale University Press’s award-winning title The Yale Book of Quotations, edited by Fred R. Shapiro and the companion edition, The Dictionary of Modern Proverbs, compiled by Charles Clay Doyle, Wolfgang Mieder, and Fred R. Shapiro.

Finding the right words has never been easier

See all applications available »


A visual guide to using our applications. Also FAQ and troubleshooting assistance.

Go to the Support section »

How to Purchase Our Applications

You can search for "enfour" either via iTunes on your computer or your iPhone. There are also direct links to our apps on the applications page.

'a14a56cacfc1d38', // Required to collect Analytics data. To find your Analytics ID, log in to your Analytics account and click on the "Edit" link next to the name of your site. 'ANALYTICS_REQUEST' => true, // To enable the collection of analytics data, set to TRUE. 'TEST_MODE' => false, // While testing, set to TRUE. When you are ready to make live requests, set to FALSE. // Additional optional parameters are available at: 'OPTIONAL' => array() ); // Optional parameters for AdMob Analytics ( //$admob_params['OPTIONAL']['title'] = "Enter Page Title Here"; // Analytics allows you to track site usage based on custom page titles. Enter custom title in this parameter. //$admob_params['OPTIONAL']['event'] = "Enter Event Name Here"; // To learn more about events, log in to your Analytics account and visit this page: /* This code supports the ability for your website to set a cookie on behalf of AdMob * To set an AdMob cookie, simply call admob_setcookie() on any page that you call admob_request() * The call to admob_setcookie() must occur before any output has been written to the page ( * If your mobile site uses multiple subdomains (e.g. "" and ""), then pass the root domain of your mobile site (e.g. "") as a parameter to admob_setcookie(). * This will allow the AdMob cookie to be visible across subdomains */ //admob_setcookie(); /* AdMob strongly recommends using cookies as it allows us to better uniquely identify users on your website. * This benefits your mobile site by providing: * - Improved ad targeting = higher click through rates = more revenue! * - More accurate analytics data ( */ // Send request to AdMob. To make additional ad requests per page, copy and paste this function call elsewhere on your page. echo admob_request($admob_params); ///////////////////////////////// // Do not edit below this line // ///////////////////////////////// // This section defines AdMob functions and should be used AS IS. // We recommend placing the following code in a separate file that is included where needed. function admob_request($admob_params) { static $pixel_sent = false; $ad_mode = false; if (!empty($admob_params['AD_REQUEST']) && !empty($admob_params['PUBLISHER_ID'])) $ad_mode = true; $analytics_mode = false; if (!empty($admob_params['ANALYTICS_REQUEST']) && !empty($admob_params['ANALYTICS_ID']) && !$pixel_sent) $analytics_mode = true; $protocol = 'http'; if (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) != 'off') $protocol = 'https'; $rt = $ad_mode ? ($analytics_mode ? 2 : 0) : ($analytics_mode ? 1 : -1); if ($rt == -1) return ''; list($usec, $sec) = explode(' ', microtime()); $params = array('rt=' . $rt, 'z=' . ($sec + $usec), 'u=' . urlencode($_SERVER['HTTP_USER_AGENT']), 'i=' . urlencode($_SERVER['REMOTE_ADDR']), 'p=' . urlencode("$protocol://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']), 'v=' . urlencode('20081105-PHPCURL-acda0040bcdea222')); $sid = empty($admob_params['SID']) ? session_id() : $admob_params['SID']; if (!empty($sid)) $params[] = 't=' . md5($sid); if ($ad_mode) $params[] = 's=' . $admob_params['PUBLISHER_ID']; if ($analytics_mode) $params[] = 'a=' . $admob_params['ANALYTICS_ID']; if (!empty($_COOKIE['admobuu'])) $params[] = 'o=' . $_COOKIE['admobuu']; if (!empty($admob_params['TEST_MODE'])) $params[] = 'm=test'; if (!empty($admob_params['OPTIONAL'])) { foreach ($admob_params['OPTIONAL'] as $k => $v) { $params[] = urlencode($k) . '=' . urlencode($v); } } $ignore = array('HTTP_PRAGMA' => true, 'HTTP_CACHE_CONTROL' => true, 'HTTP_CONNECTION' => true, 'HTTP_USER_AGENT' => true, 'HTTP_COOKIE' => true); foreach ($_SERVER as $k => $v) { if (substr($k, 0, 4) == 'HTTP' && empty($ignore[$k]) && isset($v)) { $params[] = urlencode('h[' . $k . ']') . '=' . urlencode($v); } } $post = implode('&', $params); $request = curl_init(); $request_timeout = 1; // 1 second timeout curl_setopt($request, CURLOPT_URL, ''); curl_setopt($request, CURLOPT_RETURNTRANSFER, 1); curl_setopt($request, CURLOPT_TIMEOUT, $request_timeout); curl_setopt($request, CURLOPT_CONNECTTIMEOUT, $request_timeout); curl_setopt($request, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded', 'Connection: Close')); curl_setopt($request, CURLOPT_POSTFIELDS, $post); list($usec_start, $sec_start) = explode(' ', microtime()); $contents = curl_exec($request); list($usec_end, $sec_end) = explode(' ', microtime()); curl_close($request); if ($contents === true || $contents === false) $contents = ''; if (!$pixel_sent) { $pixel_sent = true; $contents .= "'; } return $contents; } function admob_setcookie($domain = '', $path = '/') { if (empty($_COOKIE['admobuu'])) { $value = md5(uniqid(rand(), true)); if (!empty($domain) && $domain[0] != '.') $domain = ".$domain"; if (setcookie('admobuu', $value, mktime(0, 0, 0, 1, 1, 2038), $path, $domain)) { $_COOKIE['admobuu'] = $value; // make it visible to admob_request() } } } ?>