Notion Ink Adam Tablet PC with Android & Pixel Qi from India

It looks like this year will be of new Tablet PCs. One of the most exciting Android & Pixel Qi based tablet PC demonstrated at CES 10 in Las Vegas on 8th January. It has been three years in the making of it at Indian company Notion Ink.

What makes this device different then others is the Pixel QI transflective screen, a 10.1-inch panel that can switch between backlit LCD mode and low-power electrophoretic reflective mode, which looks more less like E Ink, and which actually gets easier to see in direct sunlight.

The key features are,

* 10 inch transflective LCD
* 180 degree Swivel Camera
* Dual-Core ARM® CORTEX-A9 MPCORE™ Processor
* Full High Definition Multimedia
* Longer Battery Life
* Dual Display
* Ebook Client
* 3G and WiFi Connectivity
* Multi-touch Support.

Few introducing videos from Youtube,






Here are few images from official Notion Ink site,



India is known as a software superpower. Thanks to the Adam tablet PC of Hyderabad-based Notion Ink that now it will make news in IT - Hardware as well. Adam is buzzing on tech websites and gadget blogs ever since an early prototype was first demonstrated at the CES.



Notion Ink will be running an apps competition, similar to Google's Android Developer Challenge, to encourage software designed for the Adam tablet.


I have seen listed features and comparisons/reviews of these two gadgets. If I need to choose, I will choos the Notion Ink Adam. I think Apple iPad is very expensive and it looks like I am buying the brand rather than the gadget itself.

For latest updates and details, here is the link official site:
http://www.notionink.in/

BID-TYPE-AND-BIDDING-STRATEGY-MISMATCH API Error

This is one of the API error of Type AdGroupServiceError in the Adwords API v2009.

I got following SOAP fault at the time when my PHP script had tried to set keywordContentMaxCpc with new value using the API.

[AdGroupServiceError.BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH @ operations[0].operand.bids]

After some research I found that the Adwords' Campaign in which I am trying to set the MaxCPC value was setup for "Conv. Optimizer" in the Adwords so, Adwords not allowing me to set MaxCPC value manually through API.

I have ignored such "Conv. Optimizer" Campaigns in the script to overcome this issue.

BID_INCOMPATIBLE_WITH_ADGROUP API Error

This is one of the API error of Type AdGroupCriterionError in the Adwords API v2009.

I got following SOAP fault during my tool implementation, My PHP script had tried to set new MaxCPC value using the API.

[AdGroupCriterionError.BID_INCOMPATIBLE_WITH_ADGROUP @ operations[0].operand.bids; trigger:'MANUAL_CPC']

After some research I found that the Adwords' Campaign in which I am trying to set the MaxCPC value was setup for "Conv. Optimizer" in the Adwords so, Adwords not allowing me to set MaxCPC value manually through API.

I have ignored such "Conv. Optimizer" Campaigns in the script to overcome this issue.

E_ALL ^ E_NOTICE - error_reporting

PHP has many levels of errors.

E_ALL ^ E_NOTICE is the default error level set in the php.in file.

It simply mean, "Report all errors except E_NOTICE".

error_reporting(E_ALL ^ E_NOTICE);

If you just want to apply some specific level of errors, you can use following as option.

error_reporting(E_ERROR | E_WARNING | E_PARSE);

Here we are telling PHP to show only errors related to E_ERROR, E_WARNING and E_PARSE. Rest of the error types will be ignored.

If you want to turn off all types of error reporting,

error_reporting(0);

or wants to report all types of PHP errors,

error_reporting(E_ALL); //this will not include error type E_STRICT

error_reporting(-1); // this will include E_STRICT as well.

For more details about error_reporting, refer following link of PHP manual,

http://php.net/manual/en/function.error-reporting.php

To see all types of error level (predefined) constants, refer

http://www.php.net/manual/en/errorfunc.constants.php

EntityNotFound.INVALID_ID - Adwords API Error

This is one of the Adwords API (v2009) based SOAP error.

The SOAP faultstring shows,

[EntityNotFound.INVALID_ID @ operations[0].operand.id; trigger:'AdGroupId: 1209742723']

This can be generated if your SOAP request contains any invalid or missing data.

For example, If you have made API request to Pause/Enable any Adwords Adgroup, this error can be generated in following cases,

1. If your request missing the clientEmail in the SOAP header. In this case, the Adwords doesn't know where to find the specified Adgroup ID. Add clientEmail paramerter  in the SOAP request header.
2. If your request have invalid Adgroup ID which doesn't exist in the specified clientEmail account. Check the specified ID in the perticular account.
3. If you are using PHP version of the Adwords API, it may be the case that the specified Adgoup ID was correpted in the SOAP request. Use Float type casting before passing it to the API functions. like,

$AdgroupId = (float) $AdgroupId;

PHP: Cannot pass datatype Long (> 2147483647) in SOAP requests

It looks like the IDs with datatype Long are somehow getting corrupted before or while you are making the SOAP request.

I had experience this issue while working with the Adwords API v200909. Its using the PHP5's native SOAP class. I had created a new Adgroup in the Sandbox and while I am updating it, I am getting the following error message.

SoapFault Object ( [message:protected] => [EntityNotFound.INVALID_ID @ operations[0].operand.adGroupId; trigger:'AdGroupId: 2147483647']

The adGroupId was '3121452289'.

I have found that this is the problem with PHP,

The PHP language does not support the 64 bit long data type. The
maximum integer value in PHP is 2147483647. This limitation can cause
PHP applications to generate bad requests if the ID element is larger
than 2147483647.

$AdgroupId = "9999999999999"; // BAD. Generates request with AdGroupId 2147483647

I got two options to fix this:

1. $AdgroupId = (float) "9999999999999"; // SAFE - If ID represented as a string variable


2. $AdgroupId = 9999999999999; // Safe - If ID represented as a numeric variable

Comparison: Soap data types and PHP data types

Here is the list of SOAP data types and corresponding PHP data types. PHP doesn't contain all the respective data types provided by SOAP.

For more details on the SOAP data types and XML schema, refer the documentation given on W3C,

http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/

SOAP Data TypesEquivalent PHP Data Types
stringstring
booleanboolean
floatfloat
doublefloat
longstring
decimalfloat
intinteger
shortinteger
bytestring
durationinteger
dateTimestring
timestring
datestring
nonNegativeIntegerinteger
unsignedLonginteger
unsignedIntinteger
unsignedShortinteger
unsignedByteinteger
positiveIntegerinteger
gYearMonthinteger
gYearinteger
gMonthDayinteger
gDayinteger
gMonthinteger
hexBinarystring
base64Binarystring
normalizedStringstring
tokenstring
languagestring
NMTOKENstring
NMTOKENSstring
Namestring
NCNamestring
IDstring
IDREFstring
IDREFSstring
ENTITYstring
ENTITIESstring
integerinteger
nonPositiveIntegerinteger
negativeIntegerinteger
anyTypestring
anyURIstring
QNamestring