We hope that you enjoy using our services as much as we enjoy providing them to you.
After registering follow these three steps,
Check your email used in our registration.
Check your Inbox for an e-mail from 'Developer Admin' with the subject 'Your Registration confirmed in Explorepda.com'.
If you don't see this e-mail in email Inbox it may have been mistakenly flagged as spam
and placed in your Spam mail folder.
Click on the account confirmation link within this e-mail to confirm your explorepda account.
If you are unable to locate this message in either the Inbox or Spam mail folders, please contact our customer support.
Your support is appreciated in the steady improvement of this portal.
* - Fields are required.
Username*
Login for explorePDA.com Software Partner Program and also this should be your mailid.
You will recieve an Automated mail for confirmation of your registration.
Password*
Password should be 6 to 12 characters / symbols and confirm/retype your password for security.
If you want to change this password you can change after login to explorePDA.com.
First Name and Last Name*
Your Name to identify.
Birth Date
Your Date of birth.
Company Name *
Your Company Name.
Type of Work
Industry type of your Company.
Role
Your Role/Position/designation of the your company.
Address, City, Country, State/Province, Postal Code*
Your Postal addresss of your Company.It should be permanent address.
Phone/Mobile, Fax, Emailid*
Contact for Communication with you for any query(s) about your Company/Product(s).
Contact Email*
Your contact mail for explorePDA.com Webmaster/Admin.
Website URL
explorePDA.com will understand you better from your Website.
Tax ID
for US residents
Options
You have two options
1. If You select first option,You will be added to Explorepda.com Commerce Engine(ECE).
More Info - http://ece.explorepda.com
2. If You select second option,You will receive mail about your user reviews.
Add Product
Add Product Help
After adding your product,
Obtain a product ID and upload products directly though your online account.
Update your products online and make changes at your leisure.
Provide pricing, product descriptions for each product.
Include a customized registration notes in the purchase confirmation email sent to customers who purchase your applications.
* - Fields are required.
Product Name*
Name of the product.
Version*
Version/Edition of the product.
Producttype*
Product.type may be following five type.
Freeware
F
-
Products for free downloads
Commercial
C
-
Product which has fullversion file for download Optionally can upload seperate demo file for trial download
Shareware Single
S
-
Products which has registration Key to unlock trial version file
Shareware List key
SL
-
Products which has multiple registration Key to unlock trial version file. Key will be randomly sent for Customers.
Shareware Author Std
SA
-
Shareware Products whose key generated based on Device Info.
Sharware Reverse Polish Notation String
SR
-
Provide your RPN formula for Shareware Reverse Polish Notation(RPN) method.
a) unlockinfo Required Only for Shareware products. Recommended info for S,SL,SR : key(s) to unlock the product SA : Key will be sent within 2 bussiness days
Price*
min 3.00 for Commercial product
Platform*
Select correct product supporting OS of the devicemodel.This is helping you to reduce the customer support.
OTA Availability*
Over to Air file availability
Color*
Select Yes if Color product
Java*
Select Yes if product is Java Application
Compatibility Devices*
Select compatible device. This is helping you to reduce the customer support.
Summary*
Do's:
Brief about the product.Summary length should be less than 255 characters. Give a brief description of your product; try to utilize the max length. This will help the customer to understand about your product.
Don't's:
Don't use scripts, hyperlinks, HTML tags and copyrights text in the summary fields.
Description*
Do's:
Detail of the product.Description length should be less than 8000 character.Give the product description elaborately and detailed. Add more screenshots, as much as possible. You can also expose your other products in the description page.
Don't's: Don't use scripts, external hyperlink, copyrights materials, articles, text etc. in the description fields
Categories*
Select the relevant category for your product; so that your product can reach the potential customers easily.
Requirements*
Basic requirement to run the product.Clearly specify the product requirements and prerequisites (if any).
Keywords*
Do's:
Keywords are vital data for the product search. Give more relevant keywords, so that the customers can easily reach your product.Keywords for Search the product, which matches with the Customer Search Keywords to get the result.
Don't's: Don't use " " in the keywords.
Download URL*
Alternate URL of the product download, if any from your site.
Registration Note*
Message for the Customer, as Developer Note.Provide your product support details and registration instructions in this field.
Orders Email*
To send a copy of Customer's purchase invoice.
Product Support Email *
Customer will reach you for queries/support, if any.
Upload Your File *
Do's:
Upload Any product.FullVersion File is a mandatory field for free product and commercial products.Demo file is a mandatory field for sharware products.Remove the file(s) you like to replace, before uploading a new one.
Don't's:
Don't upload file formats other than exe, zip, cab, prc, sis, alx, cod, jad, jar.OTA files are not allowed to upload now.
Image*
Upload pleasant images for thumbnail and screenshots, so that it will attract more customers to your product page.You can upload three screenshots for your product.
RPN
RPN Help
General Definitions
The C/DUI (Customer/Device Unique Identifier)
The handheld device user selects their C/DUI when they first set up their handheld device. Most users choose their name or some variation thereof. Device-specific examples of C/DUIs are the Palm User Nameon Palm OS handheld devices, the Owner Name on Pocket PC handheld devices, and the IMEI on Symbian OS devices. For Symbian OS devices, customers will be asked to enter their IMEI in the following format: 350443-61-001241-9 (including dashes). Please be mindful of this fact when creating your application and code verification process. The IMEI will be run through the RPN string with the dashes included.
For example:
Will's Palm User Name is ?Will P?, so his C/DUI is also "Will P". The C function call you will use to get the C/DUI off of a handheld device is DlkGetSyncInfo(NULL,NULL,NULL,name,NULL,NULL); where name is a char array of at least 41 characters (i.e char name[41]). When this C function completes, name will contain the C/DUI as a null terminated (ASCIIZ) string.
The RPN String (Reverse Polish Notation String)
-- This is a string you give us along with your application that enables us to generate valid dynamic registration codes for customers who buy your application.
Dynamic Registration Code
-- The five-digit numeric code that the user must enter to unlock your application on his or her handheld device.
Summary
Dynamic Registration protects you, the author, because the dynamic registration code that the user must enter to unlock your application depends on what the C/DUI on their handheld device is. Since different users select different C/DUI's for some handheld devices, a dynamic registration code that unlocks your application on one handheld device probably won't work on another handheld device. The only way the same dynamic registration code will work on two different handheld devices is if those two handheld devices have the same C/DUI. As you can see, this helps prevent piracy because the only way a pirate could copy your software from his friend would be to make sure that the C/DUI on his handheld device is the same as the C/DUI on his friend?s. It becomes more tedious and impractical for the pirate to change his C/DUI each time he wants to run a different application.
Step-by-Step
Here is an example of how ExplorePDA uses the RPN string you give us to compute the correct dynamic registration code for a user based on the C/DUI on that user's handheld device.
For our example:
C/DUI I = "Will P"
RPN string = "i 0 == 111 * key + c 2 * +"
We convert each character of the C/DUI to ASCII value.
W = 87 decimal
i = 105 decimal
l = 108 decimal
l = 108 decimal
[space] = 32 decimal
P = 80 decimal
We apply the RPN string to the ASCII value of each character in the C/DUI. The RPN string is actually a mathematical formula written in reverse Polish notation. Where 'i' is the position of the character in the C/DUI starting at 0, and 'c' is the ASCII value of the character in the C/DUI. (We will discuss 'key' later in this example.)
We start out by setting the variable ?key? = 0.
Then we apply the RPN string to the first character, 'W'. For 'W' i=0 since 'W' is the first character of the C/DUI and we start counting at 0, and c=87 since 'W' has an ASCII value of 87.
Now apply the RPN string. The RPN string is evaluated by placing each operand in it on a stack, when an operator is reached, it is applied to the last two operands on the stack. Those operands are popped from the stack and the result is pushed back onto the stack.
We process the first operand 'i' in the RPN string by pushing it onto the stack, now stack = i.
Then we process the next operand in the RPN string, '0' by pushing it onto the stack, now stack = i 0.
Next we come to the '==' which is an operator that works just like the C operator. We pop the last two operands from the stack which were i and 0 and we apply the operator '==' to them. Since i equals 0, the result is true. So, 1 is pushed back onto the stack, now stack = 1.
Next, we come to the '*' which is an operator representing multiplication. We pop the last two operands from the stack, which were 1 and 111, and we multiply them. The result is 111 which is pushed back onto the stack, making stack = 111.
Then we process the next operand in the RPN string, which is 'key', by pushing it onto the stack, making stack = 111 key.
Next we come to the '+' which is an operator representing addition. We pop the last two operands from the stack, which are 111 and ?key?, and we add them together. Since key=0, and 111 + 0 = 111, the result is 111 which is pushed back onto the stack, making stack = 111.
Then we process the next operand in the RPN string which is 'c' by pushing it onto the stack, making stack = 111 c.
Then we process the next operand in the RPN string, which is '2', by pushing it onto the stack, making stack = 111 c 2.
Next we come to the '*' which is an operator representing multiplication. We pop the last two operands from the stack, which are c and 2, and we multiply them. Since c=87 and 2*87=174, the result is 174 which is pushed back onto the stack, making stack = 111 174.
Next we come to the '+' which is an operator representing addition. We pop the last two operands from the stack, which were 111 and 174, and we add them together. 111+174=285. The result is 285, which is pushed back onto the stack, making stack = 285.
Now we have reached the end of the RPN string so the result of applying the RPN string to the first character 'W' of the C/DUI is 285.
We set key=285. This concludes applying the RPN string to 'W'.
Now we apply the RPN string to the next character 'i', which is the second character in the C/DUI, so i=1 since we start counting at 0. The ASCII value of 'i' is 105. So, c=105 and from processing 'W' key=285.
We process the first operand 'i' in the RPN string by pushing it onto the stack, now stack = i.
Then we process the next operand in the RPN string, '0' by pushing it onto the stack. Now stack = i 0.
Next we come to the '==' which is an operator that works just like the C operator. We pop the last two operands from the stack which were i and 0 and we apply the operator '==' to them. Since i equals 1, the result is false, so 0 is pushed back onto the stack. Now stack = 0
Then we process the next operand in the RPN string, which is '111', by pushing it onto the stack giving, stack = 0 111.
Next we come to the '*' which is an operator representing multiplication. We pop the last two operands from the stack, which were 0 and 111, and we multiply them. The result is 0 which is pushed back onto the stack, making stack = 0.
Then we process the next operand in the RPN string, which is 'key', by pushing it onto the stack, making stack = 0 key.
Next we come to the '+' which is an operator representing addition. We pop the last two operands from the stack, which were 0 and key, and we apply addition to them. Since key=285, and 285 + 0 = 285,the result is 285 which is pushed back onto the stack, making stack = 285.
Then we process the next operand in the RPN string, which is 'c', by pushing it onto the stack, making stack = 285 c.
Then we process the next operand in the RPN string, which is '2', by pushing it onto the stack, making stack = 285 c 2.
Next we come to the '*' which is an operator representing multiplication. We pop the last two operands from the stack, which were c and 2, and we multiply them. Since c=105 and 2*105=210, the result is 210, which is pushed back onto the stack, making stack = 285 210.
Next we come to the '+' which is an operator representing addition. We pop the last two operands from the stack, which were 285 and 210, and we add them together. 285+210=495. The result is 495, which is pushed back onto the stack, making stack = 495.
Now we have reached the end of the RPN string so the result of applying the RPN string to the second character 'i' of the C/DUI is 495.
We set key=495. This concludes applying the RPN string to 'i'
Now we apply the RPN string to the next character 'l', which is the third character in the C/DUI, so i=2 since we start counting at 0. The ASCII value of 'l' is 108. So, c=108 and from processing 'l' key=495.
Applying the RPN string as in the previous step, we get key=495 + 2*108 = 711
We set key=711. This concludes applying the RPN string to the first 'l'.
Now we apply the RPN string to the next character 'l', which is the fourth character in the C/DUI, so i=3 since we start counting at 0. The ASCII value of 'l' is 108. So, c=108 and from processing 'l' key=711
Applying the RPN string as in the previous step, we get key=711 + 2*108 = 927.
We set key=927. This concludes applying the RPN string to the second 'l'.
Now we apply the RPN string to the next character [space], which is the fifth character in the C/DUI, so i=4 since we start counting at 0. The ASCII value of [space] is 32. So, c=32 and from processing [space] key=927.
Applying the RPN string as in the previous step, we get key=927 + 2*32 = 991.
We set key=991. This concludes applying the RPN string to [space].
Now we apply the RPN string to the next character 'P', which is the sixth character in the C/DUI, so i=5 since we start counting at 0. The ASCII value of 'P' is 80. So, c=80 and from processing 'P' key=991.
Applying the RPN string as in the previous step, we get key=991 + 2*80 = 115.
Since we are at the end of the C/DUI, we get key = 1151. Next we add a 0 to the beginning to make it a five-digit number, thus our dynamic registration code for a C/DUI of 'Will P' is 01151
So for C/DUI = "Will P' and RPN String = "i 0 == 111 * key + c 2 * +"
The dynamic registration code = "01151"
Note:
The RPN String "i 0 == 111 * key + c 2 * +" Adds up the ASCII values of all the characters in the C/DUI, multiplies that by 2 and adds 111 to that.
An RPN string of "i 0 == 111 * key + c 3 * +" would add up the ASCII values of all the characters in the C/DUI. Multiply that by 3 and add 111 to that.
So, for "Will P": 520*3=1560; 1560 + 111 = 1671.
An RPN string of "i 0 == 987 * key + c +" would add up the ASCII values of all the characters in the C/DUI and add 987 to that.
RPN Strings can be much more complex than this. Just about any operator is allowed:
Logical operators such as &&, ||, !, ==, >=
Bitwise operators such as << (Shift left), >> (Shift right), ~ (Invert), & (AND), | (OR).
Arithmetic operators such as +, -, *, /, % (Modulo)
Other Things to Remember
The only three variables allowed in an RPN string: key, i, and c. There is no variable for RPN string length.
Dynamic registration code generation is done using 32-bit signed integers, and the final result is converted to a 16-bit unsigned integer. The 32-bit signed integer result is converted to a 16-bit unsigned integer by masking off all but the lowest order 16 bits. For example, if the final result is -3 (0xFFFFFFFD), then the last or lowest order 16 bits would be 0xFFFD hex which is unsigned decimal 65533. The variable c is considered to be an unsigned 8-bit integer. The smallest possible registration code is 0 and the largest possible registration code is 2^16 - 1 = 65535. If a registration code is fewer than five digits, 0s are added to the front to make it five digits. So, 763 becomes 00763. Because only integers are used in the dynamic registration code generation, 763 / 10 = 76 not 76.3. Consequently, decimals never appear in a dynamic registration code.
Also, the program that processes RPN strings puts a limit on the number of characters then processed. If a handheld device ID exceeds 10 characters, only the first five and last five characters are used to generate the unlock code.
Non-cumulative operations are evaluated from left to right, so 7 3 - = 4 (not -4).
Currently, 16-bit characters such as japanese, chinese, greek, or hebrew characters are not supported in this process as the variable c is treated as an 8-bit unsigned integer.
If you have any questions about this process, feel free to contact partners@explorepda.com or your Business Development representative.
HTTP Post
HTTP Post Help
How to Set a Registration Method for HTTP Post
With HTTP Post, you can specify a registration key at the time of purchase, by allowing the ExplorePDA server to send customer information to a URL you specify, with which you generate the appropriate registration code. Settings can be done specifically for each product, or alternatively you can set some values generically for all products in your ExplorePDA Developer account in ExplorePDA.com.
How HTTP Post works
When a customer order is received, ExplorePDA will pass information to your specified URL in an HTTP Post request. To make sure that the request comes from the ExplorePDA server, you can define a Shared Key. The information passed to your URL will be:
ProductID
Product Name
Product Quantity
Product Price
Consumer Email
Device Indentifier
IMEI Number
Order Number
Order Date
Storefront
Shared Secret Key
Subscriptions specific fields:
Action
Subscription ID
Subscription Expiration Date
On receiving this information, you will use it to generate a code, and reply via HTTP Post with one registration code for each copy purchased
The registration codes sent back to ExplorePDA will be sent to the customer via email, and will appear on the customer order confirmation page.
An example
Here is a sample HTML form showing YourServerCodes.asp which will provide registration code(s) to ExplorePDA. To function properly, your page for providing registration codes via HTTP Post must work like YourServerCodes.asp in this example:
<form method='post' action='yourserver.asp'> <input type=”text” name=”ProductID” value=”111”> <input type=”text” name=”Product Name” value=””> <!--product full name --> <input type=”text” name=”Product Quantity” value=”20”> <!--quantity of the product --> <input type=”text” name=”Product Price” value=”100”> <!--price of the product --> <input type=”text” name=”Consumer Email” value=”john.smith@email.com”> <input type=”text” name=”Device Indentifier” value=”1234342”> <input type=”text” name=”IMEI Number” value=”johndeviceid”> <input type=”text” name=”Order Number” value=”1900”> <input type=”text” name=”Order Date” value=”10-12-2000”> <input type=”text” name=”Storefront” value=”111”> <!--ID of product purchased --> <input type=”text” name=”Shared Secret Key” value=”300”> <!--number of copies of product purchased --> </form>
YourServerCodes.asp returns no html tags, and the page must look exactly like the example below. “Reg Codes:” must appear on one line, with each registration code (one or more) on a separate line after that. (Note that text, if any, above the line with “Reg Codes:” will be ignored.) The page should look like this:
Reg Codes:
regCode1
regCode2
regCode3
Three registration codes appear in this example because the customer bought 3 copies of productId #111.
How ExplorePDA handles HTTP Post registration
At the time of purchase, ExplorePDA will send the customer information to your specified URL to obtain the registration key. If there is no response, we will alert the customer on their order confirmation page that “The registration key will be sent in a separate email”.
At the same time, an email will be sent to you to notify you that your server cannot be reached. The email will be sent at the email address you have provided under the Profile tab, Alert Email field. If you receive a message like that, please correct any server issues that you may be having.
Currently we do not make a second attempt.
The customer information will optionally be sent to you as notification, in email with an attached CSV file.
Quick and Easy HTTP Post Setup:
To set up your products for HTTP Post registration method, login to developers
developers.explorePDA.com, and simply follow these steps:
Select Profile, then
Set Fulfillment URL (optional)
Set Shared Secret Key (optional)
Set Alert Email
Set Version to “Version 1”
Select Save.
Note that the Fulfillment URL and the Shared Secret Key set here are generic for all your products, except where overridden on a particular product.
Select Products >> [product name] >> Activation to input settings for the given product:
For Registration Model, select Shareware and HTTP Post
Enter Backup Code. This is provided to the user, if HTTP Post fails, so you may want to use a message such as “Error - contact support”.
If you wish to use a product-specific fulfillment URL, enter it at “Override common Fulfillment URL”. Note that you must have either a common URL in your Profile, or a product-specific URL here.
If you wish to use a product-specific secret key, enter it at “Override common Shared Secret Key”. Note that you must have either a common Secret Key in your Profile, or a product-specific Secret Key here.
Enter Email Instructions. Here you can enter any special installation/registration instructions for the user.
Select Purchase Notification checkbox, if you wish to receive notification of transaction in email with CSV.
If Purchase Notification is checked, enter email address in “To Email Address”.
Select Save.
IMPORTANT:Use the Test HTTP Post feature, to assure that the behavior is what you expect.
Discount
Add Your Discount Help
Promote your products with discount offer to reach as many potential customers as possible.
With discount offers, you can promote your software to thousands of our daily visitors.
Your Product Downloads, sales statistics are shown in your Developer Account pages in real time mode.
Your discount will be up in 24 hrs after the offer is processed.
You can offer several discount for the several product.
You can select specific product to discount.
Specific Product(s) with discount open to all Customers, will be listed in Special Offers page of the site.
One for one (1+1)
-
You can select a product and for that product,you can offer another product.
One for two (2+1)
-
You can select two product and for that two product,you can offer another product
Discount Slap
-
Only Admin can add products for this discount type.
Select Products and Offered Product
If selected discount type,One for one (1+1) and One for two (2+1),this two will be useful for selecting product.
Offer Price*
Price , Percentage of the offer. (Only for Discount Slap type)
Offer type*
Percent / Price.
Offer Value / Percent*
Cost / Percentage of the offer.
Discount Availability*
No limit / limited period / limited no. of Customers.
Discount From and Discount To
If you selected limited period,Type time period.
Discount limited to 'n' Customers
If you selected limited no. of Customers,Type no. of Customers.
Discount Code*
Discount code should be 5-10 characters long.
Discount code should be subject to approval.
Discount code should not be more than one for a particular Product.
Code Availability*
Open to all / specific customers.
Do you want this offer to appear under the Specials tab on explorePDA.com Web site?
Yes / No
Any other info explorePDA.com needs to know before creating your code?
Your info
NOTE : explorePDA.com reserves the right to select which offers will appear on its public specials area.
Guidance
Guidance for Product Development
Auto Download and Installation using Sync
The application should be developed with auto download and installation to the device using a Sync App. A clear way to access the application must be displayed (icon on the apps section, menu). Any desktop components should be installed automatically and successfully.
Loader application
The application can be downloaded and installed via OTA. Product should be in OTA and normal package.
OTA download and install
The application should be downloaded and installed on the device.
Registration / Expiration notification
If the application is shareware, freeware, light or trial version, expiration or registration notification must be reference in the explorepda.com for purchase. The duration of Trial period expiration will be specified.
Functionality
Launching application - The application must launch successfully on the device. If the application takes longer than approximately 6 seconds to launch a message or progress bar indicator must be displayed.
Application functionality - The application should perform successfully on the device. Application should include features such as add, edit, delete operation. All features and options should be displayed on the product description.
Application navigation - The application must be able to navigate between options without showing any delay, graphic overlapping, error messages for options not available, etc.
User interface
Application appearance - All content of the application must be readable to the naked eye. Application elements must provide appropriate contrast to ensure readability. Bitmaps must be drawn, refreshed and displayed properly.
Application content - Applications must not display any inappropriate or offensive text or graphics. The application must not include any material that is pornographic, obscene, defamatory, fraudulent, deceptive, slanderous, excessively violent, or otherwise not family friendly.
Help screen - Application must contain Help screen. The help content must be accurate and appropriate and must include : Key function description, Navigation and application instructions.
About screen - The application must contain an About screen. About content should list author information and version number.
Hardware interface - Application must respond to the keys and thumbwheel (if available). Application Navigation must correspond to the hardware's device.
Application exit - The application must exit without affecting the operation of the device or leaving any traces of the application open.
Product description
Application summary - Application must contain an accurate short description of the product on the web site. Author may not include any graphics or html in the short description.
Application long description - Application must contain an accurate long description of the product on the web site. Application features and options must be included.
Compatibility with OS and native applications
Application Control - Application must gain control upon opening and release control when exiting.
Application suspension - Switch applications when using the application under testing. The application must release control and not interfere with other running applications on the device.
Application Resume - The application must return to the last screen and data used before the suspension. No data is lost
User preferences - The application must preserve and display the user preferences.
Interface with OS
The application must interface with OS basic functionalities: Time/Date, messaging, etc.
Integrated with Phone, PDA functionality
Application can be integrated with phone, PDA functionality
Native Applications
After installing the application, the native applications must have full functionality
Performance requirements
Application performance should be stable, It should not corrupt the data, reset, crashes, must have quick response, operational time and free from error.
Uninstall
Application must be uninstall successfully from the device. Uninstall must be a clean uninstall and remove all application components from device. If the application has a desktop component, this must uninstall successfully from the desktop.