intel appup aplication lab - meego freeday

42
Paul Farquhar Intel Intel Intel Intel AppUp AppUp AppUp AppUp SM SM SM SM Application Lab Application Lab Application Lab Application Lab MeeGo MeeGo MeeGo MeeGo FreeDay FreeDay FreeDay FreeDay, April 29, 2011 , April 29, 2011 , April 29, 2011 , April 29, 2011

Upload: uwe-kaminski

Post on 28-Jan-2015

126 views

Category:

Technology


0 download

DESCRIPTION

Slides from a presentation done at MeeGo Freeday (Intel AppLab) hosted at c-base and done by the famous Paul Farquhar.

TRANSCRIPT

Page 1: Intel AppUp Aplication Lab - MeeGo Freeday

Paul Farquhar

Intel Intel Intel Intel AppUpAppUpAppUpAppUpSMSMSMSM

Application LabApplication LabApplication LabApplication LabMeeGo MeeGo MeeGo MeeGo FreeDayFreeDayFreeDayFreeDay, April 29, 2011, April 29, 2011, April 29, 2011, April 29, 2011

Page 2: Intel AppUp Aplication Lab - MeeGo Freeday

• INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OFSALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY RELATING TO SALEAND/OR USE OF INTEL PRODUCTS, INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, ORINFRINGEMENT OF ANY PATENT, COPYRIGHT, OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life-saving, lifesustaining, critical control or safety systems, or in nuclear facility applications.

• Intel products may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Currentcharacterized errata are available on request.

• Intel may make changes to dates, specifications, product descriptions, and plans referenced in this document at any time, without notice.

• This document may contain information on products in the design phase of development. The information here is subject to change without notice. Donot finalize a design with this information.

• Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for futuredefinition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.

• Intel Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights that relate to thepresented subject matter. The furnishing of documents and other materials and information does not provide any license, express or implied, by estoppelor otherwise, to any such patents, trademarks, copyrights, or other intellectual property rights.

• Wireless connectivity and some features may require you to purchase additional software, services or external hardware.

• Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance of Intelproducts as measured by those tests. Any difference in system hardware or software design or configuration may affect actual performance. Buyers shouldconsult other sources of information to evaluate the performance of systems or components they are considering purchasing. For more information onperformance tests and on the performance of Intel products, visit Intel Performance Benchmark Limitations

• Intel, the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

Copyright © 2011 Intel Corporation. All rights reserved.Intel Confidential - Customer NDA Use Only* Other Names and Brands maybe claimed as the property of others. All dates, plans and features are preliminary and subject to change without notice.

Legal DisclaimerLegal DisclaimerLegal DisclaimerLegal Disclaimer

2

Page 3: Intel AppUp Aplication Lab - MeeGo Freeday

Optimization NoticeOptimization NoticeOptimization NoticeOptimization Notice

3

Optimization Notice

Intel® compilers, associated libraries and associated development tools may include or utilize

options that optimize for instruction sets that are available in both Intel® and non-Intel

microprocessors (for example SIMD instruction sets), but do not optimize equally for non-Intel microprocessors. In addition, certain compiler options for Intel compilers, including some that

are not specific to Intel micro-architecture, are reserved for Intel microprocessors. For a

detailed description of Intel compiler options, including the instruction sets and specific

microprocessors they implicate, please refer to the “Intel® Compiler User and Reference Guides”

under “Compiler Options." Many library routines that are part of Intel® compiler products are more highly optimized for Intel microprocessors than for other microprocessors. While the

compilers and libraries in Intel® compiler products offer optimizations for both Intel and Intel-

compatible microprocessors, depending on the options you select, your code and other factors,

you likely will get extra performance on Intel microprocessors.

Intel® compilers, associated libraries and associated development tools may or may not optimize

to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel

microprocessors. These optimizations include Intel® Streaming SIMD Extensions 2 (Intel®

SSE2), Intel® Streaming SIMD Extensions 3 (Intel® SSE3), and Supplemental Streaming SIMD

Extensions 3 (Intel® SSSE3) instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not

manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for

use with Intel microprocessors.

While Intel believes our compilers and libraries are excellent choices to assist in obtaining the best performance on Intel® and non-Intel microprocessors, Intel recommends that you evaluate

other compilers and libraries to determine which best meet your requirements. We hope to win

your business by striving to offer the best performance of any compiler or library; please let us

know if you find we do not.Notice revision #20101101

Page 4: Intel AppUp Aplication Lab - MeeGo Freeday

AgendaAgendaAgendaAgenda

• Introduction

• Intel AppUpSM developer program

• Creating MeeGo* Applications for AppUpSM

• Application submission & validation

• Break – Meet us!

• Tune you app with Intel tools for MeeGo*

• Pick up your Device ☺

• Q&A - Networking

4

Page 5: Intel AppUp Aplication Lab - MeeGo Freeday

Monika Lischke Monika Lischke Monika Lischke Monika Lischke –––– Community ManagerCommunity ManagerCommunity ManagerCommunity Manager

5

Page 6: Intel AppUp Aplication Lab - MeeGo Freeday

#AppUp#dev4AppUp@Develop4AppUpEU@Monika_AppUp@AppUp-EMEA List

facebook.com/intelgermanyfacebook.com/IntelAppUpDeveloperProgram

http://appdeveloper.intel.com/http://appup.com

Monika Lischke Monika Lischke Monika Lischke Monika Lischke –––– Community ManagerCommunity ManagerCommunity ManagerCommunity Manager

6

Page 7: Intel AppUp Aplication Lab - MeeGo Freeday

Paul Farquhar Paul Farquhar Paul Farquhar Paul Farquhar –––– EMEA validation managerEMEA validation managerEMEA validation managerEMEA validation manager

7

Page 8: Intel AppUp Aplication Lab - MeeGo Freeday

Paul Farquhar Paul Farquhar Paul Farquhar Paul Farquhar –––– EMEA validation EMEA validation EMEA validation EMEA validation managermanagermanagermanager

8

@TheGlenPaul

Page 9: Intel AppUp Aplication Lab - MeeGo Freeday

AgendaAgendaAgendaAgenda

• Introduction

• Intel AppUpSM developer program

• Creating MeeGo* Applications for AppUpSM

• Application submission & validation

• Break – Meet us!

• Tune you app with Intel tools for MeeGo*

• Pick up your Device ☺

• Q&A - Networking

9

Page 10: Intel AppUp Aplication Lab - MeeGo Freeday

Intel AppUpIntel AppUpIntel AppUpIntel AppUpSM SM SM SM developer program anddeveloper program anddeveloper program anddeveloper program and

Intel AppUpIntel AppUpIntel AppUpIntel AppUpSMSMSMSM centercentercentercenter

10

Page 11: Intel AppUp Aplication Lab - MeeGo Freeday

The developer program in numbersThe developer program in numbersThe developer program in numbersThe developer program in numbers

900,000+ Number of Unique usersNumber of Unique users

21,000+ Registered MembersRegistered Members

3,200+ Applications availableApplications available

15 AppUp-powered storesAppUp-powered stores

2 OS’s – Windows*, MeeGo*OS’s – Windows*, MeeGo*

1 Great channel for DevelopersGreat channel for Developers

11

Page 12: Intel AppUp Aplication Lab - MeeGo Freeday

12

AppUp first focused on 70,000,000 netbooksAppUp first focused on 70,000,000 netbooksAppUp first focused on 70,000,000 netbooksAppUp first focused on 70,000,000 netbooks

powered by the Intelpowered by the Intelpowered by the Intelpowered by the Intel®®®® AtomAtomAtomAtom™™™™ processor. processor. processor. processor.

“To date 70 million netbooks powered by the Intel Atom

processor have been sold.”

--GamesIndustry.biz, December 20, 2010

Majority of netbooks sold primarily to consumers, and

gaming is a top use of the devices. -Intel Market Research

* Other names and brands may be claimed as the property of others.

Page 13: Intel AppUp Aplication Lab - MeeGo Freeday

13

AppUp now supports laptops too; AppUp now supports laptops too; AppUp now supports laptops too; AppUp now supports laptops too;

>165,000,000 sold each year>165,000,000 sold each year>165,000,000 sold each year>165,000,000 sold each year

Year 1995 2000 2005 2010 2014

Worldwide Mobile PC Sales (#Millions) 10.0 28.5 66.3 169.8 264.0

Source: etforecasts.com/pr/pr011110.htm

* Other names and brands may be claimed as the property of others.

Page 14: Intel AppUp Aplication Lab - MeeGo Freeday

14

AppUp supports C/C++/Qt & a variety of runtimes, and offers AppUp supports C/C++/Qt & a variety of runtimes, and offers AppUp supports C/C++/Qt & a variety of runtimes, and offers AppUp supports C/C++/Qt & a variety of runtimes, and offers

porting resources.porting resources.porting resources.porting resources.

•Lightweight SDKS •Support for integrated development environments including wizards•Support for standards such as DirectX* & OpenGL*

* Other names and brands may be claimed as the property of others.

Page 15: Intel AppUp Aplication Lab - MeeGo Freeday

And now the

Intel AppUpSM store comes to

MeeGo*

15

Page 16: Intel AppUp Aplication Lab - MeeGo Freeday

A Growing MeeGo* EcosystemA Growing MeeGo* EcosystemA Growing MeeGo* EcosystemA Growing MeeGo* Ecosystem

*Other names and brands may be claimed as the property of others.

16

Page 17: Intel AppUp Aplication Lab - MeeGo Freeday

GenIVIGenIVIGenIVIGenIVI: : : : Founding Charter and Charter MembersFounding Charter and Charter MembersFounding Charter and Charter MembersFounding Charter and Charter Members

17

Page 18: Intel AppUp Aplication Lab - MeeGo Freeday

GenIVIGenIVIGenIVIGenIVI: Core Members: Core Members: Core Members: Core Members

18

Page 19: Intel AppUp Aplication Lab - MeeGo Freeday

GenIVIGenIVIGenIVIGenIVI: Associate Members: Associate Members: Associate Members: Associate Members

19

Page 20: Intel AppUp Aplication Lab - MeeGo Freeday

20

AppUp supports MeeGo*,AppUp supports MeeGo*,AppUp supports MeeGo*,AppUp supports MeeGo*,

a crossa crossa crossa cross----device, open OSdevice, open OSdevice, open OSdevice, open OS

Tablets & moreHandhelds/Smartphones

Netbooks/

Entry level desktops Auto

Connected TV

OS &

Sys. Infra.

OS &

Sys. Infra.

OS &

Sys. Infra.Intel AppUp℠ developer program and

Intel AppUp℠ center

MeeGo: Cross-device, open source OS

Platforms based on Intel® Atom™ processors

About MeeGo* compliance: wiki.meego.com/Quality/Compliance* Other names and brands may be claimed as the property of others.

Page 21: Intel AppUp Aplication Lab - MeeGo Freeday

Intel AppUpIntel AppUpIntel AppUpIntel AppUpSMSMSMSM center modelcenter modelcenter modelcenter model

21

OEMService

ProviderRetailer

PartnerMarketplace

Desktops

Laptops

EmbeddedHandheldsNetbooks

Personal

Devices

Smart TVs

IVITablets

Page 22: Intel AppUp Aplication Lab - MeeGo Freeday

Intel AppUpIntel AppUpIntel AppUpIntel AppUpSMSMSMSM center & developer programcenter & developer programcenter & developer programcenter & developer program

For Consumers

– Intel AppUpSM center + OEM/service provider co-branded app stores

– Rich catalog of applications

For OEMs/Retailers/Retailers/Retailers/Retailers/Service Providers

– Intel AppUpSM center for TTM

– Intel drives ISV recruitment & dev

– Co-branded store with revenue share

– App store scalable to future devices: smart phones, handheld, embedded

For Developers and ISVs

– Tools, SDKs for MeeGo*, Windows*, and various runtimes

– New sales channels

– Support for multiple devices

22

Compatible

HW

Users

Developers &

Applications

Operating

Systems

App Store

Developer

Framework

Page 23: Intel AppUp Aplication Lab - MeeGo Freeday

The “AppUpSM Economy” Business Model

• Sell applications to end users

• Sell components to other developers

• Set your own price

• Receive up to 70% of every sale from every store

DEVELOPERS

App Developers

Component Developers

APP STORE CONSUMERS

OEMs

Intel manages: validation, licensing, billing, and distribution

23

Page 24: Intel AppUp Aplication Lab - MeeGo Freeday

Intel Intel Intel Intel AppUpAppUpAppUpAppUpSMSMSMSM

center partners*center partners*center partners*center partners*

…and many more on the way

24

Page 25: Intel AppUp Aplication Lab - MeeGo Freeday

Consumer

• Free apps can be downloaded from anywhere* in the world

• Consumers can purchase apps in:− US and Canada (USD)

− 27 EMEA Countries (GBP in UK, EUR rest): Austria, Belgium, Bulgaria, Cyprus, Czech Republic, Denmark,

Estonia, Finland, France, German, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta,

Netherlands, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, UK

− 5 APAC Countries (USD): Australia, India, New

Zealand, Philippines, Singapore

Developer

• Free apps can be submitted from anywhere* in the world

• Developers can submit paid apps from:− 10 Americas Countries: US, Canada, Argentina, Brazil, Colombia, Mexico, Chile, Costa Rica, Ecuador, Venezuela

− 14 APAC Countries: Australia, India, Japan, New Zealand, PRC, Singapore, South Korea, Taiwan, Hong Kong, Indonesia, Malaysia, Philippines, Thailand, Vietnam

− 37 EMEA Countries: Austria, Belgium, Bulgaria, Cyprus, Czech Republic, Denmark, Egypt, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Israel, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Romania, Russia, Serbia, Slovakia, Slovenia, South Africa, Spain, Sweden, Switzerland, Turkey, UAE, Ukraine, UK

AppUp has worldwide reach.

25

* Except for US embargoed countries.

Page 26: Intel AppUp Aplication Lab - MeeGo Freeday

Supporting innovative MeeGo* application development Supporting innovative MeeGo* application development Supporting innovative MeeGo* application development Supporting innovative MeeGo* application development

Worldwide application labs

Rewards for superior MeeGo apps

Support for developers and ISV’s

Recognition for early app submissions

http://appdeveloper.intel.com/opportunities26

Page 27: Intel AppUp Aplication Lab - MeeGo Freeday

27

Page 28: Intel AppUp Aplication Lab - MeeGo Freeday

28

Getting Your App in AppUp

Join the Program

• Join Intel AppUpSM developer program

http://appdeveloper.intel.com/

Download SDK Suite

• Set-up your development environment

• Download Intel AppUp™ SDK Suite 1.2 for MeeGo*

Create App

• Create, Test and Tune your app using Intel AppUp™ SDK Suite 1.2 for MeeGo*

Submit App

• Submit your app to Intel AppUpSM developer

program for validation

Page 29: Intel AppUp Aplication Lab - MeeGo Freeday

AgendaAgendaAgendaAgenda

• Introduction

• Intel AppUpSM developer program

• Creating MeeGo* Applications for AppUpSM

• Application submission & validation

• Break – Meet us!

• Tune you app with Intel tools for MeeGo*

• Pick up your Device ☺

• Q&A - Networking

29

Page 30: Intel AppUp Aplication Lab - MeeGo Freeday

30

appdeveloper.intel.com/meego

Page 31: Intel AppUp Aplication Lab - MeeGo Freeday

Intel AppUp™ SDK Suite 1.2 for MeeGo*Intel AppUp™ SDK Suite 1.2 for MeeGo*Intel AppUp™ SDK Suite 1.2 for MeeGo*Intel AppUp™ SDK Suite 1.2 for MeeGo*

Create, Test, Tune and Publish Apps To Intel AppUp Center

Start Your App Development For MeeGo* Today:

http://appdeveloper.intel.com/meego

SM

31

Page 32: Intel AppUp Aplication Lab - MeeGo Freeday

• A librarylibrarylibrarylibrary to interact with the store backend

• Offers C and C++ API

• Contains:

• API Libraries

• Documentation

• RPM packaging

• Intel AppUpTM Software Debugger (simulates store

backend)

MeeGo* AppUpSM SDK

32

Page 33: Intel AppUp Aplication Lab - MeeGo Freeday

AuthorizationAuthorizationAuthorizationAuthorization

– verify that end-user device is authorized to run the application

InstrumentationInstrumentationInstrumentationInstrumentation

– record application’s usage statistics and post it on the developer’s dashboard

Crash ReportingCrash ReportingCrash ReportingCrash Reporting

– registering all crashes

– attempting to collect crash data (such as call stack)

– reporting statistics and crash data on developer’s dashboard

AppUpAppUpAppUpAppUpTTTTMMMM SDK SDK SDK SDK ServicesServicesServicesServices

33

Page 34: Intel AppUp Aplication Lab - MeeGo Freeday

com::intel::adp::Application *pBasicSampleApp = NULL;try{

pBasicSampleApp = new Application(ADP_DEBUG_APPLICATIONID);qDebug("Application Authorized to run.\n");

}catch (com::intel::adp::InitializationException& e) {

/* Catches error exceptions thrown while the SDK library application constructor* attempts to initialize the SDK library code.* Inherits the AdpErrorException Class*/qDebug("Caught Initialization exception in application with exception code: %ld\n", e.code());

}catch (com::intel::adp::UnauthorizedException& e) {

/** This exception is thrown if an application or component is not authorized or is expired.* Inherits the AdpErrorException Class*/qDebug("Caught Unauthorized exception in application with exception code: %ld\n", e.code());

}catch (com::intel::adp::AdpRuntimeException& e) {

/** This exception is a catch all for all errors that are not* covered by InitializationException or UnauthorizedException.* Inherits the AdpErrorException Class*/

qDebug("Caught Runtime exception in application with exception code: %ld\n", e.code());}

34

Minimum codeMinimum codeMinimum codeMinimum code

Page 35: Intel AppUp Aplication Lab - MeeGo Freeday

AgendaAgendaAgendaAgenda

• Introduction

• Intel AppUpSM developer program

• Creating MeeGo* Applications for AppUpSM

• Application submission & validation

• Break – Meet us!

• Tune you app with Intel tools for MeeGo*

• Pick up your Device ☺

• Q&A - Networking

35

Page 36: Intel AppUp Aplication Lab - MeeGo Freeday

Application SubmissionApplication SubmissionApplication SubmissionApplication Submission

36

Create metadata in

several languages!

Page 37: Intel AppUp Aplication Lab - MeeGo Freeday

Application Beta TestingApplication Beta TestingApplication Beta TestingApplication Beta Testing

37

– Test your app live in the AppUpSM

center, but app won’t be seen by end user

– Improves chances

of passing validation without

error

Page 38: Intel AppUp Aplication Lab - MeeGo Freeday

Application Beta TestingApplication Beta TestingApplication Beta TestingApplication Beta Testing

38

–Download AppUpSM

Center

–Create a user account in AppUpcenter

- Add AppUpSM

Center login emails in the “Invite” box

- New users are also possible

- All receive an

invitation!

Page 39: Intel AppUp Aplication Lab - MeeGo Freeday

Application Beta Testing Application Beta Testing Application Beta Testing Application Beta Testing –––– AppUpAppUpAppUpAppUpSMSMSMSM CenterCenterCenterCenter

39

–Beta app will appear in your

account under “My Apps”

– Install, launch and test your

app

– Try uninstall too!

Page 40: Intel AppUp Aplication Lab - MeeGo Freeday

How We Validate Your Application

• Check your submission information (rating, categories, submitter notes, intended targets and runtimes, etc.)

• Install the application, Run several types of validation tests to check for compliance to the submission guidelines.

• Pass or Fail the app and notify the developer of the results.

How to Ensure a Smooth Validation

• Review and ensure MeeGo* Compliance http://wiki.meego.com/Quality/Compliance

• Reviewed the Validation Guidelines http://appdeveloper.intel.com/en-us/article/validation-guidelines

• Test your application internally before submitting to Intel.

Application ValidationApplication ValidationApplication ValidationApplication Validation

40

Page 41: Intel AppUp Aplication Lab - MeeGo Freeday

Join the Intel AppUpJoin the Intel AppUpJoin the Intel AppUpJoin the Intel AppUpSMSMSMSM developer programdeveloper programdeveloper programdeveloper program– Enroll at appdeveloper.intel.com

– Benefits: Worldwide distribution channel, development support, low barrier to entry infrastructure, easy validation

CreateCreateCreateCreate, , , , Tune Tune Tune Tune and Publish Apps To Intel and Publish Apps To Intel and Publish Apps To Intel and Publish Apps To Intel AppUpAppUpAppUpAppUpSMSMSMSM

– Intel AppUp™ SDK Suite 1.2 for MeeGo*

Collect rewards and be recognized for innovative MeeGo* apps Collect rewards and be recognized for innovative MeeGo* apps Collect rewards and be recognized for innovative MeeGo* apps Collect rewards and be recognized for innovative MeeGo* apps and early submissions. and early submissions. and early submissions. and early submissions.

Get support for app developmentGet support for app developmentGet support for app developmentGet support for app development– http://appdeveloper.intel.com/opportunities

Get StartedGet StartedGet StartedGet Started

41

Page 42: Intel AppUp Aplication Lab - MeeGo Freeday

AgendaAgendaAgendaAgenda

• Introduction

• Intel AppUpSM developer program

• Creating MeeGo* Applications for AppUpSM

• Application submission & validation

• Break – Meet us!

• Tune you app with Intel tools for MeeGo*

• Pick up your Device ☺

• Q&A - Networking

42