SlideShare a Scribd company logo
1 of 76
Download to read offline
PayPal’s New Android SDK:
Kicking Ass With Payments
Tim Messerschmidt
Droidcon Paris 2013
This talk will be about
-  What is PayPal?
-  Log In with PayPal
-  PayPal Android SDK
Who Am I?
Tim Messerschmidt,
Developer Evangelist
working for PayPal.
Android Developer
living in Berlin.
I ♥ Java, Ruby, CSS3,
HTML5 & JavaScript!
What is PayPal?
Enable
merchants to
sell online
What is PayPal?
Enable
customers to
buy online
What is PayPal?
Payment Scenario
Sender Receiver
Transaction
eCommerce
Sender Receiver
Transaction
Item /
Service
Secure
Easy
Fast
Requirements
128m
active users
What is PayPal?
193
countries & regions
What is PayPal?
25
supported currencies
What is PayPal?
80
localized websites
What is PayPal?
France
fully supported
What is PayPal?
Local Merchants
Big Mac Menu:
-  Fries
-  Ketchup
-  Water
... keeping it healthy
Painless Payments for Droids
Tim Messerschmidt
Identity
Login with...
Google Facebook Twitter
... or PayPal.
Login with...
Name
Email
Date of Birth
Locale
Time Zone
Address
Gender
Language
Phone Number
Verified Account
Creation Date
Your Identity
Log In via
PayPal in the
browser or a
WebView.
Log In with PayPal
Authorization &
Authentication
Log In with PayPal
OAuth 2.0 &
OpenID Connect
No need to (re-)enter
your password after
logging in
Seamless Checkout
Painless Payments for Droids
Tim Messerschmidt
Summarizing Identity
Painless Payments for Droids
Tim Messerschmidt
Money
Lots Of Money
Painless Payments for Droids
Tim Messerschmidt
Digital Goods
Physical Goods
Physical Goods
2 ways
Backend or via SDK
Using PayPal
Android SDK
Sample App:
•  Sell a football jersey
•  Fast Checkout
•  Nice Interface
Present the
product & allow
to purchase it
Android SDK
Allow to pay via
PayPal or Card
Android SDK
The user enters
his credentials:
•  Email
•  Password
Android SDK
The user needs
to confirm his
payment...
Android SDK
... and will be
presented a
confirmation of
his purchase
afterwards.
Android SDK
That’s nice... BUT:
What if the user
doesn’t want to use
PayPal or doesn’t
have an account?
Accept credit
cards in your
application
manually or...
Android SDK
... via image
recognition
technology in
your app!
Android SDK
Implementation
In 10 minutes
How-to
<!-- Hardware features -->
<uses-feature
android:name="android.hardware.camera”
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus”
android:required="false" />
<!–- Permissions -->
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission
android:name="android.permission.INTERNET" />
<!-- card.io scanning -->
<uses-permission
android:name="android.permission.CAMERA" />
<uses-permission
android:name="android.permission.VIBRATE" />
How-to
AndroidManifest.xml:
<!-- Hardware features -->
<uses-feature
android:name="android.hardware.camera”
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus”
android:required="false" />
<!–- Permissions -->
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission
android:name="android.permission.INTERNET" />
<!-- card.io scanning -->
<uses-permission
android:name="android.permission.CAMERA" />
<uses-permission
android:name="android.permission.VIBRATE" />
How-to
AndroidManifest.xml:
<!-- Hardware features -->
<uses-feature
android:name="android.hardware.camera”
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus”
android:required="false" />
<!–- Permissions -->
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission
android:name="android.permission.INTERNET" />
<!-- card.io scanning -->
<uses-permission
android:name="android.permission.CAMERA" />
<uses-permission
android:name="android.permission.VIBRATE" />
How-to
AndroidManifest.xml:
<!-- Hardware features -->
<uses-feature
android:name="android.hardware.camera”
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus”
android:required="false" />
<!–- Permissions -->
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission
android:name="android.permission.INTERNET" />
<!-- card.io scanning -->
<uses-permission
android:name="android.permission.CAMERA" />
<uses-permission
android:name="android.permission.VIBRATE" />
How-to
AndroidManifest.xml:
<service
android:name="com.paypal.android.sdk.payments.PayPalService"
android:exported="false"/>
<activity
android:name="com.paypal.android.sdk.payments.PaymentActivity"/>
<activity
android:name="com.paypal.android.sdk.payments.LoginActivity"/>
<activity
android:name="com.paypal.android.sdk.payments.PaymentMethodActivity"/>
<activity
android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity"/>
<activity
android:name="com.paypal.android.sdk.payments.PaymentCompletedActivity"/>
<activity
android:name="io.card.payment.CardIOActivity"
android:configChanges="keyboardHidden|orientation"/>
<activity
android:name="io.card.payment.DataEntryActivity"/>
How-to
AndroidManifest.xml:
<service
android:name="com.paypal.android.sdk.payments.PayPalService"
android:exported="false"/>
<activity
android:name="com.paypal.android.sdk.payments.PaymentActivity"/>
<activity
android:name="com.paypal.android.sdk.payments.LoginActivity"/>
<activity
android:name="com.paypal.android.sdk.payments.PaymentMethodActivity"/>
<activity
android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity"/>
<activity
android:name="com.paypal.android.sdk.payments.PaymentCompletedActivity"/>
<activity
android:name="io.card.payment.CardIOActivity"
android:configChanges="keyboardHidden|orientation"/>
<activity
android:name="io.card.payment.DataEntryActivity"/>
How-to
AndroidManifest.xml:
<service
android:name="com.paypal.android.sdk.payments.PayPalService"
android:exported="false"/>
<activity
android:name="com.paypal.android.sdk.payments.PaymentActivity"/>
<activity
android:name="com.paypal.android.sdk.payments.LoginActivity"/>
<activity
android:name="com.paypal.android.sdk.payments.PaymentMethodActivity"/>
<activity
android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity"/>
<activity
android:name="com.paypal.android.sdk.payments.PaymentCompletedActivity"/>
<activity
android:name="io.card.payment.CardIOActivity"
android:configChanges="keyboardHidden|orientation"/>
<activity
android:name="io.card.payment.DataEntryActivity"/>
How-to
AndroidManifest.xml:
// Can be NO_NETWORK for OFFLINE, SANDBOX for TESTING and LIVE for PRODUCTION
private static final String CONFIG_ENVIRONMENT =
PaymentActivity.ENVIRONMENT_NO_NETWORK;
// note that these credentials will differ between live & sandbox environments.
private static final String CONFIG_CLIENT_ID =
"credential from developer.paypal.com";
// when testing in sandbox, this is likely the -facilitator email address.
private static final String CONFIG_RECEIVER_EMAIL =
"your@email.com";
How-to
Your Activity:
Define your credentials and Environment first.
// Can be NO_NETWORK for OFFLINE, SANDBOX for TESTING and LIVE for PRODUCTION
private static final String CONFIG_ENVIRONMENT =
PaymentActivity.ENVIRONMENT_NO_NETWORK;
// note that these credentials will differ between live & sandbox environments.
private static final String CONFIG_CLIENT_ID =
"credential from developer.paypal.com";
// when testing in sandbox, this is likely the -facilitator email address.
private static final String CONFIG_RECEIVER_EMAIL =
"your@email.com";
How-to
Your Activity:
Define your credentials and Environment first.
// Can be NO_NETWORK for OFFLINE, SANDBOX for TESTING and LIVE for PRODUCTION
private static final String CONFIG_ENVIRONMENT =
PaymentActivity.ENVIRONMENT_NO_NETWORK;
// note that these credentials will differ between live & sandbox environments.
private static final String CONFIG_CLIENT_ID =
"credential from developer.paypal.com";
// when testing in sandbox, this is likely the -facilitator email address.
private static final String CONFIG_RECEIVER_EMAIL =
"your@email.com";
How-to
Your Activity:
Define your credentials and Environment first.
// Can be NO_NETWORK for OFFLINE, SANDBOX for TESTING and LIVE for PRODUCTION
private static final String CONFIG_ENVIRONMENT =
PaymentActivity.ENVIRONMENT_NO_NETWORK;
// note that these credentials will differ between live & sandbox environments.
private static final String CONFIG_CLIENT_ID =
"credential from developer.paypal.com";
// when testing in sandbox, this is likely the -facilitator email address.
private static final String CONFIG_RECEIVER_EMAIL =
"your@email.com";
How-to
Your Activity:
Define your credentials and Environment first.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// your code here
Intent intent = new Intent(this, PayPalService.class);
intent.putExtra(PaymentActivity.EXTRA_PAYPAL_ENVIRONMENT, CONFIG_ENVIRONMENT);
intent.putExtra(PaymentActivity.EXTRA_CLIENT_ID, CONFIG_CLIENT_ID);
intent.putExtra(PaymentActivity.EXTRA_RECEIVER_EMAIL, CONFIG_RECEIVER_EMAIL);
startService(intent);
}
How-to
Your Activity:
Start the PayPal-Service in your onCreate( ) method
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// your code here
Intent intent = new Intent(this, PayPalService.class);
intent.putExtra(PaymentActivity.EXTRA_PAYPAL_ENVIRONMENT, CONFIG_ENVIRONMENT);
intent.putExtra(PaymentActivity.EXTRA_CLIENT_ID, CONFIG_CLIENT_ID);
intent.putExtra(PaymentActivity.EXTRA_RECEIVER_EMAIL, CONFIG_RECEIVER_EMAIL);
startService(intent);
}
How-to
Your Activity:
Start the PayPal-Service in your onCreate( ) method
PayPalPayment thingToBuy =
new PayPalPayment(new BigDecimal(“59.99"), "USD", "Paris SG Jersey");
Intent intent = new Intent(this, PaymentActivity.class);
intent.putExtra(PaymentActivity.EXTRA_PAYMENT, thingToBuy);
intent.putExtra(PaymentActivity.EXTRA_PAYER_ID, "myPayer");
// Repeat passing the credentials
intent.putExtra(PaymentActivity.EXTRA_PAYPAL_ENVIRONMENT, CONFIG_ENVIRONMENT);
intent.putExtra(PaymentActivity.EXTRA_CLIENT_ID, CONFIG_CLIENT_ID);
intent.putExtra(PaymentActivity.EXTRA_RECEIVER_EMAIL, CONFIG_RECEIVER_EMAIL);
startActivityForResult(intent, PAYMENT_REQUEST);
How-to
Your Activity:
Start the payment itself via a button or something similar
PayPalPayment thingToBuy =
new PayPalPayment(new BigDecimal(“59.99"), "USD", "Paris SG Jersey");
Intent intent = new Intent(this, PaymentActivity.class);
intent.putExtra(PaymentActivity.EXTRA_PAYMENT, thingToBuy);
intent.putExtra(PaymentActivity.EXTRA_PAYER_ID, "myPayer");
// Repeat passing the credentials
intent.putExtra(PaymentActivity.EXTRA_PAYPAL_ENVIRONMENT, CONFIG_ENVIRONMENT);
intent.putExtra(PaymentActivity.EXTRA_CLIENT_ID, CONFIG_CLIENT_ID);
intent.putExtra(PaymentActivity.EXTRA_RECEIVER_EMAIL, CONFIG_RECEIVER_EMAIL);
startActivityForResult(intent, PAYMENT_REQUEST);
How-to
Your Activity:
Start the payment itself via a button or something similar
PayPalPayment thingToBuy =
new PayPalPayment(new BigDecimal(“59.99"), "USD", "Paris SG Jersey");
Intent intent = new Intent(this, PaymentActivity.class);
intent.putExtra(PaymentActivity.EXTRA_PAYMENT, thingToBuy);
intent.putExtra(PaymentActivity.EXTRA_PAYER_ID, "myPayer");
// Repeat passing the credentials
intent.putExtra(PaymentActivity.EXTRA_PAYPAL_ENVIRONMENT, CONFIG_ENVIRONMENT);
intent.putExtra(PaymentActivity.EXTRA_CLIENT_ID, CONFIG_CLIENT_ID);
intent.putExtra(PaymentActivity.EXTRA_RECEIVER_EMAIL, CONFIG_RECEIVER_EMAIL);
startActivityForResult(intent, PAYMENT_REQUEST);
How-to
Your Activity:
Start the payment itself via a button or something similar
PayPalPayment thingToBuy =
new PayPalPayment(new BigDecimal(“59.99"), "USD", "Paris SG Jersey");
Intent intent = new Intent(this, PaymentActivity.class);
intent.putExtra(PaymentActivity.EXTRA_PAYMENT, thingToBuy);
intent.putExtra(PaymentActivity.EXTRA_PAYER_ID, "myPayer");
// Repeat passing the credentials
intent.putExtra(PaymentActivity.EXTRA_PAYPAL_ENVIRONMENT, CONFIG_ENVIRONMENT);
intent.putExtra(PaymentActivity.EXTRA_CLIENT_ID, CONFIG_CLIENT_ID);
intent.putExtra(PaymentActivity.EXTRA_RECEIVER_EMAIL, CONFIG_RECEIVER_EMAIL);
startActivityForResult(intent, PAYMENT_REQUEST);
How-to
Your Activity:
Start the payment itself via a button or something similar
PayPalPayment thingToBuy =
new PayPalPayment(new BigDecimal(“59.99"), "USD", "Paris SG Jersey");
Intent intent = new Intent(this, PaymentActivity.class);
intent.putExtra(PaymentActivity.EXTRA_PAYMENT, thingToBuy);
intent.putExtra(PaymentActivity.EXTRA_PAYER_ID, "myPayer");
// Repeat passing the credentials
intent.putExtra(PaymentActivity.EXTRA_PAYPAL_ENVIRONMENT, CONFIG_ENVIRONMENT);
intent.putExtra(PaymentActivity.EXTRA_CLIENT_ID, CONFIG_CLIENT_ID);
intent.putExtra(PaymentActivity.EXTRA_RECEIVER_EMAIL, CONFIG_RECEIVER_EMAIL);
startActivityForResult(intent, PAYMENT_REQUEST);
How-to
Your Activity:
Start the payment itself via a button or something similar
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
PaymentConfirmation confirm =
data.getParcelableExtra(PaymentActivity.EXTRA_RESULT_CONFIRMATION);
if (confirm != null) {
verifyPayment(confirm);
}
} else if (resultCode == Activity.RESULT_CANCELED) {
// Show the user that this got canceled
} else if (resultCode == PaymentActivity.RESULT_PAYMENT_INVALID) {
// Check the docs ;)
}
}
How-to
Your Activity:
Check the result after the user used PayPal
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
PaymentConfirmation confirm =
data.getParcelableExtra(PaymentActivity.EXTRA_RESULT_CONFIRMATION);
if (confirm != null) {
verifyPayment(confirm);
}
} else if (resultCode == Activity.RESULT_CANCELED) {
// Show the user that this got canceled
} else if (resultCode == PaymentActivity.RESULT_PAYMENT_INVALID) {
// Check the docs ;)
}
}
How-to
Your Activity:
Check the result after the user used PayPal
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
PaymentConfirmation confirm =
data.getParcelableExtra(PaymentActivity.EXTRA_RESULT_CONFIRMATION);
if (confirm != null) {
verifyPayment(confirm);
}
} else if (resultCode == Activity.RESULT_CANCELED) {
// Show the user that this got canceled
} else if (resultCode == PaymentActivity.RESULT_PAYMENT_INVALID) {
// Check the docs ;)
}
}
How-to
Your Activity:
Check the result after the user used PayPal
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
PaymentConfirmation confirm =
data.getParcelableExtra(PaymentActivity.EXTRA_RESULT_CONFIRMATION);
if (confirm != null) {
verifyPayment(confirm);
}
} else if (resultCode == Activity.RESULT_CANCELED) {
// Show the user that this got canceled
} else if (resultCode == PaymentActivity.RESULT_PAYMENT_INVALID) {
// Check the docs ;)
}
}
How-to
Your Activity:
Check the result after the user used PayPal
@Override
public void onDestroy() {
stopService(new Intent(this, PayPalService.class));
super.onDestroy();
}
How-to
Your Activity:
Stop your service in the lifecycle’s onDestroy( ) method to make sure it ends nicely
and doesn’t use unneeded resources.
Your app needs to
communicate with
a server to verify
payments
Verifying Payments
Criteria to use to
verify payments:
bit.ly/19FIis6
Verifying Payments
{
"proof_of_payment": {
"rest_api": {
"state": "approved",
"payment_id": "API-PAYMENT-ID-1843"
}
},
"payment": {
"short_description": "Paris SG Jersey",
"amount": ”59.99",
"currency_code": "USD"
},
"client": {
"platform": "Android",
"paypal_sdk_version": "1.0.2",
"environment": "live",
"product_name": "PayPal Android SDK"
}
}
Verifying Payments
REST-API proof of payment: Adaptive Payments proof of payment:
{
"proof_of_payment": {
"adaptive_payment": {
"pay_key": "AP-70M68096ML426802W",
"payment_exec_status": "COMPLETED",
"timestamp": "2013-02-20T00:26:25Z",
"app_id": "APP-91B933855X481767M"
}
},
"payment": {
"short_description": "Paris SG Shirt",
"amount": "59.99",
"currency_code": "USD"
},
"client": {
"platform": "Android",
"paypal_sdk_version": "1.0.2",
"environment": "live",
"product_name": "PayPal Android SDK"
}
}
{
"proof_of_payment": {
"rest_api": {
"state": "approved",
"payment_id": "API-PAYMENT-ID-1843"
}
},
"payment": {
"short_description": "Paris SG Jersey",
"amount": ”59.99",
"currency_code": "USD"
},
"client": {
"platform": "Android",
"paypal_sdk_version": "1.0.2",
"environment": "live",
"product_name": "PayPal Android SDK"
}
}
Verifying Payments
REST-API proof of payment: Adaptive Payments proof of payment:
{
"proof_of_payment": {
"adaptive_payment": {
"pay_key": "AP-70M68096ML426802W",
"payment_exec_status": "COMPLETED",
"timestamp": "2013-02-20T00:26:25Z",
"app_id": "APP-91B933855X481767M"
}
},
"payment": {
"short_description": "Paris SG Shirt",
"amount": "59.99",
"currency_code": "USD"
},
"client": {
"platform": "Android",
"paypal_sdk_version": "1.0.2",
"environment": "live",
"product_name": "PayPal Android SDK"
}
}
Somebody did that
work for you:
bit.ly/19FHQde
Verifying Payments
Android Studio
Gradle doesn’t
support
bundling .so
files with your
apk yet
US only
Europe coming soon!
Important
Documentation
developer.paypal.com
Information
Open Source
GitHub.com/paypal
Information
Questions?
Thanks!
Tim Messerschmidt
@SeraAndroid
tmesserschmidt@paypal.com
SlideShare.com/paypal

More Related Content

Viewers also liked

Don't Stop Believing Says Michelle Lin
Don't Stop Believing Says Michelle LinDon't Stop Believing Says Michelle Lin
Don't Stop Believing Says Michelle LinZillionDesigns
 
Brain NECSTwork - FPGA because
Brain NECSTwork - FPGA becauseBrain NECSTwork - FPGA because
Brain NECSTwork - FPGA becauseBrain NECSTwork
 
Using Social Media2
Using Social Media2Using Social Media2
Using Social Media2Jane Hart
 
Representing Chemicals Digitally: An overview of Cheminformatics
Representing Chemicals Digitally: An overview of CheminformaticsRepresenting Chemicals Digitally: An overview of Cheminformatics
Representing Chemicals Digitally: An overview of CheminformaticsJames Jeffryes
 
The Trouble With Tribbles: How LOLcats Ate Our Engagement
The Trouble With Tribbles: How LOLcats Ate Our EngagementThe Trouble With Tribbles: How LOLcats Ate Our Engagement
The Trouble With Tribbles: How LOLcats Ate Our EngagementJeffrey Stevens
 
A importância da colaboração na Web 2.0
A importância da colaboração na Web 2.0A importância da colaboração na Web 2.0
A importância da colaboração na Web 2.0UTFPR
 
Everyone has a story
Everyone has a storyEveryone has a story
Everyone has a storyshepatte
 
Content is Currency - FinanceConnect 2015
Content is Currency - FinanceConnect 2015Content is Currency - FinanceConnect 2015
Content is Currency - FinanceConnect 2015LinkedIn India
 
Moving Beyond The Newsletter: Using Technology To Meet Parents Where They Are
Moving Beyond The Newsletter: Using Technology To Meet Parents Where They AreMoving Beyond The Newsletter: Using Technology To Meet Parents Where They Are
Moving Beyond The Newsletter: Using Technology To Meet Parents Where They AreChris Wejr
 
Housing, the 2015 General Election and Beyond: 10 Key Themes
Housing, the 2015 General Election and Beyond: 10 Key ThemesHousing, the 2015 General Election and Beyond: 10 Key Themes
Housing, the 2015 General Election and Beyond: 10 Key ThemesIpsos UK
 
Competency-Based Education Step-by-Step Guide
Competency-Based Education Step-by-Step GuideCompetency-Based Education Step-by-Step Guide
Competency-Based Education Step-by-Step GuideWonderlic
 
Adversarial Learning_Rupam Bhattacharya
Adversarial Learning_Rupam BhattacharyaAdversarial Learning_Rupam Bhattacharya
Adversarial Learning_Rupam BhattacharyaRupam Bhattacharya
 
Accelerating Impact: Exploring Best Practices, Challenges, and Innovations in...
Accelerating Impact: Exploring Best Practices, Challenges, and Innovations in...Accelerating Impact: Exploring Best Practices, Challenges, and Innovations in...
Accelerating Impact: Exploring Best Practices, Challenges, and Innovations in...The Rockefeller Foundation
 
Startup Highway Workshop
Startup Highway WorkshopStartup Highway Workshop
Startup Highway WorkshopPayPal
 

Viewers also liked (16)

Don't Stop Believing Says Michelle Lin
Don't Stop Believing Says Michelle LinDon't Stop Believing Says Michelle Lin
Don't Stop Believing Says Michelle Lin
 
Brain NECSTwork - FPGA because
Brain NECSTwork - FPGA becauseBrain NECSTwork - FPGA because
Brain NECSTwork - FPGA because
 
Itil
ItilItil
Itil
 
Using Social Media2
Using Social Media2Using Social Media2
Using Social Media2
 
Representing Chemicals Digitally: An overview of Cheminformatics
Representing Chemicals Digitally: An overview of CheminformaticsRepresenting Chemicals Digitally: An overview of Cheminformatics
Representing Chemicals Digitally: An overview of Cheminformatics
 
The Trouble With Tribbles: How LOLcats Ate Our Engagement
The Trouble With Tribbles: How LOLcats Ate Our EngagementThe Trouble With Tribbles: How LOLcats Ate Our Engagement
The Trouble With Tribbles: How LOLcats Ate Our Engagement
 
A importância da colaboração na Web 2.0
A importância da colaboração na Web 2.0A importância da colaboração na Web 2.0
A importância da colaboração na Web 2.0
 
Everyone has a story
Everyone has a storyEveryone has a story
Everyone has a story
 
Content is Currency - FinanceConnect 2015
Content is Currency - FinanceConnect 2015Content is Currency - FinanceConnect 2015
Content is Currency - FinanceConnect 2015
 
Moving Beyond The Newsletter: Using Technology To Meet Parents Where They Are
Moving Beyond The Newsletter: Using Technology To Meet Parents Where They AreMoving Beyond The Newsletter: Using Technology To Meet Parents Where They Are
Moving Beyond The Newsletter: Using Technology To Meet Parents Where They Are
 
Housing, the 2015 General Election and Beyond: 10 Key Themes
Housing, the 2015 General Election and Beyond: 10 Key ThemesHousing, the 2015 General Election and Beyond: 10 Key Themes
Housing, the 2015 General Election and Beyond: 10 Key Themes
 
Crucigrama
Crucigrama Crucigrama
Crucigrama
 
Competency-Based Education Step-by-Step Guide
Competency-Based Education Step-by-Step GuideCompetency-Based Education Step-by-Step Guide
Competency-Based Education Step-by-Step Guide
 
Adversarial Learning_Rupam Bhattacharya
Adversarial Learning_Rupam BhattacharyaAdversarial Learning_Rupam Bhattacharya
Adversarial Learning_Rupam Bhattacharya
 
Accelerating Impact: Exploring Best Practices, Challenges, and Innovations in...
Accelerating Impact: Exploring Best Practices, Challenges, and Innovations in...Accelerating Impact: Exploring Best Practices, Challenges, and Innovations in...
Accelerating Impact: Exploring Best Practices, Challenges, and Innovations in...
 
Startup Highway Workshop
Startup Highway WorkshopStartup Highway Workshop
Startup Highway Workshop
 

Similar to Droidcon Paris: The new Android SDK

java and javascript api dev guide
java and javascript api dev guidejava and javascript api dev guide
java and javascript api dev guideZenita Smythe
 
Monetize with PayPal X Payments Platform
Monetize with PayPal X Payments PlatformMonetize with PayPal X Payments Platform
Monetize with PayPal X Payments Platformguest72b121
 
Social Gold in-Flash Webinar Jan 2010
Social Gold in-Flash Webinar Jan 2010Social Gold in-Flash Webinar Jan 2010
Social Gold in-Flash Webinar Jan 2010Social Gold
 
Social Gold In-Flash Payments Webinar
Social Gold In-Flash Payments WebinarSocial Gold In-Flash Payments Webinar
Social Gold In-Flash Payments WebinarSocial Gold
 
One Gateway for All Kinds of Payments—the Payflow Integration
One Gateway for All Kinds of Payments—the Payflow IntegrationOne Gateway for All Kinds of Payments—the Payflow Integration
One Gateway for All Kinds of Payments—the Payflow IntegrationPayPalX Developer Network
 
Building Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsBuilding Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsJim Jeffers
 
How to run a Bitcoin or altcoin cryptocurrency faucet on WordPress
How to run a Bitcoin or altcoin cryptocurrency faucet on WordPressHow to run a Bitcoin or altcoin cryptocurrency faucet on WordPress
How to run a Bitcoin or altcoin cryptocurrency faucet on WordPressdashed-slug.net
 
Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...
Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...
Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...Amazon Web Services
 
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...Amazon Web Services
 
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016Robert Nyman
 
The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016Robert Nyman
 
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...Amazon Web Services
 
How to stop being Rails Developer
How to stop being Rails DeveloperHow to stop being Rails Developer
How to stop being Rails DeveloperIvan Nemytchenko
 
Get Paid! Plugins, Gateways, BitCoin: WordPress Ecommerce Project Management
Get Paid! Plugins, Gateways, BitCoin: WordPress Ecommerce Project ManagementGet Paid! Plugins, Gateways, BitCoin: WordPress Ecommerce Project Management
Get Paid! Plugins, Gateways, BitCoin: WordPress Ecommerce Project ManagementPeter Walker
 
Petr Dvořák: Mobilní webové služby pohledem iPhone developera
Petr Dvořák: Mobilní webové služby pohledem iPhone developeraPetr Dvořák: Mobilní webové služby pohledem iPhone developera
Petr Dvořák: Mobilní webové služby pohledem iPhone developeraWebExpo
 
Long running processes in DDD
Long running processes in DDDLong running processes in DDD
Long running processes in DDDBernd Ruecker
 
How React Native Appium and me made each other shine
How React Native Appium and me made each other shineHow React Native Appium and me made each other shine
How React Native Appium and me made each other shineWim Selles
 
Get Paid presentation_20190123
Get Paid presentation_20190123Get Paid presentation_20190123
Get Paid presentation_20190123Peter Walker
 

Similar to Droidcon Paris: The new Android SDK (20)

Coding to the MasterCard OpenAPIs
Coding to the MasterCard OpenAPIsCoding to the MasterCard OpenAPIs
Coding to the MasterCard OpenAPIs
 
java and javascript api dev guide
java and javascript api dev guidejava and javascript api dev guide
java and javascript api dev guide
 
Monetize with PayPal X Payments Platform
Monetize with PayPal X Payments PlatformMonetize with PayPal X Payments Platform
Monetize with PayPal X Payments Platform
 
Social Gold in-Flash Webinar Jan 2010
Social Gold in-Flash Webinar Jan 2010Social Gold in-Flash Webinar Jan 2010
Social Gold in-Flash Webinar Jan 2010
 
Social Gold In-Flash Payments Webinar
Social Gold In-Flash Payments WebinarSocial Gold In-Flash Payments Webinar
Social Gold In-Flash Payments Webinar
 
One Gateway for All Kinds of Payments—the Payflow Integration
One Gateway for All Kinds of Payments—the Payflow IntegrationOne Gateway for All Kinds of Payments—the Payflow Integration
One Gateway for All Kinds of Payments—the Payflow Integration
 
Building Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsBuilding Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in Rails
 
How to run a Bitcoin or altcoin cryptocurrency faucet on WordPress
How to run a Bitcoin or altcoin cryptocurrency faucet on WordPressHow to run a Bitcoin or altcoin cryptocurrency faucet on WordPress
How to run a Bitcoin or altcoin cryptocurrency faucet on WordPress
 
Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...
Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...
Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...
 
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
 
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
 
The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016
 
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
 
How to stop being Rails Developer
How to stop being Rails DeveloperHow to stop being Rails Developer
How to stop being Rails Developer
 
Get Paid! Plugins, Gateways, BitCoin: WordPress Ecommerce Project Management
Get Paid! Plugins, Gateways, BitCoin: WordPress Ecommerce Project ManagementGet Paid! Plugins, Gateways, BitCoin: WordPress Ecommerce Project Management
Get Paid! Plugins, Gateways, BitCoin: WordPress Ecommerce Project Management
 
Petr Dvořák: Mobilní webové služby pohledem iPhone developera
Petr Dvořák: Mobilní webové služby pohledem iPhone developeraPetr Dvořák: Mobilní webové služby pohledem iPhone developera
Petr Dvořák: Mobilní webové služby pohledem iPhone developera
 
- Webexpo 2010
- Webexpo 2010- Webexpo 2010
- Webexpo 2010
 
Long running processes in DDD
Long running processes in DDDLong running processes in DDD
Long running processes in DDD
 
How React Native Appium and me made each other shine
How React Native Appium and me made each other shineHow React Native Appium and me made each other shine
How React Native Appium and me made each other shine
 
Get Paid presentation_20190123
Get Paid presentation_20190123Get Paid presentation_20190123
Get Paid presentation_20190123
 

More from PayPal

PayPal's Private Cloud @ Scale
PayPal's Private Cloud @ ScalePayPal's Private Cloud @ Scale
PayPal's Private Cloud @ ScalePayPal
 
Kraken Front-Trends
Kraken Front-TrendsKraken Front-Trends
Kraken Front-TrendsPayPal
 
Kraken
KrakenKraken
KrakenPayPal
 
Death To Passwords Droid Edition
Death To Passwords Droid EditionDeath To Passwords Droid Edition
Death To Passwords Droid EditionPayPal
 
Future Of Payments
Future Of PaymentsFuture Of Payments
Future Of PaymentsPayPal
 
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...PayPal
 
Death To Passwords
Death To PasswordsDeath To Passwords
Death To PasswordsPayPal
 
KrakenJS
KrakenJSKrakenJS
KrakenJSPayPal
 
Battle Hack London Intro
Battle Hack London IntroBattle Hack London Intro
Battle Hack London IntroPayPal
 
Authentication for Droids
Authentication for DroidsAuthentication for Droids
Authentication for DroidsPayPal
 
Concrete indentity really getting to know your users
Concrete indentity   really getting to know your usersConcrete indentity   really getting to know your users
Concrete indentity really getting to know your usersPayPal
 
Online Identity: Getting to know your users
Online Identity: Getting to know your usersOnline Identity: Getting to know your users
Online Identity: Getting to know your usersPayPal
 
Mobile payments at Droidcon Eastern Europe
Mobile payments at Droidcon Eastern EuropeMobile payments at Droidcon Eastern Europe
Mobile payments at Droidcon Eastern EuropePayPal
 
Reinvigorating Stagnant Innovation Through Your Developer Network
Reinvigorating Stagnant Innovation Through Your Developer NetworkReinvigorating Stagnant Innovation Through Your Developer Network
Reinvigorating Stagnant Innovation Through Your Developer NetworkPayPal
 
Open Identity - getting to know your users
Open Identity - getting to know your usersOpen Identity - getting to know your users
Open Identity - getting to know your usersPayPal
 
The Profitable Startup
The Profitable StartupThe Profitable Startup
The Profitable StartupPayPal
 
Berlin Battle hack presentation
Berlin Battle hack presentationBerlin Battle hack presentation
Berlin Battle hack presentationPayPal
 
From Good To Great
From Good To GreatFrom Good To Great
From Good To GreatPayPal
 
Hack & Tell
Hack & TellHack & Tell
Hack & TellPayPal
 
Payments for the REST of us
Payments for the REST of usPayments for the REST of us
Payments for the REST of usPayPal
 

More from PayPal (20)

PayPal's Private Cloud @ Scale
PayPal's Private Cloud @ ScalePayPal's Private Cloud @ Scale
PayPal's Private Cloud @ Scale
 
Kraken Front-Trends
Kraken Front-TrendsKraken Front-Trends
Kraken Front-Trends
 
Kraken
KrakenKraken
Kraken
 
Death To Passwords Droid Edition
Death To Passwords Droid EditionDeath To Passwords Droid Edition
Death To Passwords Droid Edition
 
Future Of Payments
Future Of PaymentsFuture Of Payments
Future Of Payments
 
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
 
Death To Passwords
Death To PasswordsDeath To Passwords
Death To Passwords
 
KrakenJS
KrakenJSKrakenJS
KrakenJS
 
Battle Hack London Intro
Battle Hack London IntroBattle Hack London Intro
Battle Hack London Intro
 
Authentication for Droids
Authentication for DroidsAuthentication for Droids
Authentication for Droids
 
Concrete indentity really getting to know your users
Concrete indentity   really getting to know your usersConcrete indentity   really getting to know your users
Concrete indentity really getting to know your users
 
Online Identity: Getting to know your users
Online Identity: Getting to know your usersOnline Identity: Getting to know your users
Online Identity: Getting to know your users
 
Mobile payments at Droidcon Eastern Europe
Mobile payments at Droidcon Eastern EuropeMobile payments at Droidcon Eastern Europe
Mobile payments at Droidcon Eastern Europe
 
Reinvigorating Stagnant Innovation Through Your Developer Network
Reinvigorating Stagnant Innovation Through Your Developer NetworkReinvigorating Stagnant Innovation Through Your Developer Network
Reinvigorating Stagnant Innovation Through Your Developer Network
 
Open Identity - getting to know your users
Open Identity - getting to know your usersOpen Identity - getting to know your users
Open Identity - getting to know your users
 
The Profitable Startup
The Profitable StartupThe Profitable Startup
The Profitable Startup
 
Berlin Battle hack presentation
Berlin Battle hack presentationBerlin Battle hack presentation
Berlin Battle hack presentation
 
From Good To Great
From Good To GreatFrom Good To Great
From Good To Great
 
Hack & Tell
Hack & TellHack & Tell
Hack & Tell
 
Payments for the REST of us
Payments for the REST of usPayments for the REST of us
Payments for the REST of us
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 

Droidcon Paris: The new Android SDK