Example Applications Overview

Example Applications

Introduction

This document contains information about the Intel AppUp® Software Developer Kit (SDK), and the process of creating, testing, and releasing applications built using the SDK.

This document covers the following information

  • An introduction to Intel AppUp® development
  • An introduction to the Intel AppUp SDK
  • Example applications built with the SDK
  • Developing with the API
  • Validating & submitting Applications and Components
  • Where to find more information

There are new updates to validation and the Intel AppUp center that will affect the app installer design. For example, we now allow EXE files and validation does not require silent installs. Review the new changes: here

The Intel AppUp® Center

The Intel AppUp Software Developer Kit (SDK) is part of the Intel® Developer Zone. You need to be a member of the Intel Developer Zone to download, install, and develop with the SDK. By participating, you also gain reputation points and advance in the Intel® Black Belt software developer program.

For more information about the Intel AppUp center itself, see the Intel AppUp developer community landing page (http://software.intel.com/en-us/appup/home).

Registering and joining the Intel® Developer Zone

The Intel Developer Zone has three participation levels: Anonymous, Registered, and Program Member. As an anonymous user, you can review the developer tools and resources: including forums and blogs. To download the SDK, participate in forums, and get support, you must register and get an ID. To submit and sell applications and components, you must become an Intel AppUp® developer.

Note: If you already have a login ID on another former Intel software site, you can use that ID, but the Intel Developer Zone site will request that you accept the program terms and conditions and confirm your email address.

My Dashboard

My Dashboard is your main interface to the Intel Developer Zone. You can use My Dashboard to:

  • Add, update, and remove applications and components
  • Monitor validation status
  • Access reviews of your components made by other developers
  • See comments about your applications from customers
  • Update personal and organizational information
  • Check your reputation points
  • Upload Application keys
  • Review Finance Reports
  • Edit organization membership

The Intel AppUp® SDK

The Intel AppUp SDK includes libraries, documentation, tools, IDE plug-ins and other information that you use to create, test, and deploy application and components that are sold through the Intel AppUp center.

Before you start

Before you download the SDK, you must register on the Intel Developer Zone. You can register on the Intel Developer Zone website by going to software.intel.com and following the instructions from there. Once you have logged onto the site, you will be able to download and install the SDK.

About the SDK

The Intel AppUp SDK includes frameworks for creating Windows*- and MeeGo*-based applications and components.

For more in depth and up to date information about the SDK, refer to the documentation installed with the SDK and the Intel Developer Zone website.

About the example applications

To show how to create applications and components that are properly integrated with the SDK, we created three example applications for netbooks running Microsoft Windows* and three for the MeeGo* operating system. For Windows*, and specifically MFC, we created an empty prototype project and built the example applications on top of the prototype. For more information about each application, please see the related documents included with the application.

The example applications are:

Twitter*: This application prompts you to log into Twitter* and, when the log in is authorized, the window displays the last ten tweets. The application includes a component which shows how to talk to a web service (Twitter*, in this case).

Facebook*: This application provides an example of how to authorize a user using the Facebook* API. It also shows how to integrate a browser control for applications that require complex HTML rendering and/or the execution of JavaScript.

Slide show: This application loops through random pictures retrieved from any Picasa* user you select or from your default pictures/documents folder. Included is an example of how power management is handled when a netbook either loses battery power or is put into sleep mode without exiting the application.

Developing and Submitting Applications and Components

Once you have downloaded and installed the Intel AppUp SDK, the steps for developing a successful application or component are:

  1. Review the online documentation to learn about the latest guidelines, suggestions, best practices, and validation requirements.
  2. Develop your application or component making sure to fully integrate with the authorization functions and methods in the SDK, and debug your code as completely as possible.
  3. Review the readiness, validation, and submission checklists and guidelines to make sure you are in compliance.
  4. Make sure that you have everything required before you begin the process of submitting your application or component, including:
  • Icons and screenshots
  • Your application or component compiled using the ApplicationId/GUID supplied by the Intel Developer Zone portal,
  • A package (MSI/EXE for Windows* and .RPM for MeeGo*) that includes all dependent runtime libraries that is needed for your application or component run properly.
  • Submit your application or component to the Intel AppUp center.
  • Important Note: Requirements can and will change on a regular basis. You should review the current requirements, checklists, and processes before you submit an application or component even if you have done so in the past.

    Development guidelines and requirements

    There is a comprehensive and growing amount of useful information on the Articles pages in the Content Library section of the Intel Developer Zone website. You can find even more information in the blog and forums pages.

    Before you begin development, you should review all of the latest requirements and guidelines.

    Some examples of information you can find on the site:

    • Develop to take advantage of the smaller size, longer battery life, and lighter weight of netbooks, but be aware that their storage and processing capabilities are not as comprehensive as a standard laptop.
    • When considering what type of application to develop, focus on the specific needs of people who frequently use netbooks, such as students or mobile professionals.
    • Using and reusing components is a good practice: it speeds development and reduces the risk of rejection during the validation process.

    Follow the requirements. If you do not, your application or component will be rejected. As a reminder, the SDK is now optional. Examples of what will cause your application or component to be rejected are:

    • If the app is using the SDK, it must handle authorization correctly. If your application or component ignores a failed authorization, it will not be approved when you submit it.
    • For more information about authorization, see the Intel AppUp SDK Developer Guide on best practices for the C and C++ APIs.
    • Submitting a prohibited application type.
    • Your application contains computer viruses, spyware, malicious or harmful code, program, or other internal component (Trojans, etc.) which could damage, destroy, or adversely affect other software, firmware, hardware, data, systems, services or networks.

    It is also useful to reread the validation documentation and submittal requirements every time you begin the development process.

    Validation requirements

    There is detailed information available on the website to help you prepare for the successful validation of your software, specifically the Application Readiness Checklist and the Component Readiness Checklist. Also on the web site are the Validation Guidelines and Validation Process documents.

    For applications, some of the requirements are as follows (please see the web site for the definitive and current list):

    • It must exhibit no behavior that can result in harm to other software or networks.
    • Your application must install, operate correctly and uninstall cleanly.
    • It cannot acquire and use private information without explicit consent of the user.
    • It cannot contain any objectionable content.
    • No pop-ups or advertising that sells, upgrades, or upsells outside the Intel AppUp center are allowed.

    For components, some of the requirements include:

    • Make sure to include a license document.
    • Document your API.
    • Include the appropriate information required to further test your component.

    Developer guidelines

    Before submitting your applications and components, your code should meet the criteria in the Validation Guidelines document on the Intel AppUp center web site.

    Anticipate All Error Conditions: Best practices include the trapping of all exceptions. If an unrecoverable error occurs, you should try to notify the user and exit gracefully. If this doesn't happen, the application will crash.

    Versioning: The use of versioning is strongly recommended. Applications should make version information available, in addition to credits and required licensing messages, in a dialog or splash screen.

    Respect User Privacy: Users may entrust personal information to your software as part of the transaction process. That process and the applications need to maintain the privacy of personal information and payment credentials. Users should be offered terms of service and details on how personal information is gathered and disclosed.

    For more information about developer and validation guidelines, see the Intel AppUp Center website.

    Releasing Applications and Components

    When you have completed your application or component, check the Intel website for the most up to date requirements for the submittal and validation process.

    You should check to make sure you have everything you need before you begin the process. For the complete list see the Application Submission Checklist and Component Submission Checklist (these are not the same as the readiness checklists).

    Submitting applications and components

    Examples of what information or requirements you need to have during the submittal process are:

    • A name and a description, both a long and a short version.
    • The rating: this is the youngest age the application is appropriate for.
    • For applications your icon image size must be 100 pixels wide by 100 pixels high and it must be in .png format. You, also, must have a captured primary screen shot and two optional screen shots. All screen shots must be 320 pixels wide and 240 pixels high.
    • For components your icon image size must be 250 pixels wide by 250 pixels high and can be in .gif or .jpg formats. You must have a captured primary screen shot and two optional screen shots. All screen shots must be 960 pixels wide and 720 pixels high.

    As the submitting developer, you are required to either own, or have adequate license rights, to all content submitted to the Intel AppUp center. For any licensed content, the submitting developer is solely responsible for complying with all terms and conditions of such license, and notifying potential users of the application or component on any compliance issues associated with such third party content, including any open source code and related license requirements.

    You must include all redistributables required, including common runtime libraries.

    Windows* packaging requirements

    All applications should be submitted in one standard MSI/EXE file. The MSI/EXE must include all required files and information associated with your application. It is critical you include all redistributable libraries that your application will need because they may not exist on some target computers.

    Single executable: The app must be able to launch from the device. Your installation can automatically add desktop, quick launch, Start menu, and other shortcuts, but they all must target an executable.

    Shortcut Target field: For an MSI, the Target entry of the Shortcut table must be a valid feature name/foreign key (Identifier data type) in the Feature table. We support only this data type in the Target field. Do Not use square brackets ([ ]) to indicate a formatted string. As a reminder, it is not required for the app to launch from the Intel AppUp center.

    Avoid arguments in links: For MSI files, formatted string translation is not supported; therefore, any argument will be interpreted as a plain string.

    • Correct: 'myapp.exe –start_maximized'
    • Incorrect: 'myapp.exe –[#customized_param1]'

    In the incorrect example, the argument will be taken 'as is' and not translated.

    Check for the C++ redistributable runtime libraries - If your application requires the C++ runtime libraries, then during the installation process you should check if C++ runtime libraries are installed and install them if they are not.

    MeeGo* packaging requirements

    Include source packages: If you are distributing under an open source license, you must include a single source package for each of the RPM.

    Conclusion

    During the validation process Intel checks the installation package for the proper format and install, run criteria tests, and uninstall the application. If the app uses the optional SDK, it must be correctly implemented. 

    Validation status appears below the application or component name in My Dashboard and there will be status updates about the where the supplication or components are in the process. You will receive an email when the validation process is complete letting you know if it passed, and if it didn't, why not.

    Crash reporting

    If your application crashes, you will see related information displayed in My Dashboard. You can use the crash report functions to create the crash reports, but crash report may not be generated in all crashes. You should not use crash reports as a logging solution and you are responsible for ensuring that crash reports do not contain any data that violates Intel privacy rules. Please note that each platform offers options to developer to enhance reporting on unexpected crashes. Please see the developer guide on project settings for these features.

    Where to find more information

    For the most up to date information, see the Intel Developer Zone website (http://software.intel.com). This website has extensive blogs, articles, forums, and other resources which are updated regularly.

    Пожалуйста, обратитесь к странице Уведомление об оптимизации для более подробной информации относительно производительности и оптимизации в программных продуктах компании Intel.